EtherPIC

Материал из eeWiki - открытая энциклопедия по электронике
Перейти к: навигация, поиск

Проект EtherPIC

Проект позволяет подключить любой PIC c тактовой частотой Fosc = 40MHz и наличием синхронного режима в EUSART к сети Ethernet на скорости 10 Мбит без использования контроллера Ethernet. Сигнал Ethernet формируется с помощью логических элементов XOR 74AC86 (К1554ЛП5). Хотя реализована только передача пакетов, этого уже достаточно, чтобы найти множество применений такому решению.

Принцип работы на примере PIC18F1320

Ethernet 10Base-T - это дифференциальный манчестер 10Мбит.

Манчестер можно сделать поXORив CLK и DATA надлежащей частоты, если CLK - меандр и DATA синхронна c CLK.

CLK и DATA в 10Мбит легко даёт USART любого PIC способного работать на частоте 10МГц (Кварц 40МГц или PLL).

Есть ещё импульсы NLP (Normal Link Pulse) которые дают понять другой стороне, что к линии подключено устройство - раз в 16 мс положительный импульс длиной 100 нс и TP_IDL - сигнал окончания фрейма - сразу после фрейма положительный уровень длиной более 200 нс.

Соответственно, загоняем USART на скорость 10Мбит (BAUDCTLbits.BRG16 = 0; SPBRG = 0;), на выходы CK(RB1) и DT(RB4) вешаем XOR (IC2A) и получаем манчестер. Пропустив его через инвертирующий XOR (IC2C) и неинвертирующий XOR (IC2D) получаем дифференциальный манчестер, хоть с запаздыванием на элементах, но одинаковым для обоих полярностей.

Чтобы установить тишину в линии передачи нужно инвертирующий XOR (IC2C) сделать неинвертирующим, в результате на обеих выходах выходных элементов будет одинаковый уровень, что даст полное отсутствие сигнала в линии. Это достигается использованием выхода RB0 для управления инвертирующим XOR (IC2C). Лог."0" на RB0 запрещает выдачу сигнала в линию, лог."1" - разрешает.

Чтобы сформировать NLP и TP_IDL нужно заранее выставить на выходах RB1(CK) лог."0" и на RB4(DT) лог."1". При отключённом USART на входах первого XOR (IC2A) появляется лог."1". Теперь можно сформировать импульс нужной длины управляя выходом RB0.

EtherPIC.png

Ссылки