Hastighetskonfigurasjon av industrielle automatiseringsfasiliteter ved hjelp av fjernfeilsøking av mikrokontroller

Av Bill Giovino

Bidrag fra DigiKeys nordamerikanske redaktører

Industrielle automatiseringsfasiliteter øker bruken av mikrokontrollerbare enkeltkortdatamaskiner (SBC-er) for å kontrollere fasilitetens drift for å øke effektiviteten og forbedre produktiviteten. Ofte er SBC-ene som brukes en kombinasjon av standard SBC-er med konfigurerbar firmware og tilpassede SBC-er med tilpasset firmware. Men for nye industrianlegg, eller for eksisterende anlegg som nettopp har gjennomgått en rekonfigurasjon, må SBC-firmware kanskje endres for å forbedre driften eller rette kodefeil.

Denne artikkelen vil ta for seg rollen til SBC-er og hvorfor fjernfeilsøking blir stadig viktigere i industrimiljøer. Deretter introduseres fjernfeilsøkere og tilhørende programvare fra MikroElektronika og forklarer hvordan de kan kobles til et Wi-Fi-nettverk for fjernfeilsøking av Arm®-mikrokontroller i de fleste SBCer.

SBC-er i industrielle datamaskiner

Moderne industrielle automatiseringsfasiliteter er under press for å øke produktiviteten ved bedre prosesstyring gjennom større presisjon. Dette kan inkludere bruk av høyoppløselige sensorer for å gi mer nøyaktige data til kontrollens firmware. I tillegg kan aktuatorer som motorer og solenoider oppgraderes til aktuatorer som kan bevege seg i mye finere trinn.

Når disse høyere nøyaktigheten og høyere oppløsningssensorer og aktuatorer er installert, må styrefirmwaren i SBC-ene som administrerer disse enhetene modifiseres for å dra nytte av den økte oppløsningen. Hvis firmwareoppgraderingen ikke kan håndteres av gjeldende SBC, må en ny SBC installeres. I begge tilfeller vil den nye firmwaren vanligvis bli testet og feilsøkt på benken før den installeres i industrianlegget. Etter innledende tester settes det nye systemet i drift.

Men for mer komplekse prosesser kan feilsøking og programmering ikke ende der. Drift i systemet kan avdekke problemer som ikke ble oppdaget under disse forproduksjonstestene, og i mange tilfeller er den eneste måten å optimalisere firmwaren å utføre feilsøking mens SBC-en er i bruk.

Nye industrielle automatiseringsfasiliteter kan møte på de samme problemene. Dette gjelder spesielt for systemer med høy ytelse der firmwarekontrollsløyfer må finjusteres for å oppfylle effektivitetskrav. Uavhengig av om industrianlegget er nytt eller oppgradert, er nedetiden dyr og må minimeres. Det betyr at SBC-en må feilsøkes og programmeres i systemet.

Feilsøking av industrielle innebygde systemer eksternt

Feilsøking av SBC-er som brukes i industrielle systemer, er ikke forskjellig fra feilsøking av ethvert mikrokontroller-basert system. En feilsøker må være fysisk koblet til via kabel fra mikrokontrollerens feilsøkingsport til en datamaskin som kjører et feilsøkingsprogram. En tekniker på PC-en undersøker og feilsøker deretter firmwaren mens den kjører. Dette kan være tidskrevende hvis mange SBC-er må feilsøkes på stedet, da teknikerne må reise til hver SBC-ens fysiske plassering. Dette kan være vanskeligere hvis noen SBC-er er i tøffe omgivelser, eller i fysisk fjerntliggende eller utilgjengelige steder. I tillegg er det typisk at bare et begrenset antall teknikere vil være kjent med den egendefinerte firmwaren, noe som krever at disse teknikerne feilsøker mange systemer på kort tid, noe som kompliserer prosedyren og forsinker prosessen.

Løsningen er å bruke fjernfeilsøkere som er fysisk koblet til SBC-ene, men som har feilsøkingsfunksjoner levert av en nettverks-PC lokalisert et annet sted. Fjernfeilsøkere kan kobles til SBC-ens feilsøkingsport for mikrokontroller mens de er koblet til et anleggs nettverk via Wi-Fi. En PC på det samme nettverket på et praktisk sted kan brukes til å få tilgang til noen av fjernfeilsøkerne. Teknikeren har da fullstendig feilsøkingsfunksjon på den eksterne PC-en.

