Wymagania nowoczesnej elektroniki skupiają się na układach 32-bitowych. To sprawiło, że dostępna jest szeroka oferta komponentów z taką architekturą, o różnych parametrach. Przydatność danego typu do konkretnej aplikacji już nie zależy od wydajności samego procesora czy pojemność pamięci. Czynnikami decydującymi są:
- układy peryferyjne zintegrowane w mikrokontrolerze,
- oraz narzędzia programistyczne – środowisko, biblioteki i przykłady.
Microchip jest dostawcą półprzewodników stale wprowadzającym innowacje zarówno w zakresie układów 32-bitowych, ale także 8- i 16- bitowych. Dzięki temu zapewnia najlepszy wybór skalowalnej wydajności. Wyraźną zaletą układów jest duży asortyment elastycznych bloków peryferyjnych i funkcjonalnych, które ułatwiają tworzenie zróżnicowanych aplikacji. Implementacja nowych rozwiązań jest bardzo ułatwiona dzięki intuicyjnym środowiskom projektowym i wizualnym narzędziom konfiguracyjnym. Szybkie rozpoczęcie projektów umożliwiają sprawdzone projekty referencyjne i przetestowane biblioteki oprogramowania.
Twórcy oprogramowania sterującego docenią fakt, że nowe układy działają w ramach ekosystemu programistycznego Microchip (rysunek 1), który obejmuje zintegrowane środowisko programistyczne MPLAB X (IDE), kompilator MPLAB XC32 oraz bezpłatną platformę programistyczną wbudowanego oprogramowania MPLAB Harmony (zapewnia elastyczne i interoperacyjne moduły oprogramowania oraz łatwe w użyciu interfejsy API). Dlatego można użyć typowych narzędzi z wcześniejszych projektów. Pozwala to na rozwój kodu poprzez ponowne wykorzystanie oprogramowania układowego aplikacji, nawet gdy zmienią się wymagania projektowe.
Układy serii Motor Control
Pierwszym mikrokontrolerom, którym warto się dokładnie przyjrzeć, jest seria PIC32CM MC (Motor Control), która łączy wydajność i energooszczędność układu opartego na rdzeniu ARM Cortex-M0+ z wieloma urządzeniami peryferyjnymi i zaawansowanymi funkcjami analogowymi. Jest to ekonomiczny następca rodziny SAM C2x, idealnie dostosowany do sterowania różnymi rodzajami silników elektrycznych stosowanych m.in. w urządzeniach AGD czy sterownikach przemysłowych. Układy wyróżniają się szerokim zakresem napięcia roboczego wynoszącym od 2,7 V, aż do 5,5 V.
Praca przy napięciu 5 V zapewnia najlepszy możliwy stosunek sygnału do szumu i wysoką odporność na zakłócenia, EMC, ESD i typu latch-up. Schemat blokowy tej serii układów został pokazany na rysunku 2, a ich kluczowe parametry i cechy to:
- częstotliwość taktowania procesora: do 48 MHz,
- wbudowana pamięć: do 128 kB Flash i 16 kB SRAM,
- zróżnicowane peryferia analogowe: podwójny 12-bitowy przetwornik ADC z jednoczesnym próbkowaniem o szybkości 1 Msps i wielokanałowym wejściem; 16-bitowy przetwornik ADC Sigma-Delta z wejściami różnicowymi; 10-bitowy przetwornik DAC o szybkości 350 ksps; 2 analogowe komparatory,
- dekoder pozycyjny PDEC (Positional Decoder), który zapewnia solidne, szybkie i niezależne od rdzenia pomiary położenia kątowego, obrotów i prędkości np. wirnika silnika, do zastosowań związanych z precyzyjnym sterowaniem silnikiem,
- rozbudowane 24-bitowe liczniki TCC (Timer/Counter for Control) z ustawianiem czasu martwego (Dead Time), oferujące precyzyjne wyjścia PWM przeznaczone do sterowania silnikami,
- moduły do komunikacji szeregowej SERCOM, które można skonfigurować tak, aby działały jako interfejs magistrali USART, UART, SPI, I2C, RS485 lub LIN,
- 12-kanałowy kontroler DMA (Direct Memory Access) z modułem CRC (Cyclic Redundancey Check),
- moduł DIVAS, który umożliwia szybsze obliczenia matematyczne (dzielenie, pierwiastek kwadratowy), niezbędne w wielu aplikacjach sterujących,
- funkcjonalna kompatybilność pinów z obecnymi układami SAM C20 w obudowach 32- i 48-pinowych.
Podstawowe korzyści wynikające ze stosowania układów serii PIC32CM MC to przede wszystkim precyzja analogowa i wydajność cyfrowa, przy niewielkim stopniu złożoności całego systemu, w stosunku do konkurencyjnych rozwiązań. Docelowe aplikacje to niedrogie kontrolery sterujące silnikami (BLDC, FOC, PMSM, ACIM i krokowe) stosowne w przemyśle i automatyce przemysłowej oraz różne specyficzne rozwiązania samochodowe.
Witryna internetowa producenta: https://bit.ly/3vhxhd8
Dokumentacja układu: https://bit.ly/3eCMOgT
Układy o dużej szybkości i wysokiej precyzji
Rodzina 32-bitowych mikrokontrolerów PIC32MK bazuje na rdzeniu MIPS32 działającym z częstotliwością 120 MHz (198 DMIPS). Dzięki czemu układy są odpowiednie do szybkiego wykonywania pętli sterowania w aplikacjach przeznaczonych do sterowania silnikiem. Dodatkowym wyposażeniem jest sprzętowa jednostka zmiennoprzecinkowa (FPU) do wydajnego i precyzyjnego wykonywania skomplikowanych obliczeń.
Układy rodziny PIC32MK zawierają zaawansowane peryferia analogowe, które obejmują, m.in. do 7 przetworników ADC o rozdzielczości 12-bitów i szybkości do 25 Msps; szybkie komparatory/wzmacniacze operacyjne o pasmie zwiększonym do 90 MHz i szybkości narastania do 40 V/µs; oraz 12-bitowe moduły przetworników DAC.
Rozbudowane układy licznikowe z wyjściami PWM oraz sprzętowe interfejsy enkoderów kwadraturowych z filtrem szumów QEI, umożliwiają realizację systemów ze sterowaniem silnikami. Dobrze sprawdzą się do opracowywania różnych aplikacji sterowania silnikiem, w tym 6-stopniowego sterowania skalarnego bezszczotkowego DC (BLDC), zaawansowanego bezczujnikowego sterowania zorientowanego na pole (FOC) i czułego FOC do zastosowań związanych z precyzyjnym pozycjonowaniem.
Różnorodne interfejsy komunikacyjne, w tym USB, CAN FD, SPI, I2C i UART, zapewniają elastyczne opcje łączności, natomiast blok zarządzania kodami korekcji błędów (ECC) zwiększa wydajność i niezawodność pamięci FLASH.
Duże znaczenie, ma także rozbudowane środowisko programistyczne. Bezpłatna platforma oprogramowania wbudowanego MPLAB Harmony, działa w zintegrowanym środowisku programistycznym MPLAB X (IDE). Narzędzia do projektowania oparte na modelach, takie jak MATLAB i Simulink lub Scilab i X2C, mogą generować wydajny kod, który można niemal bezpośrednio przenieść do pamięci układu w celu szybkiego prototypowania projektów. MPLAB Mindi Analog Simulator umożliwia symulacje odpowiedzi szerokopasmowych wzmacniaczy operacyjnych i komparatorów.
Wewnętrzny schemat blokowy tej rodziny układów został pokazany na rysunku 3. Układy PIC32MK serii MCM i MCJ są dostępne w różnych konfiguracjach bloków peryferyjnych i różnych obudowach.
Witryna internetowa producenta: https://bit.ly/3vqKZdH
Dokumentacja układów: https://bit.ly/3u1PhI9, https://bit.ly/3xqk4Rf
Rozwiązania przeznaczone dla IoT
Płytka rozwojowa SAM-IoT WG Development Board EV75S95A (rysunek 4) zawiera 32-bitowy mikrokontroler typu SAMD21G18 z rdzeniem Cortex-M0+, kontroler odpowiedzialny za funkcje bezpieczeństwa ATECC608A CryptoAuthentication, w pełni certyfikowany kontroler sieciowy ATWINC1510 Wi-Fi oraz wbudowane czujniki. Taki zestaw komponentów pozwala szybko i łatwo połączyć wbudowaną aplikację z podstawową platformą Google Cloud IoT.
Zintegrowany debugger umożliwia programowanie i debugowanie bez dodatkowego sprzętu, a gniazda mikroBUS pozwalają rozszerzyć projekt o wybrane komponenty. Dzięki temu płytka rozwojowa SAM-IoT WG jest małą i łatwo rozszerzalną platformą demonstracyjną i programistyczną dla rozwiązań IoT.
Mikrokontroler jest fabrycznie wyposażony w oprogramowanie, które umożliwia szybkie łączenie i wysyłanie danych do Google Cloud Platform za pomocą wbudowanych czujników temperatury i światła. Zbudowanie własnego, niestandardowego projektu, można łatwo wykonać za pomocą bibliotek bezpłatnego oprogramowania w MPLAB Harmony v3 i środowiska MPLAB X IDE. Docelowym zastosowaniem dla płytki są węzły czujników, rozwiązania brzegowe (edge solutions), przemysłowe i konsumenckie projekty IoT oraz aplikacje sterowane w czasie rzeczywistym zarówno przemysłowe, jak i konsumenckie czy motoryzacyjne.
Witryna internetowa producenta: https://bit.ly/3dWCaSR
Dokumentacja płytki: https://bit.ly/32UAweh