Microsemi DG0440 ejecutando el diseño de referencia Modbus TCP en dispositivos SmartFusion2
Sede Corporativa Microsemi
Una Empresa, Aliso Viejo,
CA 92656 EE. UU.
Dentro de EE. UU.: +1 800-713-4113
Fuera de EE. UU.: +1 949-380-6100
Teléfono: +1 949-215-4996
Correo electrónico: ventas.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporación. Reservados todos los derechos. Microsemi y el logotipo de Microsemi son marcas comerciales de Microsemi Corporation. Todas las demás marcas comerciales y marcas de servicio son propiedad de sus respectivos dueños.
Microsemi no ofrece ninguna garantía con respecto a la información contenida en este documento o la idoneidad de sus productos y servicios para un propósito particular, ni Microsemi asume responsabilidad alguna que surja de la aplicación o el uso de cualquier producto o circuito. Los productos vendidos a continuación y cualquier otro producto vendido por Microsemi han sido sujetos a pruebas limitadas y no deben usarse junto con equipos o aplicaciones de misión crítica. Las especificaciones de rendimiento se consideran confiables, pero no se verifican, y el Comprador debe realizar y completar todas las pruebas de rendimiento y de otro tipo de los productos, solos y junto con, o instalados en, cualquier producto final. El Comprador no se basará en los datos y especificaciones o parámetros de rendimiento proporcionados por Microsemi. Es responsabilidad del Comprador determinar de forma independiente la idoneidad de cualquier producto y probarlo y verificarlo. La información proporcionada por Microsemi a continuación se proporciona "tal cual, dónde está" y con todas las fallas, y todo el riesgo asociado con dicha información es totalmente del Comprador. Microsemi no otorga, explícita o implícitamente, a ninguna de las partes ningún derecho de patente, licencia o cualquier otro derecho de propiedad intelectual, ya sea con respecto a dicha información en sí misma o cualquier cosa descrita en dicha información. La información proporcionada en este documento es propiedad de Microsemi, y Microsemi se reserva el derecho de realizar cambios en la información de este documento o en cualquier producto y servicio en cualquier momento sin previo aviso.
Acerca de Microsemi
Microsemi Corporation (Nasdaq: MSCC) ofrece una cartera integral de soluciones de sistemas y semiconductores para los mercados aeroespacial y de defensa, comunicaciones, centro de datos e industrial. Los productos incluyen circuitos integrados analógicos de señal mixta de alto rendimiento y resistentes a la radiación, FPGA, SoC y ASIC; productos de administración de energía; dispositivos de temporización y sincronización y soluciones de tiempo preciso, estableciendo el estándar mundial para el tiempo; dispositivos de procesamiento de voz; soluciones de radiofrecuencia; componentes discretos; soluciones empresariales de almacenamiento y comunicación, tecnologías de seguridad y anti-t escalablesamper productos; soluciones de Ethernet; Midspans e IC de alimentación a través de Ethernet; así como capacidades y servicios de diseño personalizados. Microsemi tiene su sede en Aliso Viejo, California, y cuenta con aproximadamente 4,800 empleados en todo el mundo. Obtenga más información en www.microsemi.com.
Historial de revisiones
El historial de revisiones describe los cambios que se implementaron en el documento. Los cambios se enumeran por revisión, comenzando con la publicación más reciente.
Revisión 7.0
Se actualizó el documento para la versión del software Libero v11.8.
Revisión 6.0
Los siguientes cambios se realizan en la revisión 6.0 de este documento.
- Los requisitos de diseño de Libero SoC, FlashPro y SoftConsole se actualizan en Requisitos de diseño, página 5.
- A lo largo de la guía, se actualizan los nombres de los proyectos de SoftConsole utilizados en el diseño de demostración y todas las figuras asociadas.
Revisión 5.0
Se actualizó el documento para la versión del software Libero v11.7 (SAR 76559).
Revisión 4.0
Se actualizó el documento para la versión del software Libero v11.6 (SAR 72924).
Revisión 3.0
Se actualizó el documento para la versión del software Libero v11.5 (SAR 63972).
Revisión 2.0
Se actualizó el documento para la versión del software Libero v11.3 (SAR 56538).
Revisión 1.0
Se actualizó el documento para la versión del software Libero v11.2 (SAR 53221).
Ejecución del diseño de referencia Modbus TCP en dispositivos SmartFusion2 utilizando IwIP y FreeRTOS
Introducción
Microsemi ofrece un diseño de referencia para dispositivos FPGA SoC SmartFusion®2 que demuestran la
El controlador de acceso al medio Ethernet de tres velocidades (TSEMAC) incluye funciones del FPGA SoC SmartFusion2 e implementa el protocolo Modbus. El diseño de referencia se ejecuta en UG0557: Guía del usuario del kit de desarrollo avanzado SmartFusion2 SoC FPGA. Esta guía de demostración describe.
- Uso de SmartFusion2 TSEMAC conectado a una interfaz serial independiente de medios gigabit (SGMII) PHY.
- Integración del controlador MAC SmartFusion2 con el protocolo de control de transmisión (TCP) IP ligero (IwIP) o pila IP y el sistema operativo gratuito en tiempo real (RTOS).
- Capa de aplicación con protocolo de automatización industrial, Modbus sobre TCP o IP.
- Cómo ejecutar el diseño de referencia
El subsistema de microcontrolador (MSS) del FPGA SoC SmartFusion2 tiene una instancia del periférico TSEMAC. El TSEMAC se puede configurar entre el procesador host y la red Ethernet a las siguientes velocidades de transferencia de datos (velocidades de línea):
- 10 Mbps
- 100 Mbps
- 1000 Mbps
Para obtener más información sobre la interfaz TSEMAC para dispositivos SmartFusion2, consulte UG0331: Guía del usuario del subsistema del microcontrolador SmartFusion2.
Usando el protocolo Modbus
Modbus es un protocolo de mensajería de capa de aplicación presente en el nivel siete del
Modelo de interconexión de sistemas abiertos (OSI). Permite la comunicación cliente o servidor entre los dispositivos conectados en diferentes tipos de buses o redes. Es un protocolo de servicio que ofrece muchos servicios especificados por los códigos de función. Los códigos de función Modbus son elementos de las unidades de datos del protocolo de solicitud o respuesta Modbus. Los componentes del protocolo Modbus incluyen:
- TCP o IP sobre Ethernet
- Transmisión en serie asíncrona a través de una variedad de medios.
- Cable:
- EIA/TIA-232-E
- EIA-422
- Fibra EIA/TIA-485-A
- Radio
- Modbus PLUS, una red de paso de tokens de alta velocidad
La siguiente figura describe las pilas de comunicación Modbus para varias redes de comunicación.
Figura 1 • Pila de comunicación Modbus
Uso del protocolo Modbus en el dispositivo SmartFusion2
El servidor Modbus TCP se ejecuta en el kit de desarrollo avanzado SmartFusion2 y responde al cliente Modbus TCP que se ejecuta en la PC host. La siguiente figura muestra el diagrama de bloques del servidor Modbus TCP y la aplicación en el dispositivo SmartFusion2.
Figura 2 • Diagrama de bloques de la aplicación y el servidor Modbus TCP en SmartFusion2
0RGEXV 7&3 $SSOLFDWLRQ | 0RGEXV 7&3 6HUYHU |
,Z,3 7&3 RU ,3 6WDFN | |
)UHH5726 | )LUPZDUH |
6PDUW)XVLRQ2 $GYDQFHG 'HYHORSPHQW .LW (+:) |
Requisitos de diseño
La siguiente tabla enumera los requisitos de diseño de hardware y software.
Tabla 1 • Requisitos y detalles del diseño de referencia
Requisitos de diseño: descripción
Hardware
- Kit de desarrollo avanzado SmartFusion2
– Cable USB A a mini-B
– Adaptador de 12 V
Rev A o posterior - cable ethernet rj45
- Cualquiera de los siguientes programas de emulación de terminal serie:
- Hiper terminal
– TeraTerm
– masilla - PC host o portátil con sistema operativo Windows de 64 bits
Software
- Sistema en chip (SoC) Libero® v11.8
- SoftConsole v4.0
- Software de programación FlashPro v11.8
- Controladores USB a UART –
- Controladores MSS Ethernet MAC v3.1.100
- Un programa de emulación de terminal serie HyperTerminal, TeraTerm o PuTTY
- Navegador Mozilla Firefox o Internet Explorer
Diseño de demostración
Las siguientes secciones describen el diseño de demostración del diseño de referencia Modbus TCP en dispositivos SmartFusion2 que utilizan IwIP y FreeRTOS.
El diseño de demostración files están disponibles para su descarga en:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df
El diseño de demostración files incluye:
- Líbero
- Programación files
- Herramienta de host
- Léame
La siguiente figura muestra la estructura de nivel superior del diseño. files. Para obtener más información, consulte el archivo Léame.txt. file.
Figura 3 • Diseño de demostración Files Estructura de alto nivel
Funciones de diseño de demostración
El diseño de referencia incluye:
- Proyecto completo Libero SoC Verilog
- Proyecto de firmware de SoftConsole
El diseño de referencia puede admitir los siguientes códigos de función Modbus según la configuración de la pila de comunicaciones Modbus libre:
- Leer registros de entrada (código de función 0×04)
- Leer registros de retención (código de función 0×03)
- Escribir registros individuales (código de función 0×06)
- Escribir múltiples registros (código de función 0×10)
- Leer o escribir múltiples registros (código de función 0×17)
- Leer bobinas (código de función 0×01)
- Escribir bobina simple (código de función 0×05)
- Escribe múltiples bobinas (código de función 0×0F)
- Leer entradas discretas (código de función (0×02)
El diseño de referencia admite los siguientes códigos de función Modbus para todas las configuraciones libres de la pila de comunicaciones Modbus:
- Leer registros de entrada (código de función 0×04)
- Leer entradas discretas (código de función (0×02)
- Escribe múltiples bobinas (código de función 0×0F)
- Leer registros de retención (código de función 0×03)
Descripción del diseño de demostración
El diseño se implementa utilizando una interfaz SGMII PHY configurando TSEMAC para la operación de interfaz de diez bits (TBI). Para obtener más información sobre la interfaz TSEMAC TBI, consulte UG0331: Guía del usuario del subsistema del microcontrolador SmartFusion2.
Proyecto de hardware Libero SoC
La siguiente figura muestra la implementación del diseño de hardware en la que se ejecuta el firmware esclavo de diseño de referencia.
Figura 4 • Diseño de hardware de nivel superior de Libero SoC
El proyecto de hardware Libero SoC utiliza los siguientes recursos e IP de SmartFusion2 MSS:
- Interfaz TSEMAC TBI
- MMUART_0 para comunicaciones RS-232 en el kit de desarrollo avanzado SmartFusion2
- Pad de entrada dedicado 0 como fuente de reloj
- Entrada y salida de propósito general (GPIO) que interactúa con lo siguiente:
- Diodos emisores de luz (LED): 4 números
- Pulsadores: 4 números
- Interruptores de paquete dual en línea (DIP): 4 números
- Los siguientes recursos de la placa están asociados con los comandos Modbus:
- LED (bobinas)
- Interruptores DIP (entradas discretas)
- Pulsadores (entradas discretas)
- Reloj en tiempo real (RTC) (registros de entrada)
- Interfaz serie de alta velocidad (SERDESIF) SERDES_IF IP, configurada para SERDESIF_3 EPCS carril 3, consulte la siguiente figura. Para obtener más información sobre las interfaces serie de alta velocidad, consulte la Guía del usuario de interfaces serie de alta velocidad UG0447-SmartFusion2 e IGLOO2 FPGA.
La siguiente figura muestra la ventana del Configurador de interfaz serie de alta velocidad.
Figura 5 • Ventana del configurador de interfaz serie de alta velocidad
Asignaciones de pines de paquetes
Las asignaciones de pines del paquete para LED, interruptores DIP, interruptores de botón y señales de interfaz PHY se muestran desde la siguiente tabla hasta la Tabla 5, página 9.
Tabla 2 • Asignaciones de pines de LED a paquete
- Pin del paquete de salida
- LED_1 D26
- LED_2 F26
- LED_3 A27
- LED_4 C26
Tabla 3 • Asignaciones de interruptores DIP a pines del paquete
- Pin del paquete de salida
- Dip1 F25
- DIP2G25
- DIP3J23
- DIP4J22
Tabla 4 • Asignaciones de interruptores de botón a pines de paquete
- Pin del paquete de salida
- INTERRUPTOR1 J25
- INTERRUPTOR2 H25
- INTERRUPTOR3 J24
- INTERRUPTOR4 H23
Tabla 5 • Señales de interfaz PHY para asignaciones de pines del paquete
- Puerto Nombre Dirección Paquete Pin
- PHY_MDC Salida F3
- PHY_MDIO Entrada K7
- PHY_RST Salida F2
Proyecto de firmware de SoftConsole
Invoque el proyecto SoftConsole utilizando el IDE de SoftConsole independiente. Para el diseño de referencia se utilizan las siguientes versiones de la pila:
- lwIP TCP o pila IP versión 1.3.2
- Servidor Modbus TCP versión 1.5 (www.freemodbus.org) con mejoras para el soporte completo del código de función como servidor Modbus TCP
- RTOS gratuitos (www.freertos.org)
La siguiente figura muestra la estructura de directorios de pilas de software de SoftConsole del diseño.
Figura 6 • Ventana del explorador de proyectos de SoftConsole
El espacio de trabajo de SoftConsole consta del proyecto Modbus_TCP_App que tiene la aplicación Modbus TCP (que usa lwIP y FreeRTOS) y todas las capas de abstracción de firmware y hardware que corresponden al diseño del hardware.
La siguiente figura muestra las versiones del controlador utilizadas para la demostración.
Figura 7 • Versiones del controlador de diseño de demostración
Configuración del diseño de demostración
Los siguientes pasos describen cómo configurar la demostración de la placa del kit de desarrollo avanzado SmartFusion2:
- Conecte la PC host al conector J33 usando el cable USB A a mini-B. Los controladores de puente USB a receptor/transmisor asíncrono universal (UART) se detectan automáticamente.
- De los cuatro puertos de comunicación (COM) detectados, haga clic derecho en cualquiera de los puertos COM y seleccione Propiedades. Se muestra la ventana de propiedades del puerto COM seleccionado, como se muestra en la siguiente figura.
- Asegúrese de tener la ubicación como en el convertidor serie USB FP5 C en la ventana Propiedades, como se muestra en la siguiente figura.
Nota: Anote el número del puerto COM para la configuración del puerto serie y asegúrese de que la ubicación del puerto COM esté especificada como en el convertidor serie USB FP5 C.
Figura 8 • Ventana del Administrador de dispositivos
- Instale el controlador USB si los controladores USB no se detectan automáticamente.
- Instale el controlador FTDI D2XX para la comunicación del terminal serie a través del cable mini USB FTDI. Descargue los controladores y la guía de instalación desde:
www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip - Conecte los puentes en la placa del kit de desarrollo avanzado SmartFusion2 como se muestra en la siguiente tabla. Para obtener información sobre las ubicaciones de los puentes, consulte el Apéndice: Ubicaciones de los puentes, página 19.
PRECAUCIÓN: Apague el interruptor de la fuente de alimentación, SW7, antes de realizar las conexiones de puente.
Tabla 6 • Configuración de puentes del kit de desarrollo avanzado SmartFusion2
- Pin de puente desde Pin hasta comentarios
- J116, J353, J354, J54 1 2 Estas son las configuraciones de puente predeterminadas de la placa del kit de desarrollo avanzado. Asegúrese de que los puentes
- J123 2 3 se configuran en consecuencia.
- J124, J121, J32 1 2 JTAG programación a través de FTDI
- Conecte la fuente de alimentación al conector J42 en la placa del kit de desarrollo avanzado SmartFusion2.
- Este diseño exampEl archivo puede ejecutarse tanto en modo de IP estática como de IP dinámica. Por defecto, la programación fileSe proporcionan correos electrónicos para el modo IP dinámico.
- Para IP estática, conecte la PC host al conector J21 del
Placa del kit de desarrollo avanzado SmartFusion2 mediante un cable RJ45. - Para IP dinámica, conecte cualquiera de los puertos de red abiertos al conector J21 de la placa del kit de desarrollo avanzado SmartFusion2 mediante un cable RJ45.
- Para IP estática, conecte la PC host al conector J21 del
Instantánea de configuración de la placa
En el Apéndice: Configuración de la placa para ejecutar el diseño de referencia Modbus TCP, página 2, se proporcionan instantáneas de la placa del kit de desarrollo avanzado SmartFusion18 con todas las conexiones de configuración.
Ejecutar el diseño de demostración
Los siguientes pasos describen cómo ejecutar el diseño de demostración:
- Descarga el diseño file de:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df - Encienda el interruptor de suministro de energía, SW7.
- Inicie cualquier programa de emulación de terminal serie como:
- Hiperterminal
- Masilla
- TeraTerm
Nota: En esta demostración se utiliza HyperTerminal.
La configuración del programa es: - Velocidad en Baud: 115200
- 8 bits de datos
- 1 bit de parada
- Sin paridad
- Sin control de flujo
Para obtener información sobre cómo configurar los programas de emulación de terminal serie, consulte Configuración de programas de emulación de terminal serie.
- Inicie el software FlashPro.
- Haga clic en Nuevo proyecto.
- En la ventana Nuevo proyecto, ingrese el nombre del proyecto, como se muestra en la siguiente figura.
Figura 9 • Nuevo proyecto FlashPro
- Haga clic en Examinar y navegue hasta la ubicación donde desea guardar el proyecto.
- Seleccione Dispositivo único como modo de programación.
- Haga clic en Aceptar para guardar el proyecto.
- Haga clic en Configurar dispositivo.
- Haga clic en Examinar y navegue hasta la ubicación donde se encuentra Modbus_TCP_top.stp. file se encuentra y seleccione el file. La ubicación predeterminada es:
(\SF2_Modbus_TCP_Ref_Design_DF\Programaciónfile\Modbus_TCP_top.stp). La programación requerida file está seleccionado y está listo para ser programado en el dispositivo como se muestra en la siguiente figura.
Figura 10 • Proyecto FlashPro configurado
- Haga clic en PROGRAMAR para comenzar a programar el dispositivo. Espere hasta que aparezca un mensaje indicando que el programa pasó. Esta demostración requiere que el dispositivo SmartFusion2 esté preprogramado con el código de aplicación para activar la aplicación Modbus. El dispositivo SmartFusion2 está preprogramado con Modbus_TCP_top.stp mediante el software FlashPro.
Figura 11 • Programa FlashPro aprobado
Nota: Para ejecutar el diseño en modo IP estático, siga los pasos mencionados en Apéndice: Ejecución del diseño en modo IP estático, página 20.
- Apague y encienda la placa de desarrollo avanzado SmartFusion2.
Se muestra un mensaje de bienvenida con la dirección IP en la ventana HyperTerminal, como se muestra en la siguiente figura.
Figura 12 • HyperTerminal con dirección IP
Abra un nuevo símbolo del sistema en la PC host, vaya a la carpeta
(\SF2_Modbus_TCP_Ref_Design_DF\HostTool) donde
SmartFusion2_Modbus_TCP_Client.exe file está presente, ingrese el comando: SmartFusion2_Modbus_TCP_Client.exe como se muestra en la siguiente figura.
Figura 13 • Invocación del cliente Modbus
La siguiente figura muestra las funciones Modbus TCP que se están ejecutando. Las funciones son:
- Leer entradas discretas (código de función 02)
- Leer registros de retención (código de función 03)
- Leer registros de entrada (código de función 04)
- Escribir múltiples bobinas (código de función 15)
Figura 14 • Demostración de códigos funcionales Modbus
Consulte Ejecución de funciones Modbus, página 17 para obtener más información sobre las funciones Modbus que se muestran en el diseño de referencia.
- Después de ejecutar la demostración, cierre HyperTerminal.
Ejecución de funciones Modbus
Esta sección describe las funciones Modbus que se demuestran en el diseño de referencia.
Leer entradas discretas (código de función 02)
Los GPIO están conectados a 4 interruptores DIP y 4 interruptores de botón. Encienda y apague los interruptores DIP y los interruptores de botón en el kit de desarrollo avanzado SmartFusion2. El código funcional de lectura de entradas discretas muestra los estados de los interruptores como se muestra en la siguiente figura.
Figura 15 • Leer entradas discretas
Leer registros de retención (código de función 03)
La siguiente figura muestra los datos del búfer global definidos en el firmware.
Figura 16 • Leer registros de retención
Leer registros de entrada (código de función 04)
La siguiente figura muestra la cantidad de segundos que ha contado el contador de tiempo real (RTC).
Figura 17 • Leer registros de entrada
Escribir múltiples bobinas (código de función 0×0F)
La siguiente figura muestra los datos del registro de escritura de varias bobinas para alternar los LED conectados a los GPIO.
Figura 18 • Escribir múltiples bobinas
Apéndice: Configuración de la placa para ejecutar el diseño de referencia Modbus TCP
La siguiente figura muestra la configuración de la placa para ejecutar el diseño de referencia en la placa del kit de desarrollo avanzado SmartFusion2.
Figura 19 • Configuración de la placa del kit de desarrollo avanzado SmartFusion2
Apéndice: Ubicaciones de los puentes
La siguiente figura muestra las ubicaciones de los puentes en la placa del kit de desarrollo avanzado SmartFusion2.
Figura 20 • Parte superior de serigrafía del kit de desarrollo avanzado SmartFusion2 View
Nota: Los puentes resaltados en rojo están configurados de forma predeterminada. Los puentes resaltados en verde deben configurarse manualmente.
Nota: Se puede buscar la ubicación de los puentes en la figura anterior.
Apéndice: Ejecución del diseño en modo IP estático
Los siguientes pasos describen cómo ejecutar el diseño en modo IP estático:
- Haga clic derecho en la ventana Explorador de proyectos del proyecto SoftConsole y vaya a Propiedades como se muestra en la siguiente figura.
Figura 21 • Ventana del explorador de proyectos del proyecto de SoftConsole
- Elimine el símbolo NET_USE_DHCP en Configuración de herramientas de la ventana Propiedades de Modbus_TCP_App. La siguiente figura muestra la ventana Propiedades de Modbus_TCP_App.
Figura 22 • Ventana de propiedades del Explorador de proyectos
- Si el dispositivo está conectado en modo IP estático, la dirección IP estática de la placa es 169.254.1.23, luego cambie la configuración TCP/IP del host para reflejar la dirección IP. Consulte la siguiente figura y la Figura 24,
Figura 23 • Configuración de TCP/IP de la PC host
Figura 24 • Configuración de la dirección IP estática
Nota: Cuando se configuren estos ajustes, compile el diseño, cárguelo en la memoria Flash y ejecútelo usando SoftConsole.
DG0440 Guía de demostración Revisión 7.0
Documentos / Recursos
![]() |
Microsemi DG0440 ejecutando el diseño de referencia Modbus TCP en dispositivos SmartFusion2 [pdf] Guía del usuario DG0440 Ejecución del diseño de referencia Modbus TCP en dispositivos SmartFusion2, DG0440, Ejecución del diseño de referencia Modbus TCP en dispositivos SmartFusion2, Diseño en dispositivos SmartFusion2 |