Microsemi DG0440 Kjører Modbus TCP Reference Design på SmartFusion2-enheter
Microsemi Corporate Headquarters
One Enterprise, Aliso Viejo,
CA 92656 USA
Innenfor USA: +1 800-713-4113
Utenfor USA: +1 949-380-6100
Faks: +1 949-215-4996
E-post: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Alle rettigheter forbeholdt. Microsemi og Microsemi-logoen er varemerker for Microsemi Corporation. Alle andre varemerker og tjenestemerker tilhører sine respektive eiere
Microsemi gir ingen garantier, representasjoner eller garantier angående informasjonen heri eller egnetheten til produktene og tjenestene for noe bestemt formål, og Microsemi påtar seg heller ikke noe ansvar som oppstår som følge av bruken eller bruken av et produkt eller en krets. Produktene som selges nedenfor og alle andre produkter som selges av Microsemi har vært gjenstand for begrenset testing og skal ikke brukes sammen med virksomhetskritisk utstyr eller applikasjoner. Eventuelle ytelsesspesifikasjoner antas å være pålitelige, men er ikke verifisert, og kjøperen må gjennomføre og fullføre all ytelse og annen testing av produktene, alene og sammen med, eller installert i, eventuelle sluttprodukter. Kjøper skal ikke stole på data og ytelsesspesifikasjoner eller parametere levert av Microsemi. Det er kjøperens ansvar å uavhengig avgjøre egnetheten til ethvert produkt og å teste og verifisere det samme. Informasjonen gitt av Microsemi nedenfor er gitt "som den er, hvor den er" og med alle feil, og hele risikoen forbundet med slik informasjon er utelukkende hos kjøperen. Microsemi gir ikke, eksplisitt eller implisitt, til noen part noen patentrettigheter, lisenser eller andre IP-rettigheter, enten det gjelder slik informasjon i seg selv eller noe som er beskrevet av slik informasjon. Informasjonen gitt i dette dokumentet tilhører Microsemi, og Microsemi forbeholder seg retten til å gjøre endringer i informasjonen i dette dokumentet eller til produkter og tjenester når som helst uten varsel.
Om Microsemi
Microsemi Corporation (Nasdaq: MSCC) tilbyr en omfattende portefølje av halvleder- og systemløsninger for luftfart og forsvar, kommunikasjon, datasenter og industrielle markeder. Produktene inkluderer høyytelses og strålingsherdede analoge integrerte kretser med blandede signaler, FPGA-er, SoC-er og ASIC-er; strømstyring produkter; timing- og synkroniseringsenheter og presise tidsløsninger, setter verdens standard for tid; stemmebehandling enheter; RF-løsninger; diskrete komponenter; bedriftslagring og kommunikasjonsløsninger, sikkerhetsteknologier og skalerbar anti-tamper produkter; Ethernet-løsninger; Power-over-Ethernet ICer og midspans; samt tilpassede designfunksjoner og tjenester. Microsemi har hovedkontor i Aliso Viejo, California, og har omtrent 4,800 ansatte globalt. Lær mer på www.microsemi.com.
Revisjonshistorie
Revisjonshistorikken beskriver endringene som ble implementert i dokumentet. Endringene er oppført etter revisjon, og starter med den nyeste publikasjonen.
Revisjon 7.0
Oppdaterte dokumentet for Libero v11.8 programvareversjon.
Revisjon 6.0
Følgende endringer er gjort i revisjon 6.0 av dette dokumentet.
- Libero SoC, FlashPro og SoftConsole designkrav er oppdatert i designkravene, side 5.
- Gjennom hele guiden oppdateres navnene på SoftConsole-prosjekter som brukes i demodesignet og alle tilhørende figurer.
Revisjon 5.0
Oppdaterte dokumentet for Libero v11.7 programvareversjon (SAR 76559).
Revisjon 4.0
Oppdaterte dokumentet for Libero v11.6 programvareversjon (SAR 72924).
Revisjon 3.0
Oppdaterte dokumentet for Libero v11.5 programvareversjon (SAR 63972).
Revisjon 2.0
Oppdaterte dokumentet for Libero v11.3 programvareversjon (SAR 56538).
Revisjon 1.0
Oppdaterte dokumentet for Libero v11.2 programvareversjon (SAR 53221).
Kjører Modbus TCP Reference Design på SmartFusion2-enheter som bruker IwIP og FreeRTOS
Introduksjon
Microsemi tilbyr et referansedesign for SmartFusion®2 SoC FPGA-enheter som demonstrerer
tri-speed ethernet medium access controller (TSEMAC) funksjoner i SmartFusion2 SoC FPGA og implementerer Modbus-protokollen. Referansedesignet kjører på UG0557: SmartFusion2 SoC FPGA Advanced Development Kit User Guide. Denne demoguiden beskriver.
- Bruk av SmartFusion2 TSEMAC koblet til et seriell gigabit mediauavhengig grensesnitt (SGMII) PHY.
- Integrasjon av SmartFusion2 MAC-driver med den lette IP (IwIP) overføringskontrollprotokollen (TCP) eller IP-stack og det gratis sanntidsoperativsystemet (RTOS).
- Applikasjonslag med industriell automasjonsprotokoll, Modbus på TCP eller IP.
- Hvordan kjøre referansedesignet
Mikrokontrollerundersystemet (MSS) til SmartFusion2 SoC FPGA har en forekomst av TSEMAC-periferien. TSEMAC kan konfigureres mellom vertsprosessoren og Ethernet-nettverket med følgende dataoverføringshastigheter (linjehastigheter):
- 10 Mbps
- 100 Mbps
- 1000 Mbps
For mer informasjon om TSEMAC-grensesnittet for SmartFusion2-enheter, se UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
Bruke Modbus-protokollen
Modbus er en meldingsprotokoll for applikasjonslag som er tilstede på nivå syv av
open systems interconnection (OSI) modell. Den muliggjør klient- eller serverkommunikasjon mellom enhetene som er koblet til ulike typer busser eller nettverk. Det er en tjenesteprotokoll som tilbyr mange tjenester spesifisert av funksjonskodene. Modbus-funksjonskodene er elementer i Modbus-forespørsels- eller svarprotokolldataenheter. Komponentene i Modbus-protokollen inkluderer:
- TCP eller IP over Ethernet
- Asynkron seriell overføring over en rekke medier
- Metalltråd:
- EIA/TIA-232-E
- EIA-422
- EIA/TIA-485-A Fiber
- Radio
- Modbus PLUS, et høyhastighets token-passeringsnettverk
Følgende figur beskriver Modbus kommunikasjonsstabler for ulike kommunikasjonsnettverk.
Figur 1 • Modbus kommunikasjonsstabel
Bruke Modbus-protokollen på SmartFusion2-enheten
Modbus TCP-serveren kjører på SmartFusion2 Advanced Development Kit og svarer på Modbus TCP-klienten som kjører på verts-PCen. Følgende figur viser blokkskjemaet for Modbus TCP-serveren og applikasjonen på SmartFusion2-enheten.
Figur 2 • Blokkdiagram av Modbus TCP-server og applikasjon 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
Tabellen nedenfor viser krav til maskinvare- og programvaredesign.
Tabell 1 • Referansedesignkrav og detaljer
Designkrav: Beskrivelse
Maskinvare
- SmartFusion2 avansert utviklingssett
– USB A til mini-B-kabel
– 12 V adapter
Rev A eller senere - Ethernet-kabel RJ45
- Hvilket som helst av følgende serielle terminalemuleringsprogrammer:
– HyperTerminal
– TeraTerm
– PuTTY - Verts-PC eller bærbar Windows 64-bits operativsystem
Programvare
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- FlashPro programmeringsprogramvare v11.8
- USB til UART-drivere –
- MSS Ethernet MAC-drivere v3.1.100
- Et seriell terminalemuleringsprogram HyperTerminal, TeraTerm eller PuTTY
- Nettleser Mozilla Firefox eller Internet Explorer
Demodesign
De følgende avsnittene beskriver demodesignet til Modbus TCP-referansedesignet på SmartFusion2-enheter som bruker IwIP og FreeRTOS.
Demodesignet files er tilgjengelig for nedlasting på:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df
Demodesignet files inkluderer:
- Libero
- Programmering files
- HostTool
- Les meg
Følgende figur viser toppnivåstrukturen til designet files. For mer informasjon, se Readme.txt file.
Figur 3 • Demodesign Files Struktur på øverste nivå
Demo designfunksjoner
Referansedesignet inkluderer:
- Fullfør Libero SoC Verilog-prosjektet
- SoftConsole-fastvareprosjekt
Referansedesignet kan støtte følgende Modbus-funksjonskoder avhengig av de ledige Modbus-kommunikasjonsstabelinnstillingene:
- Les inngangsregistre (funksjonskode 0×04)
- Les holderegistre (funksjonskode 0×03)
- Skriv enkeltregistre (funksjonskode 0×06)
- Skriv flere registre (funksjonskode 0×10)
- Les eller skriv flere registre (funksjonskode 0×17)
- Les spoler (funksjonskode 0×01)
- Skriv enkeltspole (funksjonskode 0×05)
- Skriv flere spoler (funksjonskode 0×0F)
- Les diskrete innganger (funksjonskode (0×02)
Referansedesignet støtter følgende Modbus-funksjonskoder for alle gratis Modbus-kommunikasjonsstabelinnstillinger:
- Les inngangsregistre (funksjonskode 0×04)
- Les diskrete innganger (funksjonskode (0×02)
- Skriv flere spoler (funksjonskode 0×0F)
- Les holderegistre (funksjonskode 0×03)
Beskrivelse av demodesign
Designet implementeres ved å bruke et SGMII PHY-grensesnitt ved å konfigurere TSEMAC for ti-bits grensesnitt (TBI) operasjonen. For mer informasjon om TSEMAC TBI-grensesnittet, se UG0331: SmartFusion2 Microcontroller Subsystem User Guide.
Libero SoC maskinvareprosjekt
Følgende figur viser maskinvaredesignimplementeringen som referansedesignslave-fastvaren kjører på.
Figur 4 • Libero SoC maskinvaredesign på toppnivå
Libero SoC-maskinvareprosjektet bruker følgende SmartFusion2 MSS-ressurser og IP-er:
- TSEMAC TBI-grensesnitt
- MMUART_0 for RS-232-kommunikasjon på SmartFusion2 Advanced Development Kit
- Dedikert inngangsfelt 0 som klokkekilde
- Generell inngang og utgang (GPIO) som har grensesnitt for følgende:
- Lysdioder (LED): 4 tall
- Trykknapper: 4 tall
- Dual in-line pakke (DIP) brytere: 4 tall
- Følgende tavleressurser er knyttet til Modbus-kommandoene:
- LED (spoler)
- DIP-brytere (diskrete innganger)
- Trykknapper (diskrete innganger)
- Sanntidsklokke (RTC) (inngangsregistre)
- Høyhastighets seriell grensesnitt (SERDESIF) SERDES_IF IP, konfigurert for SERDESIF_3 EPCS bane 3, se følgende figur. For å vite mer om høyhastighets serielle grensesnitt, se brukerveiledningen for UG0447- SmartFusion2 og IGLOO2 FPGA høyhastighets serielle grensesnitt.
Følgende figur viser vinduet High Speed Serial Interface Configurator.
Figur 5 • Høyhastighets seriell grensesnittkonfiguratorvindu
Pakkepinnetildelinger
Pakkepinnetilordninger for LED, DIP-brytere, trykknappbrytere og PHY-grensesnittsignaler er vist i følgende tabell gjennom Tabell 5, side 9.
Tabell 2 • LED til pakkepinnetildelinger
- Output Package Pin
- LED_1 D26
- LED_2 F26
- LED_3 A27
- LED_4 C26
Tabell 3 • DIP-bytter til pakkepinnetildelinger
- Output Package Pin
- DIP1 F25
- DIP2 G25
- DIP3 J23
- DIP4 J22
Tabell 4 • Trykkknappbrytere til pakkepinnetildelinger
- Output Package Pin
- BRYTER1 J25
- BRYTER2 H25
- BRYTER3 J24
- BRYTER4 H23
Tabell 5 • PHY-grensesnittsignaler til pakkepinnetildelinger
- Portnavn Retning Pakkepinne
- PHY_MDC-utgang F3
- PHY_MDIO-inngang K7
- PHY_RST Utgang F2
SoftConsole Firmware Project
Start SoftConsole-prosjektet ved å bruke frittstående SoftConsole IDE. Følgende versjoner av stabelen brukes for referansedesignet:
- lwIP TCP eller IP stack versjon 1.3.2
- Modbus TCP-server versjon 1.5 (www.freemodbus.org) med forbedringer for komplett funksjonskodestøtte som Modbus TCP-server
- FreeRTOS (www.freertos.org)
Følgende figur viser SoftConsole-programvarestablers katalogstruktur for designet.
Figur 6 • SoftConsole Project Explorer-vinduet
SoftConsole-arbeidsområdet består av prosjektet Modbus_TCP_App som har Modbus TCP-applikasjonen (som bruker lwIP og FreeRTOS) og alle fastvare- og maskinvareabstraksjonslagene som tilsvarer maskinvaredesignet.
Følgende figur viser driverversjonene som brukes for demoen.
Figur 7 • Demodesign-driverversjoner
Sette opp demodesignet
Følgende trinn beskriver hvordan du setter opp demoen for SmartFusion2 Advanced Development Kit-kortet:
- Koble verts-PC-en til J33-kontakten ved hjelp av USB A til mini-B-kabelen. USB til universell asynkron mottaker/sender (UART) brodrivere oppdages automatisk.
- Fra de oppdagede fire kommunikasjonsportene (COM) høyreklikker du på en av COM-portene og velger Egenskaper. Det valgte COM-portegenskaper-vinduet vises, som vist i følgende figur.
- Sørg for å ha plassering som på USB FP5 Seriell Converter C i Egenskaper-vinduet som vist i følgende figur.
Note: Noter COM-portnummeret for seriell portkonfigurasjon og sørg for at COM-portens plassering er spesifisert som på USB FP5 Seriell Converter C.
Figur 8 • Enhetsbehandling-vinduet
- Installer USB-driveren hvis USB-driverne ikke oppdages automatisk.
- Installer FTDI D2XX-driveren for seriell terminalkommunikasjon gjennom FTDI mini USB-kabelen. Last ned drivere og installasjonsveiledning fra:
www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip - Koble til jumperne på SmartFusion2 Advanced Development Kit-kortet som vist i følgende tabell. For informasjon om koblingsplasseringer, se vedlegget: koblingsplasseringer, side 19.
FORSIKTIGHET: Slå AV strømforsyningsbryteren, SW7, før du kobler til jumper.
Tabell 6 • SmartFusion2 Advanced Development Kit Jumper-innstillinger
- Jumper Pin Fra Pin Til Kommentarer
- J116, J353, J354,J54 1 2 Dette er standard jumperinnstillinger for Advanced Development Kit-kortet. Sørg for at hopperne
- J123 2 3 settes tilsvarende.
- J124, J121, J32 1 2 JTAG programmering via FTDI
- Koble strømforsyningen til J42-kontakten i SmartFusion2 Advanced Development Kit-kortet.
- Dette designet eksample kan kjøre i både statisk IP og dynamisk IP-modus. Som standard, programmering files er gitt for dynamisk IP-modus.
- For statisk IP, koble verts-PCen til J21-kontakten på
SmartFusion2 Advanced Development Kit-kort med en RJ45-kabel. - For dynamisk IP, koble en av de åpne nettverksportene til J21-kontakten på SmartFusion2 Advanced Development Kit-kortet ved hjelp av en RJ45-kabel.
- For statisk IP, koble verts-PCen til J21-kontakten på
Øyeblikksbilde for styreoppsett
Øyeblikksbilder av SmartFusion2 Advanced Development Kit-kortet med alle oppsetttilkoblingene er gitt i vedlegget: Kortoppsett for kjøring av Modbus TCP Reference Design, side 18.
Kjører Demo Design
Følgende trinn beskriver hvordan du kjører demodesignet:
- Last ned designet file fra:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0440_liberov11p8_df - Slå PÅ strømforsyningsbryteren, SW7.
- Start et hvilket som helst seriell terminalemuleringsprogram som:
- HyperTerminal
- PuTTY
- TeraTerm
Merk: I denne demoen brukes HyperTerminal.
Konfigurasjonen for programmet er: - Baudhastighet: 115200
- 8 databiter
- 1 Stoppbit
- Ingen paritet
- Ingen flytkontroll
For informasjon om konfigurering av seriell terminalemuleringsprogrammer, se Konfigurere seriell terminalemuleringsprogrammer.
- Start FlashPro-programvaren.
- Klikk på Nytt prosjekt.
- I vinduet Nytt prosjekt skriver du inn prosjektnavnet, som vist i følgende figur.
Figur 9 • FlashPro New Project
- Klikk på Bla gjennom og naviger til stedet der du vil lagre prosjektet.
- Velg Enkel enhet som programmeringsmodus.
- Klikk OK for å lagre prosjektet.
- Klikk på Konfigurer enhet.
- Klikk Bla gjennom og naviger til stedet der Modbus_TCP_top.stp file er plassert og velg file. Standardplasseringen er:
(\SF2_Modbus_TCP_Ref_Design_DF\Programmeringfile\Modbus_TCP_top.stp). Nødvendig programmering file er valgt og er klar til å programmeres i enheten som vist i følgende figur.
Figur 10 • FlashPro-prosjektet er konfigurert
- Klikk PROGRAM for å begynne å programmere enheten. Vent til en melding vises som indikerer at programmet har bestått. Denne demoen krever at SmartFusion2-enheten er forhåndsprogrammert med applikasjonskoden for å aktivere Modbus-applikasjonen. SmartFusion2-enheten er forhåndsprogrammert med Modbus_TCP_top.stp ved hjelp av FlashPro-programvaren.
Figur 11 • FlashPro-programmet bestått
Merk: For å kjøre designet i statisk IP-modus, følg trinnene nevnt i vedlegg: Kjøre designet i statisk IP-modus, side 20.
- Slå av/på SmartFusion2 Advanced Development-kortet.
En velkomstmelding med IP-adressen vises i HyperTerminal-vinduet, som vist i følgende figur.
Figur 12 • HyperTerminal med IP-adresse
Åpne en ny ledetekst på verts-PCen, gå til mappen
(\SF2_Modbus_TCP_Ref_Design_DF\HostTool) hvor
SmartFusion2_Modbus_TCP_Client.exe file er tilstede, skriv inn kommandoen: SmartFusion2_Modbus_TCP_Client.exe som vist i følgende figur.
Figur 13 • Påkalling av Modbus-klienten
Følgende figur viser Modbus TCP-funksjonene som kjører. Funksjonene er:
- Les diskrete innganger (funksjonskode 02)
- Les holderegistre (funksjonskode 03)
- Les inngangsregistre (funksjonskode 04)
- Skriv flere spoler (funksjonskode 15)
Figur 14 • Demonstrasjon av Modbus funksjonskoder
Se Kjøre Modbus-funksjoner, side 17 for mer informasjon om Modbus-funksjonene som er demonstrert i referansedesignet.
- Etter å ha kjørt demoen, lukk HyperTerminal.
Kjører Modbus-funksjoner
Denne delen beskriver Modbus-funksjonene som er demonstrert i referansedesignet.
Les diskrete innganger (funksjonskode 02)
GPIO-er er koblet til 4 DIP-brytere og 4 trykknappbrytere. Slå PÅ og slå AV DIP-bryterne og trykknappbryterne på SmartFusion2 Advanced Development Kit. Les diskrete innganger funksjonskode viser statusene til brytere som vist i følgende figur.
Figur 15 • Les av diskrete innganger
Les beholdningsregistre (funksjonskode 03)
Følgende figur viser globale bufferdata definert i fastvaren.
Figur 16 • Les beholdningsregistre
Les inngangsregistre (funksjonskode 04)
Følgende figur viser antall sekunder som sanntidstelleren (RTC) har talt.
Figur 17 • Les inngangsregistre
Skriv flere spoler (funksjonskode 0×0F)
Følgende figur viser registerdata for Write Multiple Coils for å veksle mellom LED-ene som er koblet til GPIO-er.
Figur 18 • Skriv flere spoler
Vedlegg: Kortoppsett for kjøring av Modbus TCP Reference Design
Følgende figur viser kortoppsettet for å kjøre referansedesignet på SmartFusion2 Advanced Development Kit-kortet.
Figur 19 • SmartFusion2 Advanced Development Kit Board Setup
Vedlegg: Jumperplasseringer
Følgende figur viser jumperplasseringene på SmartFusion2 Advanced Development Kit-kortet.
Figur 20 • SmartFusion2 Advanced Development Kit Silkscreen-topp View
Note: Jumpere uthevet i rødt er satt som standard. Jumpere uthevet i grønt må stilles inn manuelt.
Note: Plasseringen av hopperne i den foregående figuren er søkbare.
Vedlegg: Kjøre designet i statisk IP-modus
Følgende trinn beskriver hvordan du kjører designet i statisk IP-modus:
- Høyreklikk på Project Explorer-vinduet til SoftConsole-prosjektet og gå til Egenskaper som vist i følgende figur.
Figur 21 • Project Explorer-vinduet i SoftConsole Project
- Fjern symbolet NET_USE_DHCP i Verktøyinnstillinger i vinduet Egenskaper for Modbus_TCP_App. Følgende figur viser vinduet Egenskaper for Modbus_TCP_App.
Figur 22 • Prosjektutforsker-egenskaper-vinduet
- Hvis enheten er tilkoblet i statisk IP-modus, er kortets statiske IP-adresse 169.254.1.23, endre deretter vertens TCP/IP-innstillinger for å gjenspeile IP-adressen. Se følgende figur og figur 24,
Figur 23 • TCP/IP-innstillinger for verts-PC
Figur 24 • Statiske IP-adresseinnstillinger
Note: Når disse innstillingene er konfigurert, kompilerer du designet, laster designet inn i Flash-minnet og kjører designet med SoftConsole.
DG0440 Demo Guide Revisjon 7.0
Dokumenter / Ressurser
![]() |
Microsemi DG0440 Kjører Modbus TCP Reference Design på SmartFusion2-enheter [pdfBrukerhåndbok DG0440 Kjører Modbus TCP Reference Design på SmartFusion2-enheter, DG0440, Kjører Modbus TCP Reference Design på SmartFusion2-enheter, Design på SmartFusion2-enheter |