Mikroobvod určený na ovládanie elektronických zariadení (mikrokontrolér). Mikroobvod určený na ovládanie elektronických zariadení (mikrokontrolér) Mikroobvod určený na ovládanie elektronických zariadení

Práca s I/O portami MC9S12C128

Cieľ:Účelom tohto laboratória je získať praktické zručnosti v práci so vstupnými/výstupnými portami mikrokontroléra.

Požadované vybavenie:

1. Doska APS12DT56

2. Platforma NI ELVIS II+

3. Platforma PBMCUSLK

4. Osobný počítač

Všeobecné informácie o mikrokontroléroch

Mikrokontrolér (anglicky Micro Controller Unit, MCU) - mikroobvod určený na ovládanie elektronických zariadení. Typický mikrokontrolér kombinuje funkcie procesora a periférií na jednom čipe, obsahuje RAM a / alebo ROM. V skutočnosti ide o jednočipový počítač schopný vykonávať jednoduché úlohy.

Použitie dostatočne výkonného výpočtového zariadenia so širokými možnosťami v modernom mikrokontroléri, postavenom na jedinom čipe namiesto celej sady, výrazne znižuje veľkosť, spotrebu energie a náklady na zariadenia postavené na jeho základe. Používa sa na ovládanie rôznych zariadení a ich jednotlivých jednotiek:

· Vo výpočtovej technike: základné dosky, radiče pre mechaniky pevných a disketových diskov, CD a DVD;

· Elektronika a rôzne domáce spotrebiče, ktoré využívajú elektronické riadiace systémy – práčky, mikrovlnné rúry, umývačky riadu, telefóny a moderné spotrebiče;

V priemysle:

· Zariadenia priemyselnej automatizácie – od programovateľných relé a vstavaných systémov až po PLC;

· Systémy riadenia strojov;

Zatiaľ čo 8-bitové procesory na všeobecné použitie boli úplne nahradené modelmi s vyšším výkonom, 8-bitové mikrokontroléry sú naďalej široko používané. Je to preto, že existuje veľa aplikácií, kde nie je potrebný vysoký výkon, ale dôležitá je nízka cena. Zároveň existujú mikrokontroléry s väčším výpočtovým výkonom, ako sú procesory digitálnych signálov.

Mikrokontrolér MC9S12C128

Na tomto laboratórnom workshope si podrobne preštudujete jednočipový 16-bitový mikrokontrolér rodiny HCS12: MC9S12C128.

Hlavné technické vlastnosti tohto MK:

· 16-bitové jadro procesora HCS12.

· Napájacie napätie 2,97..5,5 V. V laboratórnom usporiadaní je 5 V.

· Pokročilý systém časovania. Taktovanie mikrokontroléra je možné ako z externých zdrojov, tak aj z interných. Laboratórny stojan využíva prvok súvisiaci s prvým typom: kremenný rezonátor. Frekvencia hodinového signálu, ktorý generuje, je 4 MHz. V tomto prípade je frekvencia internej zbernice mikrokontroléra BUS f polovičná a rovná sa 2 MHz. Jeho maximálna hodnota pre tento model mikrokontroléra je 20 MHz;

· Rezidentná programová pamäť (ROM). Jeho objem je 128 kB = 131072 buniek (128 kB). Pamäť je vyrobená technológiou flash s emuláciou EEPROM, počet cyklov zápisu / vymazania je minimálne 100 000.

· Rezidentná dátová pamäť (RAM). Objem je 4 KB.

· Celkový počet pinov mikrokontroléra je 40. Typ puzdra - QFP (Quad Flat Package).

Čip mikrokontroléra má nasledujúce periférne moduly:

· I/O porty. Celkovo je k dispozícii 9 portov, ich podrobnejší popis je uvedený v tabuľke. 2.1.;

· Modul časovača TIM so 16-bitovým počítadlom časovej základne a ôsmimi kanálmi IC/OC/PWM.

· Vstavaný analógovo-digitálny ATD prevodník. Počet digitalizačných kanálov je 8, bitová hĺbka je 10 bitov.

· Sériové rozhrania: synchrónne SPI a asynchrónne SCI, ako aj modul CAN s rýchlosťou až 1 Mbps.

I/O porty

Všetky MCU rodiny HCS12 majú určitý počet dátových vstupných/výstupných liniek. Linky sú kombinované do 8-bitových paralelných dátových portov: Port A, Port B, Port E. Až na zriedkavé výnimky sú všetky I/O linky obojsmerné. Smer prenosu I/O liniek je konfigurovaný softvérom zapísaním riadiaceho slova do registra smeru prenosu príslušného portu. Preprogramovaním týchto registrov je možné zmeniť smer prenosu počas vykonávania programu. Resetovací signál nastaví všetky obojsmerné linky do režimu vstupu. Je potrebné zdôrazniť, že smer prenosu každej linky si môže projektant zvoliť ľubovoľne, bez ohľadu na ostatné linky patriace do rovnakého vstupno/výstupného portu. Jedinou výnimkou sú jednosmerné prenosové vedenia, ktoré sú spočiatku špecializované na vstup alebo výstup.

Niektoré I/O linky majú takzvanú alternatívnu funkciu, t.j. zabezpečujú komunikáciu vstavaných periférnych modulov MC s „vonkajším svetom“. Takže linky portu PORT AD slúžia na pripojenie meraných napätí k vstavanému ADC, linky portu PORT S slúžia ako vstupy a výstupy radičov sériovej ústredne. Ak nie je použitý príslušný periférny modul MK, jeho výstupy môžu byť použité ako normálne I/O linky.

Ak sú portové linky obojsmerné, potom sú k dispozícii dva typy registrov na obsluhu takéhoto portu:

PORTx - port x dátový register, kde x - názov I/O portu;

DDRx - register smeru prenosu portu x.

Napríklad PORT A je obsluhovaný registrami PORTA a DDRA a PORT B ​​je obsluhovaný registrami PORTB a DDRB.

Ak má port obvod so softvérovo pripojeným „pull-up“ odporom (R pullup), potom je na obsluhu takéhoto portu poskytnutý dodatočný register vstupného odporu portu.

Nasleduje úryvok kódu z programu, ktorý nakonfiguruje PORT B ​​na výstup údajov a potom do portu zapíše číslo $62. Aby sa všetky linky PORT B® stali výstupnými linkami, musí byť do registra smeru prenosu DDRB zapísaný kód $FF.

/* HLAVNÝ PROGRAM: */

/*zahrnuté súbory*/

#include

#include"derivative.h"

