Четверг, 10 марта 2011 20:32

Организация сети Ethernet на PIC контроллере. Featured

Written by
Rate this item
(0 votes)

Хотел в недавнем прошлом, года три назад разобраться с организацией сети Ethernet с применением микроконтроллера. Начал штудировать интернет на возможные варианты решения данной задачи. Остановил свой выбор на сайте Гармаш Геннадия http://picping.narod.ru/. И по аналогии его пинговалки начал собирать устройство. Я решил собирать контроллер ithernet отдельно, чтобы не привязывать к конкретному типу микроконтроллера, а можно было использовать в виде отдельного модуля.

 

 

 

 

 

Схема модуля Ethernet на RTL8019AS.

 

 

Печатная плата под модуль.

 

 

 

 

Схема подключения модуля к микроконтроллеру.

 

 

 

Печатная плата контроллера и шины ISA.

Изначально хотел сделать, чтобы можно было вставлять сетевую плату в ISA разъём, потом разъём выкусил и модуль просто впаял в эту плату. Можно конечно сделать и на разъёмах, даже лучше будет.

 

 

Внешний вид модуля.

 

 

 

Менеджер управления модулем Ethernet.

При работе с менеджером нажимаем START и в окне команд меняем цифру от 0 до 9. Наблюдаем реакцию модуля на команды.

 

 

 

Этот менеджер Генадия. Здесь вводим IP адрес, нажимаем кнопку Connect и кнопками On/Off можно поуправлять светодиодами на модуле.

 

 
 

Здесь выложен результат прослушки протокола при обмене менеджера с устройством.

Протокол ARP

Address Resolution Protocol

 

Запрос от мастера

0x0000   FF FF FF FF FF FF 00 0D-61 21 FF 96 08 06 00 01 ÿÿÿÿÿÿ..a!ÿ–....

0x0010   08 00 06 04 00 01 00 0D-61 21 FF 96 C0 A8 00 05 ........a!ÿ–À¨..

0x0020   00 00 00 00 00 00 C0 A8-00 19 ......À¨..

 

Ethernet II

FF FF FF FF FF FF – Destination MAC - МАС адрес получателя.

00 0D-61 21 FF 96 – Source MAC - МАС адрес отправителя.

08 06 – Ethertype 0x0806 - (2054) – ARP.

 

ARP

00 01 – Hardware 0x0001 (1) - Ethernet.

08 00 – Protocol 0x0800 (2048) – IP.

06 – Hardware address length 0x06 (6).

04 – Protocol address length 0x04 (4).

00 01 – Operation 0x0001 (1) – ARP Request.

00 0D-61 21 FF 96 – Sender MAC address - МАС адрес отправителя.

C0 A8 00 05 – Sender IP address – IP адрес отправителя.

00 00 00 00 00 00 – Target MAC address – МАС адрес получателя (все).

C0 A8-00 19 – Target IP address – IP адрес получателя.

 

 

Протокол IP/ICMP.

Internet Control Management Protocol

Запрос от мастера

 

0x0000   00 22 3A 6F 47 B9 00 0D-61 21 FF 96 08 00 45 00 .":oG¹..a!ÿ–..E.

0x0010   00 3C 19 E0 00 00 80 01-9F 72 C0 A8 00 05 C0 A8 .<.à..€.ŸrÀ¨..À¨

0x0020   00 19 08 00 D2 5A 03 00-78 01 61 62 63 64 65 66 ....ÒZ..x.abcdef

0x0030   67 68 69 6A 6B 6C 6D 6E-6F 70 71 72 73 74 75 76 ghijklmnopqrstuv

0x0040   77 61 62 63 64 65 66 67-68 69 wabcdefghi

 

 

Ответ от слейва

 

0x0000   00 0D 61 21 FF 96 00 22-3A 6F 47 B9 08 00 45 00 ..a!ÿ–.":oG¹..E.

0x0010   00 3C 19 DD 00 00 80 01-9F 75 C0 A8 00 19 C0 A8 .<.Ý..€.ŸuÀ¨..À¨

0x0020   00 05 00 00 DB 5A 03 00-77 01 61 62 63 64 65 66 ....ÛZ..w.abcdef

0x0030   67 68 69 6A 6B 6C 6D 6E-6F 70 71 72 73 74 75 76 ghijklmnopqrstuv

0x0040   77 61 62 63 64 65 66 67-68 69 wabcdefghi

 

Ethernet II

00 C9 3A 6F 47 B9 – Destination MAC - МАС адрес получателя.

00 0D-61 21 FF 96 – Source MAC - МАС адрес отправителя.

08 00 – Ethertype 0x0800 = IP.

 

IP

45 – IP version “4” and “5” – Header length =20 bytes.

00 – Type of service

00 3C – Total length 0x021 = 33

19 E0 – Id (номер пакета)

00 00 – Flagmant offset = 0.

80 – Time to Live (TTL) = 128.

01 – Protocol (ICMP)

9F 72 – Контрольная сумма.

C0 A8 00 05 – IP отправителя.

C0 A8 00 19 – IP получателя.

 

ICMP

08 – Type 0x08 (8) Echo. (0)- Echo reply.

00 – Code 0x00 (0).

D2 5A – Checksum 0xD25A (53850) correct.

03 00 – Identifier 0x0300 (768).

78 01 – Sequence Number 0x7801 (30721).

 

Протокол IP/UDP

User Datagram Protocol

0x0000   00 C9 3A 6F 47 B9 00 0D-61 21 FF 96 08 00 45 00 .É:oG¹..a!ÿ–..E.

0x0010   00 21 30 E0 00 00 80 11-88 7D C0 A8 00 05 C0 A8 .!0à..€.ˆ}À¨..À¨

0x0020   00 19 17 D8 00 6F 00 0D-C3 75 2A 54 41 54 37 ...Ø.o..Ãu*TAT7

 

 

Ethernet II

00 C9 3A 6F 47 B9 – Destination MAC - МАС адрес получателя.

00 0D-61 21 FF 96 – Source MAC - МАС адрес отправителя.

08 00 – Ethertype 0x0800 = IP.

 

IP

45 – IP version “4” and “5” – Header length =20 bytes.

00 – Type of service

00 21 – Total length 0x021 = 33

30 E0 – Id (номер пакета)

00 00 – Flagmant offset = 0.

80 – Time to Live (TTL) = 128.

11 – Protocol (UDP)

88 7D – Контрольная сумма.

C0 A8 00 05 – IP отправителя.

C0 A8 00 19 – IP получателя.

 

UDP

17 D8 – Source port (порт отправителя) 6104.

00 6F – Destination port (порт получателя) 111.

00 0D – Length (13).

C3 75 – Checksum 0x0c375 (50037) correct.

2A 54 41 54 37 – RPC Данные.

 

 

 

Алгоритм работы модуля Ethernet.

Утрированный алгоритм работы модуля ithernet.

 

 

 

Файлы проекта для скачивания.

icon Скачать пакет схем и разводку печатных плат (62 Кбайт)

icon Скачать менеджеры управления по сети (123 Кбайт)

icon Скачать протоколы обмена (97 Кбайт)

icon Скачать проект MPLab IDE на ассемблере (53 Кбайт)

icon Скачать datasheet на RTL8019AS (567 Кбайт)

iconОписание регистров RTL8019AS и пример инициализации.

 

Read 6047 times Last modified on Среда, 03 сентября 2014 10:26

Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru