Ako vam je potreban pouzdan i energetski efikasan procesor, sa mnoštvom periferija, NXP i.MX 8M je pravi izbor. Voipac i.MX 8M Development Kit je u tom slučaju sve što vam je potrebno da vaš proizvod sagradite oko NXP i.MX 8M procesora na modulu sa memorijom, eMMC-om i Wi-Fi/Bluetooth vezom.
Reputacija NXP Semiconductors procesora je danas nesporna. To su procesori visokih performansi upotrebljenih jezgara, dugog radnog veka, koji su sposobni da ispune rigorozne zahteve industrijskog okruženja. Dok drugi proizvođači čipova osvajaju tržište modelima nudeći u njima koktel performansi, naprednih tehnologija i pristupačne cene, sve sa ciljem da pouzdanost uklone iz fokusa kupca. U mejkerskom i korisničkom segmentu to se može opravdati, ali u industrijskim aplikacijama svaki kompromis u ovom smislu je nedopustiv. NXP i.MX 8M je SoC koji definitivno nije građen kako bi zavodio sjajem na uštrb kvaliteta i pouzdanosti.
Da bi se dodatno istakle ove vrednosti, NXP koga je 2018. kupio Qualcomm baš u godini kada je i predstavio i.MX 8M, označava ovu seriju procesora EdgeLock® Assurance natpisom. Po njihovim rečima to znači da je svaki ovakav proizvod napravljen i dizajniran da ispuni industrijske bezbedonosne norme (kao što su ISO 27001, ISO/SAE 21434 i IEC 62443) i podržan je od svih NXP partnera proizvodima u okviru istih standarda, uz dodatni cilj zaštite privatnosti i odgovornom pristupu obradi podataka korisnika.
Hardver i.MX 8M Modula i benčmarci
Procesni deo NXP i.MX 8M aplikativnih procesora oslanjaju se na dva kompleksa jezgara. Prvi glavni CPU kompleks se sastoji od dva ili četiri ARM Cortex-A53 jezgra, sa dodatnom ARM NEON ekstenzijom i FPU jedinicom. U modelu i.MX 8M Quad i QuadLite prisutna su četiri jezgra koja rade na 1,5 GHz, dok je i.MX 8M Dual realizovan sa dva ARM Cortex-A53 jezgra. I L1 i L2 keš u ovom kompleksu imaju 62-bitnu ECC enkripciju/dekripciju, što smo samo jednom sreli u našoj recenziji Geniatech XPI-3568 Industrial sa RK3568J verzijom SoC-a.
Drugi kompleks jezgara čine bezbedonosna jegra male potrošnje (security, low-power) i u svim ovim modelima ovaj deo je realizovan sa jednim ARM Cortex-M4F jezgrom koje radi na 266 MHz. Ovo jezgro realizuje real-time kontrolu i eliminiše potrebu za dodatnim eksternim mikrokontrolerom, što je čest zahtev u industrijskoj primeni. ARM Cortex-M4F pored I i D keša ima i 256 kB TCM (Tightly-Coupled Memory) memorije, neophodne za pravilno izvršavanje esencijalnih rutina i interapt hendlera u tačno definisanom vremenskom okviru bez neodređenosti koju unosi klasičan keš. Ovu memoriju smo do sada u SoC-evima na recenzijama sreli samo kod SpacemiT® Key Stone™ K1 RISC-V SoC-a u Banana Pi BPi-F3 modelu koji pokušava da pogodi isti segment primene ali sa RISC-V arhitekturom.
Velika razlika kod pomenute tri varijante i.MX 8M procesora, a time i razlike između Max, Pro i Basic Voipac i.MX 8M modula je u grafičkom delu, gde Quad (Max) i Dual (Basic) imaju hardversku akceleraciju prikaza 4K video signala pri 60 Hz uz pomoć svog VPU-a serije GC7000, dok QuadLite (Pro) nema hardverske, već se mora oslanjati na softverske video dekodere.
Razlog zašto su ovi SoC-evi često primenjivan kod realizacije kućnih i profesionalnih muzičkih sistema je u prisustvu pet serijskih audio interfejsa (SAI) koji mogu podržavati: I2S, AC97, TDM i codec/DSP. Svi SAI su full-duplex, sa tim da su tri dvokanalna, jedan osmokanalan i jedan šesnaestokanalan. Svaki od kanala može biti 32-bit / 384 kHz. Postoje i naprednije verzije u ovoj seriji procesora koji imaju dodatnu podršku za Dolby, ali taj procesor nije ni na jednom Voipac modulu.
Pre nego nastavimo opis hardvera, jedna napomena o softveru. Voipac je na svom GitHub-u dao sve što je potrebno za „building“ Yocto 3.1 Dunfell imidža za ovaj razvojni sistem, osim adekvatnog objašnjenja korišćenja grafičkog procesora, što zameramo. Na jednom mestu u dokumentaciji oni su pomenuli da je ovo sistem namenjen za iskusnije inženjere. Zaista potvrđujemo da je potrebno specijalizovanije znanje nego što većina mejkera, posebno onih koji se drže main stream platformi, poseduje. Ako ste u toj grupi, na početku će vam delovati da vas je Voipac tim ostavio „na suvom“. Kako se budete upoznavali sa Yocto build workflow-om, biće vam sve jasnije da je sve što vam treba upravo i dato. U ovom tekstu, jer mu to nije namena, nećemo ulaziti u ove developer tehnikalije, ali nam je bitno da znate da ukoliko vam deluje nerešivo, nije problem do Voipac-a, već u vašem dvorištu. Sve dalje observacije u vezi performansi i podrške bazirane su na Yocto imidžu koji smo sami izgradili i prilagođavali koristeći materijal i uputstva sa Voipac sajta. Posebno obratite pažnju na pomalo skrivenu stranu: iMX8M Industrial Accessing and Testing Peripherals.
Za „build“ Yocto imidža potrebno je preuzeti fajlove sa GitHub-a i ispratiti uputstva. Iako je preporučen Ubuntu 18.04 i 20.04 mi smo koristili Pop! OS 22.04 LTS na Youyeetoo X1 SBC-u koga pokreće Intel Celeron N5105 sa 8 GB RAM-a. Inicijalni „build“ je trajao oko tri sata, dok su kasnija dodavanja potrebnih aplikacija bila veoma brza. Za početak preporučujemo da u /build-voipac/conf/local.conf dodate red
IMAGE_INSTALL_append = “ sysbench tinymembench make git perl perl-modules packagegroup-core-buildessential python3 python3-pip hdparm“
Što će vam umnogome olakšati rad, pa ćete moći sami da kompajlirate različite aplikacije, kao što smo mi to uradili sa unixbench-om, s-tui-em ili neofetch-om.
Naš i.MX 8M Industrial Modul, koji smo zajedno sa i.MX razvojnom pločom dobili od kompanije Voipac za potrebe ove recenzije je sa NXP i.MX 8M Quad procesorom i na njemu je i 32 GB eMMC-a i 4 GB 32-bitnog LPDDR4 3733 (1.866 GHz) RAM-a. Rezultati Sysbench RAM i tinymembench testova pokazali su da je LPDDR4 3733 u NXP-u pčekivano brži od LPDDR4 3200 u Raspberry Pi 4, ali sporiji od onoga u Rockchip RK3288 modelu. Opravdanje se samo nameće kada znamo da i.MX 8M ima uključen ECC koji po pravilu usporava rad sa memorijom, ali ga u isto vreme garantuje integritet podataka. U industrijskoj primeni, ova trgovina između brzine i bezbednosti je uvek opravdana.
Kao što smo rekli, u ovom SoC-u se nalaze ARM Cortex-A53 jezgra koja sa stanovišta današnjih SBC računara spadaju u prethodnu generaciju energetski štedljivih jezgara. Znamo da je u ovom trenutku aktuelan dublet: ARM Cortex-A76 kao performans i ARM Cortex-A55 kao energetski efikasna jezgara. Njega, recimo, srećemo u Broadcom BCM2712 u Raspberry Pi 5 modelu ili kod Rockchip RK3588 u Orange Pi 5 pro. Po dosadašnjim testovima performansi znamo da su ona oko 25% brža od starog dubleta ARM Cortex-A72 i ARM-CortexA53 koji se može naći u Rockchip RK3399 u Pine64 ROCKpro64 SBC-u. Popularni Rockchip pandan NXP i.M8 MX čipu je je Rockchip RK3328 kojeg smo videli u Libre Computer Renegade ROC-RK3328-CC i čije rezultate na testovima performansi ćemo koristiti za poređenje.
Sysbench CPU nam je pokazao uporedne sposobnosti procesora i očekivanu prednost ARM Cortex-A55 jezgara u Raspberry Pi 4 modelu za 25% u odnosu na ARm Cortex-A53 jezgra u NXP i.MX 8M-u, ali i značajnu prednost NXP SoC-a u odnosu na Rockchip RK3328 koji ima identična jezgra. Jasno je da je NXP izvukao maksimum performansi iz svog procesora.
i.MX 8M ima ugrađene hardverske akceleratore za enkripciju, poput svih Rockchip SoC-eva i novog Raspberry Pi 5 modela. U poređenju sa Raspberry Pi 4 koji ih nema, očekivano odnosi pobedu. Bolji je i od Rockchip predstavnika. Kako svi Rockchip procesori RK3xxx serija imaju identičan hardverski enkriptor, čija je brzina vezana samo za takt, možemo primetiti da je onaj u i.MX 8M za „dlaku“ bolje realizovan.
Unixbench iako zastareo pokazao je veoma interesantne podatke vezane za uporedne performanse ovih sistema. Razlika između SoC-eva sa ARM Cortex-A55 jezgrima i NXP SoC sa ARM Cortex-A53 i nije toliko velika, dok NXP u svim segmentima pobeđuje Rockchip na istim jezgrima i sa istim taktom. Opet se potvrđuju podaci sa početka testiranja, da je NXP omogućio svojim dizajnom i softverskom podrškom hardveru maksimalnu iskoristivost snage hardvera.
Geekbench testovi, stariji u verziji 5 i noviji, koji više obraća pažnju na višejezgarne karakteristike procesora, u verziji 6 pokazali su da opšte performanse sistema izgrađenog na i.MX 8M Max SoC-u ne zaostaju mnogo za Raspberry Pi 4 modelom, ali da su značajno ispred standardnih Rockchip rešenja sa istim jezgrima. Nova ARM Cortex-A76 jezgra u Raspberry Pi 5 su jedna klasa performansi iznad i nema ih smisla porediti.
Svi prikazani rezultati odnose se na SoC i memoriju koji se nalaze na našem i.MX 8M Max modulu. Modul se isporučuje odvojeno od razvojne ploče i pažljivo je spakovan u posebnoj kutiji. Sa pločom se spaja preko tri 100 pinska konektora. U kompletu se dobijaju i dodatni konektori, pasivni hladnjak, termalni pedovi i visoko-kvalitetna termalna pasta. Pasivni hladnjak se sa dva zavrtnja preko opruga pričvršćuje na predviđemo mesto. Efikasnost procesora, odnosno opravdanost upotrebe pasivnog hladnjaka potvrdili smo stress testom, koji ni nakon 25 minuta nije zagrejao procesor preko 49 ºC. Ovu temperaturu je postigao nakon 5 minuta rada, pri temperaturi okruženja od 24 ºC. Radna temperatura procesora pri niskim aplikativnim zahtevima je oko 33 ºC u istim radnim uslovima. Napominjemo da na razvojnoj ploči postoji dvopinski konektor za ventilator, ukoliko postoji potreba za dodatnim hlađenjem. Garantovani radni temperaturni opseg ovog industrijskog procesora je -20 ºC do 85 ºC, dok u njemu postoji temperaturni senzor koji prati temperaturu procesora u punom industrijskom opsegu -40 °C to 105 °C sa tačnošću od 3 °C, te će pri premašivanju garantovanog okvira procesor automatski trotlovati.
Na modulu je i Azure Wave AW-CM276NF IEEE 802.11 2×2 MU-MIMO 2.4/5 GHz Wi-Fi + Bluetooth 5.0 LE modul. Kanali, svaki sa svojom antenom, u ovom modulu su realizovani dupleksiranjem kao što je i uobičajeno. Na prvom Main izlazu su dupleksirani 5 i 2.4 GHz signali, a kroz drugi označen sa Aux su 5 GHz i deljeni 2.4 GHz Wi-Fi/Bluetooth LE. Dati Yocto imidž, iako su drajveri tu, neće sam pokrenuti Wi-Fi/BT, već će mrežnu komunikaciju bazirati na Ethernet-u. Ako želite da pokrenete Wi-Fi standardno u /etc/wpa_supplicant.conf dodajte generalije svoje Wi-Fi mreže i startujte wpa_supplicant sa wpa_supplicant -i wlp1s0 -c/etc/wpa_supplicant.conf
Hardver ploče Voipac i.MX Development board
Koncept modula i razvojne ploče je široko prihvaćen u industriji i donosi mnoge benefite kod izrade embedovanih sistema, koji se u konačnici iskazuju uštedom. Dodatno je interesantno da je ovo i.MX razvojna ploča, što nam je promaklo kada smo je pre skoro godinu dana dobili. Promaklo nam je, jer nije bilo drugih Voipac modula osim i.MX 8M. Sada postoje i Voipac moduli sa i.MX 91 i i.MX 93 SoC-evima i ono što je odlično je da im odgovara ista i.MX razvojna ploča.
A ploča je zaista remek delo dostupnih „portova“. Sve što je Voipac tim mogao da smisli oni su realizovali i gusto spakovali, ali i jasno označili. Imali smo u rukama ploče pandane za druge ARM procesore i uvek je to bio neki izbor najstandardnijih portova, kao da je želja pre bila da se razvojni sistem približi SBC-u (podvarjanta Raspberry Pi layout) nego da se korisniku da što više različitih mogućnosti povezivanja. Po pravilu značajan deo onoga šta sve može da preko svojih konektora podrži SoC na takvim pločama ostaje neimplementiran. Tu su uvek HDMI, USB, Ethernet, UART, MIPI CSI/DSI, 40 pinski GPIO, ponekad audio izlaz, DP konektor, M.2. Tu se negde završava spisak.
Ukazaćemo na neke primere na ovoj razvojnoj ploči. Za procesor koji ima veoma snažnu podršku za audio, logično je da su posebno izvedeni Line, mikrofonski i izlaz za slušalice, sa tim da na ploči imamo još dva minijaturna digitalna mikrofona. Dodatni audio imamo i kroz HDMI 2.0a izlaz na ploči.
Jedan od zanimljivih detalja bi moglo biti i prisustvo pet dugmadi u obliku krsta, vrlo zgodnih za razvoj konzolnih aplikacija.
Tu su i dva CSI konektora, sasvim različitih specifikacija, HDMI 2.0a port, Display port, dva različita konektora za Touch signal za ekrane osetljive na dodir. Inicijalni Yocto dolazi sa podrškom za HDMI, ako želite Display port, potrebno je koristiti drugi imx-boot kada se kreira imidž uuu komandom. Yocto inače dolazi sa xWayland-om koji bi trebao da bude prelazno rešenje u ovom trenutku i da pokreće i Wayland, ali i starije X11 aplikacije.
LVDS konektori služe za povezivanje displeja, a konkretno KOE konektor je namenjen za vezu sa Voipac 7″ kapacitivnim TFT tač Full-HD (1920 x 1080) ekranom sa proširenim temepraturnim radnim opsegom -20 °C do +70 °C idealnim za termalno zahtevna industrijska okruženja. Cena ovog displeja je 425 eura.
Na Ethernet port se sa procesora dovodi 100 Mbps, odnosno 1 Gbps signal u zavisnosti od potrebe. Mi smo potvrdili mogućnost prenosa iperf3 aplikacijom i dobili maksimalnu brzinu preuzimanja od 924 Mbps, dok je u bidirekcionom modu ona iznosila 878/627 Mbps.
Za napajanje ploče (5 V, 8 A) može se koristiti klema za dvožilni napojni kabal ili crni džek za napajanje. Prekidač koji se nalazi između njih određuje koji od izvora se koristi. Postoji samo jedan slučaj kada se ne koristi ni jedno od ta dva napajanja – prilikom flešovanja OS-a na SD karticu ili eMMC. Tada se ploča povezuje sa računarom preko dva USB kabla. Jednim USB-C i jednim micro USB koji se nalaze na suprotnoj ivici ploče u odnosu na ovaj prekidač.
Primetite iz ovog napisanog da se SD kartica flešuje ubačena u SD slot sa donje strane razvojne ploče, a ne, kao što smo obično navikli dok SBC-ova u čitaču SD kartica. Za flešovanje se koristi uuu softver i dva imidža koja ćete naći nakon Yocro „builda“ u direktorijumu /build-voipac/tmp/deploy/images/imx8mq-voipac/. Prvi je imx-boot, a drugi je voipac-image-imx8mq-voipac.wic koji će nakon „build“-a biti gzipovan. Pre flešovanja potrebno ga je ungzipovati. Komanda koja se koristi za flešovanje na SD karticu je:
uuu -b sd_all imx-boot voipac-image-imx8mq-voipac.wic
i pokreće se iz pomenutog direktorijuma. Analogno komanda za flešovanje na eMMC se samo razlikuje time što se sd_all zamenjuje sa emmc_all.
NAPOMENA: Nemojte da zaboravite da pravilno postavite S2 BOOT i S3 BOOT DIP prekidače za podizanje sistema sa SD ili eMMC-a. Takođe pazite na S1 BOOT DIP prekidač koji ploču prebacuje iz flash u radni mod. Uputstvo sa slikama dato je u pdf-u na sajtu u delu sa dokumentacijom.
Sa donje strane ploče nalaze se, pored ležišta za SD karticu, i PCIe MINI i M.2 Key B portovi sa ležištima za micro SIM kartice u slučaju da se oni koriste za dodatne 4G/LTE celularne modeme.
Pomenuti USB-C kao i dva USB-A konektora, koji mogu raditi u 3.0 i 2.0 režimu, jer SoC podržava oba se mogu koristiti za povezivanje periferija ili eksternih diskova. Brzine čitanja koje smo postigli kroz ove portove su 91.54 MB/s za USB-A, 102,39 za USB-C prilikom čitanja sa spoljih diskova. Uporedili smo i performanse eMMC-a i SD kartice i dobili da je brzina čitanja sa SD kartice 71.00 MB/s, a sa ugrađenog eMMC-a 172.88 MB/s.
Donja strana ploče sem pomenuta dva porta ima samo još nosač za CD2032 RTC bateriju i veči broj oznaka konektora koji se nalaze sa druge strane ploče, ali nije bilo prostora da se pravilno označe. Sve u svemu, veoma uredno, jasno, dobro obeleženo i izuzetno kvalitetno izrađena razvojna ploča za Voipac i.MX module.
Zaključak
Kontrola klimatizacije u automobilskoj i opštoj industriji, HMI interfejsi, upravljanje osvetljenjem ili bezbedonosni sistemi, uređaji za automatizaciju pametnih zgrada su samo neke od primena ovog NXP i.MX 8M SoC-a. Zbog svoje energetske efikasnosti, odličan je i izbor za prenosne uređaje.
Mnoštvo konektora različitih standarda, čak i za istu namenu je odličan pristup koji će svaki developer pohvaliti. Moduli sa cenom od 568 / 520 / 477 evra za Max / Pro / Basic komplete koga čini i.MX Development board i odgovarajući i.MX 8M modul mogu delovati malo iznad očekivanog, međutim kada se sagleda količina hardvera, jasno je da je ovo odlično odmerena vrednost. Mogućnost korišćenja novih i.MX 91 i i.MX 93 modula sa ARM Cortex-A55 jezgrima je generacijski iskorak i svakako veoma interesatna mogućnost.
i.MX 8M moduli se naravno mogu kupovati i odvojeno i cena pri komadnoj kupovini je 174 / 126 / 83 Euro za Max / Pro / Basic. Ona opada sa brojem kupljenih komada, pa za serijsku kupovinu od 1K komada ona se spušta čak na 119 / 89 / 59 što je veoma prihvatljivo ukoliko planirate nabavku za sopstveni proizvod. Za kraj mogli bi da zaključimo: industrijski standardi Voipac i.MX 8M Industrial Development kit-a su ono što većina mejkerskih razvojnih sistema i SBC-eva jednog dana planira da postane.