void main(void) (

unsigned char DDRB_INIT = 0xFF;

DDRB=DDRT_INIT; //nastavíme PORT B ​​na výstup

  • ÚVOD
    • 1.1 Klasifikácia a štruktúra mikrokontrolérov
    • 1.2 Štruktúra jadra procesora mikrokontroléra
    • 2. Špeciálna časť
    • 2.1 Architektúra procesorov CISC a RISC
    • 2.2 Architektúra RISC.
    • 2.3 Mikrokontrolér s architektúrou RISC
    • Záver
    • Zoznam použitej literatúry
ÚVOD Mikrokontrolér (MCU) - mikroobvod určený na ovládanie elektronických zariadení. Typický mikrokontrolér kombinuje funkcie procesora a periférnych zariadení a môže obsahovať RAM a ROM. V skutočnosti ide o jednočipový počítač schopný vykonávať jednoduché úlohy. Použitie jedného čipu namiesto zásobníka, ako je to v prípade bežných procesorov používaných v osobných počítačoch, výrazne znižuje veľkosť, spotrebu energie a náklady zariadení na báze mikrokontrolérov. Mikrokontroléry sú základom pre budovanie vstavaných systémov, možno ich nájsť v mnohých moderných zariadeniach, ako sú telefóny, práčky atď. Pojem "mikrokontrolér" (MC) nahradil doteraz používaný pojem "jednočipový mikropočítač". Úplne prvý patent na jednočipový mikropočítač bol vydaný v roku 1971 inžinierom M. Kochrenovi a G. Bunovi, zamestnancom Texas Instruments. Práve oni navrhli umiestniť na jeden čip nielen mikroprocesor, ale aj pamäťové, vstupno-výstupné zariadenia. S nástupom jednočipových mikropočítačov sa spája začiatok éry počítačovej automatizácie v oblasti manažmentu. Zrejme táto okolnosť určila pojem „mikrokontrolér“ (kontrola – riadenie). V roku 1979 NII TT vyvinul jednočipový 16-bitový počítač K1801BE1, ktorého architektúra sa nazývala „Electronics NTs“. V roku 1980 spoločnosť Intel vydala mikrokontrolér i8048. O niečo neskôr v tomto roku spoločnosť Intel vydáva ďalší mikrokontrolér: i8051. Dobrá sada periférií, flexibilný výber externej alebo internej programovej pamäte a prijateľná cena zabezpečili tomuto mikrokontroléru úspech na trhu. Z hľadiska technológie bol mikrokontrolér i8051 na svoju dobu veľmi zložitým produktom - v kryštáli bolo použitých 128 tisíc tranzistorov, čo bolo 4-krát viac ako počet tranzistorov v 16-bitovom mikroprocesore i8086. existuje viac ako 200 modifikácií mikrokontrolérov kompatibilných s i8051 vyrobených dvoma desiatkami firiem a veľké množstvo mikrokontrolérov iných typov. Populárne medzi vývojármi sú 8-bitové mikrokontroléry PIC od Microchip Technology a AVR od Atmel, šestnásťbitové MSP430 od TI, ako aj ARM, ktorých architektúra je vyvinutá spoločnosťou ARM a licencovaná iným spoločnostiam na ich výrobu, procesory - mikrokontroléry. Pri navrhovaní mikrokontrolérov musíte nájsť rovnováhu medzi veľkosťou a cenou na jednej strane a flexibilitou a výkonom na strane druhej. Pre rôzne aplikácie sa optimálny pomer týchto a iných parametrov môže značne líšiť. Preto existuje obrovské množstvo typov mikrokontrolérov, ktoré sa líšia architektúrou procesorového modulu, veľkosťou a typom vstavanej pamäte, zostavou periférií, typom puzdra atď.

1. Všeobecná časť

1.1 Klasifikácia a štruktúra mikrokontrolérov V súčasnosti sa vyrába množstvo druhov MK. Všetky tieto zariadenia možno rozdeliť do troch hlavných tried: 8-bitové MK pre embedded aplikácie; 16- a 32-bitové MK; digitálne signálové procesory (DSP). Najbežnejším predstaviteľom rodiny MK sú 8-bitové zariadenia široko používané v priemysel, domácnosť a počítačové vybavenie. Vo svojom vývoji prešli od najjednoduchších zariadení s relatívne málo vyvinutými perifériami k moderným multifunkčným ovládačom, ktoré poskytujú implementáciu zložitých riadiacich algoritmov v reálnom čase. Dôvodom životaschopnosti 8-bitových mikrokontrolérov je ich využitie na riadenie reálnych objektov, kde využívajú najmä algoritmy s prevahou logických operácií, ktorých rýchlosť spracovania je prakticky nezávislá od kapacity procesora.známe spoločnosti ako Motorola , Microchip, Intel, Zilog, Atmel a mnoho ďalších. Moderné 8-bitové mikrokontroléry majú spravidla množstvo charakteristických vlastností. Uvádzame hlavné: modulárna organizácia, v ktorej je séria (rada) mikrokontrolérov navrhnutá na báze jedného jadra procesora (centrálneho procesora), líšiaceho sa množstvom a typom programovej pamäte, veľkosťou dátovej pamäte, sadou periférnych modulov , synchronizačná frekvencia; použitie uzavretej architektúry mikrokontroléra, ktorá sa vyznačuje absenciou riadkov adries a dátových diaľnic na termináloch puzdra MK. MC je teda kompletný systém spracovania dát, od ktorého sa neočakáva, že sa bude rozširovať pomocou paralelných adries a dátových diaľnic; použitie typických funkčných periférnych modulov (časovače, procesory udalostí, radiče sériového rozhrania, analógovo-digitálne prevodníky atď. .) rozdiely v algoritmoch činnosti v MC od rôznych výrobcov, rozšírenie počtu prevádzkových režimov periférnych modulov, ktoré sa nastavujú pri inicializácii registrov špeciálnych funkcií MC.Pri princípe modulárnej konštrukcie všetky MC jedného rodina obsahuje procesorové jadro, ktoré je rovnaké pre všetky MC tejto rodiny, a variabilný funkčný blok, ktorý odlišuje MK rôznych modelov. Jadro procesora zahŕňa: centrálny procesor; interný kontrolór diaľnice (VKM) ako súčasť pneumatík adresy, údajov a kontroly; schéma synchronizácie MK; schéma ovládania prevádzkových režimov MK vrátane podpory režimov nízkej spotreby, prvotného spustenia (resetu) atď. Variabilný funkčný blok obsahuje pamäťové moduly rôznych typov a veľkostí, vstupno/výstupné porty, moduly generátora hodín (G), časovače. V relatívne jednoduchých mikrokontroléroch je modul spracovania prerušenia súčasťou jadra procesora. V zložitejších MK ide o samostatný modul s pokročilými možnosťami. Štruktúra variabilného funkčného bloku môže obsahovať aj také prídavné moduly, ako sú komparátory napätia, analógovo-digitálne prevodníky (ADC) a iné. Každý modul je navrhnutý tak, aby fungoval ako súčasť MC, berúc do úvahy protokol VKM. Tento prístup vám umožňuje vytvoriť rôzne štruktúry MC v rámci tej istej rodiny. 1.2 Štruktúra jadra procesora mikrokontroléra Hlavné charakteristiky, ktoré určujú výkon jadra procesora MC, sú: súbor registrov na ukladanie medziľahlých údajov, inštrukčný systém procesora, metódy adresovania operandov v pamäťovom priestore, organizácia procesov výberu a vykonávania príkazov, bit MK implementuje jeden z dvoch princípy konštrukcie procesorov: procesory s architektúrou CISC, ktoré implementujú takzvanú kompletnú inštrukčnú sadu (Complicated Instruction Set Computer), procesory s architektúrou RISC, ktoré implementujú redukovanú inštrukčnú sadu (Reduced Instruction Set Computer) Procesory CISC vykonávajú veľkú sadu príkazov s pokročilými možnosťami adresovania, čo dáva vývojárovi možnosť vybrať si najvhodnejší príkaz na vykonanie požadovanej operácie. Keď sa použije na 8-bitové MCU, procesor CISC môže mať jednobajtové, dvojbajtové a trojbajtové (zriedkavo štvorbajtové) formáty inštrukcií. Čas vykonania inštrukcie môže byť od 1 do 12 cyklov. Medzi MC s architektúrou CISC patria MC Intel s jadrom MCS-51, ktoré dnes podporuje množstvo výrobcov, MC rodiny HC05, HC08 a HC11 od Motoroly a mnoho ďalších.V procesoroch s architektúrou RISC je súbor spustiteľných inštrukcií je zredukovaný na minimum. Ak chcete implementovať zložitejšie operácie, musíte kombinovať príkazy. V tomto prípade majú všetky príkazy formát pevnej dĺžky (napríklad 12, 14 alebo 16 bitov), ​​príkaz sa načíta z pamäte a vykoná sa v jednom synchronizačnom cykle (cykle). Inštrukčná sada procesora RISC predpokladá možnosť rovnakého využitia všetkých registrov procesora. To poskytuje dodatočnú flexibilitu pre množstvo operácií. RISC MCU zahŕňajú Atmel AVR MCU, Microchip PIC16 a PIC17 MCU a ďalšie. Zároveň je v praxi problematika výkonu zložitejšia a nejednoznačnejšia, z hľadiska organizácie procesov výberu a vykonania inštrukcie v moderných 8-bitových MC sa využíva jedna z dvoch už spomínaných architektúr MPS : von Neumann (Princeton) alebo Harvard Neumann je zjednodušenie zariadenia MPS, keďže je prístupná len jedna zdieľaná pamäť. Okrem toho použitie jednej pamäťovej oblasti umožnilo rýchle prerozdelenie zdrojov medzi programovou a dátovou oblasťou, čo výrazne zvýšilo flexibilitu MPS z pohľadu vývojára softvéru. Umiestnenie zásobníka do zdieľanej pamäte uľahčilo prístup k jeho obsahu. Nie náhodou sa von Neumannova architektúra stala hlavnou architektúrou univerzálnych počítačov vrátane osobných počítačov.Harvardská architektúra sa takmer nepoužívala až do konca 70. rokov, keď si výrobcovia MK uvedomili, že dáva určité výhody vývojárom autonómneho riadenia. Faktom je, že podľa skúseností s používaním MPS na riadenie rôznych objektov pri implementácii väčšiny riadiacich algoritmov nemajú také výhody von Neumannovej architektúry, ako je flexibilita a univerzálnosť, veľký význam. Analýza reálnych riadiacich programov ukázala, že požadované množstvo dátovej pamäte MC používanej na ukladanie medzivýsledkov je spravidla rádovo menšie ako požadované množstvo programovej pamäte. Za týchto podmienok viedlo použitie jediného adresného priestoru k zvýšeniu formátu príkazov zvýšením počtu bitov na adresovanie operandov. Použitie samostatnej malej dátovej pamäte pomohlo skrátiť dĺžku inštrukcií a urýchliť vyhľadávanie informácií v dátovej pamäti, Harvardská architektúra navyše poskytuje potenciálne vyššiu rýchlosť vykonávania programu v porovnaní s von Neumannovou architektúrou vďaka možnosti paralelných operácií. Vyzdvihnutie ďalšej inštrukcie môže prebiehať súčasne s vykonaním predchádzajúcej a nie je potrebné zastaviť procesor počas načítavania inštrukcie. Tento spôsob implementácie operácií umožňuje zabezpečiť vykonávanie rôznych inštrukcií pre rovnaký počet cyklov, čo umožňuje jednoduchšie určiť dobu vykonávania cyklov a kritických častí programu Väčšina výrobcov moderných 8-bitových MCU použiť architektúru Harvardu. Harvardská architektúra zároveň nie je dostatočne flexibilná na implementáciu niektorých softvérových postupov. Preto je potrebné vykonať porovnanie mikrokontrolérov vyrobených podľa rôznych architektúr vo vzťahu ku konkrétnej aplikácii.V súčasnosti sú najvýraznejšími predstaviteľmi mikrokontrolérov SISC a RISC, ktoré majú von Neumannovu a Harvardskú architektúru, mikrokontroléry i8051 a AVR. - mikrokontroléry Atmel, ktoré podľa mnohých charakteristík prekonali veľmi známe PIC - mikrokontroléry. Zvážte preto organizáciu a usporiadanie vyššie uvedených zástupcov. 2. Špeciálna časť 2.1 Architektúra procesorov CISC a RISC Dve hlavné architektúry inštrukčných súborov, ktoré dnes používa počítačový priemysel, sú architektúry CISC a RISC. Za zakladateľa architektúry CISC - architektúry s kompletnou inštrukčnou sadou (CISC - Complete Instruction Set Computer) možno považovať IBM so základnou architektúrou IBM / 360, ktorej jadro sa používa od roku 1964 a pretrvalo dodnes, napr. napríklad v takých moderných sálových počítačoch, ako je IBM ES/9000 Lídrom vo vývoji mikroprocesorov s úplnou sadou príkazov je Intel s mikroprocesormi X86 a Pentium. Toto je prakticky štandard na trhu mikroprocesorov. Jednoduchosť architektúry procesoru RISC zaisťuje jeho kompaktnosť, praktickú absenciu problémov s chladením kryštálu, ktoré sa nevyskytuje v procesoroch Intelu, ktorý sa tvrdohlavo drží vývojovej cesty architektúry CISC. Stratégia architektúry CISC vznikla z dôvodu technologickej možnosti preniesť „ťažisko“ spracovania dát zo softvérovej úrovne systému na hardvérovú, keďže hlavný spôsob zvýšenia efektivity pre počítač CISC bol videný v prvom rade. všetko pri zjednodušení kompilátorov a minimalizácii spustiteľného modulu. Dnes procesory CISC takmer výlučne zaberajú sektor osobných počítačov na trhu počítačov, ale procesory RISC nemajú obdobu v sektore vysokovýkonných serverov a pracovných staníc. Hlavné črty architektúry RISC s podobnými črtami architektúry CISC sú zobrazené nasledovne (tabuľka 1): Tabuľka 1. Hlavné črty architektúry

Jednou z dôležitých výhod architektúry RISC je vysoká rýchlosť aritmetických výpočtov. Procesory RISC boli prvé, ktoré dosiahli latku najpoužívanejšieho štandardu IEEE 754, ktorý zavádza 32-bitový formát pre reprezentáciu čísel s pevnou desatinnou čiarkou a 64-bitový formát s "plnou presnosťou" pre čísla s pohyblivou rádovou čiarkou. Vysoká rýchlosť vykonávania aritmetických operácií v kombinácii s vysokou presnosťou výpočtov poskytuje procesorom RISC bezpodmienečné vedúce postavenie z hľadiska rýchlosti v porovnaní s procesormi CISC.

Ďalšou vlastnosťou procesorov RISC je sada nástrojov, ktoré zabezpečujú nepretržitú prevádzku aritmetických jednotiek: mechanizmus predikcie dynamickej vetvy, veľké množstvo operačných registrov a viacúrovňová vstavaná vyrovnávacia pamäť.

Organizácia štruktúry registra je hlavnou výhodou a hlavným problémom RISC. Takmer každá implementácia architektúry RISC využíva trojmiestne operácie spracovania, v ktorých výsledok a dva operandy majú nezávislé adresovanie - R1: = R2, R3. To vám umožňuje vybrať operandy z adresovateľných prevádzkových registrov bez výraznej časovej náročnosti a zapísať výsledok operácie do registra. Okrem toho ternárne operácie dávajú kompilátoru väčšiu flexibilitu ako typické CISC 2-miestne operácie z registra do pamäte. V kombinácii s rýchlou aritmetikou sa operácie RISC medzi registrom a registrom stávajú veľmi účinným spôsobom zvýšenia výkonu procesora.

Spoliehanie sa na registre je zároveň Achillovou pätou architektúry RISC. Problém je v tom, že počas vykonávania úlohy je RISC systém opakovane nútený aktualizovať obsah registrov procesora, a to v čo najkratšom čase, aby nespôsobil dlhé prestoje aritmetickej jednotky. Pre systémy CISC tento problém neexistuje, keďže k úprave registrov môže dôjsť pri spracovávaní príkazov vo formáte „memory-to-memory“.

Existujú dva prístupy k riešeniu problému úpravy registrov v architektúre RISC: hardvérový, navrhnutý v projektoch RISC-1 a RISC-2, a softvérový, vyvinutý špecialistami IBM a Stanfordskej univerzity. Zásadný rozdiel medzi nimi je v tom, že hardvérové ​​riešenie je založené na túžbe skrátiť čas volania procedúry inštaláciou dodatočného hardvéru procesora, zatiaľ čo softvérové ​​riešenie je založené na možnostiach kompilátora a je z hľadiska hardvéru procesora ekonomickejšie.

2.2 Architektúra RISC. V 70. rokoch 20. storočia vedci predložili na tú dobu revolučnú myšlienku vytvoriť mikroprocesor, ktorý „rozumie“ len minimálnemu možnému počtu príkazov, programátori viedli v 70. rokoch v USA a Anglicku. Ich okamžitým výsledkom je známe „pravidlo 80/20“: 80 % kódu typického aplikačného programu využíva iba 20 % najjednoduchších strojových inštrukcií z celej dostupnej sady Prvý „skutočný“ RISC procesor s 31 inštrukciami bol vytvorený pod vedením Davida Pattersona z University of Berkeley, po ktorom nasledoval procesor so sadou 39 inštrukcií. Zahŕňali 20-50 tisíc tranzistorov. Plody Pattersonovej práce využila spoločnosť Sun Microsystems, ktorá koncom 70. rokov vyvinula architektúru SPARC so 75 inštrukciami. V roku 1981 spustila Stanfordská univerzita projekt MIPS na výrobu procesora RISC s 39 inštrukciami. Výsledkom bolo, že Mips Computer Corporation bola založená v polovici 80. rokov a ďalší procesor bol navrhnutý už so 74 inštrukciami.Podľa nezávislej spoločnosti IDC v roku 1992 architektúra SPARC zaberala 56% trhu, nasledoval MIPS - 15% a PA-RISC - 12,2 % Približne v rovnakom čase vyvinul Intel sériu 80386, posledné „skutočné“ procesory CISC v rodine IA-32. Zlepšenie výkonu sa naposledy podarilo dosiahnuť len zvýšením zložitosti architektúry procesora: prešla zo 16-bitovej na 32-bitovú, ďalšie hardvérové ​​komponenty podporovali virtuálnu pamäť a pribudlo množstvo nových inštrukcií Hlavné vlastnosti RISC procesory: Redukovaná inštrukčná sada (z 80 na 150 inštrukcií). Väčšina inštrukcií sa vykonáva v 1 cykle. Veľký počet všeobecných registrov. Prítomnosť pevných viacstupňových pipeline. Všetky inštrukcie majú jednoduchý formát a málo spôsobov adresovania sa používajú.kód a čiastočne menia poradie príkazov Procesory RISC 3. generácie Najväčšími vývojármi RISC procesorov sú Sun Microsystems (architektúra SPARC - Ultra SPARC), IBM (viacčipové procesory Power, jednočipové PowerPC - PowerPC 620), Digitálne vybavenie (Alpha - Alpha 21164), Mips Technologies (od r rodina Rxx00 - R 10000), ako aj Hewlett-Packard (architektúra PA-RISC - PA-8000).Vstavané pipeline jednotky aritmetiky s pohyblivou rádovou čiarkou; majú viacúrovňovú vyrovnávaciu pamäť. Väčšina procesorov RISC ukladá vopred dešifrované inštrukcie do vyrovnávacej pamäte, vyrába sa technológiou CMOS so 4 metalizačnými vrstvami. Na spracovanie údajov sa používa algoritmus predikcie dynamickej vetvy a metóda premapovania registra, čo umožňuje vykonávanie inštrukcií mimo poradia. Zvýšený výkon RISC procesorov sa dosahuje zvýšením taktovacej frekvencie a zložitosti kryštálového obvodu. Predstaviteľmi prvého smeru sú procesory DEC Alpha, najkomplexnejšími zostávajú procesory Hewlett-Packard Redukcia množiny strojových inštrukcií v architektúre RISC umožnila umiestniť na čip výpočtového jadra veľké množstvo všeobecných registrov. Zvýšenie počtu všeobecných registrov umožnilo minimalizovať prístup k pomalej RAM, pričom zostali len operácie čítania dát z RAM do registra a zápisu dát z registra do RAM na prácu s RAM, všetky ostatné strojové inštrukcie sa používajú univerzálne registre ako operandy Hlavnými výhodami architektúry RISC je prítomnosť nasledujúcich vlastností: Veľký počet univerzálnych registrov Univerzálny formát pre všetky mikrooperácie Rovnaký čas vykonávania všetkých strojových inštrukcií Takmer všetky prenosy dát operácie sa vykonávajú po trase register-register.princíp dopravníka, t.j. hardvérové ​​časti sú synchronizované s prihliadnutím na sekvenčný prenos riadenia z jedného hardvérového bloku do druhého Hardvérové ​​bloky v architektúre RISC: Blok načítania inštrukcie obsahuje nasledujúce komponenty: jednotku načítania inštrukcie z pamäte inštrukcie, register inštrukcií, kde je inštrukcia sa umiestni po jej vyzdvihnutí a jednotka dekódovania inštrukcie. Táto fáza sa nazýva fáza načítania inštrukcií.. Všeobecné registre spolu s riadiacimi jednotkami registrov tvoria druhú fázu kanála zodpovedného za čítanie operandov inštrukcií. Operandy môžu byť uložené v samotnej inštrukcii alebo v jednom zo všeobecných registrov. Táto fáza sa nazýva fáza vyzdvihnutia operandov. Aritmetická logická jednotka, a ak je v tejto architektúre implementovaná, aj akumulátor, spolu s riadiacou logikou, ktorá na základe obsahu registra inštrukcií určuje typ mikrooperácie, ktorá má byť vykonané. Okrem registra inštrukcií môže byť zdrojom údajov čítač inštrukcií pri vykonávaní mikrooperácií podmieneného alebo nepodmieneného skoku. Táto fáza sa nazýva fáza vykonávania potrubia. Súbor všeobecných registrov, logiky zápisu a niekedy pamäte RAM tvoria fázu ukladania údajov. V tejto fáze sa výsledok vykonávania inštrukcií zapisuje do všeobecných registrov alebo do hlavnej pamäte. Zároveň sa v čase, keď bola vyvinutá architektúra RISC, architektúra Intel x86, založená na architektúre CISC, stala de facto priemyselný štandard pre mikroprocesory. Prítomnosť veľkého množstva programov napísaných pre architektúru Intel x86 znemožňovala masový prechod počítačov na architektúru RISC. Z tohto dôvodu boli mikrokontroléry hlavnou oblasťou použitia architektúry RISC, pretože neboli viazané na existujúci softvér. Okrem toho niektorí výrobcovia počítačov na čele s IBM začali vyrábať aj počítače postavené na architektúre RISC, avšak softvérová nekompatibilita medzi Intel x86 a architektúrou RISC do značnej miery obmedzovala distribúciu architektúr RISC. Architektúra RISC bola taká významná, že inžinieri našli spôsob, ako migrovať na počítače RISC bez opustenia existujúceho softvéru. Jadrá väčšiny moderných mikroprocesorov, ktoré podporujú architektúru Intel x86, sú vyrobené podľa architektúry RISC s podporou multiskalárneho pipeline spracovania. Mikroprocesor dostáva ako vstup inštrukciu vo formáte Intel x86 a nahrádzame ju niekoľkými (až 4) RISC inštrukciami.Takže jadrá väčšiny moderných mikroprocesorov počnúc Intel 486DX sú vyrobené podľa architektúry RISC s. podpora externého rozhrania Intel x86. Navyše drvivá väčšina mikrokontrolérov, ako aj niektoré mikroprocesory sú vyrábané podľa architektúry RISC Moderný RISC procesor využíva minimálne 32 registrov, často viac ako 100, kým klasické počítače majú zvyčajne 8-16 všeobecných registrov. . Výsledkom je, že procesor má o 20% -30% menšiu pravdepodobnosť prístupu do kooperatívnej pamäte, čo tiež zvýšilo rýchlosť spracovania dát. Prítomnosť veľkého počtu registrov navyše uľahčuje kompilátorovi prideľovanie registrov pre premenné. Zjednodušila sa topológia procesora, vykonávaná vo forme jedného integrovaného obvodu, skrátil sa čas vývoja, zlacnel Po nástupe RISC procesorov sa tradičné procesory označovali CISC - teda s kompletnou inštrukčnou sadou (Complete Instruction Set Computer). V súčasnosti sú široko používané RISC procesory. Moderné RISC procesory sa vyznačujú: zjednodušenou sadou inštrukcií, používajú sa inštrukcie s pevnou dĺžkou a pevným formátom, jednoduchými metódami adresovania, ktoré umožňujú zjednodušiť logiku dekódovania inštrukcií, väčšina inštrukcií sa vykonáva v jednom procesorovom cykle, mikroprogram implementácii neexistujú žiadne makrá, ktoré komplikujú štruktúru procesora a znižujú jeho rýchlosť; interakcia s RAM je obmedzená na operácie prenosu údajov; na spracovanie sa spravidla používajú príkazy s tromi adresami, ktoré okrem zjednodušenia dešifrovania, umožňuje ukladať väčší počet premenných v registroch bez ich následného načítavania, bol vytvorený príkazový kanál, ktorý umožňuje spracovávať niekoľko z nich súčasne, prítomnosť veľkého počtu registrov, používa sa vysokorýchlostná pamäť. RISC procesory, spracovanie strojovej inštrukcie je rozdelené do niekoľkých etáp, každá z nich Druhá fáza je obsluhovaná samostatným hardvérom a prenos dát je organizovaný z jednej fázy do druhej. Produktivita sa tým všetkým zvyšuje vďaka skutočnosti, že niekoľko príkazov sa súčasne vykonáva v rôznych fázach potrubia. Vykonanie typickej inštrukcie môže byť rozdelené do nasledujúcich etáp: programové počítadlo, príkaz sa načíta z pamäte; 2) dekódovanie ID príkazu - zistenie jeho významu, načítanie operandov z registrov; 3) vykonanie operácie EX, v prípade potreby prístup do pamäte - výpočet fyzická adresa, 4) prístup do pamäte ME, 5) uloženie výsledku WB V procesoroch s architektúrou RISC je množina vykonateľných inštrukcií redukovaná na minimum. Ak chcete implementovať zložitejšie operácie, musíte kombinovať príkazy. V tomto prípade majú všetky príkazy pevnú dĺžku formátu (napríklad 12, 14 alebo 16 bitov), ​​načítanie príkazu z pamäte a jeho vykonanie prebieha v jednom synchronizačnom cykle (cykle). Inštrukčná sada procesora RISC predpokladá možnosť rovnakého využitia všetkých registrov procesora. To poskytuje dodatočnú flexibilitu pre množstvo operácií. RISC MCU zahŕňajú Atmel AVR MCU, Microchip PIC16 a PIC17 MCU a ďalšie. Zároveň je v praxi problematika výkonu zložitejšia a nejednoznačnejšia, že podľa skúseností s používaním MPS na ovládanie rôznych objektov také výhody von Neumannovej architektúry, ako je flexibilita a univerzálnosť, nemajú veľký význam pre implementácia väčšiny riadiacich algoritmov. Analýza reálnych riadiacich programov ukázala, že požadované množstvo dátovej pamäte MC používanej na ukladanie medzivýsledkov je spravidla rádovo menšie ako požadované množstvo programovej pamäte. Za týchto podmienok viedlo použitie jediného adresného priestoru k zvýšeniu formátu inštrukcie zvýšením počtu bitov na adresovanie operandov. Použitie samostatnej malej dátovej pamäte pomohlo skrátiť dĺžku inštrukcií a urýchliť vyhľadávanie informácií v dátovej pamäti, Harvardská architektúra navyše poskytuje potenciálne vyššiu rýchlosť vykonávania programu v porovnaní s von Neumannovou architektúrou vďaka možnosti paralelných operácií. Vyzdvihnutie ďalšej inštrukcie môže prebiehať súčasne s vykonaním predchádzajúcej a nie je potrebné zastaviť procesor počas načítavania inštrukcie. Tento spôsob implementácie operácií umožňuje zabezpečiť vykonávanie rôznych inštrukcií na rovnaký počet cyklov, čo umožňuje jednoduchšie určiť dobu vykonávania cyklov a kritických častí programu Väčšina výrobcov moderných 8-bitových MCU použiť architektúru Harvardu. Harvardská architektúra zároveň nie je dostatočne flexibilná na implementáciu niektorých softvérových postupov. Preto by sa malo vykonať porovnanie mikrokontrolérov založených na rôznych architektúrach vo vzťahu ku konkrétnej aplikácii. 2.3 Mikrokontrolér s architektúrou RISC PIC16C71 patrí do rodiny mikrokontrolérov CMOS. Líši sa tým, že má internú 1K x 14-bitovú EPROM pre programy, 8-bitové dáta a 64-bajtový vstavaný analógovo-digitálny prevodník. Vyznačujú sa nízkou cenou a vysokým výkonom Používatelia, ktorí poznajú rodinu PIC16C5X, môžu vidieť podrobný zoznam rozdielov medzi novými a predtým vyrábanými ovládačmi Všetky príkazy pozostávajú z jedného slova (šírka 14 bitov) a sú vykonávané v jednom cykle (200 ns pri 20 MHz), s výnimkou prechodov príkazov, ktoré sa vyskytujú v dvoch cykloch (400 ns) PIC16C71 má štvorzdrojové prerušenie a osemúrovňový hardvérový zásobník, obojsmerné I/O linky a osembitový ADC. Vysoká zaťažiteľnosť (25 mA max. vstupný prúd, 20 mA max. výstupný prúd) I/O liniek zjednodušuje externé ovládače a tým znižuje celkové náklady na systém. Priemerný čas konverzie 30 µs vrátane času vzorkovania Séria PIC16C71 je vhodná pre širokú škálu aplikácií od vysokorýchlostných automobilových a elektrických motorových riadiacich obvodov až po cenovo výhodné diaľkové transceivery, indikačné prístroje a komunikačné procesory. Prítomnosť pamäte ROM umožňuje upravovať parametre v aplikačných programoch (kódy vysielačov, otáčky motora, frekvencie prijímača atď.). Malé veľkosti balenia, či už pre konvenčnú alebo povrchovú montáž, robia túto sériu mikrokontrolérov vhodnou pre prenosné aplikácie. , rýchlosť , jednoduchosť použitia a flexibilita I/O robia PIC16C71 atraktívnym aj v oblastiach, kde sa mikrokontroléry predtým nepoužívali. Napríklad časovače, náhrada tvrdej logiky vo veľkých systémoch, koprocesory.Mikrokontrolér má: iba 35 jednoduchých príkazov, všetky príkazy sa vykonávajú v jednom cykle (200ns), okrem prechodových príkazov - 2 cykly, pracovná frekvencia 0 Hz ... 20 MHz (min. 200 ns príkazový cyklus) 14-bitové príkazy; 8-bitové dáta; 36 x 8 všeobecných registrov; 15 špeciálnych hardvérových registrov SFR; osemúrovňový hardvérový zásobník; priame, nepriame a relatívne adresovanie údajov a príkazov; štyri zdroje prerušenia: externý vstup INT pretečenie časovača RTCC prerušenie pri Dokončenie A/D konverzie Preruší sa pri zmene signálov na linkách Port B. Periférne zariadenia, vstup a výstup mikrokontroléra má: 13 individuálne konfigurovateľných I/O liniek; Sink/sink prúd na napájanie LED diód. max vstupný prúd - 25 mA. 20 mA max. výstupný prúd 8-bitový RTCC časovač/počítač s 8-bitovým programovateľným preddeličom; ADC modul: 4 multiplexné analógové vstupy pripojené k jednému analógovo-digitálnemu prevodníku Obvody vzorkovania/držania Čas prevodu 20 µs na kanál Prevodník – 8 bitov, s +- tolerancia 1 LSB vstup pre externé referenčné napätie Vref (Vref<= Vdd)диапазон входных аналоговых сигналов от Vss до Vrefавтоматический сброс при включении;таймер включения при сбросе;таймер запуска генератора;Watchdog таймер WDT с собственным встроенным генератором, обеспечивающимповышенную надежность;EPROM бит секретности для защиты кода;экономичный режим SLEEP;выбираемые пользователем биты для установки режима возбуждения встроенного генератора:RC генератор RCобычный кварцевый резонатор XTвысокочастотный кварцевый резонатор HSэкономичный низкочастотный кристалл LPвстроенное устройство самопрограммирования EPROM памяти программ,используются только две ножки.Обозначения ножек и их функциональное назначение:RA4/RTCC - Вход через триггерШмидта. Ножка порта ввода/вывода соткрытым стоком или вход частоты длтаймера/счетчика RTCC.RA0/AIN0 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 0.Как цифровой вход имеет уровни ТТЛ.RA1/AIN1 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 1.Как цифровой вход имеет уровни ТТЛ.RA2/AIN2 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 2.Как цифровой вход имеет уровни ТТЛ.RA3/AIN3/Vref - Двунаправленная линия ввода/вывода.RB0/INT - Двунаправленная линия портавывода или внешний вход прерывания.RB1 - RB5 - Двунаправленные линии ввода/вывода.RB6 - Двунаправленные линии ввода/вывода.RB7 - Двунаправленные линии ввода/вывода./MCLR/Vpp - Низкий уровень на этомвходе генерирует сигнал сбросадля контроллера. Активный низкий.Вход через триггер Шмидта.OSC1 - Для подключения кварца, RC или вход внешней тактовой частоты.OSC2 - Генератор, выход тактовойCLKOUT - частоты в режиме RC генератора, в остальных случаях - для подкл. кварцаVdd -Напряжение питания.Vss -Общий (земля).Záver V tejto práci sú uvažované mikrokontroléry s architektúrou RISC a CISC. Architektúra RISC bola zvažovaná hlbšie a presnejšie. Zaznamenáva sa klasifikácia, štruktúra mikrokontroléra, štruktúra procesorového jadra mikrokontroléra, hlavné črty architektúry RISC.K dnešnému dňu existuje viac ako 200 úprav mikrokontrolérov kompatibilných s i8051, ktoré vyrábajú dve desiatky spoločností, a veľké množstvo mikrokontrolérov iných typov. Populárne medzi vývojármi sú 8-bitové mikrokontroléry PIC od Microchip Technology a AVR od Atmel, šestnásťbitové MSP430 od TI, ako aj ARM, ktorých architektúra je vyvinutá spoločnosťou ARM a licencovaná iným spoločnostiam na ich výrobu, procesory - mikrokontroléry. Pri navrhovaní mikrokontrolérov musíte nájsť rovnováhu medzi veľkosťou a cenou na jednej strane a flexibilitou a výkonom na strane druhej. Pre rôzne aplikácie sa optimálny pomer týchto a iných parametrov môže značne líšiť. Preto existuje obrovské množstvo typov mikrokontrolérov, ktoré sa líšia architektúrou procesorového modulu, veľkosťou a typom vstavanej pamäte, zostavou periférií, typom puzdra atď. Zoznam použitej literatúry

1. "?????? ????????????????? ???????", ?????? ?.?. ??????? ? ?.?. ????????????.

2. "??????????? ?????????????? ??????". ?????? "????? ? ?????" 1990 ?. ????? ?.?. ???????.

3. "??????????-?????????????? ?????? ? ???????". ?????? "????? ? ?????" 1991 ?. ?????? ?.?. ?????.

Dobrý deň milí rádioamatéri!
Vítam vás na stránke ""

Mikrokontroléry

mikrokontrolér (Micro Controller Unit, MCU) - mikročip určený na ovládanie elektronických zariadení(pozri obr. 1a). Typický mikrokontrolér spája funkcie procesora a periférií, obsahuje RAM(Random Access Memory) alebo ROM(Pamäť iba na čítanie). V podstate ide o malý počítač schopný vykonávať určité úlohy.

Použitie „výkonného“ výpočtového zariadenia so širokými možnosťami v modernom mikrokontroléri, postaveného na jedinom čipe namiesto celej sady, výrazne znižuje veľkosť, spotrebu energie a náklady na zariadenia vytvorené na jeho základe. Mikrokontroléry možno nájsť takmer v každom modernom elektronickom zariadení: v mobilných telefónoch, fotoaparátoch a videokamerách, kalkulačkách, hodinkách, televízoroch, prehrávačoch médií, počítačoch, v priemyselnej, automobilovej, vojenskej technike a dokonca aj v rýchlovarných kanvicách.

