Klik hier voor de Engelse versie van de broncode.

Meer intelligentie aan de IoT-rand met zelfkalibrerende analoge slimme microcontrollers

Door Bill Giovino

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

Naarmate Internet of Things (IoT)-toepassingen complexer worden, wordt van ontwerpers van Industrial Internet of Things (IIoT)-eindpunten gevraagd om meer complexe computers aan de rand toe te laten. Edge computing op sensorgegevens van eindpunten is een praktische manier om netwerkknelpunten naar de IIoT-hub te verminderen. Dit vermindert het netwerkverkeer en vermindert tevens de rekenbelasting op de hoofdprocessor van de hub. Deze aanpak heeft echter zijn nadelen.

Een veel voorkomende IIoT edge toepassing is bijvoorbeeld de verwerking van periodieke analoog-digitaal-omzetter (ADC) sensorgegevens. Voor analoge gegevens met hoge precisie kan de wiskundige verwerking, interpretatie en interpolatie van honderden ADC-gegevenspunten de edge-hostprocessor aanzienlijk belasten, wat de prestaties van het hele netwerk kan beïnvloeden. Bovendien kan het bij zeer nauwkeurige ADC's nodig zijn om de zelfkalibratie uit te voeren in de firmware van de host-microcontroller van het IoT-eindpunt, waardoor alle randverwerking kan worden vertraagd totdat de kalibratie is voltooid.

Dit artikel laat ontwikkelaars zien hoe ze precisie-analoge microcontrollers van Analog Devices kunnen gebruiken als slimme ADC-randapparatuur. Er zal worden uitgelegd hoe de kenmerken van deze analoge microcontrollers hen geschikt maken voor gebruik als single-chip data-acquisitiesystemen die gemakkelijk kunnen interfacen met de IIoT-eindpuntmicrocontroller en randverwerkingsfuncties kunnen uitvoeren, zoals ADC-datapuntverwerking en zelfkalibratie, zonder prestatie-impact op de hoofdeindpuntmicrocontroller.

Waarom analoge sensorgegevens aan de rand verwerken?

Naarmate IIoT-systemen complexer worden, worden ook de gegevens die ze moeten verwerken complexer. Bij industriële besturingstoepassingen gaan kleppen en sommige motoren over van open-loop naar closed-loop systemen waarbij analoge precisie-sensoren minieme klep- of motorstanden moeten detecteren. Voor procesbesturingstoepassingen heeft de toegenomen verwerking geleid tot snellere productielijnen en een fijnere regeling van temperatuur, druk en actuatoren in het systeem.

Bij procesbesturing is de snelheid van de lijn (het proces) vooral afhankelijk van twee factoren: de mechanische capaciteit van de machines en systemen op de vloer, en de efficiëntie van de IIoT-netwerken die de sensoren en actuatoren in de machines en systemen aansturen. In sommige gevallen kunnen kleine verbeteringen in het proces leiden tot een hogere productie, maar deze verbeteringen kunnen worden belemmerd door knelpunten in het IIoT-netwerk. Deze knelpunten kunnen worden verminderd door meer verwerking aan de rand uit te voeren.

Edge processing aan het IIoT-eindpunt is vooral voordelig voor de verwerking van analoge signalen. De verwerking van analoge gegevens kan in de beginfase van de IIoT-ontwikkeling eenvoudig zijn, maar de schaalbaarheid is een probleem: latere verbeteringen kunnen leiden tot een grotere complexiteit van de berekeningen. Het verzenden van alle ruwe analoge gegevens over het netwerk verhoogt het netwerkverkeer en de verwerking van al die gegevens bij de netwerk-hubprocessor neemt kostbare rekentijd in beslag. Daarom is het verwerken van de analoge gegevens aan de rand een praktische manier om het netwerk efficiënter te maken.

Gebruik slimme ADC's om analoge gegevens aan de rand te verwerken

De verwerking van honderden samples ADC-gegevens kan de hoofdmicrocontroller in het IIoT-eindpunt gemakkelijk overweldigen. Voor complexe analoge sensoren is het een slimme ontwerpbeslissing om een externe ADC te hebben die ook zijn eigen verwerkingsmogelijkheden heeft. Dit ontlast niet alleen de IIoT endpoint microcontroller aanzienlijk, maar maakt ook de zelfkalibratie van de ADC eenvoudiger.

