Muligheter og utfordringer med smartere styrefunksjoner i nettverk

Smartere systemer som kombinerer høyhastighets prosessering, egenskaper for å ta avgjørelser lokalt og nettverksforbindelse med høy båndbredde er nøkkelen til å innfri mange av de nye behovene i et «tilkoplet» samfunn. (Dette er den komplette artikkel påbegynt i Elektronikk nr 7/8 2014, side 38)

Publisert Sist oppdatert

Denne artikkelen er 2 år eller eldre

Det er behov for smartere styrefunksjoner i nettverk for å tilfredsstille stadig økende kommersielle- og forbrukerrelaterte krav til industrier som produksjon, transport og kommunikasjon. Etter hvert som begrensningene til tradisjonell programvarebasert innvevd prosessering kommer for en dag, kan imidlertid en avansert helprogrammerbar systembrikke- (SoC) plattform by på høyere ytelse, systemintegrering og fleksibilitet for å innfri dagens mest prosesseringsintensive applikasjoner.

Artikkelforfatter: Giles Peckham, markedsføringssjef i Xilinx, EMEA og India

Mer og bedre
Ønsket om mer og bedre er noe som ligger naturlig i menneskets væremåte, og det er en sterk drivkraft som krever stadig flere funksjonsrike, effektive og rimelige systemer innenfor mange av livets aspekter. For eksempel krever vi at kringkastingsteknologien leverer en opplevelse som er stadig mer naturtro og underholdende. Kommunikasjonssystemene skal støtte bedre og raskere samspill mellom oss mennesker. Biler og offentlig transport skal tilby høyere sikkerhet og komfort samtidig som de ikke påvirker miljøet på en negativ måte. Produksjonsteknologi må gi kontinuerlige forbedringer i forhold til kapasitet og kvalitetskontroll. Og vårt ønske om sikkerhetsystemer som aldri svikter, det være seg hjemme, på jobben eller på offentlige steder, krever detekteringssystemer som har evne til å registrere hendelser og gjenkjenne eller aller helst identifisere eventuelle gjerningspersoner.

Smartere systemer
Smartere systemer som kombinerer høyhastighets prosessering, egenskaper for å ta avgjørelser lokalt og nettverksforbindelse med høy båndbredde er nøkkelen til å innfri mange av disse behovene. Kommunikasjonssystemer av alle typer, fra bredbåndstjenester for forbrukere til nettverksbasert produksjonsautomatisering, må gjenkjenne, prosessere og rute forskjellige typer datatrafikk effektivt og være oppmerksom på eventuelle flaskehalser i nettverket.

Nye anvendelser
Et annet eksempel er presisjonsposisjonering og bevegelsesstyring innenfor industrielt robotutstyr og automatisert maskineri som krever styresystemer med høy ytelse som raskt kan utføre digitale motorstyringsalgoritmer i flere akser samtidig.

På den annen side er kraftige bildegjenkjenningsalgoritmer – som ofte opererer i sanntid – svært viktige for utstyr som avanserte førerassistansesystemer i de nyeste bilene, systemer for industriell automatisering og kvalitetskontroll, og kameraer for nettverksbasert videoovervåkning.

Økt prosessering
De stadig økende forventningene til applikasjoner som er koblet sammen på en smartere måte, i flere industrielle markeder, driver behovet for at høyhastighetsprosessering slik som digitale bilder og analyser, samt viktig styreprosesser, skal utføres i utkanten av nettverket, heller enn å følge en konvensjonell sentralisert arkitektur. Noen eksempler er nettverksbaserte sikkerhetssystemer som er i stand til å utføre grunnleggende prosessering av fullfarge høyoppløsningsvideo for å registrere mistenkelig aktivitet og videresende kun relevante data til en sentral styreenhet som utfører mer avanserte funksjoner, som sammenligning av data fra de registrerte bildene mot en biometrisk database. Et annet eksempel er registrering av fotgjengere i førerassistansesystemer som må anvende avanserte høyhastighetsalgoritmer for å skille fotgjengere fra andre objekter, som trafikkskilt eller parkerte kjøretøy.

Produksjonsautomatisering
Når det gjelder produksjonsautomatisering, bruker utstyr som f.eks. samlebåndsutstyr eller næringsmiddelsystemer sofistikerte bildegjenkjenningsalgoritmer for å undersøke produserte artikler i høy hastighet, eller til å sortere artikler som innhøstede epler etter størrelse, hvor pene de er eller om de har feil. Også i sikkerhetssystemer har man begynt å bruke teknologier for smart tilkobling for å muliggjøre større fleksibilitet og bedre beskyttelse for fabrikkarbeidere. Eksempler inkluderer virtuelle sikkerhetsbarrierer som implementeres ved å bruke ett eller flere videokameraer til å overvåke området rundt maskinene, eller andre farer som det kan være vanskelig å beskytte seg mot i tilstrekkelig grad med fysiske barrierer. Et virtuelt system kan tillate ubegrenset bevegelse for robotutstyr for eksempel, men er likevel i stand til å utstede en advarsel og i verste fall slå av maskinen hvis grensene overtredes av en operatør.

 

