sobota, 19 maja 2018

PIC32MM - SPI zajęcia praktyczne

W tym artykule spróbujemy wykorzystać nabytą wiedzę o SPI w PIC32MM. W szczególności wykorzystamy wygenerowane przez MCC funkcje do obsługi SPI, o których wspominałem w artykule poprzednim. Naszym celem będzie wymiana danych pomiędzy dwoma MCU PIC32MM. Jeden będzie skonfigurowany jako Master a drugi jako Slave czyli klasyczny układ .
Aby zajęcia sprawnie przeprowadzić wykorzystam dwie płytki developerskie PIC32MM mojego autorstwa.  Praktyczna wiedza o SPI przyda nam się w następnym zagadnieniu. Zaczynamy zatem przedstawienie :)

środa, 16 maja 2018

PIC32MM - SPI , szybka konfiguracja za pomocą MCC

W MCU PIC32MM mamy do dyspozycji 3 x SPI, które mają trzy wyróżniające cechy : powiązany interfejs I2S co umożliwa np. przesyłanie muzyki z kodowaniem PCM, zmienną szerokość danych 8,16 i 32 bity oraz bufory FIFO niezależne dla RX i TX. Szybkość do 25 Mbps czyli szybko.W celu zapoznania się z konfiguracją SPI posłużymy się wtyczką do MPLABX-IDE - MCC (MPLAB Code Configurator). Microchip może być dumny z tego narzędzia bo jakość i opis generowanego kodu deklasuje podobne rozwiązania stosowane  u innych producentów MCU.

czwartek, 10 maja 2018

Mikrokontrolery PIC - kilka przydatnych makr oraz jak po swojemu zbudować dostęp do dowolnego rejestru MCU.

Pomimo , że rejestry w mikrokontrolerach PIC są bardzo dobrze opisane przyjaznymi strukturami co znacznie ułatwia programowanie ich , to czasami jednak zachodzi potrzeba zrobienia czegoś po swojemu .....

niedziela, 6 maja 2018

MCP9808 - cyfrowy czujnik temperatury, zajęcia praktyczne .

Biblioteka I2C do PIC32MM przygotowana. Jesteśmy zatem gotowi do poznania od strony praktycznej milutkiego cyfrowego czujnika temperatury MCP9808.
Czujnik ten ma sporo funkcjonalności jak na takie maleństwo i jest bardzo prosty w implementacji. Nie sprawił mi żadnych problemów przy uruchomieniu. Wszystko zaskoczyło od przysłowiowego pierwszego strzała. W sumie sam byłem zdziwiony , że tak łatwo poszło. Do uruchomienia czujnika MCP9808 posłużyłem się moją autorską płytką developerską dla PIC32MM.
Czujnik został osadzony na mini płytce-rozszerzeniu wpiętej w złącze PICbus, w które jest wyposażona moja płytka developerska . Mamy zatem kompletny modularny system do badania różnych komponentów z udziałem uroczego 32-bitowego MCU PIC32MM firmy Microchip.

poniedziałek, 30 kwietnia 2018

PIC32MM 32bity od Microchipa - I2C budujemy bibliotekę.

Część sprzętową czyli budowę własnej płytki developerskiej dla PIC32MM mam za sobą. Płytka umożliwia mi w mega wygodny sposób podjęcie wyzwania poznania tego słodkiego MCU 32 bitowego. Ponieważ w kolejce czeka również do rozpoznania czujnik temperatury Microchipa MCP9808 dlatego potrzebujemy biblioteki I2C do zagadania z tym czujnikiem. Z przyjemnością zabieram się do roboty. Ostatni raz z I2C spotkałem się przy okazji poznawania serii 16 bitowej MCU PIC24HJ. Poczyniłem wówczas artykuł o I2C ,przytoczyłem w nim trochę niezbyt ciężkiej teorii o I2C.

środa, 25 kwietnia 2018

ATMEGA4809 - 8-bitów w popularnym opakowaniu od Microchipa.

Microchip śmiało rozwija swoją ofertę MCU 8 bitowych w oparciu o wydajne rdzenie przejętej firmy ATMEL. Tym razem mamy serię wypuszczoną w jednym formacie obudowy 48-pin. Swoją drogą jest to mój ulubiony format i jak widzę dookoła u różnych producentów bardzo popularny ostatnio. Przyjrzyjmy się zatem co nowe 8-bitowce mają na pokładzie .

czwartek, 19 kwietnia 2018

MCP9808 - cyfrowy czujnik temperatury od Microchipa

Firma Microchipa ma w swoim portfolio kilka sprytnych czujników temperatury. Mnie zainteresował model MCP9808. Jest to swoistego rodzaju kombajn do "zarządzania" temperaturą.Mamy tutaj rozbudowane opcje eventów sygnalizujących różne zdarzenia takie jak np krytyczne poziomy temperatury czy możliwość definiowania okna temperaturowego (histerezy) etc.
Czujnik dostępny jest w bardzo mikraśnych obudowach typu MSOP i DFN. Jest tak mały, że praktycznie niezauważalny :)



środa, 18 kwietnia 2018

Si4432 moduł radiowy do płytki developerskiej dla PIC32MM

Kolejnym małym projekcikiem będzie przygotowanie modułu radiowego opartego o chipset Silion Labs Si4432, który bedziemy mogli wpiąć w płytkę developerską dla PIC32MM. Posiadam zarówno gołe chipsety Si4432 jak i gotowe płytki aplikacyjne z anteną w komplecie. Na razie skorzystam z gotowców, czyli z płytek aplikacyjnych, które osadzę w module zapinanym na złącze PICbus w płytce developerskiej. Projektowany moduł umożliwi mi w wygodny dla mnie sposób przetestowanie transciverów od Silicona, co do których mam pewne plany na przyszłość.

