CAN-väylää ja suoritinytimestä riippumattomia oheislaitteita hyödyntävät 8-bittiset mikro-ohjaimet tarjoavat suunnittelijoille helppokäyttöiset välineet suorituskykyisten ajoneuvojärjestelmien rakentamiseen. Piireille on saatavissa myös kattava valikoima monipuolisia kehitystyökaluja.
Artikkelin kirjoittaja Edwin Romero toimii Microchipin 8-bittisten mikro-ohjainten tuotemarkkinointipäällikkönä. |
Autoteollisuudelle 1980-luvun puolivälissä kehitetty CAN-protokolla (Controller Area Network) suunniteltiin vähentämään ajoneuvojen johdotusten monimutkaisuutta (painoa, määrää ja hintaa) tiedonsiirron sovelluksissa, jotka yhä useammin kytkeytyvät toisiinsa.
CAN-protokollan tarjoamat edut on hyväksytty ja otettu käyttöön monilla muillakin markkinoilla kuten tehdasautomaatiossa ja lääketieteen sovelluksissa. Nykyään toimitetaan vuosittain erilaisiin järjestelmiin jo reilusti yli miljardi CAN-solmua. Vastaavasti toimitetaan vuosittain yli miljardi 8-bittistä mikro-ohjainta (MCU). Vaikka näissä lukemissa on tällä hetkellä vain jonkin verran päällekkäisyyttä, se tulee merkittävästi kasvamaan tulevaisuudessa.
CAN täyttää autoalan toiveet
Perinteinen CAN-tietoliikenne on tapahtumapohjaista, jolloin mikro-ohjaimet ja sovelluskohtaiset IC-piirit (ASIC) kommunikoivat suoraan keskenään sovelluksissa, joissa ei ole isäntäkonetta mukana. Puolijohdevalmistajien integrointityö on lisännyt merkittävästi CAN-järjestelmän kustannustehokkuutta ja yhteensopivuutta monien muiden ajoneuvojärjestelmien kanssa.
Vuosituhannen vaihteesta lähtien 8-bittiset mikro-ohjaimet ovat myös sisältäneet valmiudet CAN-protokollan soveltamiseen. Vuonna 2015 esitelty mikro-ohjainten suunnittelun uusi lähestymistapa puolestaan hyödyntää ohjainytimestä riippumattomia CIP-oheislaitteita (Core Independent Peripheral), joiden avulla uudet 8-bittiset mikro-ohjaimet voivat ottaa huomioon lukuisia CAN-sovellusten järjestelmätason näkökohtia.
Kustannustehokkuuden lisäksi CAN-järjestelmän etuja ovat
- Kestävyys
- Luotettava datansiirto
- Melko yksinkertainen toteutus
Kuten hyvin tiedetään, 8-bittisillä mikro-ohjaimilla on nämä samat edut kustannustehokkuuden lisäksi. Niinpä CAN-ominaisuuksilla varustettu 8-bittinen MCU-piiri on luonteva yhdistelmä monenlaistenajoneuvoihin suunniteltujen datansiirtojärjestelmien vaatimusten täyttämiseksi.
Vuosien mittaan CAN-protokolla on osoittautunut kykeneväksi täyttämään monenlaisten ohjausjärjestelmien asettamat vaatimukset. Ajoneuvoihin tarkoitetut datansiirtoverkot ovat jatkuvasti saaneet uusia ominaisuuksia. Näitä ovat esimerkiksi ajallisesti liipaistut, vikasietoiset ja yhden johtimen väylätoteutukset sekä joustavan datanopeuden järjestelmät (CAN FD). Tästä syystä CAN-määrityksiä on vastaavasti laajennettu. Taulukkoon 1 on koottu CAN-varianttien ominaisuuksia, joita on vuosien varrella lisätty protokollaan sen ensijulkaisun jälkeen yli 30 vuotta sitten.
Taulukko 1. CAN-protokollaan vuosien varrella lisättyjä ominaisuuksia erilaisiin autoteollisuuden tarpeisiin.
Autoteollisuuden suunnittelijat ovat aiemmin käyttäneet paikallisverkon anturien ja toimilaitteiden yhdistämiseen LIN-protokollaa (Local Inteconnect Network) kustannusten vähentämiseksi. Yksijohtiminen LIN vaatii kuitenkin isäntä-renki-tyyppisenä verkkona muutoksia sekä CAN-laitteiston että -ohjelmiston puolella.
Joissakin uusimmissa CAN-ajoneuvosovelluksissa on mukana pääsynvalvonta, akun lataus- ja hallintatoimintoja sekä diagnostiikkalaitteita. Nämä ynnä muut ajoneuvojen asettamat vaatimukset puoltavat 8-bittisen CAN-mikro-ohjaimen käyttöä. Tämä koskee erityisesti niitä toimintoja, jotka tarvitsevat datan siirtämistä toisista CAN-ohjausjärjestelmistä. Kuvasta 1 nähdään, kuinka helposti 8-bittinen MCU-CAN-solmu voidaan liittää tavanomaiseen CAN-väylään.
Kuva 1. Erilaiset CAN-toteutukset voivat toimia CAN-väylän rinnalla ja lisätä väylän joustavuutta. (1) highspeed -mode on optio.
Edullinen ratkaisu CAN-CIP-ohjaimilla
CAN-väylään kytkeytyminen on suunniteltavan järjestelmän vähimmäisominaisuus ja kaikki lisälaitteet, jotka erityisesti käsittelevät muita järjestelmävaatimuksia, yksinkertaistavat suunnittelijan tehtävää. Nämä järjestelmätehtävät voivat sisältää yhden tai kahden parametrin mittaamista ohjaustarkoituksiin, moottorin pyörittämiseksi, solenoidin aktivoimiseksi tai jonkin muun toiminnon suorittamiseksi.
Ytimestä riippumaton CIP-lähestymistapa voi vähentää ohjelmiston monimutkaisuutta ja tarjota lyhyempiä vasteaikoja alhaisemmilla kellotaajuuksilla, kun tehonkulutusta halutaan vähentää. Microchipin PIC18 K83 -perheen CIP-oheislaitteet kattavat seuraavat järjestelmäkategoriat:
- Älykkäät analogiaosat (mukaan lukien anturiliitännät)
- Aaltomuotojen hallinta
- Ajoitus- ja mittaus
- Logiikka- ja matematiikka
- Tietoturva ja valvonta
- Tietoliikenne
- Tehonsäästö ja järjestelmän joustavuus
Näihin kategorioihin kuuluvat erityiset oheislaitteet:
- CRC-tarkistus (Cyclic Redundancy Check), jossa mukana muistinskannaus, jotta haihtumattoman muistin eheys voidaan varmistaa
- Suora muistihaku (DMA), jonka avulla datansiirto muistin ja oheislaitteiden välillä hoidetaan ilman keskusyksikköä
- WWDT-ajastin (Windowed Watchdog Timer), jolla voidaan liipaista järjestelmän nollaukset
- ADC2-muunnin (Analog-to-Digital Converter with Computation) analogisten signaalien analysoinnin automatisoimiseksi järjestelmän reaaliaikaista vastetta varten
- CWG-generaattori (Complementary Waveform Generator) moottorinohjauksen energiatehokasta synkronikytkentää varten
- Mikro-ohjaimeen integroitu CAN-ohjain on CAN 2.0B -protokollan lisäksi täysin yhteensopiva aiempien CAN-versioiden (CAN 1.2 ja CAN 2.0A) kanssa. Sen ominaisuuksia ovat muun muassa MAP (Memory Access Partition), joka tukee käynnistyslataus- ja tietosuojaohjelmien suunnittelua. DIA (Device Information Area) puolestaan tarjoaa erillisen muistitilan tehtaalla ohjelmoiduille ID-tunnuksille ja oheislaitteiden kalibrointiarvoille.
Koska tiedonsiirto on ensisijainen tavoite CAN-solmuille, 8-bittiset mikro-ohjaimet parantavat sarjamuotoisen tietoliikenteen käyttömahdollisuuksia. Mukana on esimerkiksi UART, joka tukee asynkronisia ja LIN-protokollia kuten myös suuremmilla taajuuksilla itsenäisesti toimivia I2C- ja SPI-sarjaliitäntöjä. Taulukkoon 2 on koottu PIC18 K83 -ohjainperheen sisältämien CIP-oheislaitteiden ominaisuuksia järjestelmien erityisvaatimusten täyttämiseksi.
Taulukko 2. PIC18 K83 -perheen tarjoamat ohjainytimestä riippumattomat oheislaitteet (CIP) täyttävät suuren joukon järjestelmävaatimuksia.
Näiden sirulle integroitujen rakenteiden ansiosta - joita ei aiemmin osattu edes ajatella sijoitettavaksi 8-bittisiin mikro-ohjaimiin - nykyiset MCU-piirit voivat toimia aivan eri tavoin kuin monet suunnittelijat ovat odottaneet. Näin uudet ohjainpiirit voivat tarjota valtavasti enemmän ominaisuuksia kuin runsaat kymmenen vuotta sitten kehitetyt mikro-ohjaimet.
8-bittisen mikro-ohjaimen ohjelmointi on yksinkertaista ja helppoa, ja CAN-CIP-pohjalta vieläkin helpompaa. Koska yhdistelmä tarjoaa riittävän suoritustehon etenkin etäsolmuille, nämä 8-bittiset mikro-ohjaimet tarjoavat mainion vaihtoehdon 16-bittisille MCU-piireille, jotka ovat kalliimpia ja vaikeampia ohjelmoida. CIP-oheislaitteiden ansiosta tarjolla on jopa enemmän prosessointitehoa, minkä vuoksi valittavissa on entistä enemmän 8-bittisiä MCU-vaihtoehtoja.
Monipuolisesti konfiguroitavat sirulle integroidut moduulit kykenevät käsittelemään toistuvia sulautettuja toimintoja aiempaa tehokkaammin ja deterministisemmin. Itse asiassa, jos mikro-ohjain ajautuu silmukkatilaan, CAN-protokollan deterministisen luonteen ansiosta CIP-oheislaite voi edelleen jatkaa toimintaansa ohjainytimestä piittaamatta.
Uusimpien 8-bittisten CAN-CIP-mikro-ohjaimien ja LIN-protokollan avulla suunnittelijat pääsevät käsiksi aiempaa suurempaan joustavuuteen ja CAN-LIN-tiedonsiirron toteuttamisen vaihtoehtoihin. Itse asiassa jotkin tyypilliset 8-bittiset MCU-LIN-sovellukset ovat nyt potentiaalisia CAN-sovelluksia.
Jos moduulin tulee esimerkiksi olla tietoinen jostain muusta verkon datasta kuten ajoneuvon nopeudesta, CAN voi olla parempi valinta tai ainakin vaihtoehto LIN-protokollalle. Tämä voi olla käyttökelpoista esimerkiksi tuulilasinpyyhkimien ohjauksessa, kun pyyhkimien nopeutta halutaan säätää ajonopeuden mukaan käyttämättä CAN-LIN-yhdyskäytävää. Lisäksi järjestelmätason CIP-oheislaitteet voivat tehdä ylimääräisen ASIC-piirin käyttämisen tarpeettomaksi.
Samanlaisia CIP-tyyppisiä aaltomuotogeneraattori- ja PWM-oheislaitteita on käytetty jo vuosia monivärisin ledein toteutetuissa melko monimutkaisissa ajoneuvon sisustusvaloissa. Niissä ohjaimet liitettiin LIN-väylään, koska mikro-ohjaimissa ei tuolloin vielä ollut CAN-väylää. Tämä toiminnallisuus liitettynä kustannustehokkaaseen 8-bittiseen CAN-mikro-ohjaimeen voi tarjota joustavan ja yksinkertaisen vaihtoehdon suunnittelun lähestymistapaan.
Vaikka suurin osa markkinoilla olevista 8-bittisistä mikro-ohjaimista luottaa ohjainytimeen oheistoimintojen suorittamisessa, tarjolla on useita muita järjestelmän suunnitteluratkaisuja, jotka voidaan toteuttaa CIP-oheislaittein rasittamatta juurikaan ohjaimen CPU-lohkoa. Näitä ovat esimerkiksi erilaisten anturien suurta tarkkuutta vaativat liitännät, teholedien ohjaimet ja suhteellisen monimutkaiset moottorinohjausratkaisut.
Jotta voitaisiin määrittää, mitkä näistä ratkaisuista ja muista mahdollisuuksista soveltuvat tietylle verkkotyypille, käytettävissä on useita erilaisia kehitystyökaluja. Esimerkiksi MPLAB Code Configurator (MCC) on ilmainen ohjelmistoliitännäinen, joka tarjoaa graafisen käyttöliittymän sovelluksiin liittyvien oheislaitteiden ja toimintojen määrittämiseen. Tämän työkalun avulla järjestelmien suunnittelijat voivat helposti konfiguroida sirulle integroituja oheislaitteita sen sijaan, että joutuisivat kirjoittamaan ja validoimaan koko ohjelmistorutiinin tiettyä tehtävää varten.
Suunnitteluasenteeksi ’CAN-Do’
Ajoneuvo- ja teollisuusjärjestelmien suunnittelijoilla on varmasti useita vaihtoehtoja väyläarkkitehtuuriksi. Järjestelmän asettamien erityisvaatimusten käsittelemiseen tarvittavilla lisätoiminnoilla varustettu mikro-ohjain tekee kuitenkin CAN-väylästä erinomaisen vaihtoehdon erityisesti silloin, kun kohdeverkossa tarvitaan anturein tapahtuvia mittauksia ja ohjaustoimintoja. CIP-oheislaitteiden avulla 8-bittinen MCU-CAN-piiriperhe mahdollistaa CAN-väylän laajennukset aiempaa edullisemmin verkon kustannuskriittisiin solmuihin.
Uudet 8-bittiset CAN-CIP-mikro-ohjaimet soveltuvat jatkuvasti kehittyviin ajoneuvojen verkkosovelluksiin, jotka vaativat joustavaa, kustannustehokasta, yksinkertaista ja luotettavaa tiedonsiirtoa. Lisäksi ne tarjoavat entistä enemmän suorituskykyä ja järjestelmätukea käyttöoikeuksien valvontaan ja akunlatauksen sekä diagnostiikkalaitteiden hallintaan.
Lisätietoja
PIC18 K83 -tuoteperhe: http://www.microchip.com/promo/pic18f-k83
Kehitystyökalu MPLAB Code Configurator (MCC): http://www.microchip.com/mplab/mplab-code-configurator