Microsemi DG0440 запускает эталонный проект Modbus TCP на устройствах SmartFusion2
Штаб-квартира корпорации Microsemi
One Enterprise, Алисо Вьехо,
CA 92656 США
В пределах США: +1 800-713-4113
За пределами США: +1 949-380-6100
Факс: +1 949-215-4996
Электронная почта: sales.support@microsemi.com
www.microsemi.com
© 2017 Корпорация Microsemi. Все права защищены. Microsemi и логотип Microsemi являются товарными знаками корпорации Microsemi. Все другие товарные знаки и знаки обслуживания являются собственностью их соответствующих владельцев.
Microsemi не дает никаких гарантий, заявлений или гарантий в отношении информации, содержащейся в данном документе, или пригодности своих продуктов и услуг для какой-либо конкретной цели, а также Microsemi не берет на себя никакой ответственности, вытекающей из применения или использования любого продукта или схемы. Продукты, продаваемые по настоящему Соглашению, и любые другие продукты, продаваемые Microsemi, прошли ограниченное тестирование и не должны использоваться вместе с критически важным оборудованием или приложениями. Любые характеристики производительности считаются надежными, но не проверяются, и Покупатель должен провести и завершить все эксплуатационные и другие испытания продуктов, отдельно или вместе с любыми конечными продуктами или установленными в них. Покупатель не должен полагаться на какие-либо данные и технические характеристики или параметры, предоставленные Microsemi. Покупатель несет ответственность за самостоятельное определение пригодности любых продуктов, а также их тестирование и проверку. Информация, предоставляемая Microsemi по настоящему Соглашению, предоставляется «как есть, где есть» и со всеми ошибками, и весь риск, связанный с такой информацией, полностью лежит на Покупателе. Microsemi не предоставляет, прямо или косвенно, какой-либо стороне какие-либо патентные права, лицензии или любые другие права на интеллектуальную собственность, будь то в отношении самой такой информации или чего-либо, описываемого такой информацией. Информация, представленная в этом документе, является собственностью Microsemi, и Microsemi оставляет за собой право вносить любые изменения в информацию в этом документе или в любые продукты и услуги в любое время без предварительного уведомления.
О Микросеми
Корпорация Microsemi (Nasdaq: MSCC) предлагает комплексный портфель полупроводниковых и системных решений для аэрокосмической и оборонной промышленности, связи, центров обработки данных и промышленных рынков. Продукты включают в себя высокопроизводительные и радиационно-стойкие аналоговые интегральные схемы со смешанными сигналами, FPGA, SoC и ASIC; продукты управления питанием; устройства хронометража и синхронизации, а также решения для точного времени, устанавливающие мировой стандарт времени; устройства обработки голоса; РЧ-решения; дискретные компоненты; корпоративные решения для хранения и связи, технологии безопасности и масштабируемая защита от атакampпродукты; Ethernet-решения; ИС и инжекторы Power-over-Ethernet; а также возможности индивидуального дизайна и услуги. Штаб-квартира Microsemi находится в Алисо-Вьехо, Калифорния, и насчитывает около 4,800 сотрудников по всему миру. Узнайте больше на www.microsemi.com.
История изменений
История изменений описывает изменения, которые были реализованы в документе. Изменения перечислены по редакции, начиная с самой последней публикации.
Редакция 7.0
Обновлен документ для версии программного обеспечения Libero v11.8.
Редакция 6.0
В редакцию 6.0 этого документа внесены следующие изменения.
- Требования к дизайну Libero SoC, FlashPro и SoftConsole обновлены в разделе «Требования к дизайну», стр. 5.
- На протяжении всего руководства обновляются названия проектов SoftConsole, использованных в демонстрационном дизайне, и все связанные с ними рисунки.
Редакция 5.0
Обновлен документ для версии программного обеспечения Libero v11.7 (SAR 76559).
Редакция 4.0
Обновлен документ для версии программного обеспечения Libero v11.6 (SAR 72924).
Редакция 3.0
Обновлен документ для версии программного обеспечения Libero v11.5 (SAR 63972).
Редакция 2.0
Обновлен документ для версии программного обеспечения Libero v11.3 (SAR 56538).
Редакция 1.0
Обновлен документ для версии программного обеспечения Libero v11.2 (SAR 53221).
Запуск эталонного проекта Modbus TCP на устройствах SmartFusion2 с использованием IwIP и FreeRTOS
Введение
Microsemi предлагает эталонный дизайн для устройств SmartFusion®2 SoC FPGA, демонстрирующий
Трехскоростной контроллер доступа к среде Ethernet (TSEMAC) оснащен SmartFusion2 SoC FPGA и реализует протокол Modbus. Эталонный проект работает на UG0557: SmartFusion2 SoC FPGA Руководство пользователя Advanced Development Kit. Это демонстрационное руководство описывает.
- Использование SmartFusion2 TSEMAC, подключенного к последовательному гигабитному независимому от среды интерфейсу (SGMII) PHY.
- Интеграция драйвера MAC SmartFusion2 с облегченным протоколом управления передачей (TCP) IP (IwIP) или стеком IP и бесплатной операционной системой реального времени (RTOS).
- Прикладной уровень с протоколом промышленной автоматизации, Modbus на TCP или IP.
- Как запустить эталонный дизайн
Подсистема микроконтроллера (MSS) SmartFusion2 SoC FPGA имеет экземпляр периферийного устройства TSEMAC. TSEMAC можно настроить между хост-процессором и сетью Ethernet на следующие скорости передачи данных (линейные скорости):
- 10 Мбит/с
- 100 Мбит/с
- 1000 Мбит/с
Для получения дополнительной информации об интерфейсе TSEMAC для устройств SmartFusion2 см. UG0331: Руководство пользователя подсистемы микроконтроллера SmartFusion2.
Использование протокола Modbus
Modbus — это протокол обмена сообщениями прикладного уровня, присутствующий на седьмом уровне
Модель взаимодействия открытых систем (OSI). Он обеспечивает клиентскую или серверную связь между устройствами, подключенными к разным типам шин или сетей. Это служебный протокол, который предлагает множество служб, определяемых функциональными кодами. Функциональные коды Modbus являются элементами блоков данных протокола запроса или ответа Modbus. Компоненты протокола Modbus включают в себя:
- TCP или IP через Ethernet
- Асинхронная последовательная передача по различным средам
- Проволока:
- ОВОС/ТИА-232-Е
- ЕИА-422
- Волокно EIA/TIA-485-A
- Радио
- Modbus PLUS, высокоскоростная сеть передачи токенов
На следующем рисунке показаны коммуникационные стеки Modbus для различных коммуникационных сетей.
Рис. 1 • Стек связи Modbus
Использование протокола Modbus на устройстве SmartFusion2
Сервер Modbus TCP работает на комплекте SmartFusion2 Advanced Development Kit и отвечает клиенту Modbus TCP, работающему на хост-компьютере. На следующем рисунке показана блок-схема сервера Modbus TCP и приложения на устройстве SmartFusion2.
Рисунок 2 • Блок-схема сервера Modbus TCP и приложения на SmartFusion2
0RGEXV 7&3 $SSOLFDWLRQ | 0RGEXV 7&3 6HUYHU |
,Z,3 7&3 RU ,3 6WDFN | |
)УХХ5726 | )ЛУПЗДУХ |
6PDUW)XVLRQ2 $GYDQFHG 'HYHORSPHQW .LW (+:) |
Требования к проектированию
В следующей таблице перечислены требования к аппаратному и программному обеспечению.
Таблица 1 • Требования к эталонному проекту и детали
Требования к дизайну: Описание
Аппаратное обеспечение
- Расширенный комплект для разработки SmartFusion2
— Кабель USB A — mini-B
– адаптер 12 В
Версия А или более поздняя версия - Ethernet-кабель RJ45
- Любая из следующих программ эмуляции последовательного терминала:
– Гипертерминал
– ТераТерм
- ШПАТЛИВКА - Хост-ПК или ноутбук Windows 64-разрядная операционная система
Программное обеспечение
- Система на кристалле Libero® (SoC) v11.8
- СофтКонсоль v4.0
- ПО для программирования FlashPro v11.8
- Драйверы USB-UART –
- Драйверы MSS Ethernet MAC версии 3.1.100
- Программа эмуляции последовательного терминала HyperTerminal, TeraTerm или PuTTY.
- Браузер Mozilla Firefox или Internet Explorer
Демонстрационный дизайн
В следующих разделах описан демонстрационный проект эталонного проекта Modbus TCP на устройствах SmartFusion2 с использованием IwIP и FreeRTOS.
Демонстрационный дизайн fileдоступны для скачивания по адресу:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df
Демонстрационный дизайн fileвключают в себя:
- Либеро
- Программирование files
- HostTool
- Прочти меня
На следующем рисунке показана структура верхнего уровня проекта. fileс. Дополнительные сведения см. в файле Readme.txt. file.
Рисунок 3 • Демо-дизайн Files Структура верхнего уровня
Особенности демо-дизайна
Эталонный проект включает в себя:
- Завершить проект Libero SoC Verilog
- Проект прошивки SoftConsole
Базовый проект может поддерживать следующие коды функций Modbus в зависимости от настроек свободного стека связи Modbus:
- Чтение входных регистров (код функции 0×04)
- Чтение регистров хранения (код функции 0×03)
- Запись одиночных регистров (код функции 0×06)
- Запись нескольких регистров (код функции 0×10)
- Чтение или запись нескольких регистров (код функции 0×17)
- Чтение катушек (код функции 0×01)
- Запись одиночной катушки (код функции 0×05)
- Запись нескольких катушек (код функции 0×0F)
- Чтение дискретных входов (код функции (0×02)
Эталонный проект поддерживает следующие функциональные коды Modbus для всех бесплатных настроек стека связи Modbus:
- Чтение входных регистров (код функции 0×04)
- Чтение дискретных входов (код функции (0×02)
- Запись нескольких катушек (код функции 0×0F)
- Чтение регистров хранения (код функции 0×03)
Описание демо-дизайна
Проект реализован с использованием интерфейса SGMII PHY путем настройки TSEMAC для работы с десятибитным интерфейсом (TBI). Для получения дополнительной информации об интерфейсе TSEMAC TBI см. UG0331: Руководство пользователя подсистемы микроконтроллера SmartFusion2.
Аппаратный проект Libero SoC
На следующем рисунке показана реализация аппаратного обеспечения, на котором работает вспомогательное микропрограммное обеспечение эталонного дизайна.
Рис. 4. Аппаратный дизайн верхнего уровня Libero SoC
Аппаратный проект Libero SoC использует следующие ресурсы SmartFusion2 MSS и IP-адреса:
- Интерфейс TSEMAC TBI
- MMUART_0 для связи RS-232 в расширенном комплекте разработки SmartFusion2
- Выделенная входная площадка 0 в качестве источника синхронизации
- Ввод и вывод общего назначения (GPIO), который взаимодействует со следующим:
- Светодиоды (LED): 4 номера
- Кнопки: 4 цифры
- Двойные встроенные (DIP) переключатели: 4 номера
- Следующие ресурсы платы связаны с командами Modbus:
- светодиоды (катушки)
- DIP-переключатели (дискретные входы)
- Кнопки (дискретные входы)
- Часы реального времени (RTC) (входные регистры)
- Высокоскоростной последовательный интерфейс (SERDESIF) SERDES_IF IP, настроенный для SERDESIF_3 EPCS lane 3, см. следующий рисунок. Чтобы узнать больше о высокоскоростных последовательных интерфейсах, см. Руководство пользователя высокоскоростных последовательных интерфейсов UG0447-SmartFusion2 и IGLOO2 FPGA.
На следующем рисунке показано окно конфигуратора высокоскоростного последовательного интерфейса.
Рисунок 5 • Окно конфигуратора высокоскоростного последовательного интерфейса
Назначение выводов пакета
Назначение контактов корпуса для светодиодов, DIP-переключателей, кнопочных переключателей и сигналов интерфейса PHY показано в следующей таблице до Таблицы 5, стр. 9.
Таблица 2 • Назначение контактов светодиода на корпусе
- Выходной пакет Pin
- LED_1 D26
- Светодиод_2 F26
- Светодиод_3 А27
- LED_4 C26
Таблица 3 • DIP-переключатели для назначения контактов корпуса
- Выходной пакет Pin
- ДИП1 F25
- ДИП2 G25
- ДИП3 J23
- ДИП4 J22
Таблица 4 • Кнопочные переключатели для назначения контактов корпуса
- Выходной пакет Pin
- ВЫКЛЮЧАТЕЛЬ1 J25
- ВЫКЛЮЧАТЕЛЬ2 H25
- ВЫКЛЮЧАТЕЛЬ3 J24
- ВЫКЛЮЧАТЕЛЬ4 H23
Таблица 5 • Назначение сигналов интерфейса PHY для выводов корпуса
- Название порта Направление Пакет Пин
- Выход PHY_MDC F3
- Вход PHY_MDIO K7
- PHY_RST Выход F2
Проект прошивки SoftConsole
Запустите проект SoftConsole с помощью автономной среды разработки SoftConsole. Для эталонного дизайна используются следующие версии стека:
- lwIP TCP или стек IP версии 1.3.2
- Сервер Modbus TCP версии 1.5 (www.freemodbus.org) с улучшениями для полной поддержки функционального кода в качестве сервера Modbus TCP
- Бесплатная ОСРВ (www.freertos.org)
На следующем рисунке показана структура каталогов стеков программного обеспечения SoftConsole.
Рисунок 6 • Окно обозревателя проектов SoftConsole
Рабочее пространство SoftConsole состоит из проекта Modbus_TCP_App, в котором есть приложение Modbus TCP (которое использует lwIP и FreeRTOS), а также все уровни абстракции встроенного ПО и оборудования, соответствующие конструкции оборудования.
На следующем рисунке показаны версии драйверов, использованные для демонстрации.
Рис. 7 • Версии драйвера демонстрационного дизайна
Настройка демонстрационного дизайна
Следующие шаги описывают, как настроить демо для платы SmartFusion2 Advanced Development Kit:
- Подключите хост-компьютер к разъему J33 с помощью кабеля USB A — mini-B. Драйверы моста USB-универсальный асинхронный приемник/передатчик (UART) определяются автоматически.
- Из обнаруженных четырех коммуникационных (COM) портов щелкните правой кнопкой мыши любой из COM-портов и выберите «Свойства». Появится окно свойств выбранного COM-порта, как показано на следующем рисунке.
- Убедитесь, что в окне «Свойства» указано «Расположение», как на USB FP5 Serial Converter C, как показано на следующем рисунке.
Примечание: Запишите номер COM-порта для конфигурации последовательного порта и убедитесь, что расположение COM-порта указано как на последовательном преобразователе USB FP5 C.
Рис. 8 • Окно диспетчера устройств
- Установите драйвер USB, если драйверы USB не определяются автоматически.
- Установите драйвер FTDI D2XX для связи с последовательным терминалом через кабель FTDI mini USB. Загрузите драйверы и руководство по установке с:
www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip - Соедините перемычки на плате расширенного комплекта разработки SmartFusion2, как показано в следующей таблице. Для получения информации о расположении перемычек см. Приложение: Расположение перемычек, стр. 19.
ОСТОРОЖНОСТЬ: Перед установкой перемычек выключите выключатель питания SW7.
Таблица 6 • Настройки перемычек расширенного комплекта разработки SmartFusion2
- Перемычка От контакта к комментариям
- J116, J353, J354,J54 1 2 Это настройки перемычек по умолчанию на плате Advanced Development Kit. Убедитесь, что перемычки
- J123 2 3 устанавливаются соответственно.
- J124, J121, J32 1 2 ДжTAG программирование через FTDI
- Подключите блок питания к разъему J42 на плате SmartFusion2 Advanced Development Kit.
- Этот дизайн бывшийampФайл может работать как в режиме статического IP, так и в режиме динамического IP. По умолчанию программирование files предусмотрены для режима динамического IP.
- Для статического IP-адреса подключите хост-компьютер к разъему J21 на
Плата SmartFusion2 Advanced Development Kit с использованием кабеля RJ45. - Для динамического IP-адреса подключите любой из открытых сетевых портов к разъему J21 платы SmartFusion2 Advanced Development Kit с помощью кабеля RJ45.
- Для статического IP-адреса подключите хост-компьютер к разъему J21 на
Снимок настройки платы
Снимки платы SmartFusion2 Advanced Development Kit со всеми установочными соединениями приведены в Приложении: Настройка платы для запуска эталонного проекта Modbus TCP, стр. 18.
Запуск демо-дизайна
Следующие шаги описывают, как запустить демонстрационный проект:
- Скачать дизайн file от:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df - Включите выключатель питания, SW7.
- Запустите любую программу эмуляции последовательного терминала, например:
- Гипертерминал
- Шпатлевка
- TeraTerm
Примечание. В этой демонстрации используется HyperTerminal.
Конфигурация программы такая: - Скорость передачи данных: 115200
- 8 бит данных
- 1 Стоповый бит
- Нет паритета
- Нет контроля потока
Информацию о настройке программ эмуляции последовательного терминала см. в разделе Настройка программ эмуляции последовательного терминала.
- Запустите программу FlashPro.
- Щелкните Новый проект.
- В окне «Новый проект» введите имя проекта, как показано на следующем рисунке.
Рисунок 9 • Новый проект FlashPro
- Нажмите «Обзор» и перейдите к месту, где вы хотите сохранить проект.
- Выберите Одно устройство в качестве режима программирования.
- Нажмите OK, чтобы сохранить проект.
- Щелкните Настроить устройство.
- Щелкните Обзор и перейдите к месту, где находится файл Modbus_TCP_top.stp. file находится и выберите file. Расположение по умолчанию:
(\SF2_Modbus_TCP_Ref_Design_DF\Программированиеfile\Modbus_TCP_top.stp). Необходимое программирование file выбран и готов к программированию в устройстве, как показано на следующем рисунке.
Рис. 10. Проект FlashPro сконфигурирован
- Нажмите ПРОГРАММА, чтобы начать программирование устройства. Подождите, пока не появится сообщение о том, что программа прошла успешно. Для этой демонстрации требуется, чтобы устройство SmartFusion2 было предварительно запрограммировано кодом приложения для активации приложения Modbus. Устройство SmartFusion2 предварительно запрограммировано с Modbus_TCP_top.stp с помощью программного обеспечения FlashPro.
Рисунок 11 • Программа FlashPro пройдена
Примечание. Чтобы запустить проект в режиме статического IP-адреса, выполните действия, описанные в Приложение: Запуск проекта в режиме статического IP-адреса, стр. 20.
- Выключите и снова включите плату расширенной разработки SmartFusion2.
Приветственное сообщение с IP-адресом отображается в окне HyperTerminal, как показано на следующем рисунке.
Рисунок 12 • HyperTerminal с IP-адресом
Откройте новую командную строку на хост-компьютере, перейдите в папку
(\SF2_Modbus_TCP_Ref_Design_DF\HostTool), где
SmartFusion2_Modbus_TCP_Client.exe file присутствует, введите команду: SmartFusion2_Modbus_TCP_Client.exe как показано на следующем рисунке.
Рисунок 13 • Запуск клиента Modbus
На следующем рисунке показаны работающие функции Modbus TCP. Функции:
- Чтение дискретных входов (код функции 02)
- Чтение регистров временного хранения (код функции 03)
- Чтение входных регистров (код функции 04)
- Запись нескольких катушек (код функции 15)
Рисунок 14 • Демонстрация функциональных кодов Modbus
См. Запуск функций Modbus, стр. 17 для получения дополнительной информации о функциях Modbus, которые демонстрируются в эталонном проекте.
- После запуска демонстрации закройте HyperTerminal.
Запуск функций Modbus
В этом разделе описываются функции Modbus, которые демонстрируются в эталонном проекте.
Чтение дискретных входов (код функции 02)
GPIO подключены к 4 DIP-переключателям и 4 кнопочным переключателям. Включите и выключите DIP-переключатели и кнопочные переключатели на расширенном комплекте разработки SmartFusion2. Функциональный код чтения дискретных входов отображает состояния переключателей, как показано на следующем рисунке.
Рис. 15 • Чтение дискретных входов
Чтение регистров временного хранения (код функции 03)
На следующем рисунке показаны данные глобального буфера, определенные в прошивке.
Рис. 16 • Чтение регистров временного хранения
Чтение входных регистров (код функции 04)
На следующем рисунке показано количество секунд, отсчитанных счетчиком реального времени (RTC).
Рисунок 17 • Чтение входных регистров
Запись нескольких катушек (код функции 0×0F)
На следующем рисунке показаны данные регистра Write Multiple Coils для переключения светодиодов, подключенных к GPIO.
Рисунок 18 • Запись нескольких катушек
Приложение: Настройка платы для запуска эталонного проекта Modbus TCP
На следующем рисунке показана установка платы для запуска эталонного проекта на плате SmartFusion2 Advanced Development Kit.
Рисунок 19 • Настройка платы расширенного комплекта разработки SmartFusion2
Приложение: Расположение перемычек
На следующем рисунке показано расположение перемычек на плате SmartFusion2 Advanced Development Kit.
Рис. 20. Расширенный набор для разработки SmartFusion2. Шелкография. Верх. View
Примечание: Перемычки, выделенные красным цветом, установлены по умолчанию. Перемычки, выделенные зеленым цветом, необходимо устанавливать вручную.
Примечание: Расположение перемычек на предыдущем рисунке доступно для поиска.
Приложение: Запуск проекта в режиме статического IP
Следующие шаги описывают, как запустить проект в режиме статического IP:
- Щелкните правой кнопкой мыши окно Project Explorer проекта SoftConsole и перейдите к свойствам, как показано на следующем рисунке.
Рисунок 21 • Окно Project Explorer проекта SoftConsole
- Удалите символ NET_USE_DHCP в настройках инструмента окна «Свойства для Modbus_TCP_App». На следующем рисунке показано окно свойств Modbus_TCP_App.
Рис. 22 • Окно свойств Project Explorer
- Если устройство подключено в режиме статического IP-адреса, статический IP-адрес платы — 169.254.1.23, затем измените настройки Host TCP/IP, чтобы отразить IP-адрес. См. следующий рисунок и рисунок 24,
Рис. 23 • Настройки TCP/IP хост-компьютера
Рисунок 24 • Настройки статического IP-адреса
Примечание: После настройки этих параметров скомпилируйте проект, загрузите его во флэш-память и запустите проект с помощью SoftConsole.
Демонстрационное руководство DG0440 Редакция 7.0
Документы/Ресурсы
![]() |
Microsemi DG0440 запускает эталонный проект Modbus TCP на устройствах SmartFusion2 [pdf] Руководство пользователя DG0440 Запуск эталонного проекта Modbus TCP на устройствах SmartFusion2, DG0440, Запуск эталонного проекта Modbus TCP на устройствах SmartFusion2, Проект на устройствах SmartFusion2 |