czwartek, 23 listopada 2017

PIC18 seria K83 - podrasowane 8-bitów od Microchipa

Microchip nie przestaje mnie zadziwiać. Okazuje się, że w świecie oszalałym na punkcie ARM-ów jest przestrzeń i zapotrzebowanie na inne nisze produktowe w tym mikrokontrolery 8-bitowe.
W ofercie Microchipa pojawiła się bardzo ciekawa seria mikrokontrolerów 8-bitowych - K83.
Co w niej jest takiego ciekawego i czym zachwyca dowiemy się w poniższym artykule.



Seria K83 to nowa propozycja Microchipa dla systemów wykorzystujących komunikację CAN w obszarze medycyny, przemysłu i motoryzacji. Kontroler CAN mamy tutaj na pokładzie.

Mikrokontrolery tej serii wyposażone w bogaty zestaw układów peryferyjnych niezależnych od rdzenia (CIP). Oznacza to m.in, że możemy uspić core a peryferia bedą nadal działać. Bardzo ciekawą właściwością jest rozszerzony tryb działania z sensorami dotykowymi Capacitive Voltage Divider (CVD) zapewniający większą niezawodność współpracy. Możemy tutaj niezawodnie zasterować 24 sensorami dotykowymi.Nie spotkamy się w tym przypadku z problemem drgania styków tak jak w klasyczych przyciskach.

Za pomocą tego mikrokontrolera  uda się m.in realizacja generatora przebiegów komplementarnych GCW (Complementary Waveform Generator) przeznaczonych m.in do efektywnego synchronicznego sterowania napędem.
Generator przebiegów komplementarnych umożliwia uzyskanie precyzyjnych
sygnałów przełączających. Są one przydatne np. do sterowania triakami bez angażowania mocy obliczeniowej rdzenia mikrokontrolera. Sygnały wygenerowane za pomoc CWG są również dostępne dla innych peryferiów.

Na pokładzie mamy 12-bitowy inteligentny przetwornik analogowo-cyfrowy z funkcjami obliczeniowymi (ADC2).
Jest to ADC z dodatkowymi licznikami i rejestrami, który oferuje sprzętowe wsparcie do wykonywania takich operacji jak uśrednianie, filtrowanie dolnoprzepustowe, próbkowanie nadmiarowe (ovesampling) , czy porównywanie analizowanej wielkości z wartością progową.Umożliwia to automatyczną analizę sygnałów analogowych i odpowiedź systemu w czasie rzeczywistym.
Na pokładzie mamy mechanizm PPS (Peripheral Pin Select) każde peryferium cyfrowe może być przyporządkowane do dowolnego pinu I/O. Daje to większą swobodę w projektowaniu sprzętowego otoczenia mikrokontrolera.

Bardzo ciekawym peryferium jest HLT (Hardware Limit Timer) można sprzętowo monitorować i wykrywać brakujące zdarzenia mające zachodzić okresowo .
Pozwala to wyławiać symptomy mogące wskazywać na zbliżającą się usterkę w sterowanych przez mikrokontroler silnikach, układach zasilających i innych zewnętrznych systemach. Generowane są wtedy automatycznie powiadomienia, a system może się bezpiecznie wyłączyć i/lub zrestartować.

Kolejnym ciekawym peryferium jest DSM (Digital Signal Modulator)
można modulować wyjściowy strumień danych nakładając go na sygnał nośnej.
Otrzymuje się w ten sposób zmodulowany sygnał wyjściowy. Możliwe jest uzyskanie modulacji FSK, PSK i OOK

Znajdziemy tutaj również kontroler DMA co w 8 bitowcach jest ewenementem. W AVR-ach np. tylko w Xmega był ten kontroler.

Nie wymieniłem wszystkich ciekawych możliwości tej serii a jest tego znacznie więcej.

Seria K83 jest oferowana w dwóch zakresach napięciowych PIC18(L) 1.8-3.6 V i PIC18(F) 2.3-5.5V. Warto zwrócić uwagę, że w trybie Sleep przy 1,8 V mikrokontroler zabierze tylko 50 nA prądu co jest poza zasięgiem najbardziej energooszczędnych ARM-ów.

Wybrane parametry :


O bogactwie tej serii niech świadczy wielkość datasheetu który liczy sobie ok 840 stron !!!!!!!!
Warto zauważyć, że K83 jak na tak dużą ilość różnych peryferiów ma aktualnie w erracie tylko dwa błędy w silikonie w tym jeden dotyczący minimalnego napięcia z 1.8V na 2V.

Ten mikrokontroler bogactwem wyposażenia i możliwościami wymiata wszystko co jest znane w świecie 8-bitowców.

Więcej informacji znajdziemy na stronie produktu PIC18 seria K83 - strona produktu

Z niecierpliwością czekam na 8-bitowy produkt Microchipa w którym zostanie połączona efektywność rdzenia AVR z peryferiami PIC-ów, wtedy mikrokontrolery 8-bitowe urodzą się na nowo.

Układy te dostępne są w obudowach SPDIP, SOIC, SSOC, UQFN lub QFN z 28 wyprowadzeniami.
Cena ok 1.8 EUR.

W panelu bocznym z Linkami zamieściłem przykładowe kursy dla PIC18 z Elektroniki Praktycznej.



