.
Хотел в недавнем прошлом, года три назад разобраться с организацией сети Ethernet с применением микроконтроллера. Начал штудировать интернет на возможные варианты решения данной задачи. Остановил свой выбор на сайте Гармаш Геннадия https://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.
Файлы проекта для скачивания.
Скачать пакет схем и разводку печатных плат (62 Кбайт)
Скачать менеджеры управления по сети (123 Кбайт)
Скачать протоколы обмена (97 Кбайт)
Скачать проект MPLab IDE на ассемблере (53 Кбайт)
Скачать datasheet на RTL8019AS (567 Кбайт)
Описание регистров RTL8019AS и пример инициализации.
Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2021 © ChipMK.ru
![]() |
|