V súčasnosti existuje veľké množstvo mikrokontrolérov rôznych typov. Populárne medzi vývojármi Mikrokontroléry PiC Microchip Technology a AVR a ARM Spoločnosť Atmel. Aby mikrokontrolér plnil svoje úlohy, musí byť naprogramovaný pomocou špecifického programu. Zvyčajne je pripojený k schéme zapojenia a je obsiahnutý v súbore .hex. Častejšie sa tento program nazýva „firmvér“ (firmvér). Pre rôzne mikrokontroléry je napísaný rôzny firmvér. Každý firmvér obsahuje strojové kódy zrozumiteľné pre mikrokontrolér. Pre človeka je však ťažké zapamätať si korešpondenciu riadiacich príkazov a strojových kódov. Preto je program najprv napísaný pomocou nejakého jazykaprogramovanie (Assembler, C) a potom preložené do strojových kódov ovládačov pomocou programu prekladača.

Existuje aj špeciálny softvér na písanie programov. Napríklad na vývoj firmvéru AVR sa častejšie používa WinAVR, ktorý má všetky potrebné nástroje: kompilátor (pre jazyky C a C ++), programátor, debugger, editor atď. WinAVR je široko používaný po celom svete amatérmi aj profesionálmi. Na vytvorenie firmvéru pre mikrokontroléry PIC môžete použiť CCS PCWHD (PIC C Compiler) - kompilátor jazyka C. Rovnako ako predchádzajúci softvér obsahuje všetko, čo potrebujete na programovanie mikrokontrolérov.
Na „bliknutie“ mikrokontroléra je potrebný programátor (pozri obr. 16). Ide o softvérový a hardvérový komplex, ktorý pozostáva priamo zo zariadenia, ktoré spája mikrokontrolér s počítačom, a programu, ktorý toto zariadenie riadi. Programátor zapíše program pripravený pre mikrokontrolér do jeho pamäte. Programátor si môžete kúpiť alebo zostaviť sami.

