Hardvér (jednočipové PLC)
1. | Programovateľné logické automaty |
2. | Hardvér (jednočipové PLC) |
3. | Softvér 1PLC |
4. | Funkčné bloky programu pre 1PLC |
5. | Prepojenie 1PLC s počítačom
|
Popis mikrokontroléra AVR
Rodina Atmel AVR sú 8-bitové RISC mikrokontroléry s harwardskou štruktúrou (to znamená oddelenú pamäť programu a pamäť dát).
Za zrodom AVR stoja dvaja študenti z Nórskeho technického inštitútu: Alf-Egil Bogen a Vegard Wollan. Skratka AVR je zložená zo začiatočných písmen mien autorov a názvu arcitektúry (Alf Vegard RISC) ale oficiálne znamená Advanced Virtual RISC.
Jadro AVR sa podobá jadru väčšiny RISC-procesorov. AVR jadro sa skladá z 32 rovnakých 8-bitových registrov, ktoré môžu obsahovať dáta alebo adresy. Posledných 6 registrov môžeme použiť vo dvojiciach ako ukazatele adresy pre nepriame adresovanie pamäti dát (16-bitové adresy).
AVR architektúra má 5 adresovacích módov pre pamäť dát:
- priame adresovanie
- nepriame adresovanie s posunutím (6-bitový posun)
- nepriame adresovanie
- nepiame adresovanie s dekrementáciou ukazateľa adresy pred spracovaním inštrukcie
- nepriame adresovanie s inkrementáciou ukazateľa adresy po spracovaní inštrukcie
Registre sú zobrazované priamo do pamäti dát. Preto je možné s každým registrom zaobchádzať ako s akýmkoľvek iným pamäťovým miestom. Rozdelenie pamäti dát je na obrázku [sem vložiť odkaz na literatúru].
Pamäť programu je dostupná pomocou dvojstupňovej pipeline. To znamená, že keď sa inštrukcia začína vykonávať, ďalšia je už pripravená k spracovaniu. Táto konštrukcia umožňuje spracovávať inštrukcie vždy v jednom hodinovom cykle. Pamäť programu je rozdelená na 2 časti:
- Aplikačná časť pamäte programu – slúži na uloženie užívateľského programu.
- Boot sekcia pamäte programu – slúži na uloženie programu, ktorý má prepisovať užívateľskú časť programu.
Prehľad základných vlastností mikrokontrolérov tejto rodiny sa nachádza v nasledujúcej tabuľke:
ATMega 8 | ATMega 16 | ATMega 32 | ATMega 128 | |
---|---|---|---|---|
Veľkosť pamäte programu | 8kiB | 16kiB | 32kiB | 128kiB |
Veľkosť pamäte programu | 8kiB | 16kiB | 32kiB | 128kiB |
Veľkosť pamäte údajov | 1kiB | 1kiB | 2kiB | 4kiB |
Veľkosť pamäte EEPROM | 512B | 512B | 1kiB | 4kiB |
Počet 8-bitových časovačov | 2 | 2 | 2 | 2 |
Počet 16-bitových časovačov | 1 | 1 | 1 | 2 |
Počet PWM kanálov | 3 | 4 | 4 | 6 |
Počet kanálov A/D prevodníka | 5 (10bit) | 8 (10bit) | 8 (10bit) | 8 (10bit) |
Počet sériových kanálov UART | 1 | 1 | 1 | 2 |
Zbernica I2C | áno | áno | áno | áno |
Rozhranie SPI | áno | áno | áno | áno |
Watchdog | áno | áno | áno | áno |
Analógový komparátor | áno | áno | áno | áno |
Počet vstupov externých prerušení | 2 | 3 | 3 | 8 |
Maximálny výpočtový výkon | 16Mips | 16Mips | 16Mips | 16Mips |
Počet digitálnych vstupno/výstupných vodičov | 23 | 32 | 32 | 53 |
Púzdro | DIP 32 TQFP 32 |
DIP 40 TQFP 44 |
DIP 40 TQFP 44 |
TQFP 64 |
Zapojenie vývodov
Zapojenie vývodov jednotlivých mikrokontrolérov uvedených v tabuľke vyššie je uvedené na nasledujúcich obrázkoch:
Vlastnosti verzií
V nasledujúcej tabuľke sú rozpísané vlastnosti jednotlivých PLC založených na mikrokontroléroch opísaných v predchádzajúcej kapitole.
Založené na | ATMega 8 | ATMega 16 | ATMega 32 | ATMega 128 |
---|---|---|---|---|
Pamäť P | 4B | 4B | 4B | 7B |
Pamäť PA | 14B | 14B | 14B | 14B |
Pamäť SP | 20B | 20B | 20B | 20B |
Počet 1ms časovačov | 2 | 2 | 4 | 4 |
Počet 10ms časovačov | 8 | 8 | 32 | 32 |
Počet 100ms časovačov | 22 | 22 | 92 | 92 |
Počet čítačov | 32 | 32 | 128 | 128 |
Pamäť V | 570B | 570B | 720B | 2800B |
Veľkosť pamäte pre program | 4860B | 13055B | 25600B | 122600B |
Float operácie | nie | nie | áno | áno |
Pripojiteľnosť periférii | nie | nie | áno | áno |