Voor het met hoge prestaties vastleggen en verwerken van ADC-gegevens heeft Analog Devices een lijn van precisie analoge microcontrollers. De ADuCM360BCPZ128-R7 precisie analoge microcontroller maakt gebruik van een Arm® Cortex®-M3 om twee 24-bit sigma-delta ADC's aan te sturen (figuur 1). De ADC's kunnen 4 kilosamples per seconde (kSPS) aan analoge sensorgegevens vastleggen. De ADuCM360 heeft ook een 12-bit digitaal-naar-analoogomzetter (DAC) voor het genereren van nauwkeurige spanningen voor zelfkalibratie. De microcontroller kan werken op 1,8 tot 3,6 volt en bevat een interne 32 kilohertz (kHz) oscillator en een interne 16 megahertz (MHz) oscillator, waardoor er minder componenten nodig zijn in systemen met beperkte ruimte.

Schema van Analog Devices ADuCM360 compleet laag-vermogen data-acquisitiesysteem op een chipFiguur 1: De Analog Devices ADuCM360 is een compleet laagvermogen data-acquisitiesysteem op een chip met een Arm Cortex-M3 kern, twee 24-bit sigma-delta 4 kSPS ADC's, en een 12-bit DAC. (Bron afbeelding: Analog Devices)

De ADuCM360 heeft 128 kilobytes (Kbytes) van flitsgeheugen en 8 Kbytes van SRAM. Een belangrijk voordeel van ADuCM360 is dat de plaatsen van het flitsgeheugen aan direct kunnen worden geschreven, gelijkend op het schrijven aan SRAM. Dit stelt de firmware-ontwikkelaar in staat om blokken van het flash-geheugen gemakkelijk te partitioneren als programmageheugen en ook als EEPROM. In een data-acquisitiesysteem kunnen de EEPROM-partitieblokken zo worden gebruikt om ADC-kalibratiegegevens op te slaan.

De flash ondersteunt direct 32-bit wissen en schrijven (16-bit en 8-bit wissen en schrijven worden niet ondersteund). De mogelijkheid om 32 bits tegelijk te schrijven bespaart veel stroom in toepassingen die op batterijen werken, aangezien de schrijf- en wisbewerkingen van de flash veel stroom verbruiken. Dit is een belangrijk voordeel bij laag stroomverbruik in vergelijking met flash-microcontrollers die slechts één blok of pagina tegelijk kunnen schrijven en wissen.

Het flash-geheugen ondersteunt ook conventionele flash-wis-commando's zoals pagina-wissen en massaal wissen van het gehele flash-geheugenarray. Met deze mogelijkheden kunnen ontwikkelaars eenvoudig subroutines schrijven die de firmware kunnen bijwerken op basis van commando's die via de seriële poort worden verzonden door de host-microcontroller in het IIoT-eindpunt. Dit is belangrijk: als de ADuCM360 zijn firmware niet gemakkelijk via een seriële poort zou kunnen bijwerken, zou dit zijn flexibiliteit in een data-acquisitiesysteem ernstig beperken, aangezien de mogelijkheid om de firmware die de ADC bestuurt bij te werken net zo belangrijk is als de ADC zelf.

Een efficiënt enkel-chip data-acquisitiesysteem

Beide 24-bit ADC's zijn aangesloten op een ingangsmultiplexer die in totaal 11 enkelkanaals of zes differentiële ingangen ondersteunt. Er zijn vier interne kanalen die de interne temperatuursensor kunnen bewaken, alsmede de uitgang van de 12-bit DAC, en een interne low-drift bandgap referentie. Deze kunnen worden gebruikt om een zelfkalibratie van de ADC's uit te voeren. De DAC kan worden geprogrammeerd om een reeks spanningen uit te voeren die door elk van de ADC's kunnen worden gelezen. De ADC's kunnen ook de interne bandgap referentiespanning bemonsteren. Firmware kan deze metingen verwerken zodat de ADC's kunnen worden gekalibreerd op temperatuur, en de kalibratieconstanten kunnen worden opgeslagen in het EEPROM.

