Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Øget intelligens på IoT-kanten med selvkalibrerende analoge smarte mikrocontrollere

Af Bill Giovino

Bidraget af DigiKeys nordamerikanske redaktører

Efterhånden som IoT-applikationer (Internet of Things) bliver mere komplekse, bliver designere af slutpunkter til Industrial Internet of Things (IIoT) bedt om at rumme mere kompleks databehandling i kanten. Edge computing på endpoints sensordata er en praktisk måde at reducere netværksflaskehalse til IIoT-hubben på. Dette reducerer netværkstrafikken og reducerer samtidig beregningsbelastningen på hovedprocessoren i hubben. Denne fremgangsmåde har dog også sine ulemper.

For eksempel er en almindelig IIoT edge-applikation behandling af periodiske ADC-sensordata (analog-to-digital-konverter). For analoge data med høj præcision kan den matematiske behandling, fortolkning og interpolering af hundredvis af ADC-datapunkter belaste edge-værtsprocessoren betydeligt, hvilket potentielt kan påvirke hele netværkets ydeevne. Desuden kan ADC'er med høj nøjagtighed kræve, at der udføres en selvkalibrering i firmwaren på IoT-slutpunktets værtsmikrocontroller, hvilket kan forsinke al kantbehandling, indtil kalibreringen er afsluttet.

Denne artikel viser udviklere, hvordan de kan bruge analoge præcisions-mikrocontrollere fra Analog Devices som smarte ADC-perifere enheder. Der vil blive forklaret, hvordan funktionerne i disse analoge mikrocontrollere gør dem anvendelige til brug som single-chip dataindsamlingssystemer, der let kan tilsluttes IIoT-endpunktsmikrocontrolleren og kan udføre kantbehandlingsfunktioner som f.eks. behandling af ADC-datapunkter og selvkalibrering uden at påvirke ydelsen på hoved-endpunktsmikrocontrolleren.

Hvorfor behandle analoge sensordata på kanten?

I takt med at IIoT-systemer bliver mere komplekse, bliver også de data, de skal behandle, mere komplekse. I industrielle styringsapplikationer går ventiler og nogle motorer fra åbne til lukkede systemer, hvor analoge præcisionssensorer skal registrere minutpositioner af ventiler eller motorer. For processtyringsapplikationer har øget forarbejdning ført til hurtigere produktionslinjer og finere styring af temperatur, tryk og aktuatorer i systemet.

Inden for processtyring afhænger hastigheden i linjen (processen) hovedsagelig af to faktorer: maskinernes og systemernes mekaniske kapacitet på gulvet og effektiviteten af de IIoT-netværk, der styrer sensorerne og aktuatorerne i maskinerne og systemerne. I nogle tilfælde kan små forbedringer i processen føre til øget produktion, men disse forbedringer kan blive hindret af flaskehalse i IIoT-netværket. Disse flaskehalse kan reduceres ved at udføre mere behandling i kanten.

Kantbehandling på IIoT-slutpunktet er især fordelagtig til behandling af analoge signaler. Behandling af analoge data kan være enkel i de tidlige faser af IIoT-udviklingen, men skalerbarhed er et problem: senere forbedringer kan føre til en øget kompleksitet i beregningerne. At sende alle de rå analoge data over netværket øger netværkstrafikken, og at behandle alle disse data i netværkshubprocessoren optager værdifuld beregningstid. Derfor er behandling af de analoge data i kanten en praktisk måde at gøre nettet mere effektivt på.

Brug intelligente ADC'er til at behandle analoge data på kanten

Kantbehandling af hundredvis af prøver af ADC-data kan let overvælde hovedmikrocontrolleren i IIoT-slutpunktet. For komplekse analoge sensorer er det en smart designbeslutning at have en ekstern ADC, der også har sine egne behandlingsmuligheder. Dette aflaster ikke kun IIoT-endpunktsmikrocontrolleren betydeligt, men gør også selvkalibrering af ADC'en lettere.

Analog Devices har en serie af analoge præcisions-mikrocontrollere til højtydende registrering og behandling af ADC-data. ADuCM360BCPZ128-R7-præcisionsanalog mikrocontroller anvender en Arm® Cortex®-M3 til at styre to 24-bit sigma-delta ADC'er (Figur 1). ADC'erne er i stand til at optage 4 kilosamples pr. sekund (kSPS) af analoge sensordata. ADuCM360 har også en 12-bit digital-til-analog-konverter (DAC) til at generere nøjagtige spændinger til selvkalibrering. Mikrocontrolleren kan fungere fra 1,8 til 3,6 volt og indeholder en intern oscillator på 32 kilohertz (kHz) og en intern oscillator på 16 megahertz (MHz), hvilket reducerer antallet af komponenter i systemer med begrænset plads.

Diagram over Analog Devices ADuCM360 komplet dataindsamlingssystem på en chip med lav effektFigur 1: Analog Devices ADuCM360 er et komplet dataindsamlingssystem med lav effekt på en chip med en Arm Cortex-M3-kerne, to 24-bit sigma-delta ADC'er med 4 kSPS og en 12-bit DAC. (Billedkilde: Analog Devices)