For å utføre denne fjernfeilsøkingen, kan ingeniører bruke Mikroe sin CodeGrip, en familie av eksterne feilsøkere som kan koble til via Wi-Fi til en ekstern PC for å støtte programmering og feilsøking av mange Arm-mikrokontrollere. MIKROE-3460 CodeGrip Wi-Fi-feilsøkeren kan brukes på de fleste Arm-mikrokontrollere med en JTAG-port (figur 1). Den støtter også SWO (Arm Serial Wire Output) en enkeltkabels feilsøkingsport som finnes på de fleste Arm Cortex-M3-, Cortex-M4- og Cortex-M7-mikrokontrollere.

Bilde av MikroElektronika MIKROE-3460 CodeGrip-fjernfeilsøkerFigur 1: MIKROE-3460 CodeGrip-fjernfeilsøkeren er fysisk koblet til en SBC sin JTAG- eller SWO-feilsøkingsport. Den kan nås eksternt via Wi-Fi for å programmere eller feilsøke Arm-mikrokontrollerens firmware. (Bildekilde: Mikroe)

Mikroe MIKROE-3460 CodeGrip er plassert på den fysiske plasseringen av den Armbaserte SBC-en. Den har en port for å koble til JTAG- eller SWO-porten som er tilgjengelig på kortkontakten. Den er deretter midlertidig koblet til en bærbar datamaskin med USB for i utgangspunktet å konfigurere CodeGrip-enheten for mikrokontrolleren som feilsøkes. For systemer med høy ytelse har CodeGrip-enheten en USB-C-kontakt. Dette er spesielt nyttig i trange situasjoner og sparer tid og frustrasjon, siden USB-C-kontakter i motsetning til tidligere USB-kontakter ikke har en topp- eller bunnretning.

Den bærbare datamaskinen som er koblet til CodeGrip-enheten, må kjøre Mikroes CodeGrip-pakke for i utgangspunktet å konfigurere CodeGrip-enheten. CodeGrip-enheten angir sin status med fem lysdioder (figur 2). Dette gir kritisk statusinformasjon til en tekniker på stedet om at enheten fungerer som den skal uten å måtte koble til en bærbar datamaskin. Når den er riktig strømsatt, vil den grønne strømdioden lyse. Under normal CodeGrip-enhetsdrift vil den røde aktive LED-lampen også lyse. Hvis den grønne LED-en er på og den røde LED-en er av, kan det indikere en dårlig eller ingen tilkobling til JTAG/SWO-porten; viktig informasjon til en lokal tekniker om at feilsøkingskabelen kanskje må tas ut og settes inn igjen eller erstattes med en ny.

Skjema over MikroElektronika CodeGrip-enhet (klikk for å forstørre)Figur 2: CodeGrip-enheten gir kritisk statusinformasjon ved hjelp av fem lysdioder som gir rask visuell tilbakemelding i felten uten å måtte koble til en bærbar datamaskin. (Bildekilde: Mikroe)

Når den er koblet til via USB til en bærbar datamaskin, vil CodeGrip-enheten indikere en vellykket tilkobling ved å tenne den gule USB-LINK-lysdioden på enheten. Brukeren kjører deretter CodeGrip-pakken for å konfigurere CodeGrip-enheten over USB-tilkoblingen.

Konfigurerer CodeGrip

CodeGrip Suite kan ofte automatisk oppdage Arm-mikrokontrolleren på SBC-en, men den kan også konfigureres manuelt med kjernetypen, flash-minnestørrelsen og RAM-konfigurasjonen. Men ikke alle Arm produktfamilier kan enkelt konfigureres ved hjelp av samme feilsøker. For STMicroelectronics sin STM32 Arm-familie leverer Mikroe MIKROE-3461 CodeGrip-enheten. NXP Semiconductors sin Kinetis-familie støttes av MIKROE-3462 CodeGrip. For alle disse er driften av CodeGrip-enheten og CodeGrip-pakken identiske.