Figur 1. SoC-kretsen er i stand til å implementere signalprosessering for å hente inn bildedata fra en kamerasensor, og kan støtte en lang rekke I/O-signaler for å ivareta ulike krav til kamerakonnektivitet. (Klikk for større bilde)

FPGA i sanntidssystemer
I slike tilfeller kreves vanligvis respons i sanntid, men det blir stadig vanskeligere å oppnå dette ved å bruke en konvensjonell sentralisert og programvarebasert tilnærming til bildehandling. Det har i lengre tid vært vanlig for de som utformer høy-ytelses innvevde systemer – særlig sanntidssystemer – å bruke FPGAer til å akselerere funksjoner som ikke kan utføres raskt nok i hovedprosessoren eller DSP. Det er også verdt å merke seg at sikkerhetskritiske systemer er betydelig enklere å validere når de implementeres i maskinvare, slik at utviklerne kan unngå tidkrevende testing av sikkerhetskritisk programvare.

Økende trend
Etter hvert som kravene til systemytelse har økt, har denne trenden blitt progressivt mer avansert og befestet. Kravene til ytelse i enkelte applikasjoner øker imidlertid nå i den grad at de overgår begrensningene til forbindelser med korthastighet mellom separate prosessorer og FPGAer. I tillegg dukker det stadig opp nye behov for små og lette enheter, som mekatronikksystemer eller videokameraer som brukes til skjult overvåkning, kranmontert maskinsyn og bilapplikasjoner. Dette fører til at systemdesignere er under kontinuerlig press for å oppnå bedre maskinvareintegrering og miniatyrisering.

En annen viktig faktor er det konstante behovet for å tilpasse seg for å holde tritt med standarder i endring og for støtte kontinuerlig utvikling av vellykkede produkter, samtidig som designerne jobber for å integrere nye, raskere og bedre funksjoner.

Forbedrer resultater og integrasjon
Enkelte standard integrerte kretser er tilgjengelige, spesielt innen digital bildebehandling, som integrerer ARM-basert styreprosessering med en DSP eller GPU (grafisk prosessorenhet). Noen ulemper med disse enhetene kan inkludere en overdrevent rigid prosesseringsarkitektur og begrensede eller ikke-fleksible I/O-ressurser. Prosesseringsytelsen kan være utilstrekkelig ettersom sluttbrukermarkedene stadig krever systemer med mer sofistikerte funksjoner og raskere respons. Disse begrensningene kan også begrense produktutvikling i fremtiden ved å hindre implementering av nye funksjoner eller oppgraderinger i ytelsen uten betydelig redesign av maskinvaren, for eksempel å legge til en ekstra, frittstående FPGA.

SoC FPGA
Zynq-7000 «All Programmable» System on Chip (SoC) regnes som den første komponenten som integrerer en ARM Cortex-A9 MPCore-prosessor med dobbel kjerne i tillegg til programmerbar logikk og viktige periferkretser på én enkelt brikke. Det finnes også en omfattende støtteinfrastruktur med verktøy og IP som gjør det mulig for systemutviklere å lage funksjoner som skiller seg ut, og raskt levere nyskapninger til markedet. Denne infrastrukturen inkluderer Vivado HLS (High-Level Synthesis) Design Suite, IP Integrator-verktøy, OpenCV (computer vision)-bibliotek, SmartCORE IP, og spesialiserte utviklingssett. (Artikkelen fortsetter under figuren)

 

Figur 2. Den såkalte “All Programmable SoC” leverer en fleksibel arkitektur som skal muliggjøre prosessering av komplekse funksjoner i maskinvare for optimal ytelse. (Klikk for større bilde)

Eliminerer flaskehalser
Kombinasjonen av en ARM applikasjonsprosessor, programmerbar logikk samt konfigurerbare DSP-ressurser og periferi som fleksible I/O-er som kan støtte en lang rekke industristandard protokoller med datahastigheter på opptil flere gigabits/s, gjør at Zynq-7000 All Programmable-arkitekturen eliminerer flaskehalsene som opptrer mellom vanlige diskrete prosessorer, FPGA-er og I/O-transceivere. Med over 3000 innebygde forbindelser mellom prosessor og logikk kan utviklerne løse begrensningsproblemene knyttet til forbindelser med konvensjonelle korthastigheter, ved å utveksle data ved silisiumhastighet.

Videobehandling
Zynq SoC utgjør en perfekt arkitektur for å huse smarte, tilkoplede applikasjoner, særlig i tilfeller der det er behov for kraftig, sanntids videobehandling. Som vist i figur 1 er SoC i stand til å implementere signalprosessering for å hente inn bildedata fra en kamerasensor, og kan støtte en lang rekke I/O-signaler for å ivareta ulike krav til kamerakonnektivitet. Etterfølgende prosessering på pikselnivå eller videoprosessering, etterfulgt av prosesseringsintensiv analyse basert på parallellprosesseringsegenskapene til FPGA-logikken, utføres også på brikken. Zynq-enheten kan også utføre etterbehandling av de analytiske dataene, utføre eventuell grafikkprosessering, og til slutt kode de resulterende signalene for overføring

