Forlinx OK-MX8MPQ-SMARC
Ako planirate sopstveni proizvod koji bi pokretao Smart City, Smart Home, IIoT i Edge aplikacije i potreban vam je ML ili čak AI za prepoznavanje objekata i/ili govora mogli bi da razmislite o ovom razvojnom sistemu za NXP iMX 8M Plus sa compute modulom u SMARC 2.1 standardu.
Pros
- NXP i.MX8M Plus je industrijski rejtovan SoC sa 2.3 TOPS sposobnim NPU kome nije potrebno aktivno hlađenje
- Ponuđena povezivost brojnim konektorima na ploči pokriva praktično sve mogućnosti SoC-a
- Literatura, preinstalirani Yocto imidž i izvorni kodovi za kompilaciju sopstvene prilagođene verzije Linux OS-a sa kernelom 6.1.36 su sasvim dovoljni za razvoj aplikacija, pa čak i za edukativne svrhe višeg nivoa
- SoC modul je u SMARC 2.1 standardu i na sebi pored procesora sadrži RAM, eMMC, Wi-Fi/BLE, pa čak i JTAG konektor.
- Forlinx nudi sopstvene MIPI i LVDS displeje kompatibilne sa ovim razvojnim sistemom
Cons
- Nedostaje nam PCIe mini konektor kao opcija za GSM modem
- Bilo bi zgodno da postoji M.2 M key za potencijalno povezivanje SSD-a ili dodatnog AI modula
- Nigde nismo mogli da pronađemo zvaniču cenu ovog uređaja ili samih modula
Forlinx Embedded pripada grupi visoko profesionalnih industrijski orijentisanih kompanija lociranih u Kini (grad Baoding u pokrajini Hebej) koje nude gotova hardverska razvojna rešenja, pre svega SoM module, SBC i embedovane računare. Iako je na našem tržištu malo poznata, ova kompanija je aktivna od 2007. godine i na svetskoj sceni spada u grupu premijum partnera vodećih proizvođača ARM baziranih SoC-eva poput: NXP Semiconductors, Ti, Rockchip i Allwinner-a. Kako bi predstavili njihove proizvode i skrenuli pažnju našim čitaocima na Forlinx Embedded rešenja, kompanija nam je poslala SBC u formi osnovne ploče i modula (carrier board with SMARC module) baziran na NXP Semiconductors iMX 8M Plus SoC-u. Ovaj model je jedan od najprodavanijih sistema ove kompanije, pa nam je bio pravi izazov da se upoznamo sa njegovim karakteristikama i podrškom koju Forlinx obezbeđuje svojim profesionalnim komintentima. Da ciljnu grupu korisnika čine profesionalci shvatamo već po pakovanju, koje je lišeno bilo kakvog konzjumerskog sjaja.

Iako ne odiše dizajnerskim luksuzom koji bi mamio kupca da posegne za proizvodom na polici prodavnice, ono je inženjerski optimizovano da zaštiti uređaj i minimizuje nepotrebne troškove. Štaviše, nema nikakvog pratećeg uputstva, već je na kutiji odštampan QR kod sa linkom ka stranici proizvođača. U paketu pored glavne ploče, SMARC modula i napajanja, nalaze se i USB kabel i neobičan nosač antena sa dve antene. On se može montirati na glavnu ploču uz pomoć dva data zavrtnja, ali u tom slučaju se gubi mogućnost postavljanja plastičnih nožica-odstojnika koji izdižu ploču od površine radnog stola. Nismo sigurni da je to bila zamisao Forlinx inženjera, već je verovatnije da je ovo tipski nosač antena koji ide uz veći broj različitih ploča ove kompanije.