Existujú samostatné programátory pre rôzne typy mikrokontrolérov, ako aj univerzálne, ktoré dokážu blikať väčšinu týchto mikroobvodov. Jednou z nevýhod najnovších programátorov je vysoká cena.

mikrokontrolér- Ide o špeciálny mikroobvod určený na ovládanie rôznych elektronických zariadení. Mikrokontroléry sa prvýkrát objavili v tom istom roku ako mikroprocesory na všeobecné použitie (1971).

Vývojári mikrokontrolérov prišli s geniálnym nápadom – spojiť procesor, pamäť, ROM a periférie do jedného balenia, ktoré vyzerá ako bežný mikroobvod. Odvtedy produkcia mikrokontrolérov ročne mnohonásobne prevyšuje produkciu procesorov a dopyt po nich neklesol.

Desiatky spoločností vyrábajú mikrokontroléry a vyrábajú sa nielen moderné 32-bitové mikrokontroléry, ale aj 16- a dokonca 8-bitové (ako i8051 a analógy). V rámci každej rodiny často nájdete takmer rovnaké modely, ktoré sa líšia rýchlosťou procesora a veľkosťou pamäte.

Mikrokontroléry spravidla nepracujú samostatne, ale sú spájkované do obvodu, kde sú okrem toho pripojené obrazovky, vstupy klávesnice, rôzne senzory atď.