Bij gebruik als een enkel-chip data-acquisitiesysteem kunnen de ADC's worden geprogrammeerd om continu monsters van analoge gegevens te nemen met een snelheid van maar liefst 4 kSPS. Een 11-kanaals controller voor directe geheugentoegang (DMA) kan die gegevens naar SRAM overbrengen. De firmware kan dan de in EEPROM opgeslagen ijkconstanten toepassen om de gegevens te wijzigen en zo nodig te corrigeren voor de temperatuur. De firmware kan dan de gegevens verwerken zoals vereist door de toepassing, terwijl de DMA extra ADC-gegevens naar het SRAM overbrengt.

Zodra de gegevensverwerking van de opgeslagen ADC-gegevens is voltooid, kan het resultaat naar de seriële interface worden gestuurd om te worden overgebracht naar de IIoT-eindpuntmicrocontroller, of als meerdere datasamples moeten worden overgebracht, kan de DMA de gegevens in bulk overbrengen naar de seriële interface. Op deze wijze kan een efficiënt data-acquisitiesysteem een set ADC-gegevens bemonsteren en via DMA naar SRAM overbrengen, een tweede set ADC-gegevens verwerken en een derde set ADC-gegevens via DMA naar de seriële interface overbrengen, en dat alles tegelijkertijd.

De analoge ingangssignalen kunnen worden versterkt met een programmeerbare versterker (PGA) die kan worden ingesteld op machten van 2, en versterkingswaarden van 2, 4, 8, 16, 32, 64, en 128 ondersteunt. Hierdoor kunnen zeer kleine spanningen worden versterkt voor nauwkeuriger ADC-bemonstering.

Hoewel de extra functies een 16-bit zes-kanaals pulsbreedtemodulatie (PWM), 19 GPIO's (general purpose I/O's), twee 16-bit timers voor algemeen gebruik, een 32-bit wakeup/waakhondtimer en een extern interruptsysteem omvatten, is het belangrijk dat de toepassingsfirmware gericht blijft op de ondersteuning van het hoofddoel, namelijk ADC-opname en gegevensverwerking. De ADuCM360 opdragen extra functies uit te voeren die geen verband houden met zijn hoofddoel van analoge gegevensregistratie kan gemakkelijk leiden tot functieverschuiving die interfereert met dat doel, terwijl ook firmware-updates worden bemoeilijkt.

Ultra-low-power kenmerken en eigenschappen

Ondanks de high-end analoge functies van de ADuCM360, is deze nog steeds in staat tot een laag stroomverbruik onder hoge prestatie-omstandigheden. In normale bedrijfstoestand trekt de Cortex-M3 kern slechts 290 microamperes (µA)/MHz. Met een systeemklok van 0,5 MHz, beide ADC's die samples nemen, alle timers actief, en een PGA gain van 4, trekt de microcontroller bij toegang via de SPI interface slechts 1 milliamp (mA). Dit is met de ingangsbuffers uit, omdat de bufferspanningsopslag bijdraagt aan het stroomverbruik. Als de microcontroller in de slaapstand staat en alleen de wektimer loopt, verbruikt hij slechts 4 µA. Dit maakt de ADuCM361 geschikt voor batterijgevoede IIoT-eindpunten.

Voor minder complexe toepassingen die niet de snelheid van twee ADC's vereisen, biedt Analog Devices de ADUCM361BCPZ128-R7, die hetzelfde is als de ADuCM360, behalve dat hij slechts één sigma-delta 24-bit ADC heeft (figuur 2).

Schema van Analoge Devices ADuCM361 is een compleet data-acquisitiesysteem op een chipFiguur 2: De ADuCM361 is een compleet data-acquisitiesysteem op een chip, vergelijkbaar met de ADuCM360 behalve dat hij één 24-bit sigma delta ADC heeft. Dit bespaart kosten en energie in toepassingen die niet de prestaties van twee gelijktijdig werkende ADC's vereisen. (Bron afbeelding: Analog Devices)

