Kom igång snabbt med inbäddade kombi-konstruktioner för mikroprocessorer och FPGA:er med SoM
Bidraget med av DigiKeys nordamerikanska redaktörer
2018-07-25
Många inbäddade konstruktioner kan använda enkortsdatorer (SBC) och SoM baserade på mikroprocessorer och microcontrollers (se t.ex. "Bygg en billig industristyrning med Raspberry Pi 3"). Många andra inbäddade applikationer kan dock inte fungera med de fördröjningar som är förknippade med mjukvaruberoende svarstider.
Dessa tillämpningar behöver den extra prestanda som endast finns att tillgå från specialanpassad hårdvara, och det snabbaste sättet att utveckla specialanpassad hårdvara är att använda en FPGA.
I denna artikel diskuteras fördelarna med att använda modulära system för att utveckla inbäddade system som behöver den extra processorkraft som FPGA:er ger. I den presenterar också en mängd olika FPGA-baserade modulära system och diskuterar deras användning vid utveckling av inbäddade konstruktioner.
FPGA-systemets roll för modulära system
Ett modulärt system hjälper konstruktörer att utveckla inbäddade system med anpassade gränssnitt i ett enda format, utan att behöva utveckla ett kärnprocessorsystem från grunden. Konstruktörer kan koppla in ett förkonstruerat och testat modulärt system i antingen ett förkonstruerat eller ett specialanpassat bärarkort, för att skapa en inbäddad konstruktion som fungerar på samma sätt som en helt specialkonstruerad konstruktion. Utvecklingen av hårdvaran kommer dock att ta mycket mindre tid i anspråk.
Det finns ett antal fördelar med att använda ett modulärt system jämfört med att utveckla hårdvaran från grunden. Dessa inkluderar:
- Kostnadsbesparingar (med tanke på de totala NRE-kostnaderna för utveckling och felsökning av ett kort baserat på ett modulärt system)
- Minskad konstruktionsrisk
- Flera val för modulära system (till följd av plug-in-funktionaliteten)
- Litet format
- Utveckling av parallell hårdvara och mjukvara
Modulära system intar nu den nisch som en gång i tiden upptogs av mikroprocessorer och microkontrollers, när hålmonterade och sockelmonterade komponenter dominerade. Pinn-kompatibiliteten har gjort det möjligt för en konstruktör att välja bland en rad kompatibla processorer med rätt processorklockfrekvens och precis rätt mängd chipminne. Högre antal pinnar och ytmontering har dock gjort att denna konstruktionsmetod har föråldrats och öppnat en dörr för att ta fram SoM med format och storlekar som tjänar samma syfte som de tidigare pinn-kompatibla microcontroller-familjerna.
Genom att använda en SoM som projektets beräkningsplattform, kan konstruktörerna fokusera sina ansträngningar och resurser på att utveckla den färdiga tillämpningen i stället för att fastna i detaljer kring utformningen av en beräkningsplattform. Vid klockfrekvenser på flera hundra megahertz blir det exempelvis allt svårare att layouta kort för SDRAM som är kopplade till processorn, till följd av differenser i fördröjningar i ledningsbanor, brus, överhörning och en mängd andra utmaningar. Under tiden har SoM-leverantörer redan löst dessa utmaningar och förkortat tiden fram till marknadsintroduktion genom att göra klart en stor del av konstruktionen innan projektet har startat.
Att välja en SoM-familj för ett inbäddat utvecklingsprojekt krävs en noggrann analys av faktorer som förväntade krav på inbäddade resurser, behovet av skalbarhet och framtidssäkring samt användarvänlighet. Det hjälper att välja ett SoM-format och en fysisk storlek som ger många möjligheter att lösa kända utmaningar och för oförutsedda framtidsutmaningar. Genom att välja en SoM-familj med ett kompatibelt format och lämplig kontaktdonsstorlek, utökas konstruktionsteamets valmöjligheter och ger ytterligare framtidssäkring.
En ny typ av SoM baserad på SOC:er med processorer och FPGA:er
SoM innehåller ofta SoC med flera applikationsprocessorer, men en ny klass av SoC med inbäddade processorer som innehåller en FPGA, t.ex. Xilinx All Programmable Zynq®-7000 SoC, lämpar sig också för SoM-konstruktioner. SoC från Xilinx Zynq-7000 integrerar mjukvaruprogrammerbarheten hos en Arm®Cortex®-A9-applikationsprocessor med maskinvaruprogrammerbarheten hos en FPGA. De inbäddade Arm-mikroprocessorerna i Zynq:s SoC:er, tillsammans med skyddad kringutrustning och en SDRAM-minnescontroller som kallas Zynq SoC:s "processorsystem" eller "PS", utför alla mjukvarubaserade uppgifter som normalt hanteras av en inbäddad mikroprocessor eller microcontrollers, medan den integrerade FPGA:n (som kallas Zynq SoC:s "PL" för "programmerbar logik") ger hårdvarusvar för I/O-svarstider och hårdvaruacceleration för inbäddade uppgifter som kräver snabbare utförande.
Xilinx Zynq SoC:er finns i en mängd olika processorkonfigurationer och hastigheter, med ännu större variation när det gäller mängden FPGA-funktioner som finns tillgängliga på chipet. Att välja en SoM-familj baserad på en hybridprocessor/FPGA SoC, såsom Xilinx Zynq-7000-familjen, ökar valmöjligheterna och förbättrar framtidssäkerheten ytterligare.
En sådan SoM-familj är TE0720-serien (figur 1) och det tillhörande SoM-bärarkortet TE0703 från Trenz Electronic. Alla SoM bygger på ett gemensamt format som mäter 4 x 5 centimeter (cm). Modulerna i Trenz Electronic TE0720-serien innehåller en av två medlemmar från Xilinx Zynq-7000 SoC-familjen:
- TE072020-03-2IF baserad på Xilinx Zynq Z-7020 SoC
- TE072020-03-1QF baserad på Xilinx Zynq Z-7020 SoC
- TE0720-03-1CR baserad på Xilinx Zynq Z-7020 SoC
- TE072020-03-1CFA baserad på Xilinx Zynq Z-7020 SoC
- TE072020-03-2IFC3 baserad på Xilinx Zynq Z-7020 SoC
- TE072020-03-L1IF baserad på Xilinx Zynq Z-7020 SoC
- TE0720-03-14S-1C baserad på Xilinx Zynq Z-7014S SoC
Alla dessa SoM har ett gemensamt kontaktdonsformat med tre hermafroditiska Samtec LSHM-kontaktdon med flera hundra I/O-stift, plus ström- och jordstift mellan SoM:en och bärarkortet.