Når den er koblet til og konfigurert, kan CodeGrip Suite utføre programmerings- og feilsøkingsoperasjoner på stedet. Under enhver dataoverføring til CodeGrip-enheten, vil den blå data-LED-en blinke, noe som indikerer at data overføres mellom CodeGrip-enheten og CodeGrip-pakken. Dette indikerer at CodeGrip-enheten fungerer som den skal og programmerer eller feilsøker SBC-en.

For ekstern feilsøking kan CodeGrip-enheten konfigureres til å koble til via Wi-Fi til en ekstern PC, som også kjører CodeGrip Suite. Av sikkerhets- og ytelseshensyn bør Wi-Fi-nettverket som brukes til å koble til CodeGrip-enhetene, være atskilt fra de andre Wi-Fi-nettverkene som brukes i industrianlegget. Å sende en stor .bin- eller .hex-fil til CodeGrip-enheten over Wi-Fi tilsvarer å laste ned en stor fil til en PC, slik at den kan bremse hele nettverket. Hvis en ekstern PC kobles til CodeGrip-enheten, vil den oransje NET-LINK-lysdioden på CodeGrip-enheten tennes, noe som indikerer en vellykket tilkobling. Når CodeGrip-enheten er konfigurert, kan den bærbare datamaskinen som er koblet til via USB kobles fra.

CodeGrip Suite kan lese, programmere og slette hele flash-minnet på mål-mikrokontrolleren. Den kan også sammenligne innholdet i mikrokontrollerens flashminne med en kildefil for å bekrefte at firmwaren er autentisk og ikke er manipulert. Dette kan også være nyttig under en sikkerhetsrevisjon for å verifisere sikkerheten til firmwaren uten å måtte reise til den fysiske plasseringen av hver SBC.

CodeGrip Suite kan også utføre en maskinvaretilbakestilling av mål-mikrokontrolleren. Dette kan være nyttig for en feilfunksjonerende SBC eller hvis det mistenkes et sikkerhetsbrudd. Normalt vil en tilbakestilt SBC kjøre en innebygd selvtest (built-in self-test – BIST) på oppstarten som inkluderer sikkerhetssjekker, som bekrefter at enheten fungerer som den skal og ikke er manipulert.

En kraftig egenskap ved Mikroe CodeGrip-enheten er at den støtter sanntidsfeilsøkingsporten Arm SWO. SWO-pinnstrømmene feilsøker informasjon om statusen til Arm-mikrokontrolleren og kan brukes til å gi, i sanntid, status- og sporingsinformasjon om firmwareoperasjon. Mikroe tilbyr et SWO-bibliotek med funksjoner som kan forbedre feilsøkingsfunksjonene til CodeGrip Suite (figur 3). Dette kan gjøre det enkelt å overvåke og feilsøke mikrokontrollerens firmware eksternt.

Bilde av MikroElektronika CodeGrip Suite kan gi sanntids feilsøkings- og sporingsinformasjonFigur 3: CodeGrip Suite kan gi sanntids feilsøkings- og sporingsinformasjon for en Arm-mikrokontroller ved å strømme data ut av SWO-porten. Feilsøkingsinformasjon er fargekodet for enkel referanse. (Bildekilde: Mikroe)

SWO-meldinger har tre meldingskategorier; Info, Advarsel og Feil. CodeGrip kan vise noen eller alle disse meldingskategoriene. Viste meldinger er fargekodet for enkel referanse; blå for info, gul for advarsel og rød for feil. Dette lar brukere raskt bestemme hva som må vises, og også enkelt prioritere feilmeldinger fremfor advarsler og informasjon.

Konklusjon

Feilsøking av SBC-er i industrianlegg mens systemet er i drift, kan være tidskrevende, spesielt hvis mange SBC-er må programmeres og feilsøkes. Videre er det ikke alltid praktisk å besøke hvert enkelt sted. Som vist sparer ekstern feilsøking over Wi-Fi ved hjelp av enheter som CodeGrip og tilhørende programvare tid, samtidig som produktiviteten forbedres.

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 skribenten

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 denne utgiveren

DigiKeys nordamerikanske redaktører