Sulautetut mikroprosessori/FPGA-yhdistelmämallit nopeasti käyttöön SoM-moduulien avulla
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2018-07-25
Monissa sulautetuissa järjestelmissä voidaan käyttää mikroprosessoreihin ja mikrokontrollereihin perustuvia yhden piirilevyn tietokoneita (SBC) ja järjestelmämoduuleja (SoM) (katso esimerkiksi artikkeli "Build a Low-Cost Industrial Controller with the Raspberry Pi"). Monet sulautetut sovellukset eivät kuitenkaan siedä ohjelmistoriippuvaisiin vasteaikoihin liittyviä latensseja.
Näissä sovelluksissa tarvitaan enemmän suorituskykyä, joka on saatavissa vain räätälöidyillä laitteistoilla, ja nopein tapa kehittää räätälöityjä laitteistoja on FPGA-piirin käyttö.
Tässä artikkelissa käsitellään SoM-moduulien etuja kehitettäessä sulautettuja järjestelmiä, jotka tarvitsevat FPGA-piirien tarjoamaa ylimääräistä prosessointitehoa. Siinä esitellään myös erilaisia FPGA SoM -moduuleja ja keskustellaan niiden käytöstä sulautettujen järjestelmien kehittämisessä.
FPGA-järjestelmämoduulin rooli
SoM auttaa suunnittelijoita kehittämään sulautettuja järjestelmiä, joissa on halutut liitännät ja haluttu koko ilman, että kuitenkaan olisi tarpeen kehittää prosessointijärjestelmän ydintä alusta alkaen. Suunnittelijat voivat liittää valmiiksi suunnitellun ja testatun SoM-moduulin joko valmiiseen tai räätälöityyn tukikorttiin ja luoda tällä tavoin sulautettu järjestelmä, joka toimii yhtä hyvin kuin täysin räätälöity järjestelmä. Laitteiston kehittäminen vaatii kuitenkin paljon vähemmän aikaa.
SoM-moduulin käytössä on useita etuja verrattuna laitteiston kehittämiseen alusta lähtien. Niihin kuuluvat:
- Kustannussäästöt (kun otetaan huomioon SoC-piiriin perustuvan piirilevyn kehittämisestä ja virheenkorjauksesta aiheutuvat NRE-kokonaiskustannukset)
- Alhaisempi suunnitteluriski
- Useita SoC-vaihtoehtoja (SoM-moduulien liitettävyyden ansiosta)
- Pieni liitinkonfiguraatio
- Rinnakkainen laitteisto- ja ohjelmistokehitys
SoM-moduulit ovat nykyään valtaamassa markkinarakoa, jota mikroprosessorit ja mikrokontrollerit aikoinaan hallitsivat, silloin kun läpiasennettavat ja kantaan asennettavat komponentit olivat valta-asemassa. Nastayhteensopivuus mahdollisti sen, että suunnittelija pystyi valitsemaan yhteensopivien prosessoreiden joukosta halutun vaihtoehdon prosessorikellotaajuuden ja tarvittavan muistimäärän perusteella. Suuremmat nastamäärät ja pintaliitoskotelot ovat kuitenkin tehneet tuosta suunnittelutavasta vanhentuneen ja avanneet oven SoM-moduuleille. Näiden koko ja liitinkonfiguraatio palvelevat samaa tarkoitusta kuin aiemmat nastayhteensopivat mikrokontrolleriperheet.
Käyttämällä SoM-moduuleita projektin laskenta-alustana suunnittelijat voivat keskittää voimavaransa itse sovelluksen kehittämiseen sen sijaan, että he juuttuisivat laskenta-alustan suunnittelun yksityiskohtiin. Esimerkiksi sovellusprosessoriin kytkettyjen SDRAM-muistien asettelusta piirilevylle tulee useiden satojen megahertsien kellotaajuuksilla yhä vaikeampaa differentiaalisten johdinviiveiden, kohinan, ylikuulumisen ja monien muiden haasteiden vuoksi. SoM-toimittajat ovat kuitenkin jo vastanneet näihin haasteisiin ja lyhentäneet markkinoille tuloaikaa ja suorittaneet suuren osan suunnittelusta valmiiksi jo ennen projektin aloittamista.
SoM-perheen valitseminen sulautettuun kehitysprojektiin edellyttää huolellista analyysia sellaisista tekijöistä kuten odotettavissa olevista sulautettujen resurssien vaatimuksista, suunnittelun skaalautuvuuden ja tulevaisuuden varmentamisen tarpeesta sekä helppokäyttöisyydestä. Tämä auttaa valitsemaan sellaisen SoM-koon ja liitinkonfiguraation, joka tarjoaa runsaasti valintamahdollisuuksia sekä tunnettuihin haasteisiin että odottamattomiin tulevaisuuden haasteisiin. Useita vaihtoehtoja tarjoavan ja koon sekä liitinkonfiguraation suhteen yhteensopivan SoM-perheen valitseminen tarjoaa suunnittelutiimille enemmän valinnanvaraa ja tarjoaa lisävarmuutta tulevaisuutta ajatellen.
Uudentyyppinen SoM, joka käyttää prosessoreita ja FPGA-piirejä sisältäviä SOC-piirejä
Usein SoM-moduulit sisältävät SoC-piirejä, joissa on useita sovellusprosessoreita, mutta uusi sulautettuja prosessoreita käyttävä SoC-luokka sisältää myös FPGA-piirin. Esimerkkinä näistä toimii Xilinx All Programmable Zynq®-7000 SoC, joka soveltuu myös SoM-suunnitteluun. Xilinx Zynq-7000 SoC -piirissä yhdistävät Arm®Cortex®-A9 -sovellusprosessorin ohjelmoitavuus sekä FPGA-piirien laitteisto-ohjelmoitavuus. Zynq SoC -piirin sisäänrakennetut Arm-mikroprosessorit yhdessä lujatekoisten oheislaitteiden ja SDRAM-muistiohjaimen kanssa (kutsutaan Zynq SoC -piirin "prosessointijärjestelmäksi", "PS") suorittavat kaikki ohjelmistopohjaiset tehtävät, jotka tavallisesti suoritetaan sulautetulla mikroprosessorilla tai mikrokontrollerilla, kun taas integroitu FPGA (jota kutsutaan Zynq SoC -piirin "ohjelmoitavaksi logiikaksi", "PL") tarjoaa laitteistopohjaiset I/O-vasteajat sekä laitteistokiihdytyksen nopeampaa suoritusta vaativiin sulautettuihin tehtäviin.
Xilinx Zynq SoC -piirejä on saatavana useilla eri prosessorikokoonpanoilla ja -nopeuksilla. Vielä enemmän vaihtoehtoja tarjoavat sirussa olevien FPGA-rakenteiden määrä. Xilinx Zynq-7000 -perheen kaltaiseen hybridiprosessori/FPGA-SoC-piiriin perustuvan SoM-perheen valinta laajentaa valinnanvaraa ja parantaa tulevaisuuteen valmistautumista entisestään.
Yksi tällainen SoM-tuoteperhe on TE0720-sarja (kuva 1) ja siihen liittyvä SoM-apukortti TE0703 yritykseltä Trenz Electronic. Kaikki SoM-moduulit ovat samaa kokoa 4 x 5 senttimetriä (cm). Trenz Electronic TE0720 -sarjan moduulit sisältävät yhden Xilinx Zynq-7000 SoC -perheen kahdesta jäsenestä:
- TE0720-03-2IF perustuu piiriin Xilinx Zynq Z-7020 SoC
- TE0720-03-1QF perustuu piiriin Xilinx Zynq Z-7020 SoC
- TE0720-03-1CR perustuu piiriin Xilinx Zynq Z-7020 SoC
- TE0720-03-1CFA perustuu piiriin Xilinx Zynq Z-7020 SoC
- TE0720-03-2IFC3 perustuu piiriin Xilinx Zynq Z-7020 SoC
- TE0720-03-L1IF perustuu piiriin Xilinx Zynq Z-7020 SoC
- TE0720-03-14S-1C perustuu piiriin Xilinx Zynq Z-7014S SoC.
Kaikkien näiden SoM-moduulien liitinkonfiguraatio on sama. Tämä sisältää kolme hermafrodiittista Samtecin LSHM-liitintä, joissa on useita satoja I/O-nastoja sekä SoM-moduulin ja apukortin väliset virta- ja maadoitusnastat.