Softvér pre mikrokontroléry môže pritiahnuť pozornosť tých, ktorí milujú „naháňanie bitov“, pretože pamäť v mikrokontroléroch je zvyčajne od 2 do 128 KB. Ak menej, potom musíte písať v assembleri alebo Forte, ak je to možné, potom použite špeciálne verzie BASIC, Pascal, ale väčšinou C. Pred konečným programovaním mikrokontroléra sa testuje v emulátoroch - softvérových alebo hardvérových.

Tu môže vzniknúť otázka: je mikroprocesor a mikrokontrolér len odlišným názvom pre to isté zariadenie, alebo sú to stále rozdielne veci?

Mikroprocesor je centrálnou jednotkou každého počítača vyrobeného integrovanou technológiou. Už samotný názov napovedá, že práve v ňom prebiehajú výpočtové procesy. Aby z toho bol počítač, aj keď nie príliš moderný a výkonný (spomeňte si na amatérske konštrukcie Radio-86 či Sinclair), treba ho doplniť externými zariadeniami. V prvom rade je to RAM a vstupno/výstupné porty.

Mikrokontrolér má procesor, RAM, programovú pamäť a navyše celú sadu periférnych zariadení, ktoré premenia procesor na plne funkčný počítač. Podľa starej terminológie sovietskych čias sa takéto zariadenia nazývali Single-Crystal Microcomputers. Ale sovietska počítačová technika, ako viete, sa dostala do slepej uličky a s ňou aj OMEVM.

Zahraničná výpočtová technika však nezostala stáť, a tak sa OMEC začal nazývať controllermi (z angl. Control – spravovať, kontrolovať). A v skutočnosti sa ovládače ukázali ako veľmi vhodné na ovládanie rôznych zariadení, dokonca aj nie príliš zložitých.

Mikrokontrolér už nie je procesor, ale nie je to ani počítač.

Centrálna procesorová jednotka v každom počítači je hlavný počítač. Hoci počítač nie je určený výhradne na výpočtovú záťaž, procesor je v ňom hlavným prvkom. Ale nielen počítač má procesor.

Ak sa nad tým zamyslíte a pozriete sa pozorne, zistíte, že procesory sa používajú vo väčšine domácich spotrebičov. Iba tam sa nepoužívajú také procesory ako v počítači, ale mikroprocesory a dokonca aj mikrokontroléry.