czwartek, 12 kwietnia 2018

MCP2517FD/MCP2518FD kontroler CAN FD - moduł do płytki developerskiej dla PIC32MM

Mamy własnej produkcji płytkę developerską dla PIC32MM, teraz kolej na mini-płytki rozszerzające do złącza PICbus (moja autorska nazwa) na tej płytce. Mini-płytki umożliwią mi nie tylko testowanie poszczególnych komponentów osadzonych na nich ale również w elastyczny sposób tworzenie , nawet "docelowych" urządzeń. Na pierwszy ogień do osadzenia na mini-płytce PICbus idzie m.in kontroler CAN FD MCP2517FD (obecnie zastąpiony przez MCP2518FD).

sobota, 7 kwietnia 2018

Si4432 firmy Silicon Labs - moduł radiowy skrojony na miarę.

W nieustającym poszukiwaniu modułów radiowych, które mógłbym wykorzystać w domowym  IoT natrafiłem na ciekawy chipset Si4432 a w zasadzie całą rodzinę chipsetów Si4xxx produkowanych przez firmę Silicon Labs. Firma ta jest silnie związana z ekosystemem IoT i ma bardzo ciekawe i rozbudowane portfolio m.in w zakresie  MCU zintegrowanych z torem radiowym i stosem komunikacyjnym.

niedziela, 1 kwietnia 2018

PIC32MM - dostęp ATOMOWY do rejestrów peryferyjnych .


W ramach poszerzenia horyzontów poznawczych mikrokontrolera PIC32MM, przyjrzymy się jak została zaimplementowana w nim obsługa operacji atomowych . Operacje atomowe szczególnie nabierają znaczenia tam gdzie występują przerwania , które mogą nadpisać nam przerwane operacje na np rejestrach peryferyjnych .
Najmniej elegancką metodą pozbycia się tego problemu jest wyłączenie przerwań na czas modyfikacji i zapisu do rejestrów peryferyjnych ale rdzeń PIC32MM został wyposażony w bardziej elegancki mechanizm.

czwartek, 22 marca 2018

PIC32MM - I/O podstawy.

W artykule opiszę podstawy sterowania pinami w mikrokontrolerach 32-bitowych firmy Microchip . W szczególności skupię się na PC32MM0256GPM048 czyli moim ulubionym obecnie mikrokontrolerem 32-bitowym. Opisywałem już te zagadnienia przy okazji zabaw z PIC24 , wiele rzeczy będzie wspólnych. Migracja z 8 czy 16 bitów na 32-bity w produktach Microchipa jest bardzo płynna i to jest ogromna zaleta ekosystemu PIC. Stanowi to bardzo duże ułatwienie w szczególności dla hobbystów. Mikrokontrolery PIC32 są znacznie prostsze w poznaniu niż np. ARM-y.

poniedziałek, 19 marca 2018

EA DOGM162-A - LCD 2x16 firmy Electronic Assembly

Przyszedł czas na rozpracowanie wyświetlacza LCD jaki wybrałem do mojej płytki developerskiej dla PIC32MM. Od samego początku wiedziałem , że będzie to wyświetlacz firmy EA. Miałem wcześniej kontakt z LCD 4x20 (DOGM204-A) tej firmy i byłem zauroczony szybkością działania, subtelnością wyglądu i pięknym podświetleniem. Ponieważ na płytce dla PIC32MM nie chciałem zajmować dużo miejsca wyświetlaczem, dlatego mój wybór padł na małego słodziaczka DOGM162W-A z bursztynowym podświetleniem. Ło matko jaki on piękny :) Słodziaczek został oparty o sterownik ST7036 i możemy z nim zagadać po 4 / 8 bitach i po SPI jak dla mnie fajnie.


niedziela, 18 marca 2018

PIC32MM - Delay wanted alive or dead


Dla mikrokontrolerów 32-bitowych nie ma dedykowanych bibliotek w których znajdziemy funkcję opóźniające czyli delay-e. W przypadku 8-bitowców i 16-bitowców takie biblioteki znajdziemy bez trudu. Ktoś wyszedł z zalożenia , że takiego sprintera 32-bitowego nie wypada łapać za portki aby go spowolinić, tym bardziej , że życie wewnętrzne w rdzeniach 32-bitowych jest na tyle bogate, że przy delayach o standardowej konstrukcji coś tam może się odbić czkawką. Na potrzebę użycia delay-i natknąłem się bardzo szybko przy okazji pisaniu softu dla wyświetlacza DOGM162. Więc chcąc nie chcąc musiałem je mieć.

sobota, 10 marca 2018

PIC32MM - szykujemy środowisko i ustawiamy zegar - instrukcja dla przedszkolaka.

Moja świeżo wypieczona płytka "developerska" dedykowana 32-bitowemu mikrokontrolerowi firmy Microchip - PIC32MM0256GPM048 jest gotowa do testów. Nie ukrywam , że projekt ten sprawił mi dużo satysfakcji. Artykuł będzie mini-tutorialem od zainstalowania środowiska po zaprogramowanie zegara i ustawienie zmiennych niezbędnych do prawidłowego startu naszego MCU. Wszystkie opisywane czynności robię krok po kroku w realu, więc nie wkradnie się żaden błąd możliwy do popełnienia gdybym opisywał to z głowy.