Kuva 1: Trenz Electronic TE0720 SoM sisältää joko Xilinx Zynq Z-7020- tai Z-7014S -SoC-piirin sekä 1 gigatavua SDRAM-muistia sekä lisäksi haihtumatonta muistia. (Kuvan lähde: Trenz Electronic)
Ehkä paras tapa ymmärtää SoM-suunnittelun joustavuutta on tarkastella TE0720-SoM-moduulin TE0703-apukorttia ja palata sitten SoM-moduuliin I/O-nastojen kautta ja tarkastella SoM-moduulin resursseja (kuva 2).

Kuva 2: Trenzin TE0703-apukortti antaa pääsyn useisiin siinä olevan 4 x 5 cm:n SoM-kortin I/O-nastoihin muun sulautetun järjestelmän käytettäväksi. (Kuvan lähde: Trenz Electronic)
TE0703-kortin lohkokaavio näyttää useita tärkeitä I/O-nastoja, jotka SoM-kortista tarjotaan, mukaan lukien:
- 1 Gbit/s Ethernet
- USB ja Mini USB
- Micro SD -kortti
- Satoja I/O-nastoja (konfiguroitavissa yksittäisiksi digitaalisiksi I/O-nastoiksi tai LVDS (Low-Voltage Differential Signaling) -pareiksi)
SoM-moduuleilla ja SBC-piireillä on kummallakin oma paikkansa
Käsittelynopeus, vasteaika ja I/O-ominaisuudet ovat tunnusomaisia ominaisuuksia SoM-moduuleille. SBC-piirejä, kuten Arduino Unoa ja Raspberry Pi -perhettä, käytetään kuitenkin usein sulautetuissa järjestelmissä, koska myös niille on saatavana paljon tukea. Tämän seurauksena Trenz Electronic tarjoaa myös Xilinx Zynq-7000 SoC -piiriin perustuvia versioita Arduino- ja Raspberry Pi -korteista, TE0723-03M ArduZynq ja TE0726-03M ZynqBerry. Nämä SBC-kortit tarjoavat sillan moniin olemassa oleviin liitäntäkortteihin, kuten Arduino-lisäkortteihin ja Raspberry-lisäkortteihin .
TE0723-03M ArduZynq- ja TE0726-03M ZynqBerry SBC-laitteisiin integroidun Zynq Z-7010 SoC -piirin FPGA-ominaisuuksien määrässä on merkittävä ero verrattuna TE0720-sarjan Trenz Electronic SoM-mouuliin integroitujen Zynq Z-7014S- ja Zynq Z-7020 SoC-piirien ominaisuuksiin. Vaikka kaikissa Zynq-7000 SoC-piireissä on kaksiytiminen Arm Cortex-A9 -prosessori, laitteet eroavat toisistaan FPGA-piirin ominaisuuksien suhteen, katso taulukko 1:
|
Taulukko 1: Trenz Electronicin SOM-moduuleissa käytetyissä Xilinx Zynq-7000 SoC-piireissä (Z-7014S ja Z-7020) on paljon enemmän FPGA-resursseja kuin Trenz Electronicin ArduZynq- ja ZynqBerry SBC-korteissa käytetyssä Zynq Z-7010 -piirissä. (Tietolähde: DigiKey)
Lisäksi TE0723-03M ArduZynq- ja TE0726-03M ZynqBerry SBC-korteissa on 512 Mt SDRAM-muistia, kun taas TE0720 SoM-moduuleissa on 1 Gt.
Trenz Electronic toimittaa SoM-moduuleihinsa useita apukortteja, kuten TE0703-05, TE0706-02, TE0701-06 ja TEB0745-02. Näissä levyissä on laaja valikoima standardoituja I/O-ominaisuuksia. Apukorteista saattaa löytyä valmis tiettyyn sulautettuun sovellukseen soveltuva versio, mutta sulautetun järjestelmän suunnittelussa voidaan käyttää myös räätälöityä apukorttia, joka hyväksyy joukon haluttuun SoM-perheeseen kuuluvia vaihtoehtoja eri käsittelytarpeiden täyttämiseksi. Tämä joustavuus korostaa sitä, miten hyödyllinen on sellainen suunnittelutapa, jossa sulautetun järjestelmän suunnittelussa käytetään SoM-perhettä. SoM-moduulien johdonmukainen ja standardoitu liitinkonfiguraatio mahdollistaa yhden SoM-moduulin helpon vaihtamisen toiseen kun järjestelmän määrittelyyn tulee muutoksia.
Yhteenveto
SoM-moduulit voivat huomattavasti lyhentää sulautettujen järjestelmien prototyyppien luomiseen tarvittavaa aikaa ja pienentää projektiriskiä. Kun SoM-koko ja liitinkonfiguraatio on päätetty, voidaan vaatimusten kasvaessa lisätä FPGA-resursseja sisältäviä SoM-moduuleja. Sulautettujen järjestelmien kehittämistä voidaan lisäksi nopeuttaa myös erilaisilla yhteensopivilla Xilinx Zynq-7000 SoC-piiriin perustuvilla SoM-moduuleilla, joissa yhdistyvät kaksiytimisen Arm Cortex-A9 -prosessorin prosessointiteho ja FPGA-resurssit, .
Tämä SoM-moduulien käyttö sulautetussa suunnittelussa ei ainoastaan lyhennä laitteiston kehittämiseen tarvittavaa aikaa, vaan mahdollistaa myös ohjelmistokehityksen aloittamisen projektin varhaisemmassa vaiheessa ja vähentää siten suunnitteluriskiä. Se tarjoaa myös paljon joustavuutta jos projektin laajuus ja vaatimukset kasvavat.
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.