Krav til fleksibilitet
Zynq SoC’s ARM-applikasjonsprosessor og FPGA-logikken jobber sammen. Komplekse algoritmer kan implementeres i FPGA-logikken, for eksempel slik det vises i figur 2, for å akselerere eksekvering og avlaste applikasjonsprosessoren, og dermed bidra til å møte kravene til systemytelse. For å kunne kople systemet til en sentralisert kontroller eller skjerm, gjør Zynq SoCs programmerbare I/O utviklerne i stand til å rette seg mot et stort antall markedsspesifikke eller industristandard kommunikasjonsprotokoller og videooverføringsstandarder. Proprietære standarder kan også støttes. Ved å tilby fleksibilitet for å tilpasse og optimalisere prosesseringsressursene skiller Zynq SoC seg fra vanlige DSP- eller GPU-baserte ICer, som kanskje ikke leverer tilstrekkelig prosesseringsytelse til å utføre alle de nødvendige algoritmene innenfor antall tilgjengelige sykluser. Det kan være behov for en ekstra frittstående FPGA til å støtte en slik komponent.

Raskere programutvikling
For å hjelpe utviklerne med å dra full nytte av de fleksible, konfigurerbare ressursene i Zynq-komponenten, forenkler designpakken Vivado HLS oppgaver som partisjonering av maskinvare og programvare betydelig, slik at oppgavene raskt kan omfordeles hvis de anses å begrense ytelsen. Vivado HLS er særlig godt egnet for innvevde bildebehandlingsapplikasjoner (embedded vision), og er utformet for å være lett å bruke for utviklere vant til å jobbe med bildealgoritmer skrevet i C og C++. Hvis en algoritme eksekveres for sakte eller overbelaster programprosessoren, tillater Vivado HLS utviklerne å syntetisere algoritmen i Verilog eller VHDL, for å kjøre den i SoCs FPGA-logikk. Dette eliminerer eventuelle behov for å konvertere C eller C++ manuelt til en tilsvarende HDL-kode, noe som kan føre til betydelig mer tidsbruk på utvikling og økt designrisiko for prosjektet. I tillegg til å unngå denne risikoen kan utviklerne dra fordel av Vivado HLS for å justere ulemper når det gjelder prosessor kontra logikk svært raskt på systemnivå, og deretter kjøre det reviderte designet umiddelbart i Zynq SoC for å sikre optimal systemytelse for den tiltenkte applikasjonen.

Innvevd bildebehandling
Utviklingsinfrastrukturen for Zynq SoC ivaretar ytterligere støtte for innvevde bildebehandlingsapplikasjoner ved at den nå også omfatter det industristandard, åpne algoritmebiblioteket OpenCV, noe som også akselererer design av bildebehandlingssystemene. OpenCV-biblioteket utvides kontinuerlig, og det inneholder nå mer enn 2500 algoritmer skrevet i C, C++, Java og Python, alt sammen bidrag fra utviklersamfunnet innen åpen kildekode. Disse inkluderer alt fra enkle funksjoner som bildefiltre til avanserte analysefunksjoner, som bevegelsesdeteksjon. Vivado HLS gjør det videre mulig for utviklere som bruker Zynq SoC å syntetisere eller kompilere disse algoritmene til en RTL-kode som er optimalisert for implementering i SoCs FPGA-logikk.

Xilinx har også utviklet et sett med intellektuell eiendom, SmartCORE IP, som gir tilgang til IP for innvevd bildebehandling som møter behovet i mange markedssegmenter. Utviklere kan raskt implementere SmartCORE IP-kjerner og -algoritmer fra OpenCV-biblioteket i et innvevd bildebehandlingsprosjekt ved å bruke Xilinx IP Integrator, et bruksklart verktøy som støtter både skjematisk tilnærming og kommandolinjemiljø.

Konklusjon
Dagens smartere, nettverkskoplede systemer flytter grensene for innvevd ytelse, særlig når det gjelder applikasjoner som involverer behandling av bilder med flere kameraer, og videoanalyser. Siden applikasjoner som disse avdekker begrensningene i programvarebaserte prosesseringsarkitekturer og løsninger som tilbyr faste maskinvareressurser ikke er i stand til å levere tilstrekkelig fleksibilitet til å innfri nåværende eller fremtidige krav, kan en helprogrammerbar SoC som kombinerer industristandard ARM-basert prosessering med konfigurerbare maskinvareressurser, inkludert parallelle prosesseringsressurser og konfigurererbare I/O, levere ytelsen, integrasjonen og den fremtidssikre fleksibiliteten som utviklerne trenger.

Powered by Labrador CMS