Suština je, koja se i ovde može uvideti, je u tome da su njihovi proizvodi namenjeni razvojnim timovima koji dizajniraju novi proizvod na izabranoj procesorskoj platformi i pre svega će se koristiti kao alati. Iako se u imenu ovog OK-MX8MPQ-SMARC krije Single Board Computer, ne treba ga posmatrati u svetlu mejkerskih SBC računara poput mainstream modela kompanija Raspberry Pi, Orange Pi, Radxa i sličnih, koji se najčešće koriste kao praktično gotova hardverska rešenja. Bliži je razvojnim sistemi sa modulima (compute module) poput Orange Pi CM5, Radxa CM3 ili Banana Pi W3. Naravno, od modela koje smo do sada upoznali, najsličniji je Voipac i.MX 8M Industrial Development Kit-u, sa time da je Forlinx Embedded ovde koristio tehnički napredniji NXP i.MX 8M Plus SoC.
NXP i.MX 8M Plus SoC ima četiri ARM Cortex-A53 jezgra koja rade na 1.6 GHz i jedno ARM Cortex-M7 jezgro na 700 MHz zaduženo za real time operacije. U poređenju sa najsnažnijim i.MX 8M Quad u pomenutom Voipac i.MX 8M Industrial imamo isti broj jezgara, sa tim da se tamo umesto M7 nalazi jedno M4F. Treba istaći da SoC ima ugrađene hardverske akceleratore enkripcije, a budući da je na višem taktu od Voipac modela, postiže oko 10% bolje rezultate.
Ono što Forlinx modulu daje značajniju prednost je prisustvo 2.3 TOPS NPU jedinice čineći ga idealnim za mašinsko učenje (ML), obradu slika, naprednu multimediju i indstrijske IoT aplikacije. NPU jedinica ima dovoljno snage da omogućava prepoznavanje govora (Deep Speech 2 recimo) i objekata na slikama (ResNet-50). Uređaji namenjeni za realizaciju pametnog doma (smart home/home automation), pametnog grada (smart city) poput nadgledanja saobraćaja i prisustva ljudi, inteligenten kontrole robota ili realizaciju HMI-a u Industriji 4.0, kao i IIoT aplikacije na uređajima za edge computing prave su primene ovog SoC-a.
Generalne performanse ovog sistema merene u Geekbench 5 pokazuju blagu predost nad Voipac modelom, ali je to očekivano sa obzirom na 10% viši takt. Treba istaći da postoji i iMX 8M Plus SoC koji nije u industrijskom, već standardnom izvođenju i njegov takt se može podići na čak 1.8 GHz, što je 20% više od industrijske varijante.
Hardver
SoC modul je realizovan sa 314 pinskim MXM konektorom kao modul dimenzija 52 x 80 mm po SMARC 2.1 standardu, koji se integriše ubacivanjem u predviđeni slot – bilo na glavnoj ploči ovog proizvoda ili u finalnom uređaju za koji se prilagođava. Ideja je da se nakon razvoja softvera na ovoj platformi i nakon toga odgovarajućeg eksternog hardvera, od Forlinx Embedded kupuje samo ovaj SMARC modul, čime se izbegava skupa izrada SoC ploča čiji ja je realizacija zahtevnija.
Na SMARC modulu je pored iMX 8M Plus SoC-a, u našem modelu, i 2 GB 32-bitnog LPDDR4 RAM-a na 2133 MHz i 16 GB eMMC 5.1. Forlinx proizvodi dve verzije SMARC modula: jedan u ovoj kombinaciji 2/16 i drugi jači 4/32 (RAM/eMMC). Na testovima propusni opseg (bandwidth) memorije je 2900 MB/s kod čitanja i 1200 MB/s kod upisa, što je u okviru propisanih vrednosti. Rezultate smo potvrdili i Tinymembench testom.
Na SMARC modulu je i AzureWave AW-CM276NF 2.4/5 GHz Wi-Fi 5 i Bluetooth 5.3 modul koga pokreće Marvell 88W8997 procesor dizajniran sa idejom da radi u sinergiji sa NXP iMX 8M procesorima.
SoC, memoriju i Wi-Fi modul je potrebno hladiti, tako da Forlinx montira pasivni hladnjak preko celog modula. Postoje dodatne rupe sa navojima za zavrtnje za montažu ventilatora koji može biti sa PWM kontrolom GPIO5 pinom, budući da na glavnoj ploči postoji tropinski konektor za njegovo povezivanje. U zahtevnim aplikacijama treba razmisliti o ovom aktivnom hlađenju, koje se može nabaviti od proizvođača, ali ga je lako moguće i samostalno realizovati.
Posebnost ovog sistema čini glavna ploča sa MXM konektorom i mnoštvom I/O konekcija. Ona omogućava povezivanje raznoraznih periferija, praktično svih koje omogućava SoC, i time čini ovaj razvojni sistem univerzalnim. Krenimo redom od napajanja. Ploča se napaja preko 12 VDC, 3 A izvora koje se dobija u kompletu. Uz samu ivicu ploče je barrel konktor kao i On/Off prekidač. Uz njega su i tri tastera: GPIO, PoWeR i ReSeT.

Sistem se može pokrenuti sa SD kartice, SPI ili QSPI Flash-a na osnovnoj ploči, eMMC-a na modulu i preko USB OTG porta. Odluku o tome donosite podešavanjem DIP prekidača u skladu sa tabelom odštampanom na ploči. Na slici ispod vidi se USB 3.0 tip C konektor. Na njega su povezna dva UART kanala preko UART-to-USB kola i njegova namena je da se ostvari serijska komunikacija SoC-a i računara.

Slot za SD karticu je ugnježđen između audio i video portova na ploči, a odmah do nje je i ležište za RTC bateriju. Ugrađeni RTC ima funkciju alarma i tajmera i može se programirati njegovo stanje, dok on može generisati interapt.

Možda nije dovoljno poznato, ali iMX 8M serija je trasirala svoj aplikativni put u audio industriji u toj meri da neke renomirane kompanije koje proizvode uređaje za obradu audio signala koriste upravo njih za svoje najnaprednije audio uređaje. Obradu analognih i digitalnih audio signala jedna od preferiranih aplikacija za ovaj SoC sa dva I2C kanala, pa je i razumljivo izabran Nuvoton-ov NAU88C22 24-bitni full-duplex stereo audio kodek/DSP sa ugrađenim drajverom za zvučnik. On zadovoljava audio kvalitet u proizvodima opšte namene, dok bi za specijalizovane muzičke uređaje namenjene profesionalnoj obradio audio signala, ipak trebalo koristiti značajno kvalitetniji audio hardver. Forlinx je promišljeno na ploči oko ovog kodeka postavio stereo audio 3.5 mm džek sa mikrofonskim ulazom, dodatni digitalni mikrofon i dva konektora za zvučnike (mono i stereo) 1 W/ 8 Ohm.

Ploča je bogata video izlazima kako bi ispratila sve mogućnosti iMX 8M Plus SoC-a koji podržava četiri video izlaza: DSI0, LVDS0, LVDS1 i HDMI, sa time da DSI0 i LVDSI0 izlazi ne mogu raditi istovremeno. Stoga obartite pažnju na crveni prekidač kojim se bira između dva moda: DSI0 i LVDS1. U DSI0 modu DSI0 i LVDS1 prikazuju identičnu sliku, dok u LVDS1 modu imamo tri različite slike – na DSI0, LVDS1 i HDMI izlazima. Maksimalna rezolucija na HDMI izlazu je 3840 x 2160 pri 30 Hz, LVDSx prikazuje 1366 x 768 pri 60 Hz, dok DSI0 daje maksimalno 2560 x 1440. Postoji i mogućnost rada uparenih LVDS0 i LVDS1 u dual modu, kada se svih 4 lane jednog i 4 lane drugog LVDS kanala kombinuju u 8 lane LVDS dual-kanal i time se postiže rezolucija od 1920 x 1080. Za ovu opciju potrebno je prekonfigurisati kernel, a Forlinx je obezbedio odgovarajući device tree fajl. Mi nažalost nismo dobili 7″ MIPI ili 10.1″ LVDS displeje od Forlinx-a kako bi istestirali ovaj rad.

NXP iMX 8M Plus podržava rad dve kamere istovremeno i na ploči su izvedena, shodno tome, dva CSI konektora. CSI interfejsi su 4 lane sa protokom od 1.5 Gbps. Uz izlaze za kameru nalazi se i PCIe Gen3 konektor koji obezbeđuje maksimalnu brzinu protoka podataka od 8 GT/s i pogodan je za povezivanje eksternih skladišta podataka.

Kao što smo napomenuli, bežični modul se nalazi integrisan na SMARC modulu. Na njemu se intagrisani u iMX 8M Plus nalaze i dva Ethernet kontrolera. Žična komunikacija je dalje izvedena na glavnoj ploči preko dva Gb Ethernet porta i preporuka je da se za ožičenje koriste CAT.5E Unshielded Twisted Pair kablovi.
SoC ima integrisan USB kontroler, sa time da u formatu tipa A imamo dostupna: tri USB 2.0 i jedan USB 3.0 konektor. Svi imaju zaštitu od prenapona i struje. Dodatno je tu i jedan microUSB 2.0 sa OTG funkcijom čija se HOST/SLAVE funkcija bira DIP prekidačem koga smo pomenuli u vezi pokretanja sistema.

Drugi USB 3.0 sa procesora se odvodi na M.2 B key konektor koji je predviđen za ugradnju 4G/5G modula. Izbor modela modula zavisi od geografske lokacije korisnika, a unapred su podržani 4G Quectel EC20 i 5G Quectel RM500Q. Sa donje strane ploče nalazi se i utor za SIM karticu.

Na ploči, oko M.2 konektora su i tri dvadesetopinska GPIO hedera. Na njima su dovedeni signali sa pinova procesora preko PCAL6524 24-bitnog I/O ekspandera. Iako je broj pinova na tri hedera veliki samo 14 pinova su GPIO, dok su ostali pinovi redundantni i kontrolni signali.

Ono što ovaj razvojni sistem čini pogodnim za realizaciju industrijskih uređaja baziranih na NXP iMX 8M Plus SoC-u su CAN i RS485 interfejsi. Svaki od dva RS485 interfejsa je realizovan preko Mornsun TDH341S485S izolovanog full-duplex RS485 transivera brzine do 4 Mbps.

Dva CAN FD interfejsa, ovde treba obratiti pažnju da su u pitanju brzi 5 Mbps protokoli, su realizovani sa Mornsun TDH541CANFD CAN FD izolovanim transiverima. U oba slučaja signal se vodi na DG128 zeleni terminalni blok.

Na ploči su i SPI i QSPI flash memorija. Oba čipa su ista – Winbond W25Q128JV. To je 128 Mb serijski flash koji se može povezati kao quad SPI, što je ovde i urađeno (QSPI) i time je dobijeno na performansama. Sistem se može pokrenuti sa oba, a odluku o tome donosi korisnik podešavanjem DIP prekidača o čemu smo govorili na početku teksta o hardveru.

