Teollisuusautomaatiolaitosten nopea konfigurointi mikrokontrollereiden etädebuggereilla
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2021-03-03
Teollisuusautomaatiolaitokset lisäävät mikrokontrolleripohjaisten yhden piirilevyn tietokoneiden (SBC) käyttöä laitostoimintojen ohjauksessa tehokkuuden lisäämiseksi ja tuottavuuden parantamiseksi. Käytettävät SBC-tietokoneet ovat usein valmiina hyllystä saatavien SBC-laitteiden ja konfiguroitavien laiteohjelmistojen sekä räätälöityjen SBC-tietokoneiden ja räätälöityjen laiteohjelmistojen yhdistelmiä. Uusissa teollisuuslaitoksissa tai uudistetuissa laitoksissa SBC-laiteohjelmisto saattaa kuitenkin vaatia muokkausta toimintojen parantamiseksi ja koodivikojen korjaamiseksi.
Tässä artikkelissa käsitellään SBC-tietokoneiden roolia ja syitä siihen, miksi etädebuggauksesta on tulossa teollisuusympäristöissä yhä tärkeämpää. Sen jälkeen artikkelissa esitellään etädebuggereita sekä niihin liittyvä ohjelmisto valmistajalta MikroElektronika. Lisäksi siinä selitetään miten ne voidaan yhdistää Wi-Fi-verkkoon useimpien SBC-tietokoneiden Arm®-mikrokontrollereiden debuggaamiseksi etänä.
SBC-teollisuustietokoneet
Moderneihin teollisuusautomaatiolaitoksiin kohdistuu paine nostaa tuottavuutta paremmalla projektinhallinnalla ja tarkkuutta lisäämällä. Siihen voidaan käyttää korkean resoluution antureita, jotka hankkivat tarkempaa dataa ohjausohjelmistolle. Lisäksi aktuaattorit, esimerkkinä moottorit ja solenoidit, voidaan päivittää aktuaattoreihin, jotka käyttävät paljon hienompia askeleita.
Kun nämä tarkkuudeltaan ja resoluutioltaan tehokkaammat anturit ja aktuaattorit asennetaan, näitä laitteita hallinnoivaa SBC-tietokoneiden ohjausohjelmistoa on muutettava, jotta korkeampaa resoluutiota voidaan hyödyntää. Ellei nykyisen SBC-tietokoneen laiteohjelmistoa voi päivittää uudempaan versioon, on asennettava uusi SBC. Kummassakin tapauksessa uusi ohjelmisto tyypillisesti testataan ja debugataan testauspenkissä ennen teollisuuslaitokseen asennusta. Alkutestien jälkeen uusi järjestelmä otetaan käyttöön.
Monimutkaisemmissa prosesseissa debuggaus ja ohjelmointi eivät kuitenkaan välttämättä jää tähän. Järjestelmänsisäinen käyttö voi paljastaa ongelmia, joita ei havaita tuotantoa edeltävissä testeissä, ja monissa tapauksissa ainut tapa optimoida laiteohjelmisto on suorittaa debuggaus SBC-tietokoneen ollessa käytössä.
Uusissa teollisuusautomaatiolaitoksissa voi esiintyä samoja ongelmia. Tämä pätee erityisesti suuritehoisiin järjestelmiin, joissa laiteohjelmiston säätöpiirit täytyy hienosäätää tehokkuusvaatimusten täyttämiseksi. Seisokkiaika on kallista ja täytyy minimoida riippumatta siitä, onko teollisuuslaitos uusi vai uudistettu. Tämä tarkoittaa, että SBC-tietokoneet täytyy debugata ja ohjelmoida niiden ollessa käytössä.
Sulautettujen teollisuusjärjestelmien etävianmääritys
Teollisuusjärjestelmissä käytettävien SBC-tietokoneiden debuggaus ei poikkea muiden mikrokontrolleripohjaisen järjestelmän debuggauksesta. Debuggeri täytyy liittää fyysisesti kaapelilla mikrokontrollerin debuggausportista PC-tietokoneeseen, jolla debuggausohjelmaa käytetään. Teknikko tutkii ja debuggaa PC-tietokoneella laiteohjelmistoa sen ollessa käynnissä. Tämä voi viedä aikaa, jos useita SBC-tietokoneita täytyy debugata paikan päällä, sillä teknikkojen täytyy siirtyä kunkin SBC-tietokoneen fyysiseen sijaintipaikkaan. Tehtävä voi olla hankalampi, jos osa SBC-tietokoneista sijaitsee haastavissa olosuhteissa tai fyysisesti etäisissä tai vaikeapääsyisissä paikoissa. Lisäksi on tyypillistä, että vain rajallinen määrä teknikkoja on perehtynyt räätälöityyn laiteohjelmistoon, jolloin kyseisten teknikoiden täytyy debugata monia järjestelmiä lyhyessä ajassa, mikä monimutkaistaa menettelyä ja hidastaa prosessia.
Ratkaisuna on käyttää etädebuggereita, jotka ovat fyysisesti liitettyinä SBC-tietokoneisiin, mutta joiden debuggaustoiminnot suoritetaan muualla verkossa sijaitsevan PC-tietokoneen kautta. Etädebuggerit voidaan kytkeä SBC-mikrokontrollerin debuggausporttiin ja yhdistää laitoksen tietoverkkoon Wi-Fi:n kautta. Samassa verkossa sopivassa paikassa sijaitsevalla PC-tietokoneella voidaan käyttää kutakin etädebuggeria. Tällöin teknikolla on täydet mahdollisuudet debugata järjestelmää etätietokoneelta käsin.
Insinöörit voivat käyttää tähän etädebuggaukseen Mikroen CodeGrip-laitetta. Mikroe tarjoaa valikoiman etädebuggereita, jotka voidaan yhdistää Wi-Fi:n kautta etätietokoneeseen ja jotka tukevat useiden Arm-mikrokontrollerien ohjelmointia ja debuggausta. MIKROE-3460 CodeGrip Wi-Fi -debuggeria voidaan käyttää useimpien Arm-mikrokontrollerien kanssa JTAG-portin kautta (kuva 1). Se tukee myös Armin yhden johtimen SWO (Serial Wire Output) -debuggausporttia, joka sisältyy useimpiin Arm Cortex-M3-, Cortex-M4- ja Cortex-M7 -mikrokontrollereihin.
Kuva 1: MIKROE-3460 CodeGrip -etädebuggeri liitetään fyysisesti SBC-tietokoneen JTAG- tai SWO-debuggausporttiin. Sitä voidaan etäkäyttää Wi-Fi:n kautta Arm-mikrokontrolleriohjelmiston ohjelmointiin tai debuggaukseen. (Kuvan lähde: Mikroe)
Mikroe MIKROE-3460 CodeGrip sijoitetaan fyysisesti samaan kohtaan Arm-pohjaisen SBC-tietokoneen kanssa. Se sisältää portin, joka voidaan yhdistää SBC-kortin JTAG- tai SWO-porttiin. Tämän jälkeen se yhdistetään USB-kaapelilla väliaikaisesti kannettavaan tietokoneeseen ja CodeGrip-yksikkö voidaan konfiguroida alustavasti debugattavaa mikrokontrolleria varten. CodeGrip-yksikkö sisältää USB-C-liittimen suuritehoisia järjestelmiä varten. Tästä on hyötyä erityisesti ahtaissa tiloissa ja se säästää aikaa ja vaivaa, sillä USB-C-liittimet voidaan aikaisemmista USB-liittimistä poiketen yhdistää miten päin tahansa.
CodeGrip-yksikköön yhdistetyssä kannettavassa tietokoneessa on oltava Mikroen CodeGrip Suite -ohjelmisto CodeGrip-yksikön alustavaa konfigurointia varten. CodeGrip-yksikkö ilmaisee tilansa viidellä ledillä (kuva 2). Paikan päällä oleva teknikko saa näin erittäin tärkeää järjestelmäinformaatiota siitä, että yksikkö toimii moitteettomasti, ilman että siihen tarvitsisi yhdistää kannettavaa tietokonetta. Kun yksikkö on kytketty oikein päälle, vihreä virtaledi syttyy. Myös punainen aktiivinen ledi syttyy CodeGrip-yksikön normaalin toiminnan aikana. Jos vihreä ledi palaa ja punainen ledi ei pala, tämä voi viitata huonoon yhteyteen JTAG/SWO-portissa tai yhteyden puuttumiseen: paikalliselle teknikolle tärkeää tietoa, että debuggauskaapeli täytyy ehkä kytkeä uudelleen tai vaihtaa.
Kuva 2: CodeGrip-yksikkö tarjoaa tärkeää informaatiota laitteen tilasta viidellä ledillä, jotka antavat nopean visuaalisen palautteen kentällä ilman että siihen tarvitsisi yhdistää kannettavaa tietokonetta. (Kuvan lähde: Mikroe)
Kun CodeGrip-yksikkö on yhdistetty USB-kaapelilla kannettavaan tietokoneeseen, laitteeseen syttyvä keltainen USB-LINK-ledi ilmaisee liitännän onnistuneen. Käyttäjä käynnistää tämän jälkeen CodeGrip Suite -ohjelmiston CodeGrip-yksikön konfiguroimiseksi USB-liitännän kautta.
CodeGripin konfigurointi
CodeGrip Suite voi usein tunnistaa SBC-tietokoneen Arm-mikrokontrollerin automaattisesti, mutta se voidaan myös konfiguroida manuaalisesti antaen ytimen tyyppi, flash-muistin koko ja RAM-konfiguraatio. Kaikkia Arm-tuotevalikoimia ei kuitenkaan voi konfiguroida helposti samalla debuggerilla. STMicroelectronicsin STM32 Arm -valikoimalle Mikroe tarjoaa MIKROE-3461 CodeGrip -yksikön. NXP Semiconductorsin Kinetis -valikoimaa tuetaan MIKROE-3462 CodeGripillä. CodeGrip-yksikkö ja CodeGrip Suite toimivat samalla tavalla niissä kaikissa.
Kun CodeGrip Suite on yhdistetty ja konfiguroitu, sillä voidaan suorittaa ohjelmointi- ja debuggaustoimintoja paikan päällä. Tiedonsiirron aikana CodeGrip-yksikön sininen dataledi vilkkuu ilmaisten, että CodeGrip-yksikön ja CodeGrip Suiten välillä siirretään dataa. Tämä osoittaa, että CodeGrip-yksikkö toimii oikein ja ohjelmoi tai debuggaa SBC-tietokonetta.
Etädebuggausta varten CodeGrip-yksikkö voidaan konfiguroida muodostamaan yhteys Wi-Fi:n kautta etätietokoneeseen, jossa käytetään CodeGrip Suitea. Turvallisuus- ja suorituskykysyistä Wi-Fi-verkon, jota käytetään CodeGrip-yksiköiden liitäntään, tulisi olla erillinen teollisuuslaitoksen muista Wi-Fi-verkoista. Ison .bin- tai .hex-tiedoston lähettäminen CodeGrip-yksikköön Wi-Fi:n kautta vastaa ison tiedoston lataamista PC-tietokoneelle, joten se voi hidastaa koko verkkoa. Jos etätietokone muodostaa onnistuneesti yhteyden CodeGrip-yksikköön, CodeGrip-yksikön oranssi NET-LINK-ledi syttyy ja ilmaisee yhteyden onnistuneen. Kun CodeGrip-yksikkö on konfiguroitu, USB-kaapelilla yhdistetty kannettava tietokone voidaan irrottaa.
CodeGrip Suite voi lukea, ohjelmoida ja nollata koko kohdemikrokontrollerin flash-muistin. Se voi myös verrata mikrokontrollerin flash-muistin sisältöä lähdetiedostoon sen varmistamiseksi, että laiteohjelmisto on autenttinen eikä siihen ole kajottu. Tästä voi olla hyötyä myös turvallisuusauditoinnin aikana laiteohjelmiston tietoturvan varmentamisessa menemättä kunkin SBC-tietokoneen fyysiseen sijaintipaikkaan.
CodeGrip Suite voi myös suorittaa kohdemikrokontrollerin laitteistouudelleenkäynnistyksen. Tästä voi olla hyötyä, jos SBC-tietokoneessa on toimintahäiriö tai epäillään tietoturvaloukkausta. Resetoitu SBC suorittaa käynnistyessään normaalisti sisäänrakennetun itsetestauksen (BIST). Tämä sisältää tietoturvatarkastuksia, joilla varmistetaan, että laite toimii moitteettomasti ja ettei siihen ole kajottu.
Yksi Mikroe CodeGrip -yksikön tehokas ominaisuus on se, että se tukee reaaliaikaista Arm SWO -debuggausporttia. SWO-kosketinnasta lähettää debuggaustietoa Arm-mikrokontrollerin tilasta, ja sillä voidaan hankkia reaaliajassa tila- ja jäljitystietoja laiteohjelmiston toiminnasta. Mikroe tarjoaa SWO-kirjastossa toimintoja, joilla CodeGrip Suiten debuggausominaisuuksia voidaan laajentaa (kuva 3). Näin mikrokontrollerin laiteohjelmistoa on helppo valvoa ja debugata etäältä.
Kuva 3: CodeGrip Suite voi tarjota Arm-mikrokontrollerin reaaliaikaiset debuggaus- ja jäljitystiedot lähettämällä dataa SWO-portin kautta. Debuggaustiedot ovat värikoodattuja helppoa vertailua varten. (Kuvan lähde: Mikroe)
SWO-viesteillä on kolme viestiluokkaa: informaatio, varoitus ja virhe. CodeGrip voi näyttää minkä tahansa tai kaikki näistä viestiluokista. Näytettävät viestit ovat värikoodattuja helppoa vertailua varten: sininen informaatiolle, keltainen varoitukselle ja punainen virheelle. Näin käyttäjät voivat päättää nopeasti mitä katsoa ja helposti priorisoida virheviestit varoitusten ja informaation sijasta.
Yhteenveto
SBC-tietokoneiden debuggaus teollisuuslaitoksissa järjestelmän ollessa käytössä voi olla aikaa vievää, varsinkin jos täytyy ohjelmoida ja debugata monia SBC-tietokoneita. Tämän ohella ei ole käytännöllistä vierailla kussakin yksittäisessä sijainnissa. Kuten artikkelissa esitetään, etädebuggaus Wi-Fi:n kautta sellaisilla laitteilla kuten CodeGrip ja siihen liittyvällä ohjelmistolla säästää aikaa ja parantaa tuottavuutta.
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.