Čo je teda mikrokontrolér a ako sa líši od skutočného procesora alebo sú to úplne odlišné elektronické komponenty?

Veľké integrované obvody alebo obvody s vysokým stupňom integrácie sú procesory. Mikroprocesory sú v podstate rovnaké procesory, ale kvôli predpone „mikro“ je ich podstata určená tým, že sú menšie ako ich „veľké“ náprotivky. Vo svojej historickej dobe mohol procesor s jeho veľkosťou zaberať viac ako jednu miestnosť;

Zmenšený a zabalený procesor zaberá menej miesta a možno ho umiestniť do kompaktnejšieho produktu, ktorým je mikroprocesor. Samotný procesor toho však veľa nezvládne, okrem odosielania údajov medzi registrami a vykonávania niektorých aritmetických a logických operácií s nimi.

Aby mikroprocesor mohol odosielať dáta do pamäte, musí byť táto istá pamäť prítomná buď na samotnom čipe, na ktorom je umiestnený samotný procesorový prvok, alebo pripojená k externej RAM vo forme samostatného čipu alebo modulu.

Okrem pamäte musí procesor spolupracovať s externými zariadeniami – perifériami. Inak aké využitie možno očakávať od práce procesora, mixovania a presúvania dát tam a späť. Význam sa vyskytuje, keď procesor interaguje s I/O zariadeniami. Pre počítač je to klávesnica, manipulátor myši a zobrazovacie zariadenia ako displej, prípadne tlačiareň a napríklad skener, opäť na zadávanie informácií.

Na riadenie I/O zariadení sú nevyhnutné vhodné vyrovnávacie obvody a prvky. Na ich základe je implementované rozhranie tzv. Metódy interakcie s prvkami rozhrania naznačujú prítomnosť obvodov vstupno-výstupných portov, dekodérov adries a ovládačov zberníc s vyrovnávacími obvodmi na zvýšenie zaťažiteľnosti mikroprocesora.

Integrácia procesora so všetkými potrebnými doplnkovými prvkami, aby sa tento produkt nalial do nejakého uceleného konštruktu, vedie k vytvoreniu mikrokontroléra. Mikroobvod alebo čip mikrokontroléra implementuje procesor a obvody rozhrania na jednom čipe.

Sebestačný čip, ktorý obsahuje takmer všetko, čo stačí na zostavenie hotového produktu a je príkladom typického mikrokontroléra. Napríklad elektronické náramkové hodinky alebo budík majú vo vnútri mikrokontrolér, ktorý implementuje všetky funkcie takéhoto zariadenia. Samostatné periférne zariadenia sa pripájajú priamo na piny čipu mikrokontroléra, prípadne sa spolu používajú prídavné prvky alebo mikroobvody malého alebo stredného stupňa integrácie.

Mikrokontroléry sú široko používané v produktoch, ktoré obsahujú celý systém úplne v jednom miniatúrnom čipe, často nazývanom mikrozostava. Napríklad „čipová“ kreditná karta obsahuje mikrokontrolér vo vnútri plastovej základne. vo vnútri obsahuje aj mikrokontrolér. A príklady použitia a aplikácie mikrokontrolérov sú v modernom svete také rozsiahle, že je ľahké odhaliť prítomnosť ovládača v akomkoľvek viac či menej inteligentnom zariadení od detskej hračky až po bezdrôtový headset mobilného telefónu.

Pozrite si aj na našej webovej stránke:

Pozri tiež na túto tému školiace video kurzy od Maxima Selivanova:

Kur je pre tých, ktorí už ovládajú základy elektroniky a programovania, poznajú základné elektronické súčiastky, zostavujú jednoduché obvody, vedia držať spájkovačku a chcú sa posunúť na kvalitatívne novú úroveň, no tento prechod neustále odkladajú kvôli ťažkosti so zvládnutím nového materiálu.

Kurz je skvelý aj pre tých, ktorí len nedávno urobili prvé pokusy naučiť sa programovanie mikrokontrolérov, ale už sú pripravení vzdať sa všetkého, pretože im nič nefunguje alebo nefunguje, ale nie tak, ako by potrebovali (známe?!).

Kurz bude užitočný aj pre tých, ktorí už zostavujú jednoduché (alebo možno nie veľmi) obvody na mikrokontroléroch, ale nerozumejú podstate toho, ako mikrokontrolér funguje a ako interaguje s externými zariadeniami.

Predmet je venovaný výučbe programovania mikrokontrolérov v jazyku C. Charakteristickým rysom kurzu je štúdium jazyka na veľmi hlbokej úrovni. Školenie prebieha na príklade mikrokontrolérov AVR. Ale v zásade je vhodný aj pre tých, ktorí používajú iné mikrokontroléry.

Kurz je určený pre pripraveného poslucháča. To znamená, že kurz nepokrýva základné základy informatiky a elektroniky a mikrokontrolérov. Ale na zvládnutie kurzu budete potrebovať minimálne znalosti programovania mikrokontrolérov AVR v akomkoľvek jazyku. Znalosť elektroniky je žiaduca, ale nie nevyhnutná.

Kurz je ideálny pre tých, ktorí sa práve začali učiť programovanie mikrokontrolérov AVR v jazyku C a chcú si prehĺbiť svoje znalosti. Vhodné pre tých, ktorí vedia trochu o programovaní mikrokontrolérov v iných jazykoch. A je vhodný aj pre bežných programátorov, ktorí si chcú prehĺbiť znalosti v jazyku C.

Tento kurz je pre tých, ktorí sa nechcú vo svojom vývoji obmedzovať na jednoduché alebo hotové príklady. Kurz je ideálny pre tých, ktorým záleží na vytváraní zaujímavých zariadení s úplným pochopením ich fungovania. Kurz je vhodný pre tých, ktorí už poznajú programovanie mikrokontrolérov v jazyku C a pre tých, ktorí ich programujú dlhšie.

Materiál kurzu je primárne zameraný na nácvik používania. Pokryté sú nasledujúce témy: RFID, prehrávanie zvuku, bezdrôtová výmena dát, práca s farebnými TFT displejmi, dotyková obrazovka, práca so súborovým systémom FAT na SD karte.

mikrokontrolér- ide o celý mikroprocesorový systém v jednom mikroobvode (na jednom čipe). Tento čip je určený na ovládanie všetkých druhov elektronických zariadení a vykonávanie mnohých funkcií. Interakcia medzi elektronickými zariadeniami prebieha v súlade s programom zabudovaným v mikrokontroléri.

Na našej stránke bude najčastejšie prebiehať rozhovor o mikrokontroléri Arduino a jeho najpokročilejšej verzii v podobe Arduino Due.
Mikrokontroléry umožňujú ovládať rôzne elektronické a elektrické komponenty. Mikrokontroléry spravidla nepracujú samostatne, ale sú integrované (proces spojenia časti do celku) do obvodu, kde sú zapojené rôzne periférne zariadenia (monitory, klávesnice, rôzne senzory atď.).

Mikročipy vynašli takmer súčasne Jack Kilby (Texas Instruments) a Robert Noyce (Firechild Semiconductors) okolo roku 1958. Priemyselná výroba začala až začiatkom 70-tych rokov. Prvý procesor (8080) bol vydaný v roku 1974. Bol vynájdený pod názvom Intel 4040 už v roku 1969, no do komerčnej výroby sa dostal až v roku 1974.

S nástupom jednočipových mikropočítačov sa spája začiatok éry masového uplatňovania počítačovej automatizácie v oblasti manažmentu. S najväčšou pravdepodobnosťou táto okolnosť určila pojem "ovládač" (anglický ovládač - regulátor, ovládacie zariadenie). V dôsledku prudkého poklesu domácej produkcie a nárastu dovozu zariadení vrátane výpočtovej techniky pojem „mikrokontrolér“ (MC) nahradil z používania pojem „jednočipový mikropočítač“. Prvý patent na jednočipový mikropočítač dostali v roku 1971 inžinieri Michael Cochran a Gary Boone, zamestnanci amerického Texas Instruments. Práve oni boli priekopníkmi myšlienky umiestniť na jeden čip nielen procesor, ale aj pamäť so vstupno-výstupnými zariadeniami. V roku 1976 vydala americká spoločnosť Intel mikrokontrolér i8048. Po 4 rokoch, v roku 1980, Intel uvádza na trh nasledujúci mikrokontrolér: i8051. Dobrá sada periférií, flexibilný výber externej alebo internej programovej pamäte a prijateľná cena zabezpečili tomuto mikrokontroléru úspech na trhu. Z hľadiska technológie bol mikrokontrolér i8051 na svoju dobu mimoriadne zložitým produktom - v kryštáli bolo použitých 128 tisíc tranzistorov, čo bol 4-násobok počtu tranzistorov v 16-bitovom mikroprocesore i8086.