In toepassingen die niet de hoge prestaties vereisen van twee 24-bit ADC's die gelijktijdig werken, verlaagt de ADuCM361 de systeemkosten en het stroomverbruik van de kaart. De enkele ADC is ook verbonden met een ingangsmultiplexer die in totaal 11 enkelkanaals of zes differentiële ingangen ondersteunt. Hij kan ook zelfkalibreren met behulp van de 12-bit DAC, de interne bandgapreferentie en de temperatuursensor.

De ADuCM361 is pin-compatibel met de ADuCM360. Hierdoor kan voor beide producten een enkele printplaatlay-out worden gebruikt. Dit vereenvoudigt de productontwikkeling en de stuklijst (BOM) omdat een IIoT-eindpuntfabrikant één pc-board kan gebruiken voor twee of meer producten.

Ontwikkeling data-acquisitiesysteem

Voor productontwikkeling levert Analog Devices de EVAL-ADuCM360QSPZ evaluatieset (figuur 3). Het evaluatiebord kan een interface maken met analoge sensoren of externe spanningsbronnen voor firmware-ontwikkeling van de ADuCM360 en ADuCM361 analoge microcontrollers.

Afbeelding van Analog Devices EVAL-ADuCM360QSPZ evaluatie kitFiguur 3: De Analog Devices EVAL-ADuCM360QSPZ evaluatie kit maakt evaluatie van de ADuCM360 en ADuCM361 analoge microcontrollers mogelijk. Hij kan rechtstreeks communiceren met externe analoge sensoren en kan via een USB-verbinding worden beheerd. (Bron afbeelding: Analog Devices)

De evaluatiekit is via een USB-poort toegankelijk voor een hostcomputer met Windows. Hierdoor kan de on-board ADuCM360 worden geprogrammeerd met doelfirmware voor testen en debuggen. De EVAL-ADuCM360QSPZ heeft alle pennen van de ADuCM360 beschikbaar op het bord, met inbegrip van de seriële I/O, zodat het eval bord kan worden gekoppeld via I2C, SPI, of UART naar een host microcontroller voor real-time debugging. De host Windows-computer kan de ADC-gegevens loggen en kan ook de nauwkeurigheid van de zelfkalibreringsroutines debuggen.

Conclusie

Veel IIoT-eindpunten die worden gebruikt voor high-end analoge toepassingen, zoals procesbesturing, moeten meer edge processing doen op analoge sensorgegevens die zijn vastgelegd met ADC's. De hoeveelheid ADC-gegevens en de complexiteit van de randverwerking kunnen de hoofdmicrocontroller van het IIoT-eindpunt overweldigen. De microcontroller van het hoofdeindpunt kan in plaats daarvan via een seriële poort interfacen met een analoge microcontroller die een zelfstandig data-acquisitiesysteem is. Dit verhoogt de prestaties van het eindpunt en vermindert het netwerkverkeer, wat resulteert in een efficiënter IIoT-netwerk.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Achtergrondinformatie over deze auteur

Image of Bill Giovino

Bill Giovino

Bill Giovino is een ingenieur in elektronica met een BSEE van de Syracuse University. Hij is een van de weinigen die met succes de overstap maakten van ontwerpingenieur naar ingenieur veldtoepassingen en vervolgens naar technologiemarketing.

Meer dan 25 jaar lang heeft Bill met veel toewijding nieuwe technologieën gepromoot ten overstaan van zowel technisch als niet-technisch publiek voor vele bedrijven, waaronder STMicroelectronics, Intel en Maxim Integrated. Toen hij bij STMicroelectronics actief was, hielp Bill bij de doorbraak van de eerste successen van het bedrijf in de sector van microcontrollers. Bij Infineon stond Bill in voor de eerste toepassingen van het microcontrollerontwerp van het bedrijf in de Amerikaanse autosector. Als marketing consultant voor zijn bedrijf CPU Technologies, hielp Bill vele bedrijven om laag presterende producten op te krikken en er een succesverhaal van te maken.

Bill was een van de eersten die het Internet of Things toepaste. Hij plaatste de eerste volledige TCP/IP-stack op een microcontroller. Bill is trouw aan het motto “Verkoop via opvoeding” en wijst op het toenemende belang van duidelijke, goed geschreven mededelingen om producten online te promoten. Hij is moderator van de populaire LinkedIn Semiconductor Sales & Marketing Group en spreekt vlot B2E.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey