Mikrokontrolleri ( Eng. Micro Controller Unit, MCU ) on mikropiiri , joka on suunniteltu ohjaamaan elektronisia laitteita .
Tyypillinen mikro-ohjain yhdistää prosessorin ja oheislaitteiden toiminnot yhdelle sirulle , sisältää RAM -muistia ja/tai ROM -muistia . Se on pohjimmiltaan yksisiruinen tietokone , joka pystyy suorittamaan suhteellisen yksinkertaisia tehtäviä.
Se eroaa mikroprosessorista mikropiiriin integroiduissa tulo-lähtölaitteissa, ajastimissa ja muissa oheislaitteissa.
Yksisiruisten mikrotietokoneiden tuloon liittyy tietokoneautomaation massasovelluksen aikakauden alku hallinnan alalla. Ilmeisesti , tämä seikka määritti termin "ohjain" ( englanniksi controller - regulator, control device).
Kotimaisen tuotannon vähenemisen ja laitteiden, mukaan lukien tietojenkäsittelyn, tuonnin lisääntymisen vuoksi termi "mikro-ohjain" (MC) on syrjäyttänyt aiemmin käytetyn termin "yksisiruinen mikrotietokone".
Ensimmäinen patentti yksisiruiselle mikrotietokoneelle myönnettiin vuonna 1971 insinööreille Michael Cochranille ja Gary Boonille, amerikkalaisen Texas Instrumentsin työntekijöille . Juuri he ehdottivat prosessorin lisäksi myös muistin sijoittamista syöttö- ja tulostuslaitteilla yhdelle sirulle .
Vuonna 1976 [1] amerikkalainen Intel julkaisi i8048 -mikroohjaimen . Vuonna 1978 Motorola julkaisi ensimmäisen mikro-ohjaimensa, MC6801:n, joka oli yhteensopiva aiemmin julkaistun MC6800-mikroprosessorin kanssa. Vuonna 1980 Intel julkaisi seuraavan mikro-ohjaimen: i8051 . Hyvä oheislaitesarja, joustava ulkoisen tai sisäisen ohjelmamuistin valinta ja edullinen hinta varmistivat tämän mikro-ohjaimen menestymisen markkinoilla. Teknisesti i8051-mikro-ohjain oli aikansa hyvin monimutkainen tuote - kiteessä käytettiin 128 tuhatta transistoria , mikä oli 4 kertaa transistorien lukumäärä 16-bittisessä i8086 -mikroprosessorissa .
Neuvostoliitossa kehitettiin alkuperäisiä mikro-ohjaimia, ja myös menestyneimpien ulkomaisten näytteiden kloonien tuotanto hallittiin [ 2 ] [3] [4] [5] . Vuonna 1979 Neuvostoliitossa NII TT kehitti yksisiruisen 16-bittisen tietokoneen K1801BE1 , jonka mikroarkkitehtuuria kutsuttiin " Electronics NTs ".
Vuonna 2013 i8051:n kanssa yhteensopivia mikro-ohjaimia tuotettiin yli 200, ja niitä valmisti kaksi tusinaa yritystä, ja suuri määrä muun tyyppisiä mikrokontrollereita. Microchip Technologyn 8-, 16- ja 32-bittiset PIC - mikro - ohjaimet , Atmelin AVR-mikro - ohjaimet (vuodesta 2016 valmistaja Microchip [6] ) , TI : n 16-bittinen MSP430 sekä 32-bittinen mikro-ohjainarkkitehtuuri ARM , joka on ARM Limitedin kehittämä ja lisensoitu muille yrityksille niiden tuotantoa varten. Huolimatta edellä mainittujen mikro-ohjainten suosiosta Venäjällä, vuonna 2009 maailmanlaajuinen myynnin sijoitus Gartner Groupin mukaan näytti erilaiselta: Renesas Electronics sijoittui ensimmäiseksi laajalla marginaalilla , Freescale sijoittui toiseksi , Samsung sijoittui kolmanneksi , jota seurasi Microchip ja TI, jäljempänä - kaikki loput [7] .
Mikro-ohjaimia suunniteltaessa on olemassa kompromissi toisaalta koon ja kustannusten sekä toisaalta joustavuuden ja suorituskyvyn välillä. Eri sovelluksissa näiden ja muiden parametrien optimaalinen suhde voi vaihdella suuresti. Siksi on olemassa valtava määrä mikro-ohjaintyyppejä, jotka eroavat prosessorimoduulin arkkitehtuurista, sisäänrakennetun muistin koosta ja tyypistä, oheislaitteiden joukosta, kotelon tyypistä jne.
Toisin kuin perinteiset tietokoneiden mikroprosessorit, mikro-ohjaimet käyttävät usein Harvardin muistiarkkitehtuuria eli erillistä tietojen tallennusta RAM -muistiin ja ohjeita ROM -muistiin .
RAM-muistin lisäksi mikro-ohjaimessa voi olla sisäänrakennettu haihtumaton muisti ohjelmien ja tietojen tallentamista varten. Monissa ohjainmalleissa ei ole renkaita ulkoisen muistin liittämistä varten.
Halvimmilla muistityypeillä on vain yksi kirjoitus, tai tallennettu ohjelma kirjoitetaan sirulle valmistusvaiheessa (teknisten maskien kokoonpano). Tällaiset laitteet soveltuvat massatuotantoon tapauksissa, joissa ohjainohjelmaa ei päivitetä. Muilla säätimien modifikaatioilla on mahdollisuus kirjoittaa ohjelma toistuvasti uudelleen haihtumattomaan muistiin.
Osittainen luettelo oheislaitteista , joita voidaan käyttää mikro-ohjaimissa, sisältää:
Hinta- ja tehorajoitukset rajoittavat säätimien kellotaajuutta. Vaikka valmistajat pyrkivätkin varmistamaan tuotteidensa toiminnan korkeilla taajuuksilla, he antavat samalla asiakkaille valinnanvaraa julkaisemalla eri taajuuksille ja syöttöjännitteille suunniteltuja modifikaatioita. Monet mikro-ohjainmallit käyttävät staattista muistia RAM-muistille ja sisäisille rekistereille . Tämä antaa ohjaimelle mahdollisuuden toimia matalilla taajuuksilla eikä edes menetä tietoja, kun kellogeneraattori on täysin pysähtynyt. Usein tarjotaan erilaisia virransäästötiloja , joissa osa oheislaitteista ja laskentamoduuli on kytketty pois päältä.
Riittävän tehokkaan ja laajoilla ominaisuuksilla varustetun laskentalaitteen käyttö modernissa mikro-ohjaimessa , joka on rakennettu yhdelle sirulle kokonaisen sarjan sijaan, vähentää merkittävästi sen pohjalta rakennettujen laitteiden kokoa, virrankulutusta ja kustannuksia.
Käytetään ohjaamaan erilaisia laitteita ja niiden yksittäisiä yksiköitä:
Teollisuudessa:
Vaikka 8-bittiset yleiskäyttöiset mikroprosessorit ovat kokonaan korvattu tehokkaammilla malleilla, 8-bittiset mikro-ohjaimet ovat edelleen laajalti käytössä. Tämä johtuu siitä, että on monia sovelluksia, joissa korkeaa suorituskykyä ei vaadita, mutta alhaiset kustannukset ovat tärkeitä. Samaan aikaan on olemassa mikro-ohjaimia, joissa on paremmat laskentaominaisuudet, kuten digitaaliset signaaliprosessorit , joita käytetään käsittelemään suurta datavirtaa reaaliajassa (esimerkiksi ääni- ja videovirrat).
Mikrokontrolleriohjelmointi tehdään yleensä kokoonpanokielellä tai C -kielellä , vaikka muille kielille, kuten Forth ja BASIC , on kääntäjiä . Myös BASICin sisäänrakennettuja tulkkeja käytetään .
Tunnetut C-kääntäjät MK:lle:
Tunnetut BASIC -kääntäjät MK:lle:
Ohjelmien virheenkorjaukseen käytetään ohjelmistosimulaattoreita (erityisohjelmia henkilökohtaisille tietokoneille, jotka simuloivat mikro-ohjaimen toimintaa), in-circuit-emulaattoreita (elektronisia laitteita, jotka simuloivat mikro-ohjainta, joka voidaan kytkeä sen sijaan kehitettävään sulautettuun laitteeseen) ja virheenkorjausliittymää. esimerkiksi JTAG .
Mikro-ohjaimet | ||||||||
---|---|---|---|---|---|---|---|---|
Arkkitehtuuri |
| |||||||
Valmistajat |
| |||||||
Komponentit | ||||||||
Periferia | ||||||||
Liitännät | ||||||||
OS | ||||||||
Ohjelmointi |
|
prosessoritekniikat | Digitaaliset|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkkitehtuuri | |||||||||
Ohjesarjan arkkitehtuuri | |||||||||
koneen sana |
| ||||||||
Rinnakkaisuus |
| ||||||||
Toteutukset | |||||||||
Komponentit | |||||||||
Virranhallinta |