По следам UDP-сервера на AVR микроконтроллере
UDP-сервер на AVR микроконтроллере прекрасно описан на сайте сообщества Easyelectronics. С помощью такого сервера по сети можно связываться с устройствами имеющими другой интрфейс, например RS232, или управлять какими-либо устройствами посылая на них соответствующие команды. В свою очередь периферийные устройства на AVR микроконтроллерах могут выполнять функции, по съему показаний различных датчиков для передачи данных в головной компьютер и т. п.
Вобщем и целом все можно сделать на базе вышеупомянутой статьи. В данном посте представлен один из возможных вариантов UDP сервера на AVR микроконтроллере типа ATega128(A) на базе кода предствавленого на Easyelectronics. Кроме того для тестирования сервера написана небольшая программа UDP клиент под операционную систему Windows (тестирована на Windows XP) на C++ Builder котрая позволяет передать запрос на сервер и получить от него ответ в виде копии строки запроса. С помощью компьютерной программы можно отлаживать и программу самого сервера. Проект с исходным текстом программы с комментами позволяет модифицировать ее код в нужном направлении, например в сторону UDP сервера, TCP/IP клиента и т. п.
Также для тестирования сервера на AVR микроконтроллере вполне может подойти и многофункциональная программа Hercules, которая позволяет передавать и принимать Ethernet пакеты по нескольким протоколам в том числе и по UDP.
Проекты UDP сервера выполнены в двух варитантах: под AvrStudio v 4.13 (скачать) и под IAR AVR v 5.51 (скачать). Полезно обратить вниманиена на установки в проекте под IAR где ключевыми являются размеры Heap и стека. Для контроля работы сервера в некоторых функциях сделана визуализация их работы путем формирования коротких импульсов на ножках микроконтроллера PC0, PC1, PC2.
В качестве Ethernet контроллера применен Ethernet модуль ENC28J60. Модуль подключен к микроконтроллеру ATmega128А, который используется в другом проекте, но как нельзя лучше подошел для создания на нем UDP сервера, поскольку в нем свободен SPI порт. Скриншет такого дуплета ниже.
Ethernet модуль подключается к роутеру локальной сети или к дополнительному сетевому гнезду DSL модема прямым сетевым кабелем. Адрес сервера в сети 192.168.2.15 (шлюз 192.168.2.1) Если ваша локальная сеть имеет другой IP адрес шлюза (например 192.168.1.1) то для правильной работы сервера в файлах проектов lan.h необходимо сделать соответствующие изменения назначив свободный IP адрес сервера соответствующий IP вашего шлюза (типа 192.168.1.15). Поскольку программа сервера перенаправляет принятые UDP пакеты еще и на USART1 (скорость 19200, 8 бит) то для визуализации этого процесса полезно подключить ножку PD3 (Txd1) pin28 микроконтроллера к одному из последовательных портов компютера (контакт 3 разъема DB9). Принимать данные на RS232 можно с помощью любой утилиты работы с COM портом, например Com Port ToolKit.
Ниже по тексту таблица соединений основных цепей модуля с микроконтроллером ATmega128(A). Загрузить программу в микроконтроллер можно с помощью программы и программатора PonyProg.
ATmega128 | Модуль ENC28J60 |
SCK - pin11 | SCK - P1.6 |
RESET - pin20 | RST - P1.9 |
MISO - pin13 | MISO - P1.4 |
MOSI - pin12 | MOSI - P1.5 |
SS - pin10 | CS - P1.7 |
Кварцевый резонатор микроконтроллера 14.7456 мГц . Нужно не забывать, что если мироконтроллер питается напряжением 5 В то для питания Ethernet модуля нужно предусмотреть линейный стабилизатор на 3.3 В, например IRU1117-33 или любой ему подобный. При этом, как показала практика, согласование уровней сигналов ATmega128 и Ethernet модуля не требуется.
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)