Microsemi DG0440 Esecuzione del progetto di riferimento Modbus TCP su dispositivi SmartFusion2
Sede aziendale Microsemi
Un'impresa, Aliso Viejo,
CA 92656 Stati Uniti
Negli USA: +1 Numero di telefono: 800-713-4113
Fuori dagli USA: +1 Numero di telefono: 949-380-6100
Fax: +1 Numero di telefono: 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Tutti i diritti riservati. Microsemi e il logo Microsemi sono marchi di Microsemi Corporation. Tutti gli altri marchi commerciali e marchi di servizio appartengono ai rispettivi proprietari
Microsemi non fornisce alcuna garanzia, dichiarazione o garanzia in merito alle informazioni qui contenute o all'idoneità dei suoi prodotti e servizi per uno scopo particolare, né Microsemi si assume alcuna responsabilità derivante dall'applicazione o dall'uso di qualsiasi prodotto o circuito. I prodotti venduti ai sensi del presente documento e qualsiasi altro prodotto venduto da Microsemi sono stati soggetti a test limitati e non devono essere utilizzati insieme ad apparecchiature o applicazioni mission-critical. Eventuali specifiche di prestazione sono ritenute affidabili ma non sono verificate e l'Acquirente deve condurre e completare tutte le prestazioni e altri test dei prodotti, da solo e insieme, o installati in qualsiasi prodotto finale. L'Acquirente non farà affidamento su dati e specifiche o parametri di prestazione forniti da Microsemi. È responsabilità dell'Acquirente determinare autonomamente l'idoneità di eventuali prodotti e testare e verificare gli stessi. Le informazioni fornite da Microsemi di seguito sono fornite "così come sono, dov'è" e con tutti i difetti, e l'intero rischio associato a tali informazioni è interamente a carico dell'Acquirente. Microsemi non concede, in modo esplicito o implicito, a nessuna parte alcun diritto di brevetto, licenza o qualsiasi altro diritto di proprietà intellettuale, sia in relazione a tali informazioni stesse oa qualsiasi cosa descritta da tali informazioni. Le informazioni fornite in questo documento sono di proprietà di Microsemi e Microsemi si riserva il diritto di apportare modifiche alle informazioni contenute in questo documento oa qualsiasi prodotto e servizio in qualsiasi momento senza preavviso.
A proposito di Microsemi
Microsemi Corporation (Nasdaq: MSCC) offre un portafoglio completo di semiconduttori e soluzioni di sistema per i mercati aerospaziale e della difesa, delle comunicazioni, dei data center e industriale. I prodotti includono circuiti integrati analogici a segnale misto ad alte prestazioni e resistenti alle radiazioni, FPGA, SoC e ASIC; prodotti per la gestione dell'alimentazione; dispositivi di cronometraggio e sincronizzazione e soluzioni temporali precise, che stabiliscono lo standard mondiale per il tempo; dispositivi di elaborazione vocale; soluzioni RF; componenti discreti; soluzioni di archiviazione e comunicazione aziendali, tecnologie di sicurezza e anti-tamper prodotti; Soluzioni Ethernet; CI e midspan Power-over-Ethernet; nonché capacità e servizi di progettazione personalizzati. Microsemi ha sede ad Aliso Viejo, in California, e conta circa 4,800 dipendenti in tutto il mondo. Scopri di più su www.microsemi.com.
Cronologia delle revisioni
La cronologia delle revisioni descrive le modifiche implementate nel documento. Le modifiche sono elencate per revisione, a partire dalla pubblicazione più recente.
Revisione 7.0
Aggiornato il documento per la release del software Libero v11.8.
Revisione 6.0
Le seguenti modifiche sono state apportate nella revisione 6.0 di questo documento.
- I requisiti di progettazione di Libero SoC, FlashPro e SoftConsole sono aggiornati in Requisiti di progettazione, pagina 5.
- In tutta la guida vengono aggiornati i nomi dei progetti SoftConsole utilizzati nella progettazione della demo e tutte le figure associate.
Revisione 5.0
Aggiornato il documento relativo alla release del software Libero v11.7 (SAR 76559).
Revisione 4.0
Aggiornato il documento relativo alla release del software Libero v11.6 (SAR 72924).
Revisione 3.0
Aggiornato il documento relativo alla release del software Libero v11.5 (SAR 63972).
Revisione 2.0
Aggiornato il documento relativo alla release del software Libero v11.3 (SAR 56538).
Revisione 1.0
Aggiornato il documento relativo alla release del software Libero v11.2 (SAR 53221).
Esecuzione del progetto di riferimento Modbus TCP su dispositivi SmartFusion2 utilizzando IwIP e FreeRTOS
Introduzione
Microsemi offre un progetto di riferimento per i dispositivi FPGA SoC SmartFusion®2 che dimostrano la
Il controller di accesso medio Ethernet a tre velocità (TSEMAC) presenta le caratteristiche dell'FPGA SoC SmartFusion2 e implementa il protocollo Modbus. Il progetto di riferimento viene eseguito su UG0557: Guida per l'utente del kit di sviluppo avanzato FPGA SoC SmartFusion2. Questa guida demo descrive.
- Utilizzo di SmartFusion2 TSEMAC collegato a un PHY SGMII (Serial Gigabit Media Independent Interface).
- Integrazione del driver MAC SmartFusion2 con il protocollo di controllo della trasmissione (TCP) IP leggero (IwIP) o lo stack IP e il sistema operativo in tempo reale gratuito (RTOS).
- Livello applicativo con protocollo di automazione industriale, Modbus su TCP o IP.
- Come eseguire il progetto di riferimento
Il sottosistema microcontrollore (MSS) dell'FPGA SoC SmartFusion2 ha un'istanza della periferica TSEMAC. Il TSEMAC può essere configurato tra il processore host e la rete Ethernet alle seguenti velocità di trasferimento dati (velocità di linea):
- 10 Mbps
- 100 Mbps
- 1000 Mbps
Per ulteriori informazioni sull'interfaccia TSEMAC per i dispositivi SmartFusion2, consultare UG0331: Guida per l'utente del sottosistema microcontroller SmartFusion2.
Utilizzando il protocollo Modbus
Modbus è un protocollo di messaggistica del livello applicativo presente al livello sette del
modello di interconnessione di sistemi aperti (OSI). Consente la comunicazione client o server tra i dispositivi collegati in diversi tipi di bus o reti. È un protocollo di servizio che offre molti servizi specificati dai codici funzione. I codici funzione Modbus sono elementi delle unità dati del protocollo di richiesta o risposta Modbus. I componenti del protocollo Modbus includono:
- TCP o IP su Ethernet
- Trasmissione seriale asincrona su una varietà di media
- Filo:
- EIA/TIA-232-E
- EIA-422
- Fibra EIA/TIA-485-A
- Radio
- Modbus PLUS, una rete di passaggio di token ad alta velocità
La figura seguente descrive gli stack di comunicazione Modbus per varie reti di comunicazione.
Figura 1 • Stack di comunicazione Modbus
Utilizzo del protocollo Modbus sul dispositivo SmartFusion2
Il server Modbus TCP viene eseguito sul kit di sviluppo avanzato SmartFusion2 e risponde al client Modbus TCP in esecuzione sul PC host. La figura seguente mostra lo schema a blocchi del server Modbus TCP e dell'applicazione sul dispositivo SmartFusion2.
Figura 2 • Diagramma a blocchi del server Modbus TCP e dell'applicazione su SmartFusion2
0RGEXV 7&3 $SSOLFDWLRQ | 0RGEXV7&3 6HUYHU |
,Z,3 7&3 RU ,3 6WDFN | |
)UHH5726 | )LUPZDUH |
6PDUW)XVLRQ2 $GYDQFHG 'HYHORSPHQW .LW (+:) |
Requisiti di progettazione
La tabella seguente elenca i requisiti di progettazione hardware e software.
Tabella 1 • Requisiti e dettagli della progettazione di riferimento
Requisiti di progettazione: descrizione
Hardware
- Kit di sviluppo avanzato SmartFusion2
– Cavo da USB A a mini-B
– Adattatore 12 V
Rev A o successiva - Cavo Ethernet RJ45
- Uno qualsiasi dei seguenti programmi di emulazione di terminale seriale:
– HyperTerminal
– TeraTerm
– Stucco - PC host o laptop Sistema operativo Windows a 64 bit
Software
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- Software di programmazione FlashPro v11.8
- Driver da USB a UART –
- Driver MAC Ethernet MSS v3.1.100
- Un programma di emulazione di terminale seriale HyperTerminal, TeraTerm o PuTTY
- Browser Mozilla Firefox o Internet Explorer
Progettazione dimostrativa
Le sezioni seguenti descrivono la progettazione demo del progetto di riferimento Modbus TCP sui dispositivi SmartFusion2 utilizzando IwIP e FreeRTOS.
Il progetto dimostrativo filesono disponibili per il download all'indirizzo:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df
Il progetto dimostrativo fileincludono:
- Libero
- Programmazione files
- HostTool
- Leggimi
La figura seguente mostra la struttura di primo livello del progetto fileS. Per ulteriori informazioni, vedere il file Readme.txt file.
Figura 3 • Progetto dimostrativo Files Struttura di primo livello
Funzionalità di progettazione dimostrativa
Il progetto di riferimento include:
- Completa il progetto Libero SoC Verilog
- Progetto firmware SoftConsole
Il progetto di riferimento può supportare i seguenti codici funzione Modbus a seconda delle impostazioni libere dello stack di comunicazione Modbus:
- Leggi i registri di ingresso (codice funzione 0×04)
- Lettura dei registri di mantenimento (codice funzione 0×03)
- Scrittura registri singoli (codice funzione 0×06)
- Scrivere più registri (codice funzione 0×10)
- Leggere o scrivere più registri (codice funzione 0×17)
- Lettura bobine (codice funzione 0×01)
- Scrittura bobina singola (codice funzione 0×05)
- Scrivere più bobine (codice funzione 0×0F)
- Lettura ingressi discreti (codice funzione (0×02)
Il progetto di riferimento supporta i seguenti codici funzione Modbus per tutte le impostazioni gratuite dello stack di comunicazione Modbus:
- Leggi i registri di ingresso (codice funzione 0×04)
- Lettura ingressi discreti (codice funzione (0×02)
- Scrivere più bobine (codice funzione 0×0F)
- Lettura dei registri di mantenimento (codice funzione 0×03)
Descrizione del progetto dimostrativo
Il progetto viene implementato utilizzando un'interfaccia SGMII PHY configurando TSEMAC per il funzionamento dell'interfaccia a dieci bit (TBI). Per ulteriori informazioni sull'interfaccia TSEMAC TBI, consultare UG0331: Guida per l'utente del sottosistema microcontrollore SmartFusion2.
Progetto Hardware SoC Libero
La figura seguente mostra l'implementazione del progetto hardware su cui viene eseguito il firmware dello slave del progetto di riferimento.
Figura 4 • Progettazione hardware di primo livello del SoC Libero
Il progetto hardware Libero SoC utilizza le seguenti risorse e IP SmartFusion2 MSS:
- Interfaccia TSEMAC TBI
- MMUART_0 per le comunicazioni RS-232 sul kit di sviluppo avanzato SmartFusion2
- Pad di ingresso dedicato 0 come sorgente di clock
- Ingresso e uscita per uso generale (GPIO) che interfaccia quanto segue:
- Diodi emettitori di luce (LED): 4 numeri
- Pulsanti: 4 numeri
- Interruttori DIP (doppio pacchetto in linea): 4 numeri
- Ai comandi Modbus sono associate le seguenti risorse della scheda:
- LED (bobine)
- Interruttori DIP (ingressi discreti)
- Pulsanti (ingressi discreti)
- Orologio in tempo reale (RTC) (registri di ingresso)
- Interfaccia seriale ad alta velocità (SERDESIF) SERDES_IF IP, configurata per SERDESIF_3 EPCS corsia 3, vedere la figura seguente. Per ulteriori informazioni sulle interfacce seriali ad alta velocità, consultare la Guida per l'utente delle interfacce seriali ad alta velocità UG0447- SmartFusion2 e IGLOO2 FPGA.
La figura seguente mostra la finestra Configuratore dell'interfaccia seriale ad alta velocità.
Figura 5 • Finestra di configurazione dell'interfaccia seriale ad alta velocità
Assegnazioni dei pin del pacchetto
Le assegnazioni dei pin del pacchetto per LED, interruttori DIP, interruttori a pulsante e segnali di interfaccia PHY sono mostrate dalla seguente tabella fino alla Tabella 5, pagina 9.
Tabella 2 • Assegnazioni dei pin del pacchetto LED
- Pin del pacchetto di uscita
- LED_1 D26
- LED_2 F26
- LED_3 A27
- LED_4 C26
Tabella 3 • Interruttori DIP per l'assegnazione dei pin del pacchetto
- Pin del pacchetto di uscita
- DIP1 F25
- DIP2G25
- DIP3J23
- DIP4J22
Tabella 4 • Interruttori a pulsante per assegnazioni dei pin del pacchetto
- Pin del pacchetto di uscita
- INTERRUTTORE1 J25
- INTERRUTTORE2 H25
- INTERRUTTORE3 J24
- INTERRUTTORE4 H23
Tabella 5 • Segnali di interfaccia PHY per assegnazioni dei pin del pacchetto
- Nome della porta Direzione Pin del pacchetto
- PHY_MDC Uscita F3
- PHY_MDIO Ingresso K7
- PHY_RST Uscita F2
Progetto firmware SoftConsole
Richiamare il progetto SoftConsole utilizzando l'IDE SoftConsole autonomo. Per il progetto di riferimento vengono utilizzate le seguenti versioni dello stack:
- lwIP TCP o stack IP versione 1.3.2
- Server Modbus TCP versione 1.5 (www.freemodbus.org) con miglioramenti per il supporto completo del codice funzione come server Modbus TCP
- FreeRTOS (www.freertos.org)
La seguente figura mostra la struttura delle directory degli stack software SoftConsole del progetto.
Figura 6 • Finestra Esplora progetti SoftConsole
L'area di lavoro SoftConsole è costituita dal progetto Modbus_TCP_App che contiene l'applicazione Modbus TCP (che utilizza lwIP e FreeRTOS) e tutti i livelli di astrazione firmware e hardware che corrispondono alla progettazione hardware.
La figura seguente mostra le versioni dei driver utilizzate per la demo.
Figura 7 • Versioni dei driver di progettazione demo
Impostazione del progetto demo
I passaggi seguenti descrivono come configurare la demo per la scheda del kit di sviluppo avanzato SmartFusion2:
- Collegare il PC host al connettore J33 utilizzando il cavo da USB A a mini-B. I driver del bridge da USB a ricevitore/trasmettitore asincrono universale (UART) vengono rilevati automaticamente.
- Dalle quattro porte di comunicazione (COM) rilevate, fare clic con il pulsante destro del mouse su una qualsiasi delle porte COM e selezionare Proprietà. Viene visualizzata la finestra delle proprietà della porta COM selezionata, come mostrato nella figura seguente.
- Assicurarsi di avere la Posizione come su USB FP5 Serial Converter C nella finestra Proprietà, come mostrato nella figura seguente.
Nota: Prendere nota del numero della porta COM per la configurazione della porta seriale e assicurarsi che la posizione della porta COM sia specificata come su USB FP5 Serial Converter C.
Figura 8 • Finestra Gestione dispositivi
- Installare il driver USB se i driver USB non vengono rilevati automaticamente.
- Installare il driver FTDI D2XX per la comunicazione del terminale seriale tramite il cavo mini USB FTDI. Scaricare i driver e la guida all'installazione da:
www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip - Collegare i ponticelli sulla scheda del kit di sviluppo avanzato SmartFusion2 come mostrato nella tabella seguente. Per informazioni sulle posizioni dei ponticelli, vedere l'Appendice: Posizioni dei ponticelli, pagina 19.
ATTENZIONE: Spegnere l'interruttore di alimentazione, SW7, prima di effettuare i collegamenti dei ponticelli.
Tabella 6 • Impostazioni dei ponticelli del kit di sviluppo avanzato SmartFusion2
- Perno del ponticello dal perno ai commenti
- J116, J353, J354,J54 1 2 Queste sono le impostazioni predefinite dei ponticelli della scheda Advanced Development Kit. Assicurarsi che i ponticelli
- J123 2 3 sono impostati di conseguenza.
- J124, J121, J32 1 2 JTAG programmazione tramite FTDI
- Collegare l'alimentatore al connettore J42 nella scheda del kit di sviluppo avanzato SmartFusion2.
- Questo disegno esampil file può essere eseguito sia in modalità IP statico che in modalità IP dinamica. Per impostazione predefinita, programmazione fileI sono forniti per la modalità IP dinamica.
- Per l'IP statico, collegare il PC host al connettore J21 del
Scheda del kit di sviluppo avanzato SmartFusion2 utilizzando un cavo RJ45. - Per l'IP dinamico, collegare una qualsiasi delle porte di rete aperte al connettore J21 della scheda del kit di sviluppo avanzato SmartFusion2 utilizzando un cavo RJ45.
- Per l'IP statico, collegare il PC host al connettore J21 del
Istantanea della configurazione della scheda
Le istantanee della scheda del kit di sviluppo avanzato SmartFusion2 con tutte le connessioni di configurazione sono fornite nell'Appendice: Configurazione della scheda per l'esecuzione del progetto di riferimento Modbus TCP, pagina 18.
Esecuzione del progetto demo
I passaggi seguenti descrivono come eseguire il progetto demo:
- Scarica il disegno file da:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df - Accendere l'interruttore di alimentazione, SW7.
- Avviare qualsiasi programma di emulazione di terminale seriale come:
- IperTerminale
- Stucco
- TeraTerm
Nota: in questa demo viene utilizzato HyperTerminal.
La configurazione del programma è: - Velocità in baud: 115200
- 8 bit di dati
- 1 bit di stop
- Nessuna parità
- Nessun controllo del flusso
Per informazioni sulla configurazione dei programmi di emulazione del terminale seriale, vedere Configurazione dei programmi di emulazione del terminale seriale.
- Avvia il software FlashPro.
- Fare clic su Nuovo progetto.
- Nella finestra Nuovo progetto, immettere il Nome progetto, come mostrato nella figura seguente.
Figura 9 • Nuovo progetto FlashPro
- Fare clic su Sfoglia e accedere alla posizione in cui si desidera salvare il progetto.
- Selezionare Dispositivo singolo come modalità di programmazione.
- Fare clic su OK per salvare il progetto.
- Fare clic su Configura dispositivo.
- Fare clic su Sfoglia e accedere alla posizione in cui si trova il file Modbus_TCP_top.stp file si trova e selezionare il file. La posizione predefinita è:
(\SF2_Modbus_TCP_Ref_Design_DF\Programmazionefile\Modbus_TCP_top.stp). La programmazione richiesta file è selezionato ed è pronto per essere programmato nel dispositivo come mostrato nella figura seguente.
Figura 10 • Progetto FlashPro configurato
- Fare clic su PROGRAMMA per iniziare a programmare il dispositivo. Attendere finché non viene visualizzato un messaggio che indica che il programma è stato superato. Questa demo richiede che il dispositivo SmartFusion2 sia preprogrammato con il codice dell'applicazione per attivare l'applicazione Modbus. Il dispositivo SmartFusion2 è preprogrammato con Modbus_TCP_top.stp utilizzando il software FlashPro.
Figura 11 • Programma FlashPro superato
Nota: per eseguire la progettazione in modalità IP statico, seguire i passaggi indicati in Appendice: esecuzione della progettazione in modalità IP statico, pagina 20.
- Spegnere e riaccendere la scheda di sviluppo avanzato SmartFusion2.
Nella finestra HyperTerminal viene visualizzato un messaggio di benvenuto con l'indirizzo IP, come mostrato nella figura seguente.
Figura 12 • HyperTerminal con indirizzo IP
Apri un nuovo prompt dei comandi sul PC host, vai alla cartella
(\SF2_Modbus_TCP_Ref_Design_DF\HostTool) dove
SmartFusion2_Modbus_TCP_Client.exe file è presente, immettere il comando: SmartFusion2_Modbus_TCP_Client.exe come mostrato nella figura seguente.
Figura 13 • Invocazione del client Modbus
La figura seguente mostra le funzioni Modbus TCP in esecuzione. Le funzioni sono:
- Lettura ingressi discreti (codice funzione 02)
- Lettura dei registri di mantenimento (codice funzione 03)
- Lettura dei registri di ingresso (codice funzione 04)
- Scrittura di più bobine (codice funzione 15)
Figura 14 • Dimostrazione dei codici funzionali Modbus
Vedere Esecuzione delle funzioni Modbus, pagina 17 per ulteriori informazioni sulle funzioni Modbus dimostrate nel progetto di riferimento.
- Dopo aver eseguito la demo, chiudi HyperTerminal.
Esecuzione delle funzioni Modbus
Questa sezione descrive le funzioni Modbus dimostrate nel progetto di riferimento.
Lettura ingressi discreti (codice funzione 02)
I GPIO sono collegati a 4 DIP switch e 4 interruttori a pulsante. Accendere e spegnere gli interruttori DIP e gli interruttori a pulsante sul kit di sviluppo avanzato SmartFusion2. Il codice funzionale di lettura degli ingressi discreti visualizza gli stati degli interruttori come mostrato nella figura seguente.
Figura 15 • Lettura degli ingressi discreti
Lettura registri holding (codice funzione 03)
La figura seguente mostra i dati del buffer globale definiti nel firmware.
Figura 16 • Lettura dei registri di partecipazione
Lettura registri di ingresso (codice funzione 04)
La figura seguente mostra il numero di secondi conteggiati dal contatore in tempo reale (RTC).
Figura 17 • Lettura dei registri di ingresso
Scrittura di più bobine (codice funzione 0×0F)
La figura seguente mostra i dati del registro Write Multiple Coils per attivare/disattivare i LED collegati ai GPIO.
Figura 18 • Scrittura di più bobine
Appendice: configurazione della scheda per l'esecuzione del progetto di riferimento Modbus TCP
La figura seguente mostra la configurazione della scheda per l'esecuzione del progetto di riferimento sulla scheda del kit di sviluppo avanzato SmartFusion2.
Figura 19 • Configurazione della scheda del kit di sviluppo avanzato SmartFusion2
Appendice: Posizioni dei ponticelli
La seguente figura mostra le posizioni dei ponticelli sulla scheda del kit di sviluppo avanzato SmartFusion2.
Figura 20 • Parte superiore serigrafica del kit di sviluppo avanzato SmartFusion2 View
Nota: I ponticelli evidenziati in rosso sono impostati per impostazione predefinita. I ponticelli evidenziati in verde devono essere impostati manualmente.
Nota: È possibile ricercare la posizione dei ponticelli nella figura precedente.
Appendice: esecuzione del progetto in modalità IP statico
I seguenti passaggi descrivono come eseguire la progettazione in modalità IP statico:
- Fare clic con il pulsante destro del mouse sulla finestra Esplora progetti del progetto SoftConsole e accedere a Proprietà come mostrato nella figura seguente.
Figura 21 • Finestra Esplora progetto del progetto SoftConsole
- Rimuovere il simbolo NET_USE_DHCP in Impostazioni strumento della finestra Proprietà per Modbus_TCP_App. La figura seguente mostra la finestra Proprietà per Modbus_TCP_App.
Figura 22 • Finestra delle proprietà di Esplora progetto
- Se il dispositivo è connesso in modalità IP statico, l'indirizzo IP statico della scheda è 169.254.1.23, quindi modificare le impostazioni Host TCP/IP per riflettere l'indirizzo IP. Vedere la figura seguente e la Figura 24,
Figura 23 • Impostazioni TCP/IP del PC host
Figura 24 • Impostazioni dell'indirizzo IP statico
Nota: Una volta configurate queste impostazioni, compilare il progetto, caricarlo nella memoria Flash ed eseguire il progetto utilizzando SoftConsole.
DG0440 Guida Demo Revisione 7.0
Documenti / Risorse
![]() |
Microsemi DG0440 Esecuzione del progetto di riferimento Modbus TCP su dispositivi SmartFusion2 [pdf] Guida utente DG0440 Esecuzione del progetto di riferimento Modbus TCP su dispositivi SmartFusion2, DG0440, Esecuzione del progetto di riferimento Modbus TCP su dispositivi SmartFusion2, Progettazione su dispositivi SmartFusion2 |