ADuCM360 har 128 kilobyte (Kbytes) flash-hukommelse og 8 Kbyte SRAM. En væsentlig fordel ved ADuCM360 er, at flash-hukommelsespladserne kan skrives direkte til, svarende til at skrive til SRAM. Dette giver firmwareudvikleren mulighed for nemt at opdele blokke af flashhukommelsen som programhukommelse og også som EEPROM. I et dataindsamlingssystem giver dette mulighed for at bruge EEPROM-partitionerede blokke til at lagre ADC-kalibreringsdata.

Flash'en understøtter direkte 32-bit sletning og skrivning (16-bit og 8-bit sletninger og skrivninger understøttes ikke). Muligheden for at skrive 32 bits ad gangen sparer betydeligt strøm i batteridrevne applikationer, da flash-skrive- og sletteoperationer trækker meget strøm. Dette er en betydelig fordel med lavt strømforbrug i forhold til flash-mikrocontrollere, der kun kan skrive og slette en blok eller side ad gangen.

Flash-hukommelsen understøtter også konventionelle flash-sletningskommandoer som f.eks. side-sletning og masse-sletning af hele flash-hukommelsesmatrixen. Med disse funktioner kan udviklere nemt skrive underprogrammer, der kan opdatere firmwaren baseret på kommandoer, der sendes via den serielle port fra værtsmikrocontrolleren i IIoT-slutpunktet. Dette er vigtigt: Hvis ADuCM360 ikke nemt kunne opdatere sin firmware via en seriel port, ville det begrænse dens fleksibilitet i et dataindsamlingssystem betydeligt, da muligheden for at opdatere firmwaren, der styrer ADC'en, er lige så vigtig som selve ADC'en.

Et effektivt single-chip dataindsamlingssystem

Begge 24-bit ADC'er er forbundet til en input-multiplexer, der understøtter i alt 11 enkeltkanals- eller seks differentielle indgange. Der er fire interne kanaler, der kan overvåge den interne temperatursensor samt overvåge udgangen af 12-bit DAC'en og en intern lav-drift båndgab-reference. Disse kan bruges til at udføre en selvkalibrering af ADC'erne. DAC'en kan programmeres til at udsende en række spændinger, som kan læses af hver af ADC'erne. ADC'erne kan også afprøve den interne bandgap-referencespænding. Firmware kan behandle disse aflæsninger, så ADC'erne kan kalibreres over temperatur, og kalibreringskonstanterne kan gemmes i EEPROM'en.

Når ADC'erne anvendes som et single-chip dataindsamlingssystem, kan de programmeres til at tage kontinuerlige prøver af analoge data så hurtigt som 4 kSPS. En 11-kanals DMA-controller (direct memory access) kan overføre disse data til SRAM. Firmware kan derefter anvende de kalibreringskonstanter, der er gemt i EEPROM, til at ændre dataene og korrigere for temperatur, hvis det er nødvendigt. Firmware kan derefter behandle dataene som krævet af programmet, mens DMA'en overfører yderligere ADC-data til SRAM.

Når databehandlingen af de lagrede ADC-data er afsluttet, kan resultatet enten sendes til den serielle grænseflade for at blive overført til IIoT-endpunktet mikrocontroller, eller hvis der skal overføres flere dataeksempler, kan DMA'en overføre dataene i bulk til den serielle grænseflade. På denne måde kan et effektivt dataindsamlingssystem på samme tid prøveudtage og DMA-overføre et sæt ADC-data til SRAM, behandle et andet sæt ADC-data og DMA-overføre et tredje sæt ADC-data til den serielle grænseflade.

De analoge indgangssignaler kan forstærkes med en programmerbar forstærker (PGA), der kan indstilles til 2 potenser af 2, hvilket understøtter forstærkningsværdier på 2, 4, 8, 16, 32, 64 og 128. Dette gør det muligt at forstærke meget små spændinger for at opnå en mere præcis ADC-sampling.

Mens yderligere funktioner omfatter en 16-bit seks-kanals pulsbreddemodulation (PWM), 19 generelle I/O'er (GPIO'er), to 16-bit generelle timere, en 32-bit wakeup/watchdog-timer og et eksternt afbrydelsessystem, er det vigtigt at holde applikationsfirmwaren fokuseret på at understøtte dens hovedformål, nemlig ADC-optagelse og databehandling. Hvis ADuCM360 får til opgave at udføre yderligere funktioner, der ikke er relateret til dens hovedformål, nemlig analog dataoptagelse, kan det let føre til en udvikling af funktioner, der forstyrrer dette formål, samtidig med at det komplicerer firmwareopdateringer.

Funktioner og karakteristika ved ultra-lavt strømforbrug

