Микросхемы компании Wiznet являются одним из самых простых в освоении и применении решений для проводного Ethernet. Этот производитель уже более 10 лет выпускает аппаратные мосты Ethernet, аппаратный стек TCP/IP которых включает в себя поддержку протоколов TCP, UDP, IPv4, ICMP, IGMP и PPPoE. Этого вполне достаточно для реализации типовых задач по удаленному сбору данных, мониторингу и управлению. В данной статье расскажем о перспективных микросхемах Wiznet и покажем базовые принципы работы с мостом W5500 на примере его подключения к микроконтроллеру Microchip (Atmel) SAM D21 (ARM Cortex M0).
Компания Wiznet предлагает полностью готовое для работы решение - сам аппаратный мост и бесплатную библиотеку ioLibrary для работы с ним. Такой подход позволяет за пару часов реализовать и протестировать сетевое соединение между целевым контроллером и удаленным устройством. В следующем примере целевым контроллером будет перспективный ARM Cortex M0 SAM D21 от Microchip (Atmel), а удаленным устройством ПК.
Для реализации примера используем отладочную плату Microchip (Atmel) XPlained Pro ATSAMD21-XPRO и модуль Wiznet Wiz850io.
В следующей таблице показан порядок подключения выводов модуля и отладочной платы.
|
Vcc |
Gnd |
SCLK |
MISO |
MOSI |
CS |
RST |
Wiz850io |
3V3 |
GND |
SCLK |
MISO |
MOSI |
SCNn |
RSTn |
ATSAMD21-XPRO |
PWR2 |
PWR4 |
Ext1 18 |
Ext1 17 |
Ext1 16 |
Ext1 15 |
Ext1 7 |
В качестве среды разработки для микроконтроллера (МК) SAM D21 использована Atmel Studio 7 и Atmel Software Framework (ASF). Создание шаблона проекта в ASF с точки зрения добавления периферийных модулей и функций, а также их настройки, полностью соответствует порядку, описанному в статье “Графический контроллер EVE FT800 FTDI и микроконтроллер SAMD21 Atmel. Работаем с графическими изображениями”. Затем, в проект добавляем файлы библиотеки Wiznet ioLibrary для работы с мостами. Для адаптации библиотеки для работы с SAM D21 необходимо изменить функции чтения/записи (файл W5500.c), функцию установки линий SPI в активное/неактивное состояние CS (wizchip_conf.c) и управление сбросом RST (реализовано в main.c). В рабочем цикле программы устанавливается соединение с клиентом, принимаются данные от него и передаются обратно. На стороне клиента для установки соединения с сервером на SAM D21 и обмена данными с ним используется утилита Hyper Terminal.
В данном примере сетевые настройки W5500 определены в файле main.c и имеют следующие значения:
Проект для Atmel Studio доступен по данной ссылке - W5500_Example.