230 likes | 342 Views
Srovnání mikrokontrolerů. Michal Pták. Srovnávané typy. PIC12F675 R (Microchip) PIC17C42 R (Microchip) M68HC11 (Motorola) M68HC12 (Motorola) AT89LS8252 (Atmel) ST6200C R R - RISC. Srovnávané vlastnosti. druh a velikost paměti I/O možnosti přerušovací mechanismy
E N D
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“.
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í.
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