Srovnání mikrokontrolerů Michal Pták
Srovnávané typy PIC12F675R (Microchip) PIC17C42R (Microchip) M68HC11 (Motorola) M68HC12 (Motorola) AT89LS8252 (Atmel) ST6200CR R - RISC
Srovnávané vlastnosti druh a velikost paměti I/O možnosti přerušovací mechanismy bezpečnostní mechanismy provozní podmínky další výbava (ADC,…)
Druhy pamětí ROM - obsah „zadrátován“ už při výrobě EPROM - uložení programu, případně statických dat, zapisovatelná pouze ve fázi programování za použití vyššího napětí, mazatelná ultrafialovým zářením EEPROM - mazatelná elektronicky, tedy použitelná i pro zápis FLASH - jako EEPROM, přepisování však probíhá po blocích, a tedy rychleji RAM - závislá na napětí
Opakované programování S ohledem na flexibilitu či naopak minimální cenu při výrobě ve velkém se rozlišují následující varianty programových pamětí: opakovatelně programovatelné jednou programovatelné (OTP) naplněné (dodaným kódem) již od výrobce
I/O možnosti Mikrokontrolery mají různý počet obecně použitelných I/O pinů. Skupina n pinů tvoří n-bitový port. Vyspělejší typy mívají portů několik. Pokud některý takový pin plní jinou funkci (vstup/výstup hodinového signálu, externí RESET,…), přestává být I/O pinem.
Obsluha přerušení Přerušení lze rozdělit do několika skupin dle původu. Obvykle je lze různě konfigurovat (povolit/zakázat, priority). Čím méně přerušení sdílí jeden vektor (adresu obslužné rutiny), tím rychleji na ně lze zareagovat.
Obsluha přerušení Zatímco CPU je v úsporném módu („spí“), jeho periférie mohou pracovat. Když skončí (ADC dokončí převod, sériové rozhraní přijme byte,…), mohou procesor probudit, aby zpracoval výsledek jejich činnosti.
Přerušovací mechanismy Zdroje přerušení - externí, přetečení timerů, změna na vstupu, periférie (dokončení činnosti,…) Každé přerušení má bit, kterým se povoluje, a bit signalizující požadavek na přerušení - na konci obslužné rutiny se vynuluje. Mapování přerušení na vektory lze u pokročilých procesorů customizovat, včetně nastavování priorit.
Bezpečnostní mechanismy Watchdog - V každém taktu se inkrementuje jeho čítač. Při jeho přetečení se provede RESET. Je proto potřeba „čas od času“ čítač watchdogu vynulovat. To brání uváznutí programu při SW chybě. Prescaler - Pomocí něj lze zajistit, že se watchdog inkrementuje jen jednou za x taktů.
Bezpečnostní mechanismy Low Voltage Detector - Při poklesu napětí může resetovat procesor. Oscillator Safeguard - Filtruje výkyvy na oscilátoru. Může plnit i další funkce, např. poskytovat záložní hodinový signál LFAO (Low Frequency Auxiliary Oscillator). Code Protection - Ochrana kódu, případně dat, proti čtení.
Bezpečnostní mechanismy Illegal Opcode Detection - Obvod může vyvolat nemaskovatelné přerušení při nepovolené instrukci.
Úsporné režimy WAIT (Idle) - Procesor se zastaví, ale hodiny běží dál. Probudit procesor může přerušení nebo reset. STOP (Power Down) - Zastaví se i hodiny. Běžet dál (a vzbudit procesor přerušením) mohou pouze periférie s jiným zdrojem hodinového signálu.
Další výbava AD převodník - Změří napětí na vstupu, výsledek uloží do registru. Analogový komparátor - Srovnává hodnotu vstupního a referenčního napětí. Některé piny mohou sloužit přímo pro ovládání LED, k němuž je třeba vyšších proudů (20 mA).
Další výbava Sériové rozhraní - Synchronní nebo asynchronní komunikace, různá rychlost (baud rate), přístup přes registry - není nutné „ručně tahat za jednotlivé dráty“.
Srovnávání
Paměť Zařízení mohou být vybavena další externí pamětí.
I/O možnosti Některé piny mohou mít směr (In/Out) pevně nastavený, u ostatních se řídí nastavováním „směrového“ registru. Lze nastavovat další chování pinů (interrupt-on-change,…).
Přerušovací mechanismy Někde se do kategorie interruptů zahrnují také různé druhy resetů. Zde nikoliv. Ve sloupci priority jsou označena zařízení umožňující alespoň částečně nastavovat priority různým zdrojům přerušení.
Bezpečnostní mechanismy
Provozní podmínky úsporné režimy - WAIT a STOP udána maximalní frekvence hodinového signálu a minimální délka taktu, lze odvodit, z kolika tiků se skládá jeden takt
Další výbava Označení - USART (synchronně asynchronní), SCI (asynchronní), SPI (synchronní) ICSP - In-Circuit Serial Programming
Konec