embedded

Linux embedded a FPGA

Veľa krát stojí vývojar pred otázkou ako pokryť požiadavky, ktoré možu byť aj protichodné.Napríklad keď nikto požaduje zariadenie ktoré ma byť konfigurovateľné a prenositeľné na rôzny hardwér, komunikovať zo svetom a ešte robiť aj veľmi rýchle a výpočtovo náročne operácie. Príkladom može byť riadenie niekoľko osého stroja osadeného servami alebo systémi na rozpoznávanie tvarov a analýzu procesov prípadne ich riadenie.

Na takéto požiadavky sa vačšinou navrhujú kombinácie procesora (na ktorom beží OS) a FPGA pre spracovanie dát alebo operácie s dátami. Najväčsím problémom vačšinou býva ako zabezpečiť čo navyššiu dátovú priepustnosť a najmenšiu latenciu systému, regulačnej slučky.

FPGA obvody vedia pracovať veľmi rýchlo, ale keď sa majú vypočítane hodnoty alebo dáta preniesť do procesora, tak niekedy ani DMA prenos nestíha.

Našiel som veľmi zaujímavý embedded projekt, od jednej start up firmičky, ktorý sa volá snickerdoodle.

Využíva programovateľný SoC od firmy Xilinx – Zynq-7020 . Je to veľmi zaujímavý obvod ktorý ma 1 alebo 2 jadrový ARM Cortex-A9 procesor  a FPGA s 6.6M bunkami. Procesor a FPGA su prepojené AMBA  zbernicou, a dosahujú  dátovú prieputnosť od 6.25Gb/s do 12.5Gb/s.

Neon architektúra dovoľuje vykonávať paralelné výpočty, takže výpočtový výkon je neporovnateľný s bežnými embedded zariadeniami. Cena kitu nie je vysoká, takže aj kutil si može dovoliť zariadenie s obvodmi ktoré boli používane pre aplikácie vyžadujúce obrovský výpočtový výkon. Určite je výhodou aj rekonfigurovateľnosť FPGA obvodov, jedna doska može podporovať rôzne rozhrania bez zmien na hw úrovní, ktoré su vačšinou tie najdrahšie vo vývojí zariadení.

Pre komerčné použitie je doležité zabezpečiť zariadenie voči neoprávnenemu prístupu, čítaniu dát. Obvod, a aj vývojove prostredie (ktoré je zdarma) priamo podporuju kryptované partíciea, takže výrobca je chránení voči priemyselnej špionáži.

 

Viac info nájdete v knihe o Zynq architektúre.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

four × two =