Älypuhelinten kamerapiirit piirit ovat edullisia ja vähävirtaisia. Sen takia niillä voidaan toteuttaa hyvin erilaisia akkukäyttöisiä kamerasovelluksia. Lämpökameroiden ja intervallikuvauskameroiden toteutus onnistuu vähävirtaisten FPGA-piirien avulla.
Artikkelin kirjoittaja Ted Marena toimii Microsemillä FPGA- ja SOC-tuotteiden markkinointijohtajana. Hänellä on yli 20 vuoden kokemus FPGA-piireistä. Hän on aiemmin työskennellyt suunnittelussa, teknisessä myynnissä, liiketoiminnan kehityksessä ja tuotemarkkinoinnissa. Vuonna 2014 hänet palkittiin vuoden innovaattorin palkinnolla, kun hän työskenteli Lattice Semiconductorilla. Tedillä on elektroniikkainsinööriin tutkinto Connecticutin yliopistosta ja MBA-tutkinto Bentley Collegesta. |
Paristovoimaisten laitteiden liikuteltavuus kasvaa kaikilla aloilla. Kun älypuhelimia on kaikkialla, ihmiset ympäri maailman odottavat liikuteltavuudelta yhä enemmän.
Älypuhelinten piirisarjat ovat edullisia ja vähävirtaisia. Tämän takia yhä useampaan laitteeseen integroidaan sovellusprosessoreja, langattomia modeemeja, kameroita ja näyttöjä. Erityisesti kamerat ja näytöt ovat tulleet nopeasti laajaan valikoimaan laitteita. Näiden laitteiden suunnitteluun tulee kuitenkin haasteita, kun niissä mennään kauemmaksi älypuhelinspesifeistä arkkitehtuureista.
Yksi haaste on kameran tai näytön liitäntä prosessorille, joka ei ole sovellusprosessori. Toinen ongelma on se, ettei ainutlaatuisia oheislaitteita, kuten lämpökamera-antureita tai viivakoodin lukimia ole älypuhelimissa. Tämä on ongelma niiden suunnittelijoiden kannalta, jotka haluavat hyödyntää älypuhelinpiirisarjoja. Kysymys kuuluu, kuinka näihin haasteisiin pitäisi suhtautua?
Tunne arkkitehtuurisi
Ymmärtääkseen, mistä suunnitteluhaasteet alkavat, täytyy tuntea älypuhelimien ja tablettien avainkomponentit (kuva 1). Alustan suuria volyymejä voidaan hyödyntää muissa sovelluksissa. Mutta miksi älypuhelinpiirejä käytetään niin laajasti muissa tuotteitta? Älypuhelinpiiri on monelle looginen lähtökohta, koska sen arkkitehtuurissa on monia ominaisuuksia - alhainen tehokulutus, aggressiivinen hinnoittelu - joita tarvitaan valtaosassa kannettavia laitteita niin lääketieteessä, teollisuudessa kuin muillakin markkinoilla.
Kuva 1. MIPI Alliancen mobiilijärjestelmän kaavakuva.
Kuten kuvasta nähdään, järjestelmän ydin on sovellusprosessori. Se on vähävirtainen, erittäin suorituskykyinen ja se tukee useita yleisiä oheislaiteliitäntöjä. Lisäksi useimmista älypuhelimista löytyvät kamera ja näyttö ovat vielä prosessoriakin suositumpia sulautetuissa suunnitteluissa. Erityisesti kuva-anturit ovat hyvin kompakteja, vähävirtaisia ja laadukkaita komponentteja.
Älypuhelinkamera
Älypuhelimen kuva-anturi on usein looginen valinta kannettavaan laitteisiin. Katsotaanpa muutamia tuote-esimerkkejä ja niiden erityisiä haasteita.
Ensiksi ajatellaan kädessä pidettävän teollisuuden lämpökameran suunnittelua. Kuten aiemmin mainittiin, hyvä lähtökohta voi olla sovellusprosessori. Se voi ajaa näyttöä, liittyä langattomiin verkkomodeemeihin ja liittyä sisäiseen tallennusmuistiin, johon kuvia tai videota voidaan tallentaa. Sovellusprosessoria ei voida kuitenkaan suoraan liittää valtaosaan lämpökamera-antureita.
Älypuhelimen kuva-anturissa on toisen polven kamerasarjaliitäntä (MIPI Camera Serial Interface eli MIPI CSI-2), joka sijaitsee sovellusprosessorilla. Lämpökamera-anturi yleensä käyttää rinnakkaista CMOS- tai LVDS-liitäntää. Voitaisiin suunnitella pieni, vähävirtainen FPGA, joka toimisi siltana rinnakkaisen CMOS-väylän ja CSI-2:n välillä, mutta sen pitäisi generoida niin vähän lämpöä, ettei se häiritse lämpökamera-anturia. CSI-2-liitäntää ei lisäksi ole suunniteltu liittymään pikseleihin, jotka lukevat lämpötiloja, kuten lämpökamera-anturi tekee. Sen sijaan sovellusprosessori odottaa dataa väripikseleistä. Tämä edellyttää, että jokin muu laite tekee lämpökameran kuvan prosessoinnin.
Vähävirtainen FPGA-piri voisi olla hyvä valinta, mikäli se kuluttaisi vähän tehoa, generoisi hyvin vähän lämpöä ja voisi liittyä sovellusprosessoriin riittävällä väylänopeudella. Yleisin riittävän nopea prosessoriväylä on PCIe-väylä.
Vähävirtaisen PCIe-väyläisen FPGA-piirin, joka ei tuota lämpökameraa häiritsevää lämpöä, valinta on keskeistä. Hyvä vaihtoehto on flash-pohjainen IGLOO2-piiri, jonka tehokulutus on paljon SRAM-pohjaisia FPGA-piirejä alhaisempi, ei tuota paljon lämpöä ja johon PCIe Gen2 -liitäntä on sisäänrakennettu kovakoodattuna. Lisäksi tämä yksisiruinen FPGA-piiri on pakattu pieneen 11x11-milliseen koteloon.
Tässä sovelluksessa IGLOO2-piiri liittyy lämpökuva-anturiin ja suorittaa vaaditut laskennat (kuva 2). Se muuntaa lämpötiladatan vastaaviksi väreiksi valitulla väriskaalalla, joka voidaan tallentaa piirin flash-muistiin tai sulautettuihin muistilohkoihin. Jokainen linja prosessoidaan ja sen jälkeen muunnetaan lähetettäväksi PCIe-väylän läpi sovellusprosessorille. Kun kuva on vastaanotettu, prosessori ajaa sen näytölle, tallentaa sen paikallismuistiin tai lähettää sen langattomaan modeemiin. FPGA:n ja muiden älypuhelinpiirien yhdistelmällä voidaan toteuttaa kilpailukykyinen lämpökamera teollisuuteen, lääketieteeseen, sekä militaari- ja muille markkinoille.
Kuva 2. Lämpökuvakameran lohkokaavio.
Intervallikuvauskamera
Toinen esimerkki, jota voimme tutkia, on intervallikuvauskamera (time-lapse camera), joka sieppaa hitaasti muuttuvaa sisältöä kerran sekunnissa tai tunnissa, tai jopa kerran päivässä. Kyse on kannettavasta akkukäyttöisestä laitteesta, jonka täytyy kuvata ja tallentaa kuva nopean käynnistymisen ja sammuttamisen välillä säästääkseen tehoa. Kameralla voidaan kuvata kukkien kasvua, auringonlaskua ja valmistuvia rakennuksia. Kuvatun sisällön takia intervallikuvauskameroiden täytyy toimia akuilla jopa useiden kuukausien ajan.
Tässä suunnittelussa looginen valinta on kuva-anturi, joka on alun perin suunniteltu älypuhelimeen. Toisaalta sovellusprosessori ei ole kovin hyvä valinta. Vaikka sovellusprosessorit kuluttavat hyvin vähän virtaa, kun ne eivät ole päällä, toiminnassa ne kuluttavat paljon virtaa. Niillä kestää myös epämääräisen kauan siirtyä erittäin alhaisen tehonkulutuksen tilaan, mikä kuluttaa akkua.
Parempi valinta on vähävirtainen FPGA-piiri, joka käynnistyy välittömästi, jolla on DSP-lohkoja kuvankäsittelyä varten, ja joka voi liittyä kuva-anturin CSI-2-väylään. Lisäksi olisi energiatehokkaampaa käyttää vähävirtaista mikro-ohjainta kuvien tallennukseen ulkoiseen flash-muistiin sekä USB-liitännän hallintaan, kun dataa ladataan PC:lle.
Siksi flash-pohjainen SmartFusion2 SoC FPGA -piiri on tässä erinomainen valinta. Se on vähävirtainen, välittömästi käynnistyvä ja sisältää ARM Cortex-M3-prosessorin, jonka mikro-ohjainalijärjestelmä sisältää USB OTG (on-the-go) -ytimen. SmartFusion2:een on myös sisäänrakennettu DSP-lohkoja, riittävästi logiikkaa, sulautetut muistilohkot, ja sen voi liittää suoraan CSI-2-väylään kuva-anturia varten (ks. kuva 3).
Kuva 3. Intervallikuvauskameran lohkokaavio.
Tässä suunnittelussa FPGA-piiri liittyy suoraan kuva-anturiin ja kuvan prosessointi tehdään DSP-lohkojen sulautetussa muistissa sekä FPGA-matriisissa. SmartFusion2 käynnistyy samaan aikaan kun kameraan tulee virta. Ruudut siepataan ja prosessoidaan FPGA:lla ja tallennetaan integroituun flash-muistiin. Kun kaikki tehtävät on suoritettu, kamera ja FPGA-piiri sulkeutuvat nopeasti.
Vaikka useimmat tämän suunnittelun toiminnot voitaisin tehdä SRAM-pohjaisella FPGA-piirillä, tehonkulutus ja käynnistymiseen kuluva aika puhumattakaan akkua rasittavista tehonkulutuspiikeistä tekee SRAM-tekniikasta vähemmän kuin ideaalisen. Flash-pohjaisen SmartFusion2-piirin staattinen tehonkulutus ja kokonaistehonkulutus ovat hyvin alhaisia, mikä on ihanteellista tällaiseen paristokäyttöiseen laitteeseen. Kaiken lisäksi piirille on sisäänrakennettu ARM Cortex-M3- ja USB OTG -ohjain, joiden ansiosta tallennetut kuvat voidaan siirtää PC:lle myöhempää editointia tai katselua varten.
Jatkossa
Liikuteltavuus yleistyy elektroniikkalaitteissa. Vain joitakin älypuhelimesta rtuttuja komponentteja käyttävien suunnittelijoiden kohtaamiin haasteisiin voidaan vastata.
Yksi ratkaisu on hyödyntää vähävirtaisia, flash-pohjaisia FOGA-piirejä ja flash-pohjaisia FPGA-järjestelmäpiirejä. Näillä järjestelmäsuunnittelijoiden käytössä olevilla vaihtoehdoilla voidaan luoda lukuisia laiteyhdistelmiä, joilla saadaan toteutettu optimaalinen kannettava tuote.