Microsemi DG0440, der kører Modbus TCP-referencedesign på SmartFusion2-enheder
Microsemi Corporate hovedkvarter
One Enterprise, Aliso Viejo,
CA 92656 USA
Inden for USA: +1 800-713-4113
Uden for USA: +1 949-380-6100
Fax: +1 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Alle rettigheder forbeholdes. Microsemi og Microsemi-logoet er varemærker tilhørende Microsemi Corporation. Alle andre varemærker og servicemærker tilhører deres respektive ejere
Microsemi giver ingen garanti, repræsentation eller garanti vedrørende informationen indeholdt heri eller egnetheden af dets produkter og tjenester til et bestemt formål, og Microsemi påtager sig heller ikke noget som helst ansvar, der opstår som følge af anvendelsen eller brugen af et produkt eller et kredsløb. Produkterne, der sælges nedenfor, og alle andre produkter, der sælges af Microsemi, har været genstand for begrænset testning og bør ikke bruges sammen med missionskritisk udstyr eller applikationer. Eventuelle ydeevnespecifikationer menes at være pålidelige, men er ikke verificerede, og Køber skal udføre og gennemføre al ydeevne og anden test af produkterne, alene og sammen med eller installeret i eventuelle slutprodukter. Køber må ikke stole på nogen data og ydeevnespecifikationer eller parametre leveret af Microsemi. Det er Købers ansvar selvstændigt at bestemme egnetheden af ethvert produkt og at teste og verificere det samme. Oplysningerne leveret af Microsemi nedenfor leveres "som de er, hvor de er" og med alle fejl, og hele risikoen forbundet med sådanne oplysninger er udelukkende hos køberen. Microsemi giver ikke, eksplicit eller implicit, til nogen part nogen patentrettigheder, licenser eller andre IP-rettigheder, hvad enten det er med hensyn til sådan information selv eller noget, der er beskrevet af sådanne oplysninger. Oplysningerne i dette dokument tilhører Microsemi, og Microsemi forbeholder sig retten til at foretage enhver ændring af oplysningerne i dette dokument eller til produkter og tjenester til enhver tid uden varsel.
Om Microsemi
Microsemi Corporation (Nasdaq: MSCC) tilbyder en omfattende portefølje af halvleder- og systemløsninger til rumfart og forsvar, kommunikation, datacentre og industrielle markeder. Produkterne omfatter højtydende og strålingshærdede analoge blandede signal-integrerede kredsløb, FPGA'er, SoC'er og ASIC'er; strømstyring produkter; timing- og synkroniseringsenheder og præcise tidsløsninger, der sætter verdens standard for tid; stemmebehandlingsudstyr; RF-løsninger; diskrete komponenter; enterprise storage og kommunikationsløsninger, sikkerhedsteknologier og skalerbar anti-tamper produkter; Ethernet-løsninger; Power-over-Ethernet IC'er og midspans; samt brugerdefinerede designmuligheder og tjenester. Microsemi har hovedkontor i Aliso Viejo, Californien, og har cirka 4,800 ansatte globalt. Lær mere på www.microsemi.com.
Revisionshistorie
Revisionshistorikken beskriver de ændringer, der blev implementeret i dokumentet. Ændringerne er listet efter revision, startende med den seneste publikation.
Revision 7.0
Opdaterede dokumentet til Libero v11.8 softwareudgivelse.
Revision 6.0
Følgende ændringer er udført i revision 6.0 af dette dokument.
- Libero SoC, FlashPro og SoftConsole designkrav er opdateret i designkravene, side 5.
- Gennem hele guiden opdateres navnene på SoftConsole-projekter brugt i demodesignet og alle de tilhørende figurer.
Revision 5.0
Opdaterede dokumentet til Libero v11.7 softwareudgivelse (SAR 76559).
Revision 4.0
Opdaterede dokumentet til Libero v11.6 softwareudgivelse (SAR 72924).
Revision 3.0
Opdaterede dokumentet til Libero v11.5 softwareudgivelse (SAR 63972).
Revision 2.0
Opdaterede dokumentet til Libero v11.3 softwareudgivelse (SAR 56538).
Revision 1.0
Opdaterede dokumentet til Libero v11.2 softwareudgivelse (SAR 53221).
Kører Modbus TCP Reference Design på SmartFusion2-enheder ved hjælp af IwIP og FreeRTOS
Indledning
Microsemi tilbyder et referencedesign til SmartFusion®2 SoC FPGA-enheder, der demonstrerer
tri-speed ethernet medium access controller (TSEMAC) funktioner i SmartFusion2 SoC FPGA og implementerer Modbus-protokollen. Referencedesignet kører på UG0557: SmartFusion2 SoC FPGA Advanced Development Kit User Guide. Denne demoguide beskriver.
- Brug af SmartFusion2 TSEMAC forbundet til en seriel gigabit medieuafhængig interface (SGMII) PHY.
- Integration af SmartFusion2 MAC-driver med den lette IP (IwIP) transmissionskontrolprotokol (TCP) eller IP-stak og det frie realtidsoperativsystem (RTOS).
- Applikationslag med industriel automationsprotokol, Modbus på TCP eller IP.
- Sådan køres referencedesignet
Mikrocontroller-undersystemet (MSS) af SmartFusion2 SoC FPGA har en forekomst af TSEMAC-periferien. TSEMAC'en kan konfigureres mellem værtsprocessoren og Ethernet-netværket ved følgende dataoverførselshastigheder (linjehastigheder):
- 10 Mbps
- 100 Mbps
- 1000 Mbps
For mere information om TSEMAC-grænsefladen til SmartFusion2-enheder, se UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
Brug af Modbus-protokollen
Modbus er en applikationslags-meddelelsesprotokol, der findes på niveau syv af
open systems interconnection (OSI) model. Det muliggør klient- eller serverkommunikation mellem de enheder, der er tilsluttet i forskellige typer busser eller netværk. Det er en serviceprotokol, der tilbyder mange tjenester specificeret af funktionskoderne. Modbus-funktionskoderne er elementer i Modbus-anmodnings- eller svarprotokoldataenheder. Komponenterne i Modbus-protokollen inkluderer:
- TCP eller IP over Ethernet
- Asynkron seriel transmission over en række medier
- Tråd:
- EIA/TIA-232-E
- EIA-422
- EIA/TIA-485-A Fiber
- Radio
- Modbus PLUS, et højhastigheds-token-passeringsnetværk
Følgende figur beskriver Modbus-kommunikationsstakkene til forskellige kommunikationsnetværk.
Figur 1 • Modbus kommunikationsstak
Brug af Modbus-protokol på SmartFusion2-enhed
Modbus TCP-serveren kører på SmartFusion2 Advanced Development Kit og reagerer på Modbus TCP-klienten, der kører på værts-pc'en. Følgende figur viser blokdiagrammet for Modbus TCP-serveren og applikationen på SmartFusion2-enheden.
Figur 2 • Blokdiagram af Modbus TCP-server og applikation på SmartFusion2
0RGEXV 7&3 $SSOLFDWLRQ | 0RGEXV 7&3 6HUYHU |
,Z,3 7&3 RU ,3 6WDFN | |
)UHH5726 | )LUPZDUH |
6PDUW)XVLRQ2 $GYDQFHG 'HYHORSPHQW .LW (+:) |
Designkrav
Følgende tabel viser hardware- og softwaredesignkravene.
Tabel 1 • Referencedesignkrav og detaljer
Designkrav: Beskrivelse
Hardware
- SmartFusion2 Advanced Development Kit
– USB A til mini-B kabel
– 12 V adapter
Rev A eller senere - Ethernet-kabel RJ45
- Ethvert af følgende serielle terminalemuleringsprogrammer:
– HyperTerminal
– TeraTerm
– PuTTY - Værts-pc eller bærbar Windows 64-bit operativsystem
Software
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- FlashPro programmeringssoftware v11.8
- USB til UART-drivere –
- MSS Ethernet MAC-drivere v3.1.100
- Et seriel terminalemuleringsprogram HyperTerminal, TeraTerm eller PuTTY
- Browser Mozilla Firefox eller Internet Explorer
Demo design
De følgende afsnit beskriver demodesignet af Modbus TCP-referencedesignet på SmartFusion2-enheder, der bruger IwIP og FreeRTOS.
Demodesignet files er tilgængelige til download på:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df
Demodesignet files omfatter:
- Libero
- Programmering files
- HostTool
- Læs mig
Følgende figur viser designets struktur på øverste niveau files. For mere information, se Readme.txt file.
Figur 3 • Demodesign Files Struktur på øverste niveau
Demo designfunktioner
Referencedesignet inkluderer:
- Gennemfør Libero SoC Verilog-projektet
- SoftConsole firmware projekt
Referencedesignet kan understøtte følgende Modbus-funktionskoder afhængigt af de frie Modbus-kommunikationsstackindstillinger:
- Læs inputregistre (funktionskode 0×04)
- Læs holderegistre (funktionskode 0×03)
- Skriv enkelte registre (funktionskode 0×06)
- Skriv flere registre (funktionskode 0×10)
- Læs eller skriv flere registre (funktionskode 0×17)
- Læs spoler (funktionskode 0×01)
- Skriv enkelt spole (funktionskode 0×05)
- Skriv flere spoler (funktionskode 0×0F)
- Læs diskrete indgange (funktionskode (0×02)
Referencedesignet understøtter følgende Modbus-funktionskoder for alle gratis Modbus-kommunikationsstackindstillinger:
- Læs inputregistre (funktionskode 0×04)
- Læs diskrete indgange (funktionskode (0×02)
- Skriv flere spoler (funktionskode 0×0F)
- Læs holderegistre (funktionskode 0×03)
Beskrivelse af demodesign
Designet implementeres ved hjælp af en SGMII PHY-grænseflade ved at konfigurere TSEMAC'en til ti-bit interface (TBI) operationen. For mere information om TSEMAC TBI-grænsefladen, se UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
Libero SoC hardwareprojekt
Den følgende figur viser hardwaredesignimplementeringen, som referencedesignslave-firmwaren kører på.
Figur 4 • Libero SoC Top-Level Hardware Design
Libero SoC-hardwareprojektet bruger følgende SmartFusion2 MSS-ressourcer og IP'er:
- TSEMAC TBI interface
- MMUART_0 til RS-232-kommunikation på SmartFusion2 Advanced Development Kit
- Dedikeret input-pad 0 som urkilde
- Generelle formål input og output (GPIO), der forbinder følgende:
- Lysdioder (LED'er): 4 numre
- Trykknapper: 4 tal
- Dual in-line pakke (DIP) switche: 4 numre
- Følgende kortressourcer er knyttet til Modbus-kommandoerne:
- LED'er (spoler)
- DIP-switche (diskrete indgange)
- Trykknapper (diskrete indgange)
- Realtidsur (RTC) (inputregistre)
- Højhastigheds seriel interface (SERDESIF) SERDES_IF IP, konfigureret til SERDESIF_3 EPCS bane 3, se følgende figur. For at vide mere om højhastigheds serielle grænseflader, se UG0447-SmartFusion2 og IGLOO2 FPGA højhastigheds serielle grænseflader Brugervejledning.
Følgende figur viser vinduet High Speed Serial Interface Configurator.
Figur 5 • Højhastigheds seriel grænsefladekonfiguratorvindue
Pakkepin-tildelinger
Pakkestifttildelinger for LED, DIP-switche, trykknapkontakter og PHY-interfacesignaler er vist i den følgende tabel gennem Tabel 5, side 9.
Tabel 2 • LED til pakkestifter
- Udgangspakke Pin
- LED_1 D26
- LED_2 F26
- LED_3 A27
- LED_4 C26
Tabel 3 • DIP skifter til tildelinger af pakkestifter
- Udgangspakke Pin
- DIP1 F25
- DIP2 G25
- DIP3 J23
- DIP4 J22
Tabel 4 • Trykknapskifter til tildeling af pakkestifter
- Udgangspakke Pin
- SWITCH1 J25
- SWITCH2 H25
- SWITCH3 J24
- SWITCH4 H23
Tabel 5 • PHY-grænsefladesignaler til pakkestiftstildelinger
- Portnavn Retning Pakkestift
- PHY_MDC udgang F3
- PHY_MDIO-indgang K7
- PHY_RST udgang F2
SoftConsole-firmwareprojekt
Start SoftConsole-projektet ved hjælp af selvstændig SoftConsole IDE. Følgende versioner af stakken bruges til referencedesignet:
- lwIP TCP eller IP stack version 1.3.2
- Modbus TCP-server version 1.5 (www.freemodbus.org) med forbedringer til den komplette funktionskodeunderstøttelse som Modbus TCP-server
- FreeRTOS (www.freertos.org)
Følgende figur viser SoftConsole-softwarestablers mappestruktur for designet.
Figur 6 • SoftConsole Project Explorer-vindue
SoftConsole-arbejdsområdet består af projektet Modbus_TCP_App, der har Modbus TCP-applikationen (som bruger lwIP og FreeRTOS) og alle de firmware- og hardwareabstraktionslag, der svarer til hardwaredesignet.
Følgende figur viser de driverversioner, der bruges til demoen.
Figur 7 • Demodesign-driverversioner
Opsætning af demodesignet
Følgende trin beskriver, hvordan du opsætter demoen til SmartFusion2 Advanced Development Kit-kortet:
- Tilslut værts-pc'en til J33-stikket ved hjælp af USB A til mini-B-kablet. USB til universal asynkron modtager/sender (UART) brodrivere detekteres automatisk.
- Fra de registrerede fire kommunikationsporte (COM) skal du højreklikke på en af COM-portene og vælge Egenskaber. Det valgte COM-portegenskabsvindue vises, som vist i følgende figur.
- Sørg for at have placeringen som på USB FP5 seriel konverter C i vinduet Egenskaber som vist i følgende figur.
Note: Noter COM-portnummeret til seriel portkonfiguration, og sørg for, at COM-portens placering er angivet som på USB FP5 Seriel Converter C.
Figur 8 • Vinduet Enhedshåndtering
- Installer USB-driveren, hvis USB-driverne ikke registreres automatisk.
- Installer FTDI D2XX-driveren til seriel terminalkommunikation via FTDI mini USB-kablet. Download drivere og installationsvejledning fra:
www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip - Tilslut jumperne på SmartFusion2 Advanced Development Kit-kortet som vist i følgende tabel. For oplysninger om jumperplaceringer, se Appendiks: Jumperplaceringer, side 19.
FORSIGTIGHED: Sluk for strømforsyningskontakten, SW7, før du foretager jumperforbindelserne.
Tabel 6 • SmartFusion2 Advanced Development Kit Jumperindstillinger
- Jumper Pin Fra Pin Til Kommentarer
- J116, J353, J354,J54 1 2 Dette er standard jumperindstillingerne for Advanced Development Kit-kortet. Sørg for, at jumperne
- J123 2 3 indstilles tilsvarende.
- J124, J121, J32 1 2 JTAG programmering via FTDI
- Tilslut strømforsyningen til J42-stikket i SmartFusion2 Advanced Development Kit-kortet.
- Dette design example kan køre i både statisk IP og dynamisk IP-tilstand. Som standard programmering files leveres til dynamisk IP-tilstand.
- For statisk IP skal du tilslutte værts-pc'en til J21-stikket på
SmartFusion2 Advanced Development Kit-kort ved hjælp af et RJ45-kabel. - For dynamisk IP skal du tilslutte en af de åbne netværksporte til J21-stikket på SmartFusion2 Advanced Development Kit-kortet ved hjælp af et RJ45-kabel.
- For statisk IP skal du tilslutte værts-pc'en til J21-stikket på
Snapshot af bordopsætning
Snapshots af SmartFusion2 Advanced Development Kit-kortet med alle opsætningsforbindelserne er angivet i appendiks: Kortopsætning til kørsel af Modbus TCP-referencedesignet, side 18.
Kørsel af Demo Design
Følgende trin beskriver, hvordan du kører demodesignet:
- Download designet file fra:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df - Tænd for strømforsyningskontakten, SW7.
- Start et hvilket som helst seriel terminalemuleringsprogram, såsom:
- HyperTerminal
- PuTTY
- TeraTerm
Bemærk: I denne demo bruges HyperTerminal.
Konfigurationen for programmet er: - Baud rate: 115200
- 8 databits
- 1 Stop bit
- Ingen paritet
- Ingen flowkontrol
Se Konfiguration af serielle terminalemuleringsprogrammer for oplysninger om konfiguration af serielle terminalemuleringsprogrammer.
- Start FlashPro-softwaren.
- Klik på Nyt projekt.
- Indtast projektnavnet i vinduet Nyt projekt, som vist i følgende figur.
Figur 9 • FlashPro Nyt projekt
- Klik på Gennemse, og naviger til den placering, hvor du vil gemme projektet.
- Vælg Enkelt enhed som programmeringstilstand.
- Klik på OK for at gemme projektet.
- Klik på Konfigurer enhed.
- Klik på Gennemse og naviger til det sted, hvor Modbus_TCP_top.stp file er placeret og vælg file. Standardplaceringen er:
(\SF2_Modbus_TCP_Ref_Design_DF\Programmeringfile\Modbus_TCP_top.stp). Den nødvendige programmering file er valgt og er klar til at blive programmeret i enheden som vist i følgende figur.
Figur 10 • FlashPro-projekt konfigureret
- Klik på PROGRAM for at begynde at programmere enheden. Vent, indtil der vises en meddelelse, der indikerer, at programmet er bestået. Denne demo kræver, at SmartFusion2-enheden er forprogrammeret med applikationskoden for at aktivere Modbus-applikationen. SmartFusion2-enheden er forprogrammeret med Modbus_TCP_top.stp ved hjælp af FlashPro-software.
Figur 11 • FlashPro-program bestået
Bemærk: For at køre designet i statisk IP-tilstand skal du følge trinene nævnt i Appendiks: Kørsel af designet i statisk IP-tilstand, side 20.
- Tænd og tænd for SmartFusion2 Advanced Development-kortet.
En velkomstmeddelelse med IP-adressen vises i HyperTerminal-vinduet, som vist i følgende figur.
Figur 12 • HyperTerminal med IP-adresse
Åbn en ny kommandoprompt på værts-pc'en, gå til mappen
(\SF2_Modbus_TCP_Ref_Design_DF\HostTool) hvor
SmartFusion2_Modbus_TCP_Client.exe file er til stede, skal du indtaste kommandoen: SmartFusion2_Modbus_TCP_Client.exe som vist i den følgende figur.
Figur 13 • Aktivering af Modbus-klienten
Følgende figur viser de Modbus TCP-funktioner, der kører. Funktionerne er:
- Læs diskrete indgange (funktionskode 02)
- Læs holderegistre (funktionskode 03)
- Læs indgangsregistre (funktionskode 04)
- Skriv flere spoler (funktionskode 15)
Figur 14 • Demonstration af Modbus funktionskoder
Se Kørende Modbus-funktioner, side 17 for mere information om Modbus-funktionerne, der er demonstreret i referencedesignet.
- Når du har kørt demoen, skal du lukke HyperTerminal.
Kører Modbus-funktioner
Dette afsnit beskriver de Modbus-funktioner, der er demonstreret i referencedesignet.
Læs diskrete indgange (funktionskode 02)
GPIO'er er forbundet til 4 DIP-switche og 4 trykknapper. Tænd og sluk DIP-kontakterne og trykknapperne på SmartFusion2 Advanced Development Kit. Læs diskrete indgange funktionskode viser status for kontakter som vist i følgende figur.
Figur 15 • Læs diskrete indgange
Læs beholdningsregistre (funktionskode 03)
Følgende figur viser de globale bufferdata defineret i firmwaren.
Figur 16 • Læs beholdningsregistre
Læs inputregistre (funktionskode 04)
Følgende figur viser det antal sekunder, som realtidstælleren (RTC) har talt.
Figur 17 • Læs inputregistre
Skriv flere spoler (funktionskode 0×0F)
Følgende figur viser registerdataene for Write Multiple Coils til at skifte mellem de LED'er, der er forbundet til GPIO'er.
Figur 18 • Skriv flere spoler
Appendiks: Kortopsætning til kørsel af Modbus TCP Reference Design
Følgende figur viser kortopsætningen til at køre referencedesignet på SmartFusion2 Advanced Development Kit-kortet.
Figur 19 • SmartFusion2 Advanced Development Kit Board Setup
Bilag: Jumperplaceringer
Følgende figur viser jumperplaceringerne på SmartFusion2 Advanced Development Kit-kortet.
Figur 20 • SmartFusion2 Advanced Development Kit Silkscreen-top View
Note: Jumpere fremhævet med rødt er indstillet som standard. Jumpere markeret med grønt skal indstilles manuelt.
Note: Placeringen af jumperne i den foregående figur er søgbare.
Appendiks: Kørsel af designet i statisk IP-tilstand
De følgende trin beskriver, hvordan du kører designet i statisk IP-tilstand:
- Højreklik på Project Explorer-vinduet i SoftConsole-projektet, og gå til Egenskaber som vist i følgende figur.
Figur 21 • Project Explorer-vinduet i SoftConsole Project
- Fjern symbolet NET_USE_DHCP i Værktøjsindstillinger i vinduet Egenskaber for Modbus_TCP_App. Følgende figur viser vinduet Egenskaber for Modbus_TCP_App.
Figur 22 • Vinduet Egenskaber for Project Explorer
- Hvis enheden er tilsluttet i statisk IP-tilstand, er kortets statiske IP-adresse 169.254.1.23, og skift derefter værtens TCP/IP-indstillinger, så de afspejler IP-adressen. Se følgende figur og figur 24,
Figur 23 • TCP/IP-indstillinger for værts-pc
Figur 24 • Statiske IP-adresseindstillinger
Note: Når disse indstillinger er konfigureret, kompilér designet, indlæs designet i Flash-hukommelsen og kør designet ved hjælp af SoftConsole.
DG0440 Demo Guide Revision 7.0
Dokumenter/ressourcer
![]() |
Microsemi DG0440, der kører Modbus TCP-referencedesign på SmartFusion2-enheder [pdfBrugervejledning DG0440 Kører Modbus TCP Reference Design på SmartFusion2-enheder, DG0440, Kører Modbus TCP Reference Design på SmartFusion2-enheder, Design på SmartFusion2-enheder |