Monday, July 9, 2012

Управление нагрузкой по Ethernet

http://www.mastercity.ru/archive/index.php/t-71264.html
http://electronix.ru/forum/index.php?showtopic=44276
Решил поделиться с народом своим проектом. Положу в отдельную тему, а
не в "Исходники...", потому как скорее всего надо будет обсудить
Предыстория такова - давно хотел сделать дешевое и простое
подключение своего устройства к Ethernet, естественно с поддержкой
TCP/IP. Сначала рассматривались общеизвестные варианты типа RTL8019,
Wiznet и т.д. - первый отпал по причине слишком уж камня большого,
второй - дорого. Была попытка реализовать PHY-уровень при помощи USART
в режиме SPI на Mega88/168, однако оказалось, что если с передачей нет
проблем, с приемом все хуже - слишком уж сложной получается схема
синхронизации тактовой частоты проца с синхросигналом, выделенном из
манчестера, в единичном экземпляре оно конечно поднимается, но о
серийном повторении - ну никак.
Потом взгляд переместился на микросхемы PHY, и, при внимательном
изучении, оказалось, что довольно просто обеспечить работу с PHY при
тактовой проца 20МГц. Да и со стоимостью нет вопросов - Realtek'овский
RTL8201BL стоит всего около 1$ (как заметил zltigo, Realtek вообще
славится экстремально дешевыми решениями в области Ethernet). Была
сделана тестовая платка (схему и pcb прилагаю) и на ней все запущено.
Не обошлось без подводных камней, но они были успешно обойдены
.SCH и .PCB файлы в архиве - это схема и разводка тестовой платы.
Проц используется ATMega168-20AI, PHY - уже упомянутый RTL8201BL,
74HCT547 - буферный регистр, заодно и преобразование уровней 3.3-5В
(только не всех линий, по науке надо было еще кое-что преобразовать,
но было лень. Вдруг будете использовать в более-менее серийном
устройстве - не забудьте все выполнить как положено)


No comments:

Post a Comment