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 Corporation. Всі права захищені. Microsemi та логотип Microsemi є товарними знаками Microsemi Corporation. Усі інші торгові марки та знаки обслуговування є власністю відповідних власників
Microsemi не дає жодних гарантій, заяв або гарантій щодо інформації, що міститься в цьому документі, або придатності її продуктів і послуг для будь-якої конкретної мети, а також не бере на себе жодної відповідальності, що випливає із застосування або використання будь-якого продукту чи схеми. Продукти, що продаються за цією Угодою, та будь-які інші продукти, що продаються Microsemi, пройшли обмежене тестування і не повинні використовуватися разом із критично важливим обладнанням або програмами. Будь-які технічні характеристики вважаються надійними, але не перевірені, і Покупець повинен провести та завершити всі випробування продуктивності та інші випробування продуктів окремо та разом із будь-якими кінцевими продуктами чи встановленими в них. Покупець не повинен покладатися на будь-які дані та характеристики або параметри, надані Microsemi. Покупець зобов’язаний самостійно визначати придатність будь-яких продуктів, а також тестувати та перевіряти це. Інформація, надана Microsemi за цією Угодою, надається «як є, де є» та з усіма недоліками, і весь ризик, пов’язаний з такою інформацією, повністю несе Покупець. Microsemi не надає, явно чи неявно, жодній стороні будь-які патентні права, ліцензії чи будь-які інші права інтелектуальної власності, що стосується самої такої інформації чи будь-чого, що описується такою інформацією. Інформація, представлена в цьому документі, є власністю Microsemi, і Microsemi залишає за собою право вносити будь-які зміни в інформацію в цьому документі або в будь-які продукти та послуги в будь-який час без попередження.
Про Microsemi
Microsemi Corporation (Nasdaq: MSCC) пропонує широкий асортимент напівпровідникових і системних рішень для аерокосмічної та оборонної промисловості, комунікацій, центрів обробки даних і промислових ринків. Продукти включають високоефективні та радіаційно захищені аналогові інтегральні схеми зі змішаними сигналами, FPGA, SoC та ASIC; продукти керування живленням; пристрої хронометражу та синхронізації та рішення точного часу, що встановлює світовий стандарт часу; пристрої обробки голосу; радіочастотні рішення; дискретні компоненти; корпоративні рішення для зберігання та зв’язку, технології безпеки та масштабована анти-тamper продукти; рішення 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) реалізує функції FPGA SmartFusion2 SoC і реалізує протокол Modbus. Еталонний дизайн працює на UG0557: SmartFusion2 SoC FPGA Advanced Development Kit Guide User Guide. Цей демонстраційний посібник описує.
- Використання SmartFusion2 TSEMAC, підключеного до послідовного гігабітного медіа-незалежного інтерфейсу (SGMII) PHY.
- Інтеграція драйвера MAC SmartFusion2 з легким протоколом керування передачею (TCP) або стеком IP (IwIP) і безкоштовною операційною системою реального часу (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
- Асинхронна послідовна передача через різні носії
- Дріт:
- EIA/TIA-232-E
- EIA-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 | |
)UHH5726 | )ЛУПЗДУХ |
6PDUW)XVLRQ2 $GYDQFHG 'HYHORSPHQW .LW (+:) |
Вимоги до дизайну
У наведеній нижче таблиці наведено вимоги до апаратного та програмного забезпечення.
Таблиця 1 • Довідкові вимоги до проекту та деталі
Вимоги до оформлення: Опис
Обладнання
- SmartFusion2 Advanced Development Kit
– Кабель USB A – mini-B
– адаптер 12 В
Rev A або новіша версія - Кабель Ethernet RJ45
- Будь-яка з наведених нижче програм емуляції послідовного терміналу:
– Гіпертермінал
– ТераТерм
– Шпаклівка - Головний ПК або ноутбук 64-розрядна операційна система Windows
програмне забезпечення
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- Програмне забезпечення для програмування FlashPro v11.8
- Драйвери USB до UART –
- Драйвери MAC Ethernet версії 3.1.100
- Програма емуляції послідовного терміналу HyperTerminal, TeraTerm або PuTTY
- Браузер Mozilla Firefox або Internet Explorer
Демонстраційний дизайн
У наступних розділах описано демонстраційний дизайн еталонного дизайну Modbus TCP на пристроях SmartFusion2, які використовують IwIP і FreeRTOS.
Демонстраційний дизайн files доступні для завантаження за адресою:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df
Демонстраційний дизайн fileвключають:
- Ліберо
- Програмування files
- HostTool
- Readme
На наступному малюнку показано структуру верхнього рівня дизайну 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 використовує такі ресурси та IP-адреси SmartFusion2 MSS:
- Інтерфейс TSEMAC TBI
- MMUART_0 для зв’язку RS-232 на розширеному комплекті розробки SmartFusion2
- Виділена вхідна панель 0 як джерело синхронізації
- Вхід і вихід загального призначення (GPIO), який поєднує наступне:
- Світлодіоди (LED): 4 шт
- Кнопки: 4 номери
- Перемикачі Dual in-line package (DIP): 4 номери
- Наступні ресурси плати пов’язані з командами Modbus:
- світлодіоди (котушки)
- DIP-перемикачі (дискретні входи)
- Кнопки (дискретні входи)
- Годинник реального часу (RTC) (вхідні регістри)
- Високошвидкісний послідовний інтерфейс (SERDESIF) SERDES_IF IP, налаштований для SERDESIF_3 EPCS, смуга 3, див. наступний малюнок. Щоб дізнатися більше про високошвидкісні послідовні інтерфейси, перегляньте посібник користувача UG0447-SmartFusion2 та IGLOO2 FPGA High Speed Serial Interfaces.
На наступному малюнку показано вікно конфігуратора високошвидкісного послідовного інтерфейсу.
Рисунок 5 • Вікно конфігуратора високошвидкісного послідовного інтерфейсу
Призначення контактів пакета
Призначення контактів для світлодіодів, DIP-перемикачів, кнопкових перемикачів і сигналів інтерфейсу PHY показано в наступній таблиці до Таблиці 5 на сторінці 9.
Таблиця 2 • Призначення контактів світлодіодів для пакетів
- Вихідний пакет Pin
- LED_1 D26
- LED_2 F26
- LED_3 A27
- LED_4 C26
Таблиця 3 • DIP-перемикачі для призначення контактів пакету
- Вихідний пакет Pin
- DIP1 F25
- DIP2 G25
- DIP3 J23
- DIP4 J22
Таблиця 4 • Кнопкові перемикачі для призначення контактів пакету
- Вихідний пакет Pin
- ПЕРЕМИКАЧ1 J25
- ПЕРЕМИКАЧ2 H25
- ПЕРЕМИКАЧ3 J24
- ПЕРЕМИКАЧ4 H23
Таблиця 5 • Призначення сигналів інтерфейсу PHY пакету
- Ім'я порту Напрямок Пін-код пакета
- PHY_MDC Вихід F3
- PHY_MDIO Вхід K7
- PHY_RST Вихід F2
Проект прошивки SoftConsole
Викличте проект SoftConsole за допомогою автономної IDE SoftConsole. Для еталонного дизайну використовуються наступні версії стека:
- lwIP TCP або стек IP версії 1.3.2
- Сервер Modbus TCP версії 1.5 (www.freemodbus.org) із покращеннями для повної підтримки функціонального коду як сервера Modbus TCP
- FreeRTOS (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 Serial Converter C.
Рисунок 8 • Вікно диспетчера пристроїв
- Установіть драйвер USB, якщо драйвери USB не визначаються автоматично.
- Встановіть драйвер FTDI D2XX для зв’язку через послідовний термінал через міні-USB-кабель FTDI. Завантажте драйвери та посібник зі встановлення з:
www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip - З’єднайте перемички на платі SmartFusion2 Advanced Development Kit, як показано в наступній таблиці. Інформацію про розташування перемичок див. у Додатку: Розташування перемичок, сторінка 19.
УВАГА: Вимкніть перемикач джерела живлення, SW7, перш ніж з'єднувати перемички.
Таблиця 6 • Налаштування перемички SmartFusion2 Advanced Development Kit
- Перемичка Pin від шпильки до коментарів
- J116, J353, J354, J54 1 2 Це налаштування перемичок за замовчуванням плати Advanced Development Kit. Переконайтеся, що перемички
- J123 2 3 встановлюються відповідно.
- J124, J121, J32 1 2 JTAG програмування через 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.
- Запустіть будь-яку програму емуляції послідовного терміналу, наприклад:
- Гіпертермінал
- PuTTY
- ТераТерм
Примітка. У цій демонстрації використовується 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 налаштовано
- Натисніть PROGRAM, щоб почати програмування пристрою. Зачекайте, поки не з’явиться повідомлення про те, що програму виконано. Ця демонстрація вимагає, щоб пристрій SmartFusion2 було попередньо запрограмовано з кодом програми для активації програми Modbus. Пристрій SmartFusion2 попередньо запрограмовано за допомогою Modbus_TCP_top.stp за допомогою програмного забезпечення FlashPro.
Рисунок 11 • Програма FlashPro пройдена
Примітка. Щоб запустити проект у режимі статичної IP-адреси, виконайте дії, згадані в Додатку: Запуск проекту в режимі статичної IP-адреси, сторінка 20.
- Увімкніть і вимкніть плату SmartFusion2 Advanced Development.
Вітальне повідомлення з 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 Advanced Development Kit
Додаток: Розташування перемичок
На наступному малюнку показано розташування перемичок на платі SmartFusion2 Advanced Development Kit.
Малюнок 20 • SmartFusion2 Advanced Development Kit Silkscreen Верхня частина View
Примітка: Перемички, виділені червоним, встановлені за замовчуванням. Перемички, виділені зеленим, потрібно встановити вручну.
Примітка: Розташування перемичок на попередньому малюнку доступне для пошуку.
Додаток: Запуск проекту в режимі статичної IP-адреси
Наступні кроки описують, як запустити проект у режимі статичного IP:
- Клацніть правою кнопкою миші вікно Project Explorer проекту SoftConsole і перейдіть до Properties, як показано на малюнку нижче.
Рисунок 21 • Вікно Project Explorer проекту SoftConsole
- Видаліть символ NET_USE_DHCP у Tool Settings у вікні Properties for Modbus_TCP_App. На наступному малюнку показано вікно Properties for Modbus_TCP_App.
Рисунок 22 • Вікно властивостей Project Explorer
- Якщо пристрій підключено в режимі статичного IP, статична IP-адреса плати 169.254.1.23, тоді змініть параметри Host TCP/IP, щоб відобразити IP-адресу. Дивіться наступний малюнок і малюнок 24,
Малюнок 23 • Параметри TCP/IP хост-ПК
Рисунок 24 • Параметри статичної IP-адреси
Примітка: Коли ці параметри налаштовано, скомпілюйте дизайн, завантажте дизайн у флеш-пам’ять і запустіть дизайн за допомогою SoftConsole.
DG0440 Demo Guide Версія 7.0
Документи / Ресурси
![]() |
Microsemi DG0440 Виконує еталонний дизайн Modbus TCP на пристроях SmartFusion2 [pdfПосібник користувача DG0440 Виконання еталонного дизайну Modbus TCP на пристроях SmartFusion2, DG0440, Виконання еталонного дизайну Modbus TCP на пристроях SmartFusion2, проектування на пристроях SmartFusion2 |