På trods af ADuCM360's high-end analoge funktioner er den stadig i stand til at have et lavt strømforbrug under højtydende forhold. I normal driftstilstand trækker Cortex-M3-kernen kun 290 mikroampere (µA)/MHz. Med et systemur på 0,5 MHz, begge ADC'er, der tager prøver, alle timere, der kører, og en PGA-forstærkning på 4, når mikrocontrolleren tilgås fra SPI-interfacet, trækker den kun 1 milliamp (mA). Dette er med inputbufferne slukket, da bufferspændingslagringen øger strømforbruget. Når mikrocontrolleren er i dvaletilstand med kun wake-up-timeren kørende, bruger den kun 4 µA. Dette gør ADuCM361 velegnet til batteridrevne IIoT-slutpunkter.

Til mindre komplekse applikationer, der ikke kræver hastigheden fra to ADC'er, tilbyder Analog Devices ADUCM361BCPZ128-R7, som er den samme som ADuCM360, bortset fra at den kun har én sigma-delta 24-bit ADC (Figur 2).

Diagram over Analog Devices ADuCM361 er et komplet dataindsamlingssystem på en chipFigur 2: ADuCM361 er et komplet dataindsamlingssystem på en chip, svarende til ADuCM360, bortset fra at den har en 24-bit sigma delta ADC. Dette sparer omkostninger og strøm i applikationer, der ikke kræver to ADC'er, der kører samtidigt. (Billedkilde: Analog Devices)

I applikationer, der ikke kræver den høje ydeevne, som to 24-bit ADC'er, der kører på samme tid, reducerer ADuCM361 systemomkostningerne og strømforbruget på kortet. Den enkelte ADC er også forbundet til en input-multiplexer, der understøtter i alt 11 enkeltkanals- eller seks differentielle indgange. Den kan også selvkalibrere ved hjælp af 12-bit DAC, den interne båndgabereference og temperatursensor.

ADuCM361 er pin-kompatibel med ADuCM360. Dette gør det muligt at bruge et enkelt printkortlayout til begge produkter. Dette forenkler produktudviklingen og materialebeskrivelsen (BOM), da en producent af IIoT-endpunkter kan bruge ét printkort til to eller flere produkter.

Udvikling af dataindsamlingssystem

Til produktudvikling tilbyder Analog Devices evalueringssættet EVAL-ADuCM360QSPZ (Figur 3). Evalueringsboardet kan bruges som interface til analoge sensorer eller eksterne spændingskilder til firmwareudvikling af ADuCM360- og ADuCM361-mikrocontrollerne.

Billede af Analog Devices EVAL-ADuCM360QSPZ evalueringssætFigur 3: Analog Devices EVAL-ADuCM360QSPZ-evalueringssæt giver mulighed for evaluering af de analoge ADuCM360- og ADuCM361-mikrocontrollere. Den kan have direkte interface til eksterne analoge sensorer og kan styres via en USB-forbindelse. (Billedkilde: Analog Devices)

Der er adgang til evalueringssættet fra en værtscomputer med Windows via en USB-port. Dette gør det muligt at programmere den indbyggede ADuCM360 med målfirmware til test og fejlfinding. EVAL-ADuCM360QSPZ har alle ADuCM360's pins til rådighed på printkortet, herunder de serielle I/O, så evalkortet kan forbindes via I2C, SPI eller UART til en værtsmikrocontroller til debugging i realtid. Windows-værtscomputeren kan logge ADC-dataene og kan også afprøve nøjagtigheden af de selvkalibrerende rutiner.

Konklusion

Mange IIoT-slutpunkter, der anvendes til high-end analoge applikationer som f.eks. processtyring, har brug for at foretage mere kantbehandling af analoge sensordata, der er opfanget ved hjælp af ADC'er. Mængden af ADC-data og kompleksiteten af kantbehandlingen kan overvælde IIoT-endpointets hovedmikrocontroller. Den primære slutpunktsmikrocontroller kan i stedet via en seriel port tilsluttes en analog mikrocontroller, der er et selvstændigt dataindsamlingssystem. Dette øger slutpunktets ydeevne og reducerer netværkstrafikken, hvilket resulterer i et mere effektivt IIoT-netværk.

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.

Om denne forfatter

Image of Bill Giovino

Bill Giovino

Bill Giovino is an Electronics Engineer with a BSEE from Syracuse University, and is one of the few people to successfully jump from design engineer, to field applications engineer, to technology marketing.

For over 25 years Bill has enjoyed promoting new technologies in front of technical and non-technical audiences alike for many companies including STMicroelectronics, Intel, and Maxim Integrated. While at STMicroelectronics, Bill helped spearhead the company’s early successes in the microcontroller industry. At Infineon Bill orchestrated the company’s first microcontroller design wins in U.S. automotive. As a marketing consultant for his company CPU Technologies, Bill has helped many companies turn underperforming products into success stories.

Bill was an early adopter of the Internet of Things, including putting the first full TCP/IP stack on a microcontroller. Bill is devoted to the message of “Sales Through Education” and the increasing importance of clear, well written communications in promoting products online. He is moderator of the popular LinkedIn Semiconductor Sales & Marketing Group and speaks B2E fluently.

Om udgiveren

DigiKeys nordamerikanske redaktører