Detaljna uputstva vezana za hardver su data pratećoj dokumenatciji u PDF obliku koju će vam Forlinx poslati tek nakon kupovine prozvoda. Koliko smo primetili, politika kompanije je da dokumentacija nije javno dostupna na sajtu. Sa obzirom da smo u toku testiranja prošli kroz kompletna uputstva koja korak po korak proveravaju (i u funkcionalnom i perfomansnom smislu) svaki deo hardvera možemo samo pohvaliti pedantnost autora i kvalitet informacija. Neke od metoda ćemo i mi usvojiti u benčmark smislu u narednim recenzijama.
Softver
Forlinx Embedded OK-MX8MPQ-SMARC Single Board Computer je razvojni sistem za NXP iMX 8M Plus SoC na kome ćete razvijati sopstveni proizvod i naravno prateći softer. U tom smislu ne možemo govoriti o softverskoj podršci kao kada posmatramo SBC računare poput Raspberry Pi-a gde se korisnik bavi razvojem malo ili nimalo, već se prvenstveno oslanja na iskustva zajednice i gotova rešenja.
Pod softverom ovde ćemo posmatrati razvojnu podršku koju nam Forlinx daje nakon kupovine sistema. Već smo rekli da se literatura dobija nakon kupovine, a isto je i sa Linux OS imidžem i izvornim kodom. Na razvojnom sistemu, u fabrici je na eMMC-u flešovan prilagođeni linux OS sa kernelom 6.1.36 razvijan u skladu sa Yocto projektom. On ima komande za proveru funkcionalnosti svih modula na ploči, što možete ispratiti praćenjem Linux 6.1.36 User Manual-a koji ćete dobiti od Forlinx-a. Ovaj OS nema nikakav softverski menadžer aplikacija, te zaboravite na omiljeno: sudo apt install.
Za demonstracione potrebe instalirana je Qt6 aplikaciju koja vas dodatno grafički vodi kroz testiranja, mada sve možete uraditi i preko terminala. „Problem“ sa Qt6 demom koji se zove Forlinx App Launcher v2 p1 je što se svaka od aplikacija u njemu pokreće na LVDS displeju i nećete videti ništa osim prve izborne strane na lokaciji 192.168.0.232, što je podešena IP adresa GBE1 Ethernet porta.

Ono što je odlično je što kompanija daje kompletan izvorni kod za samostalnu kompilaciju, pa time i razvoj sopstvene aplikacije. Tu su i izvorni kodovi za uboot, kernel i kernel sa extra modulima. Yocto prekompajliran rootfs sa overlejima se takođe preuzima od Forlinx-a i za one koji žele da razvijaju Qt aplikacije tu je i Yocto prekompajliran toolchain. Detaljni opis i uputstva za izradu sopstvenog OS imidža data su u Linux6.1.36+Qt6.5.0 User Compilation Manual-u.
Zaključak
Ukoliko gradite uređaj čije aplikativno mesto jeste u pametnom gradu, kući ili fabrici (Smart City, Smart Home, Smart Factory) i potreban vam je ML za analizu podataka sa senzora ili AI za prepoznavanje govora ili objekata uz multimedijalne mogućnosti (4K pri 30 Hz i HiFi 4 standard), onda je NXP iMX 8M Plus pouzdan i proveren izbor. Performanse nisu vrtoglave kakve se danas mogu naći u modernim ARM SoC-evima, ali je značaj industrijske pouzdanosti ovde iznad performativnog konzumerizma.

Pored odličnog harvera, Forlinx će vam ovim proizvodom ponuditi i odličnu literaturu, uputstva, OS imidže i izvorne kodove potrebne za izgradnju aplikacija i OS-a u skladu sa vašim projektnim potrebama. Neobično nam je da literatura i softver nisu javno dostupni, ali možemo potvrditi da ih tim promptno šalje na zahtev. Isto je i sa podrškom koja je pravovremena i adekvatna, tako da se nećete osećati „prepušteni sami sebi“ kako to ume da bude sa nekim razvojnim platformama čak i ako su potpuno open source/ hardware. Renome kompanije Forlinx Embedded, ali i njihova današnja paleta razvojnih sistema za veći broj aktuelnih SoC-eva uliva poverenje da bi ovaj OK-MX8MPQ-SMARC mogao da bude prvi izbor pri odabiru razvojne platforme vašeg pametnog uređaja.
Više informacija o samom modulu FET-MX8MPQ-SMARC System on Module potražite na Forlinx stranici posvećenoj njemu, a dodatne podatke o kompletu OK-MX8MPQ-SMARC Single Board Computer i informacije o uslovima nabavke pogledajte na sajtu proizvođača.