Högintegrerad enkapseldator förenklar konstruktörens arbete
Enkapseldatorer baserade på ARM Cortex-kärnor blir allt vanligare. Shahram Tadayon, marknadschef för MCU-produkter, Silicon Laboratories Inc, tittar här på vilka skillnader som kan finnas i I/O-funktioner och hur de kan förenkla konstruktörens arbete.
Den viktigaste faktorn vid val av en 32-bitars styrkrets (MCU) har traditionellt sett varit valet av kärnans CPU (central processing unit). Tills helt nyligen var 32-bitars MCUer baserade på en rad olika kärnor inkluderande, i vissa fall, egenutvecklade arkitekturer. Därmed var embeddedkonstruktörer tvungna att antingen hålla sig till en kärna eller ägna väsentligt mer utvecklingstid åt att lära känna ny maskinvara och överföra existerande programvarukoder.
De senaste årens ökade användning av ARM Cortex-kärnor i MCU-produkter har lett till stora förändringar inom embedded. Ett stort och växande ekosystem har utvecklats runt ARM-processor-baserade MCUer inkluderande tredjepartsbaserade verktyg för kompilatorer, realtidsbaserade operativsystem, programvarustackar, LCD-grafik mm. Flertalet stora MCU-leverantörer erbjuder nu ARM-baserade processorer, vilket har gjort ARM Cortex-kärnan till en “de-facto”-standard för 32-bitars MCUer.
Hög integration
Val av en 32-bitars MCU baserad på en standardkärna öppnar för fler alternativ än någonsin tidigare. Att välja rätt MCU för en viss tillämpning kan därför vara en svår uppgift med många variabler att överväga. Först måste konstruktören sålla bland de möjliga MCU-alternativen utifrån en lång “checklista”, som inkluderar saker som minnesstorlek, antal in- och utgående ben samt kommunikationsgränssnitt. Det är mycket troligt att flera leverantörer av ARM-processor-baserade MCUer kommer att passera denna första sållning. Därför måste utvecklare förfina sitt urval genom att fokusera på andra viktiga faktorer, såsom blandsignalintegrering, konfigurerbarhet, strömförbrukning och lätthet att utveckla.
Fig 1. Konstruktion för streckkodläsare har fördel av högt integrerade MCUer.
Val av en 32-bitars MCU som integrerar vanliga komponenter kommer att hjälpa utvecklare att minska den sammanlagda systemkostnaden, konstruktionskomplexiteten och utvecklingstiden. Silicon Labs Precision32 är exempelvis utformade att tillhandahålla ett antal integrerade funktioner som inte vanligtvis finns i andra MCUer, såsom en USB-oscillator, 5 V-regulator, sex programmerbara “high-drive”-ben som kan ge upp till 300 mA ström och 16 inkanaler för kapacitiv beröringsavkänning för knappar och skjutreglage. Denna nivå av integrering hjälper till att eliminera behovet av flera diskreta komponenter och ger en mer flexibel kraftdomän, vilket minskar BOM (bill of materials) och förenklar utvecklingsprocessen.
Streckkodsläsare
För att illustrera fördelarna med att utnyttja en högt integrerad blandsignal-MCU, låt oss titta på en typisk tillämpning av en streckkodläsare. För att läsa en streckkod lyser scannern en laser på en oscillerande spegel som kraftmatas av en motor (se fig 1). Ljuset belyser streckkoden och bilden fångas sedan av en CCD-(charge-coupled device)-sensor.
CCD-sensorn är en kamera som fångar en linje av pixlar åt gången, t ex 1 x 1 024 pixlar. De analoga ljusnivåerna skiftas ut och fångas av en AD-omvandlare (ADC). En MCU som kan tillhandahålla hög ström eliminerar behovet av krafttransistorer för drift av laser och motor. Val av en MCU som är konstruerad att ge ett gränssnitt till CCD-sensorn för klocksynkronisering kan också underlätta konstruktörens arbete.
För optimalt resultat bör MCUns ADC klara att hålla jämna steg med CCD-kamerans snabba hastighet (normalt >1 MSPS). För 5 V CCD-sensorer krävs i flertalet konstruktioner även en integrerad krets för kraftstyrning för att tillhandahålla inspänning till sensorn, och en 3,3 V inspänning behövs för MCUn och andra komponenter.
I detta kodläsarexempel kan USB-MCUerna Precision32 SiM3U1xx driva en synkroniserad klocka till sensorn, lätt hålla jämna steg med den snabba CCD-samplingshastigheten och ge en 3,3 till 5 V styrkrets för dc/dc-förstärkning för att kraftmata sensorn, vilket ytterligare minskar antalet komponenter i systemet.
I USB-drivna scanners har Precision32-MCUerna dessutom en inbyggd spänningsregulator för att driva MCUn direkt från USB-kraft samt en intern 48 MHz oscillator med en innovativ krets för återvinning av klockan som är låst till USB-signalen, vilket ger bättre än 0,25-procentig noggrannhet och möjliggör USB-drift utan kristall.
Övrig integrering i streckkodläsare kan inkludera direktdrift av ett larm som talar om för användaren att avläsningen är klar, knappar för kapacitiv beröring istället för mekaniska knappar och HW-kryptering för trådlösa läsare som måste sända data på säkert sätt.
Pinkonfiguration
Ett annat viktigt övervägande vid konstruktionen är flexibilitet att möjliggöra snabba och enkla förändringar utan ökad utvecklingskostnad. För att snabba på utvecklingen utgår konstruktörer ofta från ett tidigare projekt och modifierar inställningarna för att passa de nya behoven. För att effektivt förändra konstruktionen är det dock viktigt att kunna välja och modifiera den MCU-kringutrustning som utnyttjas samt placeringen av denna.
Flertalet MCUer har en förinställd pinkonfigurering, vilket tvingar utvecklare att ändra sina konstruktioner eller övergå till en större och dyrare kapsel. En alternativ “dual-crossbar”-arkitektur, patenterad av Silicon Labs (se fig 2) ger konstruktörer mer flexibilitet genom att göra det möjligt att först välja den kringutrustning som behövs och sedan välja placeringen av dess ben.
Fig 2. Flexibel “Dual-Crossbar”-arkitektur som utnyttjas i Precision32-MCUer.
Möjligheten att på detta sätt välja endast den kringutrustning som behövs möjliggör ofta mindre och mer kostnadseffektiva kapslingsalternativ. I ett kommunikationssystem som kräver fyra UARTer med flödesstyrning (16 ben) och två SPIer (6 ben) bör en utvecklare exempelvis kunna välja en MCU med något fler än 22 in-/utgångar.
Med en vanlig fast arkitektur skulle dock fyra UARTer och tre SPIer kräva en kapsel med 64 ben eller t o m 100 ben för att åstadkomma rätt blandning av kringutrustning. Med hjälp av en flexibel, konfigurerbar “crossbar”-teknik kan utvecklaren lätt passa in denna blandning av kringutrustning i en 40-bens kapsel med flera in-/utgångar i reserv.
Genom att optimera kringutrustningens placering kan utvecklaren dessutom placera kringutrustning intill respektive anslutningskretsar, vilket möjliggör kortare ledningsdragning och potentiellt minskar det antal PCB-lager som behövs för konstruktionen.
Bäst av allt är att konstruktionsändringar i sista minuten lätt kan åtgärdas i programvara. Om kommunikationssystemet exempelvis behöver en extra integrerad krets med ett SPI-gränssnitt är det inget problem. En tredje SPI-port kan lätt läggas till på samma utrymme genom att programvaran modifieras.
Enkel programmering
Givet fördelarna med en flexibel “crossbar”-arkitektur, finns det några nackdelar med att använda en MCU med en konfigurerbar “crossbar”? En del utvecklare är oroliga att en “crossbar”-arkitektur kan vara svår att programmera. Silicon Labs har löst det problemet genom att skapa AppBuilder, ett kostnadsfritt verktyg för programvaruutveckling utformad att förenkla initialisering och konfiguration. GUI-baserade AppBuilder-verktyg möjliggör för utvecklare att snabbt och grafiskt välja sin kringutrustningsblandning, välja kringutrustningens egenskaper, ställa in klockningsmod och specialanpassa bentilldelning, allt utan att behöva läsa databladet. AppBuilder genererar t o m källkoder som kan utnyttjas med populära kompilatorer, såsom Keil, IAR och GCC.
Låg energi
Ett sista viktigt övervägande vid valet av en 32-bitars MCU är energieffektivitet. Faktum är att ultralåg effekt har blivit av kritisk vikt i en rad olika inbyggda tillämpningar. Med dagens tonvikt på “miljövänlighet” och minimerad energiförbrukning måste konstruktörer vara mycket uppmärksamma på sin totala kraftbudget. Det finns flera metoder för att väsentligen minska energin. Den effektivaste metoden beror på sluttillämpningen. En blodsockermätare används exempelvis bara av patienten en handfull gånger under dagen. Större delen av tiden befinner sig utrustningen i ett djupt sovläge. I denna tillämpning är det därför viktigast att minimera kraftförbrukningen i sovläge.
Fig 3. Precision32-MCUer utformade för ultralåg energi i alla lägen.
En sensorutrustning måste å andra sidan hela tiden övervaka om en händelse inträffar. Och om den hela tiden övervakar händelser måste den alltid vara i aktivt läge, eller hur? Egentligen inte! Sensorn kan vara i sovläge, vakna snabbt, avgöra om en händelse, såsom detektering av rök, inträffar, och sedan gå tillbaka till sovläge. I denna typ av system är det viktigt att ha ett sovläge med låg ström som inkluderar en realtidsklocka (RTC) för reglerat uppvaknande, exempelvis var 100e mikrosekund. Det är också viktigt att ha en snabb uppvakningstid och en processor som snabbt kör ett fast antal kommandon för att avgöra om en händelse inträffar.
Vissa tillämpningar såsom utrustning på en fabrikslinje går aldrig ner i sovläge. I sådana tillämpningar är det väldigt viktigt att ha en MCU som är energisnål i aktivt läge. Dessutom finns det andra knep som kan utnyttjas för att spara energi, såsom att minska frekvenshastigheten i drift för att endast utnyttja den processhastighet som krävs för en given uppgift.
Det kan vara svårt att hitta en 32-bitars MCU som fungerar utmärkt med ultralåg kraft i sovläge och aktivt läge, uppvakningstid och frekvensförändringar i drift. MCU-familjen Precision32 löser dessa problem genom att tillhandahålla flera lågenergialternativ, såsom visas i fig 3. MCUerna kan fungera under 100 nA och inkluderar en “brown out”-detektor och 4 kbyte RAM-minne. Realtidsklockan kan aktiveras för en ström på ytterligare 250 nA. Det finns ett alternativ med analog komparator för ytterligare 400 nA och t o m en lågenergibaserad timer och pulsräknare. MCUerna kan vakna från lågenergibaserat sovläge på några mikrosekunder. Precision32-MCUerna har dessutom ett mycket lågt aktivt läge på 275 µA/MHz, och de har en sofistikerad PLL som kan låsa vid vilken frekvens som helst mellan 1 – 80 MHz, vilket gör att utvecklaren kan optimera kraft för en viss uppgift.
Vid en tidpunkt då många stora MCU-leverantörer har familjer av 32-bitars kretsar som använder samma kärna med liknande minnesstorlekar och seriell kringutrustning med stort antal in-/utgångar är det lätt för en konstruktör att tänka att valet av MCUer i en inbyggd konstruktion egentligen inte spelar någon roll. Men genom att välja rätt MCU för en given konstruktion kan utvecklare väsentligen minska utvecklingstiden, kraftförbrukningen och den totala systemkostnaden och samtidigt vinna flexibilitet att göra förändringar i sista minuten utan större omkonstruktion av systemet. Kort sagt lönar det sig att välja en 32-bitars MCU med en flexibel arkitektur utformad från grunden och upp för att underlätta utvecklarens arbete.
Shahram Tadayon, marknadschef för MCU-produkter, Silicon Laboratories Inc.
Filed under: Enkapseldatorer