Utveckla din embedded-lösning snabbare på en färdig plattform
Att ha alla viktiga komponenter för en inbäddade konstruktion på ett enda, serietillverkat och lättkonfigurerat kort förenklar både prototypframtagning och felsökning. Conrad Technology Center, Conrad Electronic SE, beskriver här de möjligheter deras SOC-modul Espressif ESP-WROOM-32 och utvecklingskort MakerFactory ESP32 ger. När utvecklarens egen konstruktion sedan har validerats kan den överföras till ett kretskort med egen layout.
Att skapa en grund för en ny mikrokontrollerbaserad embeddedkonstruktion kan vara en komplicerad uppgift. Det finns många sammanhängande och samverkande faktorer som man behöver ta hänsyn till. För en batteridriven konstruktion kan det viktigaste bli att begränsa strömförbrukningen för att få längre batterlivslängd.
En mikrokontrollkrets drar vanligtvis mest ström när den arbetar på en hög resursnivå. Så om man minimerar tiden för beräkningsintensiva uppgifter batteriets livslängd förlängas. Utvecklaren ställs då inför möjligheten att välja en mycket snabbare MCU: Det kan vara en 32 bit MCU, även om den faktiska beräkningskapaciteten med lätthet skulle kunna hanteras av en 8 bit MCU.
Balansen mellan övergripande tillämpningskrav och marknadsföringsspecifikationen kräver noga övervägning.
Man måste även ta hänsyn till hur stort fysiskt utrymme embeddedkonstruktionen får ta, om man måste bygga in stöd för trådlös kommunikation och om det behövs gränssnitt för kringutrustning som sensorer och displayer. Var och en av dessa faktorer har sin egen uppsättning kriterier som kräver noggrann genomgång. Viktigt för de flesta produkter idag är att de har möjlighet till trådlös kommunikation. Den är en mycket reglerad och kräver specialkunskaper. Därför väljer embedded-utvecklare ofta väljer att använda moduler.
Kiseltillverkare har varit snabba med att svara på den press som embedded-utvecklare möter. Många inbäddade konstruktioner har i grunden samma komponenter. Listan toppas av MCU, 2,4 GHz radio, RTC, A/D- och D/A-omvandlare samt olika seriella IO. Genom att sammanföra så mycket kisel som möjligt i ett enda SoC-paket (system-on-chip) får man en enhet som är både högintegrerad och kompakt. Tillägget av en trådlös transceiver, en antenn och matchande komponenter skapar en mycket optimerad SoC-modul med extremt många möjliga användningsområden.
Fig 1. Espressif ESP-WROOM-32 SoC-modul.
(källa Conrad)
Espressif ESP-WROOM-32, se fig 1, är ett bra exempel på en kraftfull trådlös MCU-modul uppbyggd kring processorerna i ESP32-serien. Modulen mäter endast 25,5 × 18 mm och består av bara en ESP32 SoC med två processorkärnor, flash-minne, en PCB-antenn och en kombinerad typgodkänd, globalt certifierad BLE, BT och WiFi-radio.
CPU-kärnorna kan styras individuellt och klockfrekvensen går att justera från 80 MHz till 240 MHz för att passa den aktuella tillämpningen. En integrerad co-processor med låg effekt kan användas för att övervaka IO och tröskelvärden för annan kringutrustning och för att generera avbrott, medan de båda Xtensa 32-bitars LX6 mikroprocessorkärnorna är i viloläge. ESP32 innehåller imponerande många kringutrustningar, inklusive Hall-sensorer, kapacitiva touch-ingångar, ett SD-kortgränssnitt och stöd för en extremt omfattande uppsättning seriella protokoll med I2C, SPI, I2S, UART, Ethernet- och CAN-gränssnitt. Se fig 2. Det är värt att notera att modulen har FreeRTOS installerat, vilket underlättar den övergripande hanteringen av modulen och applikationsstödet.
Fig 2. ESP32 funktionellt blockdiagram
(källa Espressif)
Det trådlösa gränssnittet stöder datahastigheter på upp till 150 Mbit/s, och sändaren kan ha en 20 dBm-utgång. En säker over-the-air-uppdateringsfunktion ingår också. Dessutom gör det djupa viloläget hos ESP32 att strömförbrukningen sänks till bara 5 µA. Det ökar användningsområdet att omfatta även batteridrivna konstruktioner såsom IoT och wearables.
ESP-WROOM-32-modulen används av många professionella ingenjörer och tillverkare. Men även om modulen är en utmärkt tidsbesparande och energieffektiv plattform är den naturligtvis inte den slutliga designen. Anslutning av sensorer, displayer och annan kringutrustning är nästa steg i utvecklingsprocessen. För detta kommer de flesta utvecklare vanligtvis att välja en breadboarding-strategi som använder sig av ett eller flera breakout-kort med kopplingstrådar som länkar ihop dem med de nödvändiga enheterna.
Undvik råttbo
Det som börjar som en enkel metod slutar ofta med en prototyp som ser ut som ett råttbo, liknande det som visas i fig 3. Att använda denna metod är faktiskt en mycket bekväm lösning. Det ger enkel tillgång till kretsarna för kontroll av anslutningar och för att ansluta DMM och/eller oscilloskopprobar. Men i takt med att antalet anslutna komponenter stiger, ökar även utmaningarna.
Trådbundna anslutningar är inte särskilt stabila, och minsta rörelse kan skapa buggar på IO-ledningar som i sin tur kan störa driften eller göra att konstruktionen börjar bete sig oberäkneligt. Seriella gränssnittsanslutningar är särskilt benägna till detta, och resultatet kan bli att MCU:n blockeras. Många höghastighetsgränssnitt lämpar sig helt enkelt inte heller för att ta fram prototyper på det här sättet, med hook-up-ledningar som ger dålig impedansmatchning och som potentiellt kan introducera EMI i kretsen.
Fig 3. Råttbo-metoden för utveckling av inbäddad teknik.
(källa Conrad)
Ett nyligen lanserat utvecklingskort, med stöd för open-source, gör att den typen av utmaningar i prototypframtagningen är ett minne blott. Utvärderingskortet MakerFactory ESP32 integrerar en ESP-WROOM-32-modul och en mängd populära sensorer, kontroller och lysdioder på ett enda kort. IO- och sensorval styrs via en kombination av kortmonterade DIP-switchar, vilket skapar tillförlitliga och felfria anslutningar till värd-MCU:n.
Fig 4. MakerFactory ESP32-utvärderingskortet från Conrad.
(källa Conrad)
Förutom ESP32-modulerna har kortet en InvenSense MPU9250 MEMS accelerometer, gyroskop och magnetometer, en Maxim (Dallas Semiconductor) DS1820 one-wire interface temperatursensor, en Maxim MAX98357 ljudförstärkare och en InvenSense 43432 digital mikrofon med låg brusnivå. Kortet har två potentiometrar, fem tryckknappsaktiverade switchar, installationsyta för två displayer – den ena en OLED och den andra en TFT-LCD – och åtta anslutningskontakter för Grove-moduler. Kortet kan programmeras via Arduino IDE enligt industristandard. Det ger ett utmärkt kortsupport tillsammans med ett brett stöd av ESP32 – en ”open-source-community”. Kortet har en egen wiki (https://docs.makerfactory.io/) som ger tillgång till ”kom igång”-instruktioner och enkla kodexempel för varje enhet på utvärderingskortet.
Fig 5. InvenSense MPU9250 MEMS-sensorn.
(källa Conrad)
Varje diskret komponent tilldelas en dedikerad yta på kortet, vilket gör konfiguration och prototypframtagning okomplicerat. Fig 5 visar den MPU9250-sensorenheten med MEMS-kombinerad accelerometer, gyro och magnetometer samt tillhörande kretsar. Sensorn kommunicerar via I2C till ESP32-modulen. En demo-applikation finns på kortets wiki, och du kan se rutinerna för den första konfigurationen för det här exemplet i fig 6, där koden har verifierats och laddats upp till kortet. Denna applikation skickar de data som har lästs av till den seriella IDE-monitorn. Se fig 7.
Fig 6. Arduino IDE visar uppladdningen till MakerFactory-kortet.
Med minsta möjliga ansträngning kan vi låta data från MEMS-sensorn strömma utan en kopplingstråd i sikte. Medan applikationen i sig ger rådata från sensorns magnetfält kan vissa enkla modifieringar programmeras för att till exempel skapa en digital kompassfunktion: Eftersom MPU9250 länkar direkt till ett mikro-Tesla-format, kan en enkel arctan-formel användas för att omvandla mx – och my-avläsningarna till en kompassriktning.
Fig 7. Exempel på MEMS-sensorapplikation som kör datavisning.
I området för OLED-display kan man installera en IC-baserad OLED-display, med I2C- eller SPI-gränssnitt, på 0,96 tum och 128 x 64 pixlar. Drivrutinen för SSD1306 och information om hur drivrutinerna installeras ingår i MakerFactory-wikin.
Att ha alla de viktigaste komponenterna i din inbäddade konstruktion på ett enda, tillgängligt och lättkonfigurerat kort förenklar prototypframtagnings- och felsökningsprocessen avsevärt.
När en konstruktion har validerats på MakerFactory-kortet kan prototypschemat snabbt förberedas och en anpassad PCB-layout tas fram. Genom att använda den här metoden kan fel som introduceras av en breadboarding-strategi minimeras, vilket gör att utvecklaren kan finjustera applikationen och slutföra all mjukvaruutveckling och felsökning inom tidsramarna som har satts för projektet.
Filed under: Embedded