Figur 1: Trenz Electronic TE0720 SoM innehåller antingen Xilinx Zynq Z-7020 eller Z-7014S SoC tillsammans med 1 Gbyte SDRAM och extra icke-flyktiga minnen. (Bildkälla: Trenz Electronic)
Det kanske bästa sättet att uppskatta flexibiliteten hos SoM-metodiken är att titta på bärarkortet TE0703 för TE0720 SoM-serien och sedan arbeta sig tillbaka in i SoM:en genom I/O-pinnarna för att titta på SoM:s resurser (figur 2).

Figur 2: Bärarkortet Trenz TE0703 leder ut de många I/O-pinnarna från det tillhörande 4 x 5 cm stora SoM-kortet till resten av det inbäddade systemet. (Bildkälla: Trenz Electronic)
Blockdiagrammet för TE0703 visar de många viktiga I/O-funktionerna som är utbrutna från SoM-kortet, inklusive:
- 1 Gbit/s Ethernet
- USB och Mini USB
- Micro SD-kort
- Hundratals I/O-pinnar (konfigurerbara som enskilda digitala I/O-pinnar eller som LVDS-par (Low Voltage Differential Signaling Pairs))
SoM och SBC har båda sina roller att fylla
Processorhastighet, svarstid och I/O-kapacitet är utmärkande egenskaper för SoM. SBC:er som Arduino Uno och Raspberry Pi-familjen införlivas dock också ofta i inbäddade system eftersom de också har brett stöd. Därför erbjuder Trenz Electronic också versioner av Arduino- och Raspberry Pi-korten, TE0723-03M ArduZynq och TE0726-03M ZynqBerry, som är baserade på en Xilinx Zynq-7000 SoC. Dessa SBC:er utgör en brygga till många befintliga instickskort, t.ex. Arduino-sköldar och Raspberry-hattar och -tillbehör.
Det finns en betydande skillnad i FPGA-kapaciteten mellan Zynq Z-7010 SoC:erna som ingår i TE0723-03M ArduZynq och TE0726-03M ZynqBerry SBC:er, jämfört med den kapacitet som finns i TE0720-serien av Trenz Electronics SoM, vilka innehåller SoC-enheterna Zynq Z-7014S och Zynq Z-7020. Även om alla Zynq-7000 SoC:er innehåller en dubbelkärnig Arm Cortex-A9-processor, skiljer sig enheterna åt i fråga om mängden FPGA på enheten, vilket visas i tabell 1:
|
Tabell 1: Xilinx SoC Zynq-7000 som används i Trenz Electronics SoM (Z-7014S och Z-7020) har mycket mer FPGA-resurser än Zynq Z-7010 som används i Trenz Electronics SBC:er ArduZynq och ZynqBerry. (Datakälla: DigiKey)
Dessutom har SBC:erna TE0723-03M (ArduZynq) och TE0726-03M (ZynqBerry) 512 Mbyte SDRAM direkt på kortet, medan TE0720 har 1 Gbyte.
Trenz Electronic erbjuder flera bärarkort för sina SoM, inklusive TE0703-05, TE0706-02, TE0701-06 och TEB0745-02. Dessa kort har ett brett utbud av standardiserade I/O-funktioner. Ett av dessa bärarkort kan vara lämpligt för en viss inbäddad applikation, men det är också möjligt att dela upp konstruktionen av det inbäddade systemet i ett specialkonstruerat bärarkort som accepterar olika SoM inom en familj för att tillgodose olika processningsbehov. Denna flexibilitet understryker nyttan med en konstruktionsmetod som bygger på att använda en SoM-familj som grund för en inbäddad konstruktion. SoM:s konsekventa och standardiserade kontaktdonsstorlekar gör det enkelt att byta ut en SoM mot en annan för att anpassa sig till ändringar i systemspecifikationen.
Slutsats
SoM kan avsevärt förkorta den tid som krävs för att ta fram prototyper av inbäddade system och minska projektrisken. När väl ett SoM-format och en kontaktdonsstorlek har valts ut, kan SoM med större FPGA-prestanda pluggas in för att uppfylla växande behov. Dessutom kan en mängd kompatibla SoM baserade på Xilinx Zynq-7000-SoC, som kombinerar processorkraften hos en dubbelkärnig Arm Cortex-A9-processor med FPGA-resurser, också bidra till att påskynda utvecklingen av inbäddade konstruktioner.
Denna metod för inbäddad konstruktion förkortar inte bara den tid som behövs för att utveckla hårdvarudelen, utan gör också att mjukvaruutvecklingen kan påbörjas tidigare i projektet, vilket minskar konstruktionsrisken. Det ger också god flexibilitet om projektets omfattning växer och kraven skulle höjas.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




