Содержание

Программа TCPIPConfig – простое конфигурирование Ethernet устройства.

Компания Microchip поддерживает свою бесплатную реализацию TCP/IP стека уже много лет. Стек оптимизирован для использования с микроконтроллерами семейств PIC18, PIC24, dsPIC и PIC32. Стек делится на несколько слоев, каждый из которых имеет доступ к соседнему через различные сервисы.

структура TCP/IP стека

Предлагаемый Microchip стек протоколов TCP/IP имеет следующие особенности:

Как быстро сконфигурировать и запустить свое Ethernet-устройство?

Необходимое Программное обеспечение:

Для начала, необходимо отметить, что библиотека хорошо структурирована и легко перенастраивается под использование тех или иных сервисов TCP/IP, любой тип контроллеров Microchip, внешнюю периферию.

За конфигурацию «железа» отвечает заголовочный файл HardwareProfile.h, за настройки стека – TCPIPConfig.h. Соответственно, если мы используем не готовую демонстрационную плату, а что-то свое, то в файле HardwareProfile.h нам необходимо «переподключить» используемые выводы микроконтроллера к индикатору, светодиодам, кнопкам, внешней памяти и пр.

Чтобы добавить или исключить те или иные сервисы стека TCP/IP – нужно править файл TCPIPConfig.h. Большинство настроек реализовано в виде define:

#define STACK_USE_UART					// Application demo using UART for IP address display and stack configuration
#define STACK_USE_UART2TCP_BRIDGE		// UART to TCP Bridge application example
//#define STACK_USE_IP_GLEANING
#define STACK_USE_ICMP_SERVER			// Ping query and response capability
#define STACK_USE_ICMP_CLIENT			// Ping transmission capability
//#define STACK_USE_HTTP_SERVER			// Old HTTP server
//#define STACK_USE_HTTP2_SERVER			// New HTTP server with POST, Cookies, Authentication, etc.
//#define STACK_USE_SSL_SERVER			// SSL server socket support (Requires SW300052)
//#define STACK_USE_SSL_CLIENT			// SSL client socket support (Requires SW300052) 
...

«Закоментаривая» или «раскоментаривая» те или иные строки мы подключаем к проекту те или иные сервисы, соответственно управляем функционалом устройства и размером получаемой прошивки.

Все просто? Да! Однако есть еще более простой способ конфигурации TCP/IP стека – утилита TCPIPConfig, входящей в состав библиотеки..

Рассмотрим работу с утилитой TCPIPConfig.

Запускаем TCPIPConfig.exe

Выбираем путь к конфигурируемому проекту, задаем нужно ли конфигурировать беспроводную сеть (Да, стек поддерживает и работу с Wi-Fi модулями ZG2100/ZG2101, MRF24WB0MA/ MRF24WB0MB и MRF24WG0MA/ MRF24WG0MB).

TCPIPConfig

Рис. 1.

Далее выбираем необходимые в проекте протоколы. Для начала создадим простой мост Ethernet-UART.

Рис.2.

Обратите внимание, если навести указатель мышки на тот или иной пункт, то увидите подсказку. Так мост RS232-Ethernet будет использовать порт 9761.

Рис.3.

Задаем доменное имя платы и MAC адрес.

Рис.4.

Готово!

Рис.5.

Открываем в среде разработки MPLAB IDE наш проект, компилируем и прошиваем контроллер.

Рис.6.

На индикаторе платы Explorer 16 видем IP адрес платы, теперь можно открыть соединения через Ethernet и COM-порт (RS-232) и проверяем связь.

Рис.7.

Рис.8.

Связь есть! Все работает.

Таким простым способом мы настроили TCP/IP стек и реализовали передачу данных с UART (RS-232) через Ethernet и можем удаленно через сеть передавать файлы, отлаживать или управлять приборами и т.п.

Немного усложним задачу – добавим в проект web-сервер. Снова запускаем TCPIPConfig.exe, только теперь еще помечаем что нам нужен web-сервер.

Рис.9.

Дополнительно указываем имя заглавной html странички, место где будут храниться файлы нашего сервера (файлы хранятся не в виде исходных файлов html, jpg и т.п., а их нужно будет преобразовать в внутреннюю файловую систему MPFS с помощью соответствующей утилиты).

Рис.10.

Рис.11.

Компилируем, прошиваем проект, в браузере открываем адрес нашего web-сервера. Так как сервер пока пуст, то со страницы /mpfsupload выбираем и заливаем на сервер образ нашего «минисайта».

Рис.12.

Теперь мы получили готовый web-сервер и мост RS-232-to-Ethernet.

Рис.13.

Данный пример web-сервера содержит демонстрацию возможностей стека TCP/IP – отсылку e-mail, загрузку файлов, аутентификацию, настройку сетевых параметров узла (которые защищены паролем).

Рис.14.

Рис.15.

Совместимость стека

Как отмечалось ранее, TCP/IP стек совместим с микроконтроллерами семейств PIC18, PIC24, dsPIC и PIC32.

В качестве Ethernet-контроллера могут применяться:

Для обеспечения беспроводной связи по Wi-Fi стек поддерживает: