PIC16F z inteligentnymi peryferiami, czyli nowy pomysł Microchipa na mikrokontrolery 8-bitowe
Producenci mikrokontrolerów chcąc pozostać konkurencyjnymi na rynku nieustannie aktualizują swoją ofertę produktową. Większość firm przyjęła podobny kierunek zmian polegający na zaprzestaniu produkcji lub bardzo znacznym ograniczeniu rozwoju mikrokontrolerów 8-bitowych i skoncentrowaniu się na układach 32-bitowych, przeważnie opartych na rdzeniach z rodziny ARM Cortex-M. Odmienne podejście przyjęła firma Microchip. Producent ten wprawdzie oferuje mikrokontrolery 32-bitowe, niemniej jednak nie tylko nie zrezygnował z układów 8-bitowych, ale zrobił z nich istotną część swojej oferty. Było to możliwe, gdyż Microchip tchnął w architekturę 8-bitową nowego ducha. Ideę nowych 8-bitowych mikrokontrolerów firmy Microchip pokazano w tym artykule na podstawie dwóch rodzin układów wprowadzonych do sprzedaży w ostatnich miesiącach: PIC16(L)F161X oraz PIC16(L)F1769.
Core Independent Peripherals
Migracja producentów mikrokontrolerów od architektur 8-bitowych do 32-bitowych podyktowana jest chęcią zwiększenia możliwości oferowanych układów. Przede wszystkim 32-bitowa architektura zapewnia większą niż architektura 8-bitowa moc obliczeniową. Jest to parametr niezwykle istotny we współczesnych systemach wbudowanych, gdyż wpływa na czas wykonania przez mikrokontroler powierzonych mu zadań.
Wyższa moc obliczeniowa pozwala na skrócenie czasu wykonania zadań w warstwie programowej. Alternatywnym rozwiązaniem, przyjętym przez firmę Microchip, jest skrócenie czasu wykonania zadań w warstwie sprzętowej. Owocem tego pomysłu są rodziny 8-bitowych mikrokontrolerów wyposażonych w specjalizowane peryferia, które otrzymały nazwę CIP – Core Independent Peripherals. Główne zalety wynikające z zastosowania CIP to:
- odciążenie CPU mikrokontrolera od wykonywania części zadań (są one wykonywane sprzętowo),
- eliminacja opóźnień w zgłaszaniu przerwań w zadaniach „krytycznych” czasowo,
- zmniejszenie zużycia energii systemu,
- zmniejszenie skomplikowania budowy systemu,
- obniżenie kosztu budowy systemu,
- skrócenie czasu projektowania i implementacji systemu,
- możliwość wykonywania części zadań równocześnie.
Dzięki zastosowaniu CIP mikrokontrolery Microchip PIC są sprofilowane pod kątem wybranych zastosowań. Dla tych zastosowań (zostaną one omówione w dalszej części artykułu) układy te nie ustępują efektywności realizacji zadań swoim 32-bitowym konkurentom. Co więcej, atutem mikrokontrolerów PIC jest niska, charakterystyczna dla rozwiązań 8-bitowych, cena.
Mikrokontrolery PIC16(L)F161X
Mikrokontrolery PIC16(L)F161X wyposażone są w jednostkę obliczeniową (CPU) mogącą pracować z częstotliwością maksymalną 32 MHz, pamięć danych (do 1 kB) i pamięć programu (do 14 kB). Schemat budowy wewnętrznej mikrokontrolerów pokazano na rysunku 1.
Rys. 1. Schemat budowy wewnętrznej mikrokontrolerów PIC16(L)F161X
Na wyposażeniu układów znalazły się liczne peryferia CIP, zarówno analogowe, jak też cyfrowe. Poniżej zamieszczono ich skrótowy opis.
- Angular Timer – podukład czasowy określający parametry ruchu obrotowego oraz fazę sygnału.
- Math Accelerator – moduł wykonujący obliczenia matematyczne (np. dodawania i mnożenie) na liczbach 8- i 16-bitowych oraz funkcje na potrzeby kontrolera PID.
- High Current I/O – porty wejścia/wyjścia o wydajności prądowej 100 mA.
- Peripheral Pin Select – blok pozwalający na zmianę przyporządkowania wejść/wyjść peryferiów cyfrowych do wyprowadzeń mikrokontrolera.
- Signal Measurement Timer – podukład czasowy przeznaczony do dokładnego pomiaru sygnałów cyfrowych (okres, wypełnienie PWM, częstotliwość i inne).
- Windowed Watchdog Timer – podukład czasowy określający czy zadania realizowane są w przewidzianym im czasie.
- Cyclic Redundancy Check with Memory Scan – moduł wykrywający błędy w pamięci.
- Hardware Limit Timer – podukład czasowy przewidziany do wykrywania błędnych stanów w peryferiach.
- Zero Cross Detect – blok określający moment przejścia sygnału przez zero.
- Complementary Waveform Generator – generator sygnałów komplementarnych.
Dysponując przedstawionym zestawem peryferiów mikrokontroler z rodziny PIC16(L)F161X może realizować w sposób sprzętowy szereg zaawansowanych zadań. Potencjalne zastosowania obejmują między innymi sterowniki silników, sterowniki triaków, moduły bezpieczeństwa oraz moduły czujnikowe. Schemat z peryferiami pogrupowanymi pod kątem tych aplikacji pokazano na rysunku 2.
Rys. 2. Schemat pokazujący praktyczne zastosowania peryferiów CIP w mikrokontrolerach PIC16(L)F161X
Mikrokontrolery PIC16(L)F161X dostępne są w obudowach PDIP, SOIC, DFN, UDFN oraz TSSOP, wszystkie o małej liczbie wyprowadzeń (8, 14 lub 20). Układy oferowane są w cenie od 0.53 USD (cena jednostkowa dla zamówień 10 tysięcy sztuk).
Więcej informacji o mikrokontrolerach PIC16(L)F161X można znaleźć w poświęconej im prezentacji.