Typy mikrokontrolérov

Bežne možno mikrokontroléry rozdeliť do troch skupín: najjednoduchšie, vstavané a univerzálne.

Najjednoduchšie mikrokontroléry sa používajú v prípadoch, keď nie je potrebný vysoký výkon, ale dôležitá je nízka cena.

Mikrokontroléry vložené do zariadení a zariadení sú naprogramované na vykonávanie vysoko špecializovaných úloh.

Univerzálne mikrokontroléry sú zamerané na riešenie mnohých problémov v riadiacich, regulačných a riadiacich systémoch.

Ak si predstavíte všetky typy moderných mikrokontrolérov, môžete byť ohromení obrovským množstvom rôznych zariadení tejto triedy, ktoré má spotrebiteľ k dispozícii. Všetky tieto zariadenia však možno rozdeliť do nasledujúcich hlavných typov:

vložený (vložený) 8-bitový MK,

16- a 32-bitový MK,

digitálne signálové procesory (špecializované mikroprocesory určené na digitálne spracovanie signálov).

Typy balíkov mikrokontrolérov

DIP (Dual Inline Package) - puzdro s dvoma radmi kontaktov. Počet nožičiek v puzdre je od 8 do 56.

SOIC (Small Outline Integrated Circuit) - planárny mikroobvod - nožičky sú prispájkované na rovnakej strane ako puzdro. Zároveň mikroobvod leží svojim telom na doske. Počet nôh a ich číslovanie je rovnaké ako pri DIP.

PLCC(Plastic Leader Chip Carrier) - štvorcové telo. Nohy sú umiestnené na všetkých štyroch stranách a majú tvar J.

TQFP (Thin Profile Quad Flat Package) - stred medzi SOIC a PLCC. Štvorcové puzdro má hrúbku cca 1 mm, prívody sú umiestnené zo všetkých strán. Počet nôh je od 32 do 144.

Uvádzame hlavné komponenty akéhokoľvek mikrokontroléra:

Výpočtová jednotka (aritmetická logická jednotka) -> tento miniatúrny počítač je srdcom každého mikrokontroléra. Samozrejme, že počítačový logický modul zabudovaný do malého čipu nie je ani zďaleka taký výkonný ako jeho desktopový náprotivok, ale nepotrebuje toľko koní. Zatiaľ čo stolný počítač musí vykonávať niekoľko úloh naraz – prehľadávať internet, počítať tabuľky a chytať vírusy, typický mikrokontrolér je zvyčajne určený na riešenie jednej úlohy.

Energeticky nezávislá pamäť -> mikrokontrolér má vždy energeticky nezávislú pamäť, v ktorej sú uložené programy. Táto pamäť naďalej ukladá údaje aj po vypnutí napájania. V momente zapnutia batérie alebo iného zdroja sú dáta uložené v mikrokontroléri opäť dostupné.

I/O porty -> umožňujú mikrokontroléru komunikovať s vonkajším svetom.

Pre dosiahnutie vyššej úrovne integrácie (proces spájania dielov do celku) a spoľahlivosti majú všetky mikrokontroléry zabudované prídavné zariadenia. Vstavané zariadenia zvyšujú spoľahlivosť systému, pretože nevyžadujú žiadne externé elektrické obvody. Sú vopred otestované výrobcom a uvoľňujú miesto na doske, keďže všetky spojovacie elektrické obvody sú vyrobené na čipe v mikrokontroléri. Medzi najbežnejšie vstavané zariadenia patria pamäťové zariadenia a vstupné/výstupné (I/O) porty, komunikačné rozhrania, časovače, systémové hodiny. Pamäťové zariadenia zahŕňajú pamäť s náhodným prístupom (RAM), pamäť iba na čítanie (ROM), preprogramovateľnú ROM (EPROM), elektricky preprogramovateľnú ROM (EEPROM). Časovače zahŕňajú hodiny reálneho času a časovače prerušení. Medzi I/O zariadenia patria sériové komunikačné porty, paralelné porty (I/O linky), analógovo-digitálne prevodníky (A/D), digitálno-analógové prevodníky (D/A), ovládače displeja z tekutých kryštálov (LCD), alebo ovládače Vacuum Fluorescent Display (VFD). Vstavané zariadenia sú spoľahlivejšie, pretože nevyžadujú žiadne externé elektrické obvody.

ALU vykoná operácie s číslami a vráti výsledok operácie ako číslo. Tieto čísla sú umiestnené v všeobecné registre- akási dočasná spomienka. Každý mikrokontrolér má iný počet registrov. Na bežnú prevádzku mikrokontroléra však univerzálne registre nestačia, pretože napríklad 32 bajtov je veľmi málo pamäte. Ak chcete uložiť ďalšie informácie, použite pamäť s náhodným prístupom (RAM). Univerzálne registre obsahujú dáta, s ktorými ALU aktuálne pracuje, a RAM obsahuje zvyšok. Príkazy, alebo skôr postupnosť príkazov, ktoré ALU vykonáva, sú uložené v Pamäť iba na čítanie (ROM). Zvyčajne je to flash pamäť. Táto postupnosť príkazov nie je ničím iným ako programom mikrokontroléra, ktorý vytvorí programátor. Všetky príkazy sú v ROM na určitých adresách. Ak chcete získať nejaký príkaz z ROM, musíte sa obrátiť na jej adresu, čo robí programové počítadlo alebo programové počítadlo. Dáta z ROM idú do inštrukčného registra. ALU neustále „prezerá“ obsah príkazového registra a ak sa v ňom objaví príkaz, ALU ho okamžite začne vykonávať. Všetky tieto mikrokontrolérové ​​zariadenia by boli zbytočné bez I/O portov, cez ktoré mikrokontrolér komunikuje s okolitým svetom. I/O porty je možné nakonfigurovať tak, aby fungovali ako vstupy aj výstupy. Porty sú spravované prostredníctvom špeciálnych registrov. Štandardne sú všetky porty mikrokontroléra nastavené na výstup.

Treba tiež poznamenať, že všetka práca mikrokontroléra je synchronizovaná generátorom taktovacej frekvencie, ktorý môže byť interný alebo externý. Frekvencia hodín, presnejšie rýchlosť zbernice, určuje, koľko výpočtov je možné vykonať za jednotku času.

Vzhľadom na to, že mikrokontrolér je v skutočnosti považovaný za malý počítač, jeho možnosti sú neuveriteľne široké. Napríklad mikrokontrolér môže byť poverený meraním rôznych veličín, spracovaním rôznych signálov a riadením širokého spektra rôznych zariadení. Schopnosti mikrokontrolérov sú v mnohých smeroch obmedzené len fantáziou a schopnosťou s nimi pracovať, no oboje sa dá naučiť.

Aby bolo možné mikrokontrolér naprogramovať, musí byť pripojený k počítaču, na čo slúži špeciálne zariadenie nazývané programátor. S jeho pomocou sa uskutočňuje vzťah medzi mikrokontrolérom a počítačom. Dá sa dokonca povedať, že programátor je akýmsi mostom. Napríklad napíšete program pre mikrokontrolér v programovacom jazyku C, potom vytvoríte súbor firmvéru a použijete program v počítači na flashovanie mikrokontroléra s týmto firmvérom. V skutočnosti je všetko celkom jednoduché a ak je to žiaduce, je celkom ľahké ho zvládnuť!

Zariadenie na báze mikrokontroléra si môžete zostaviť ako na vlastnej doske, tak aj na doske, prípadne aj povrchovou montážou, podľa toho, ako je to pre vás výhodnejšie a od zložitosti zamýšľaného zariadenia.

Ak máte záujem o mikrokontroléry, nebojte sa ťažkostí pri učení sa programovacieho jazyka C pre mikrokontroléry.