Pozdrawiam
picmajster.blog@gmail.com


Linki :

PIC18 seria K83 - datasheet
PIC18 seria K83 - strona produktu

5 komentarzy:

  1. Taki np. Attiny1616 też jest apetyczny :)

    OdpowiedzUsuń
  2. Tak fajniutki, gdyby core tego Attiny1616 Microchip połączył z PIC18 K83 to by dostali Oskara, Pulicera i nagrodę Nobla też za to :) Microchip ma naprawdę ogromne możliwości rozwoju dzięki przejęciu produktów Atmela.

    OdpowiedzUsuń
  3. Piszesz Kolego: "Warto zwrócić uwagę, że w trybie Sleep przy 1,8 V mikrokontroler zabierze tylko 50 nA prądu co jest poza zasięgiem najbardziej energooszczędnych ARM-ów."
    Niestety, errata wskazuje na minimalne napięcie zasilania 2.0V. Tryb Sleep kończy się zawsze resetem systemu, więc po wybudzeniu trzeba zainicjować cały system, co kosztuje dużo czasu i prądu. W układach opartych na rdzeniach ARM Cortex-M, pamięć RAM jest podtrzymywana, a układ na ogół nie resetuje się, ale realizuje program za instrukcją usypiajacą. Poza tym, te 50nA dotyczy układu z wyłączonymi wszystkimi peryferiami, łącznie z RAM i WDG i nie uwzględnia się tutaj upływu prądu na portach I/O. Ten układ nawet nie ma RTC, więc po uśpieniu sam się nigdy nie obudzi. Realnie w trybie oszczędzania energii, ten układ pobiera 1,5uA z włączonym WDG. To takie minimum, aby można mówić o funkcjonowaniu. Więcej niż przeciętny ARM.
    Bardziej użyteczna jest wartość prądu podczas pracy i tutaj jest przepaść względem innych uC sprzedawanych przez Microchip, np. rodzina ATSAML21 lub ATSAMC2x. Główny problem PIC18 polega na tym, że potrzebuje 4 takty zegara na instrukcję z 8 bitowym operandem, a Cortex-M0+ wykonuje w 1 takcie zegara 1 instrukcję z operandem 32-bitowym. Przełączanie 32-bitów kosztuje więcej energii niż przełączanie 8-bitów, ale rdzeń ARM jest bardziej efektywny.
    PIC18 nie nadaje się do programowania w C, ponieważ nie można przekazywać danych przez sprzętowy stos służący tylko do zapisywania adresu powrotu z funkcji. Jeżeli przekazujemy parametry do funkcji, to muszą to być zmienne globalne, albo muszą zostać skopiowane do innej lokacji RAM. Do tego dochodzi podział pamięci na banki, co bardzo mocno spowalnia wykonywanie programu napisanego w C i skompilowanego za pomocą XC8, z wyłączoną optymalizacją. Mówimy przecież o hobbystach, którzy nie zapłacą kilka tysięcy dolarów za wersję Pro.
    Pozdrawiam,
    Marek Skalski

    OdpowiedzUsuń
  4. Aktualna cena MPLAB XC8 PRO Compiler Subscription License to ok 25 EUR za miesiąc.
    Pozdrawiam
    PICmajster

    OdpowiedzUsuń
  5. Stos sprzętowy z adresami powrotu to charakterystyczna cecha praktycznie wszystkich PIC-ów 8 bitowych , więc opisywany tutaj w artykule nie jest w tym względzie wyjątkiem. Ma to swoje wady i zalety zależy z jakiego punktu widzenia się na to patrzy. Przesłanką do takiej konstrukcji była m.in optymalizacja serii 8-bitowej dla Asemblera. 4-takty na cykl to również cecha charakterystyczna rdzeni 8-bitowych Microchipa nie tylko PIC-a18 (ale nie jest to jedyny wykładnik świadczący o konstrukcji jako całości). Możemy oczekiwać , że po przejęciu ATMELA ,Microchip wykorzysta bardzo fajne rdzenie od AVR-ów, ale jak na razie widocznie wciąż jest zapotrzebowanie na rdzenie Microchipa skoro je nadal daje w nowych seriach swoich mikrokontrolerów 8-bitowych. Jeśli chodzi o język C to pośród całej serii 8-bitowców, PIC18 zostały specjalnie potraktowane przez Microchipa, który dla tej serii szczególnie zoptymalizował kompilator języka C. Dla tych, którzy chcą przetestować napisany przez siebie kod z poziomem optymalizacji PRO , Microchip oferuje 60-dniową, bezpłatną wersję testową (trial), która po upływie 60 dni, jeśli nie wykupi się licencji PRO (która bynajmniej nie kosztuje kilka tysięcy dolarów jak piszesz),staje się wersją Free z ograniczonym modułem optymalizacji kodu ale bez, żadnych innych ograniczeń. Dla hobbysty i dla zastosowań do jakich został przeznaczony przez producenta ten ciekawy mikrokontroler rzeczy o których Kolego piszesz nie mają kompletnie , żadnego znaczenia ale wiedzieć o nich jak najbardziej warto.

    Pozdrawiam
    PICmajster

    OdpowiedzUsuń