Blog jest formą pamiętnika technicznego, upamiętniający moją przygodę z mikrokontrolerami PIC firmy Microchip. "Per aspera ad astra..."
poniedziałek, 30 grudnia 2019
ATSAML10E16A - Mini Board , spontaniczny projekt płytki developerskiej.
wtorek, 24 grudnia 2019
czwartek, 19 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą MQTT ,zajęcia praktyczne cz.5

Od strony chmury komunikacja taka obsługiwana była w warstwie aplikacji przez protokół Telnet. Metoda ta znalazła uznanie wśród czytelników bloga, nie bez przyczyny, jest tak prosta , że już prościej się nie da. Ale to nie koniec niespodzianek dotyczących metod komunikacji z chmurą. Na deser zostawiłem najbardziej spektakularną metodę opartą o protokół MQTT. Jest to metoda obsługiwana praktycznie przez wszystkie chmury, jeśli przez jakąś nie jest obsługiwana to znaczy, że ta chmura nie warta jest uwagi z punktu widzenia ekosystemu IoT. Zapraszam do podróży po MQTT w aspekcie praktycznym.
poniedziałek, 16 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą TCP ,zajęcia praktyczne cz.4
Kontynuujemy przygodę z modułem ethernetowym W5500 i PIC32MM oraz chmurą Ubidots. W części nr 3 artykułu pokazałem metodę komunikacji z chmurą opartą o protokół HTTP i metodę POST. Wysyłaliśmy z powodzeniem daną do chmury. Wspomniałem, że pokażę jak się tą metodą odbiera dane. Kiedy podczas testów odbierania danej z chmury zobaczyłem ile nadmiarowych informacji musimy odebrać aby dobrać się do naszej danej , doszedłem do wniosku , że nie będzie to preferowana metoda komunikacji z chmurą dla zestawu MCU + W5500. Dlatego nie będę tego wątku kontynuował. Chmura Ubidots ma tę ogromną zaletę, że dostarcza różnych metod przesyłania danych do wyboru, jedną z nich jest bardzo prosta metoda oparta na samym protokole TCP lub UDP i zapytaniach znakowych . Od strony chmury w warstwie aplikacji, tego typu prosta komunikacja obsługiwana jest przez protokół Telnet , stworzony dla terminali znakowych. Telnet jest najstarszą i najbardziej elementarną usługą internetową , która dzisiaj została wyparta przez protokół SSH. Ekosystem internetu i usług sieciowych opiera się na ogromnej liczbie protokołów. W artykule pokażę jak posłużyć się bardzo prostą metodą komunikacji z chmurą. Nie będzie żadnych nadmiarowych komunikatów tak jak w przypadku protokołu HTTP.
środa, 4 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą HTTP i API REST ,zajęcia praktyczne cz.3
Czas na jedno z ciekawszych przedsięwzięć związanych z wykorzystaniem modułu ethernetowego W5500 firmy Wiznet. Tematyka chmur zaprząta moje myśli od jakiegoś czasu. Z zazdrością patrzyłem na moduły IoT np. takie jak PIC IoT firmy Microchip, które potrafiły wymienić dane z chmurą w obie strony. Mankamentem jak dla mnie w przypadku tego typu modułów jest ograniczenie współpracy do jednej firmy "Chmurowej" tutaj akurat Google. Jest to podyktowane wykorzystaniem urządzenia kryptograficznego ATECC608A zwiększającego poziom bezpieczeństwa przesyłu danych. Gdzie zatem wolność wyboru ? jedna chmura i koniec ?. Jeśli nie prezentujemy danych wrażliwych i sprawy bezpieczeństwa nie są kluczowe w naszym projekcie sieciowym to nie ograniczajmy się w wolności wyboru :). Duet PIC32MM + W5500 skomunikuje się z każdą chmurą, zatem niech żyje wolność :). W artykule pokażę na przykładzie wybranej chmury jedną z metod wysyłania i pobierania danych z chmury. Radość z pierwszego uaktualnienia danej w chmurze była ogromna :). Takiej satysfakcji nie zastąpi żaden gotowy moduł przysposobiony przez producenta do komunikacji z chmurą :)
poniedziałek, 2 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - serwer TCP/IP, zajęcia praktyczne cz.2

środa, 27 listopada 2019
Microchip rozbudowuje swoje portfolio w zakresie pamięci EERAM.
Zarąbisty produkt Microchipa - pamięć EERAM, który skradł moje serce od pierwszej sekundy użycia tego rodzaju pamięci. Z radością donoszę, że oferta tych pamięci została powiększona o nowe modele z interfejsem SPI i rozmiarze aż 1 Mbit . Każdy z nas zna wady klasycznej pamięci EEPROM, wolne toto , trzeba się pieprzyć ze stronicowaniem takich pamięci i w ogóle blee.. I tu wkracza Super Hero - Microchip ze swoją pamięcią EERAM w której brak stronicowania, szybkość zapisu na poziomie pamięci SRAM, po zaniku zasilania dane przepisane do pamięci statycznej a po powrocie zasilania przepisane z powrotem do pamięci SRAM. Jeśli ktoś nie czuje mocy tego wynalazku to ja cie przepraszam :)
niedziela, 24 listopada 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - serwer UDP, zajęcia praktyczne cz.1
Moduł W5500 sprawił mi dużo satysfakcji podczas jego poznawania. Zagadnienia z jakimi przyszło mi się zmierzyć po drodze były mi obce, dlatego podwójna satysfakcja, że udało się zgłębić "tajemną" sieciową wiedzę. Dziękuję ci zatem module W5500 za poszerzenie moich horyzontów wiedzy :).Przetarłem szlak ,zatem zapraszam do wspaniałej przygody z modułem Ethernetowym W5500 firmy Wiznet. W artykule pokażę jak prosto ogarnąć moduł W5500 za pomocą PIC32MM . W zajęciach praktycznych nawiążemy komunikację za pomocą protokołu UDP pomiędzy naszym modułem W5500 a lokalnym PC . Po drodze skorzystamy z narzędzi sieciowych takich jak WIRESHARK aby podsłuchać sieć. Ponadto pokażę w jak prosty sposób możemy wysyłać pakiety UDP z poziomu systemu LINUX. Artykuł będzie wstępem przed kontynuacją tematu , którego zwieńczeniem będzie pełna realizacja komunikacji z wybraną Chmurą. Mam nadzieję , że mi się uda to zrealizować. Taki wytyczam sobie cel mojego spotkania z modułem W5500 . Howgh.
sobota, 16 listopada 2019
PIC32MM i printf() - prosty wyrzut strumienia danych po UART.

środa, 13 listopada 2019
WIZnet W5500, moduł ethernetowy ze sprzętowym stosem TCP/IP.
poniedziałek, 11 listopada 2019
PIC18FxxQ84 - 8 bitowiec firmy Microchip z CAN FD na pokładzie.

wtorek, 29 października 2019
ZERYNTH - sterowanie stanem pinu za pomocą chmury WolkAbout.

piątek, 18 października 2019
ZERYNTH + WolkAbout = prosty przepis na rozmowę z Chmurą.
Jestem pod dużym wrażeniem prostoty z jaką udało mi się "zagadać" z webową Chmurą. Dotychczas był to dla mnie temat trochę z pogranicza czarnej magii. Ale dzięki ZERYNTH-owi i wspieranej przez ten projekt czeskiej chmurze WolkAbout ,udało mi się zaprzyjaźnić z tym tematem całkowicie bezboleśnie. Jest wiele obecnie na rynku rozwiązań w postaci płytek różnych producentów , które mają zaimplementowany wsad do realizacji połączenia z chmurą. Wadą tych rozwiązań jest w/g mnie ograniczenie do jednej wybranej chmury. W przypadku projektu ZERYNTH mamy do wyboru wiele chmur . Mnie w oko wpadła czeska chmurka WolkAbout i z tą chmurką udało mi się w prosty sposób porozmawiać. A co mnie kręci w projekcie ZERYNTH ? przede wszystkim możliwość prostej implementacji Gateway'a przy pomocy języka Python. Dopóki nie poznałem projektu ZERYNTH ,przymierzałem się do RasberyPI w roli bramy ale teraz widzę, że nie ma takiej potrzeby. Za ułamek kwoty RasberyPI mogę osiągnąć tą samą funkcjonalność w prostszy sposób na płytce z MCU 32 bit wspieranej przez ZERYNTH. A baza płytek ciągle się powiększa. W 2020 r zobaczymy wsparcie m.in dla PIC32.
wtorek, 8 października 2019
PIC32MM - biblioteka do obsługi kart SD od Microchipa. Wyświetlanie bitmapy na LCD.
Wszystkim dobrze znana biblioteka FatFs została bardzo ładnie i zgrabnie zaimplementowana dla serii PIC32MM . Kawał dobrej roboty zrobił Microchip ,dzięki czemu nie trzeba się trudzić aby bibliotekę FatFs przysposobić do współpracy z naszym miłym MCU. Co więcej biblioteka jest fajnie konfigurowalna i automatycznie dołączana z poziomu MCC w MPLAB-X IDE. Użytkownik praktycznie zwolniony jest z wszelkiej ingerencji w soft i może skupić się wyłącznie na używaniu biblioteki. W artykule pokażę jak dodać bibliotekę do projektu i jak tego użyć . Naszym celem będzie wyświetlenie obrazka z nagłówka artykułu na LCD i pobranie jego danych z karty SD . Mały Fiat na "małym" wyświetlaczu LCD powinień współgrać idelanie :)
piątek, 4 października 2019
ZERYNTH - Hello World
ZERYNTH to platforma implementująca język PYTHON we wspieranych przez projekt MCU. Umożliwia m.in proste podłączenie MCU do chmury i proste oprogramowanie tego w języku PYTHON. Na projekt ten wpadłem kompletnie przypadkiem ale zainteresował mnie i postanowiłem chwilę się jemu przypatrzeć. W szczególności , że projekt wspiera MCU firmy Microchip obecnie na razie tylko ATSAM-y ale jak mi powiedział twórca projektu na początku 2020 r wspierana będzie seria PIC32. Projekt jest cały czas rozwijany i dodawane są nowe MCU. Moim zdaniem rzecz jest ciekawa i warta zapoznania się z nią. A zaskakujące w tym wszystkim jest to, że to naprawdę działa :) . Spróbujmy na początek zasterować wybranym pinem MCU przy pomocy języka PYTHON.
niedziela, 29 września 2019
ILI9341 - kolorowy wyświetlacz w rozmiarze 2.8"
niedziela, 22 września 2019
Jak napisać w języku C wygodny dostęp do warstwy sprzętowej . Praktyczny przykład na bazie modułu radiowego SI4463.

środa, 18 września 2019
SI4463 - transciver RF firmy Silicon Labs - STANDBY mode (50nA)
Mój ulubiony moduł radiowy SI4463 jest mistrzem w trybach Power Saving. Dlatego jest doskonałym wyborem dla aplikacji bateryjnych. W najniższym dostępnym trybie Shutdown uzyskamy pobór prądu na poziomie 30 nA !!!. Czyli można by rzec, że ilość śladowa. W artykule podejmę się krótkiej retrospektywy trybów Power Saving dostępnych w module. Ze szczególnym uwzględnieniem trybu STANDBY, który wydaje się być idealnym trybem z punktu widzenia poboru prądu i czasu pobudki.
wtorek, 10 września 2019
SAM L10/L11 External Interrupt Controller (EIC)

sobota, 7 września 2019
ATSAML10/11 - nowa wersja (ver 3.3) płytki developerskiej
Nowa wersja płytki dla ATSAML10 jest już dostępna. Przyczynkiem aktualizacji była praca nad biblioteką dla modułu radiowego SI4463. W boju wyszło mi, że przydałoby się więcej dostępnych GPIO dla gniazda pod moduł RF. Przy okazji wykryłem błąd związany z przełącznikami SW1 i SW2. Do płytki dodałem dwie diody LED , domyślnie do wykorzystania jako sygnalizacja dla modułu radiowego , tryb TX i RX. Nowa płytka jest dostępna na GitHub . Płytka sprawdza się w boju jest ładna , seksowna i funkcjonalna. Szczególne pięknie prezentuje się z obsadzonym wyświetlaczem i modułem radiowym RF a wszystko to spasowane kolorystycznie , można oprawić w ramki wieszać na ścianie , podziwiać i cieszyć się widokiem :)
czwartek, 15 sierpnia 2019
ZERYNTH - ciekawa koncepcja zastosowania języka Python w obszarze IoT.
Natknąłem się niedawno na ciekawy koncept przeniesienia percepcji programowania MCU 32 bitowych na pułap języka wysokopoziomowego jakim jest Python. Temat mnie zainteresował bo widzę przyszłość dla takiego podejścia. O ile na rynku są już jakieś lepsze lub gorsze próby implementacji Pythona np. w świecie embedded to ZERYNTH na tym tle wyróżnia się pozytywnie pod każdym względem. Przy czym nie tracimy tutaj możliwości korzystania z języka C . ZERYNTH umożliwia zgrabne łączenie Pythona z C. Wprowadzenie abstrakcji języka wysokopoziomowego jakim jest Python w świat MCU daje wbrew pozorom sporo korzyści. Jedną z nich jest przejrzysty i łatwy w utrzymaniu kod. Świat Pythona sprawia , że sporo rzeczy można zaimplementować małymi zasobami czasu i w sposób bardzo prosty a jednocześnie mamy do dyspozycji przyjazny język wspierający różne paradygmaty programowania, w tym obiektowość. Ponieważ Python rokuje być językiem wiodącym w przyszłym świecie autonomicznych urządzeń a w szczególności pojazdów autonomicznych , dlatego w/g mnie warto śledzić nowe technologie związane z tym językiem.
sobota, 27 lipca 2019
SI4463 - transciver RF firmy Silicon Labs do zastosowań bateryjnych, konwersja biblioteki dla ATSAML10 firmy Microchip.
W tym wpisie zajmę się konwersją biblioteki transcivera radiowego SI4463 napisaną dla ekosystemu PIC32 do ekosystemu ATSAML. W szczególe bibliotekę napisaną dla PIC32MM przekonwertujemy do ATSAML10E16. Stosowny artykuł w przypadku PIC32MM poczyniłem tutaj . Trasciver SI4463 zaskoczył mnie bardzo pozytywnie przy testach wewnątrz-budynkowych. W rozległym piętrowym obiekcie z żelbetonowymi przeszkodami nie było najmniejszych problemu z nawiązaniem łączności i przesyłem danych. Ani jedna ramka nie została utracona na 100 przesłanych pomimo ,że moduły były przedzielone nawet i kilkoma kondygnacjami o grubych stropach. Postanowiłem zatem kontynuować bliski kontakt z tymi modułami ale tym razem z perspektywy mikrokontrolera opartego o rdzeń M23 firmy Microchip.
niedziela, 21 lipca 2019
ATSAML10 - biblioteka dla kolorowego wyświetlacz ILI9341 2.2" 320x240.
niedziela, 30 czerwca 2019
Jestem na urlopie.
Korzystam z uroków Polskiej natury i wybrałem się pod namiot na Mazury. Ponieważ nabawiłem się ostatnio przepukliny pachwinowej i czekam obecnie na operację, dlatego ograniczam ruch do pływania i nordic walking. Rower niestety musiałem odpuścić. No cóż należy się cieszyć , że wogóle można cokolwiek robić :) Po latach wakacji w ciepłych krajach , stwierdzam, że najlepiej wypoczywam na naszej Polskiej ziemi. Klimat nam się ociepla i jak gdzieś czytałem migruje do nas śródziemnomorski. Więc niedługo Polska przez turystów będzie postrzegana jako ciepły kraj :)
wtorek, 4 czerwca 2019
ATSAML10 - spotkanie z SPI.
Generalnie wszystko co napisałem kiedyś o ATSAML21 dotyczy również ATSAML10 i ATSAML11. Ta sama seria L oznacza, że wspólne peryferia są opisane tymi samymi rejestrami. Więc przenośność kodu jest bardzo wysoka. Nie będę zatem ponownie powtarzał wiedzy przedstawionej w artykule ATSAML21 - uruchamiamy SPI czyli SERCOM nie tylko dla orłów. Bo większość tego co zostało napisane w tamtym artykule możemy zastosować do ATSAML10 i 11. Po krótce przyjrzymy się jak wygląda droga do uruchomienia SPI w naszym ATSAML10E16. Na pewno nie będzie nudno bo ATSAM-y są nietrywialnymi mikrokontrolerami i z nimi nie można się nudzić :)
środa, 29 maja 2019
ATSAML10 - pierwsze mruganie LED
Moja płytka do ATSAML10 i 11 jest gotowa, czas zatem zacząć zabawę . Na pokładzie dla przypomnienia mamy ATSAML10E16 firmy Microchip w obudowie 32 pin. Programy pisać będę w środowisku SEGGER-a . Do wgrania wsadu i debugowania używam programatora J-LINK Edu Mini. Zabawę zaczynam od wgrania aktualnego firmware do programatora. W tym celu ściągam J-Link Software w wersji dla Windowsa. Po zainstalowaniu softu znajduję program J-Link Configurator i z jego poziomu robię update firmware programatora. Cały proces jest bardzo prosty, więc nie ma potrzeby tutaj się więcej nad tym rozwodzić. Aktualizacja programatora jest potrzebna bo rdzenie M23 i M33 to nowość na rynku. Swoją drogą praca z programatorem J-Link firmy SEGGER to czysta przyjemność.
niedziela, 26 maja 2019
ATSAML10 - seksowna płytka gotowa do działania.
Czerwień płytki jest po prostu powalająca a zdjęcie nie oddaje tego w pełni. Zawsze będę powtarzał. że własna praca organiczna daje więcej satysfakcji niż kupienie gotowego produktu.
piątek, 10 maja 2019
ATSAML10 i ATSAML11 Power Saving Killer in 32-bit ecosystem.
Firma Microchip swoją ofertę rozszerzyła o MCU z rdzeniem Cortex M23 oparty o nowszą w stosunku do Cortex M0/M0+ architekturę ARMv8M. Są to ATSAML10 i ATSAML11. Pisałem już o tym w tym artykule. Pojawienie się na rynku takich konstrukcji w zasadzie za jednym zamachem do lamusa przenosi nam całą rodzinę Cortex M0/M0+. Jeśli ktoś jeszcze tego nie dostrzegł to informuję uprzejmie, że tak jest :). Lepsza wydajność, lepsza energooszczędność, lepsze bezpieczeństwo, praktycznie wszystko lepsze :). Jak zatem przejść obojętnie obok Cortex M23, no po prostu się nie da. Moją szczególną uwagę przykuły aspekty związane z Power Saving . Nie chodzi tylko o tryby uśpienia ale również o tryb Run Mode . W nowym produkcie Microchipa możemy uzyskać w tym trybie nawet i 25uA/MHz. W sumie myślałem , że to jakaś lipa z takimi poziomami ale jak zobaczyłem na własne oczy możliwości w zakresie Power Saving dostępne w ATSAML10 i 11 uwierzyłem tak jak niewierny Tomasz :)
czwartek, 9 maja 2019
PIC32MM - Tutorial part 6 - Prosty przepis na przerwania
środa, 24 kwietnia 2019
PIC18F Q10 - nowa seria 8-bitowców od Microchipa.
Świat oszalał na punkcie 32-bitów ale przed nami nowe szaleństwo 64-bitowe. Microchip prowadzi jednak konsekwentną politykę w zakresie rozwoju 8-bitowych konstrukcji. I co ciekawe nie opiera ich na core byłego ATMELA ale na mniej wydajnym rdzeniu własnej konstrukcji. Ma to swoje uzasadnienie w tym, że core ATMELA są wydajniejsze ale core Microchipa ma fundamentalną zaletę - bardzo wysoką odporność na zakłócenia. Dlatego przemysł chłonie wyroby Microchipa jak gąbka bo tam jest głównie zapotrzebowanie na takie wyroby. Nowa seria PIC18F Q10 jest obudowana bardzo bogatymi peryferiami i desygnowana m.in do aplikacji przemysłowych czasu rzeczywistego. Znajdziemy tutaj aż 8 komórek CLC , które mogą sterować procesami poza percepcją core mikrokontrolera. Duży nacisk położono na rozbudowę sekcji analogowej. Mikrokontrolery tej serii występują w obudowach 28, 40 i 44 pin.
piątek, 19 kwietnia 2019
RISC-V od Microchipa - zapowiedź rewolucji technologicznej.

poniedziałek, 15 kwietnia 2019
SI4463 - transciver RF firmy Silicon Labs do zastosowań bateryjnych. Pierwsze uruchomienie na PIC32MM firmy Microchip.
Po udanej randce z modułem radiowym SI4432 firmy Silicon Labs postanowiłem odpytać ulepszoną wersję tego modułu o oznaczeniu SI4463. Numeracyjnie poszło daleko do przodu :). Na module tym oparto udaną i dobrze opiniowaną przez użytkowników konstrukcję HC12 czyli radiowy port UART dalekiego zasięgu.
W module SI4463 znacznie poprawiono część radiową , zwiększono czułość do 126 dBm, zwiększono czterokrotnie szybkość transmisji do 1 Mbps. Rozszerzono tryby modulacji : 2GFSK i 4GFSK. Ponadto mamy szybsze czasy Wake-Up i bardziej rozbudowane możliwości w zakresie budzenia. Czujnik temperatury i monitorowanie napięcia zasilania w standardzie. Moduł przy maksymalnej mocy +20dB poniesie bez problemu dane na odległość ponad 2 km. Mam tutaj potwierdzenie tego faktu z dwóch niezależnych źródeł. Jedno z nich znajduję się w linkach poniżej artykułu. Prądy w uśpieniu rzędu 30-50nA . Dla porównania popularny u nas moduł nRF24L01+ w trybie uśpienia pobiera 900 nA. Moduły SI4463 zakupiłem bez problemu na dalekowschodniej giełdzie na literkę A..... . Na modułach tych chciałbym oprzeć jakąś sprytną konstrukcję energooszczędną. Obecnie dodaję je do moich nowych płytek developerskich.
piątek, 12 kwietnia 2019
ATSAML10/11 - czerwone korale...na na na dam dam dam
Prosto z "płytkarni" śliczniusia płyteczka developerska dla ATSAML10 i ATSAML11 w wersji 32-pin .Zabrakło niestety na niej mojego nowego loga klubowego :) oraz jednego elementu w postaci dławika 10uH, który przyda się do zmiany trybu zasilania na BUCK. Nie mniej płytka jest w pełni funkcjonalna i czeka na zamówiony ATSAML10E16, wszystkie pozostałe komponenty mam już skompletowane. Po raz pierwszy zamówiłem płytkę w kolorze czerwonym i przyznam , że był to bardzo dobry wybór. Płytka jest śliczna i nie można od niej oderwać oczu. Na GitHub zamieściłem plik Gerbera płytki ver 3.0 z logo klubowym i dławikiem 10uH w obudowie 1210.
sobota, 6 kwietnia 2019
PIC32MM - Tutorial part 5 - UART
Operacje na pinach mam nadzieję są przyswojone z poprzednich tutoriali. Czas zatem na najbardziej pożądane przez hobbystów peryferium mikrokontrolera czyli UART. W PIC32MM mamy do dyspozycji trzy UART-y , które mogą pracować jako RS232, RS485, LIN, IrDA. No trochę tego dobrodziejstwa jest.
W tutorialu pokażę jak w najprostszy sposób skonfigurować UART i w bardzo prosty sposób wykorzystać . Do zabawy przydadzą się dodatkowe narzędzia takie jak analizator stanów logicznych . Tak na marginesie PIC32MM ma na pokładzie USB ale na razie tego tematu nie poruszam.
wtorek, 2 kwietnia 2019
Historia pewnej szczodrości ..... Microchipa
Z racji swej natury szczodrość często była przymiotem królów a także
pozostawała na stałe w ich tytule, np. Bolesław II Szczodry.
A ja spotkałem się ostatnio z nieoczekiwaną i niespodziewaną szczodrością i życzliwością ze strony przedstawiciela firmy Microchip, który jest opiekunem tej marki w naszym kraju Panem M.D. Pan ten jest inżynierem Microchipa i często można go spotkać na prelekcjach technicznych związanych z tą firmą. Miałem przyjemność uczestniczyć na takiej jednej prelekcji i byłem pod ogromnym wrażeniem wiedzy technicznej tego Pana ,gość po prostu nie do zagięcia. Podczas prelekcji zaopatrzyłem się w jego wizytówkę :) i tą drogą miałem kontakt . Ostatnio drogą majlową zwróciłem się z jakimś pytaniem technicznym. Przy okazji padła propozycja z jego strony abym dostał jakąś płytkę do zabawy. Na początku się wzbraniałem bo na co mi płytka jak mi rąk brakuje obrobić własne płytki :) ......
A ja spotkałem się ostatnio z nieoczekiwaną i niespodziewaną szczodrością i życzliwością ze strony przedstawiciela firmy Microchip, który jest opiekunem tej marki w naszym kraju Panem M.D. Pan ten jest inżynierem Microchipa i często można go spotkać na prelekcjach technicznych związanych z tą firmą. Miałem przyjemność uczestniczyć na takiej jednej prelekcji i byłem pod ogromnym wrażeniem wiedzy technicznej tego Pana ,gość po prostu nie do zagięcia. Podczas prelekcji zaopatrzyłem się w jego wizytówkę :) i tą drogą miałem kontakt . Ostatnio drogą majlową zwróciłem się z jakimś pytaniem technicznym. Przy okazji padła propozycja z jego strony abym dostał jakąś płytkę do zabawy. Na początku się wzbraniałem bo na co mi płytka jak mi rąk brakuje obrobić własne płytki :) ......
PIC32MM - Tutorial part 4 - Input/Output utrwalamy podstawy.
W tutorialu tym utrwalimy wiedzę jak skonfigurować pin jako wejście lub wyjścia oraz jak nimi posługować się w programie. Do ćwiczeń praktycznych wykorzystam trzy przyciski znajdujące się na płytce PIC32MM Curiosity oraz diodę RGB. Do konfiguracji peryferiów wykorzystam MCC. Naszym celem będzie zapalenie składowej diody RGB w momencie trzymania wcisniętego przycisku. Każdy z trzech przycisków będzie przyporządkowany do jednej składowej diody RGB. Będzie Prosto, Intuicyjnie, Ciekawie :) . PIC32 to najprostsze do szybkiej nauki mikrokontrolery 32-bitowe. Kiedyś spotkałem się z taką opinią malkontenta ekosystemu PIC na anty-forum e...., że to mikrokontrolery dla "emerytów" bo są zbyt proste w posługiwaniu się :) .Malkontent nie przemyślał do końca swojej wypowiedzi bo wyszło inaczej niż była jego intencja :)
poniedziałek, 1 kwietnia 2019
ATSAML10/11 - budujemy płytkę developerską.

sobota, 30 marca 2019
ATSAML10/11 - pierwszy na rynku Cortex M23 zużywający mniej niż 25 uA/MHz w normalnym trybie pracy.
Microchip rozwinął bardzo udaną serię mikrokontrolera firmy ATMEL - ATSAML o unikalną jak na razie na rynku konstrukcję opartą na architekturze ARM v8-M i rdzeniu Cortex M23. Mowa o dwóch modelach ATSAML10 i ATSAML11. W stosunku do architektury ARM v6-M na której oparte były popularne rdzenie Cortex M0/M0+ uzyskano poprawę wydajności i skalowalności. Główne cechy nowej architektury to wprowadzenie TrustZone chroniącej dane przed "wyciekiem" lub uszkodzeniem , sprzętowe dzielenie, rozszerzone opcje Debuggowania, rozszerzenie modułu MPU (Memory Protection Unit. Nowa architektura opiera się na trzech filarach : Szybciej, Bezpieczniej, Energooszczędniej.
niedziela, 24 marca 2019
ATSAMD21 osadzony na płytce.
To nie artykuł ale zajawka. Udało się znaleźć chwilę czasu aby przylutować ATSAMD21 w obudowie 32-pin na moją nową płytkę developerską. Obudowa 32-pin jest bardzo łatwa do przylutowania , odstęp pomiędzy padami jest znacznie większy niż dla wersji 48-pin. Na płytce znajdzie się m.in superaśny transciver Silicon Labs SI4463 z dedykowaną antenką.
Pamięć EERAM 47L16, genialny wynalazek Microchipa oraz czujnik temperatury TC77 a tego zwierza jeszcze nie poznałem. Płytka wyszła bardzo zgrabnie i już się cieszę jak dziecko z własnej pracy organicznej :). Mam zamiar przed zalutowaniem płytki porobić szybkie testy Power Saving dla ATSAMD21 zobaczymy jak to wyjdzie. Idą święta i czas jest ograniczony a ja mam wyrzuty sumienia, że Żonie w porządkach w ogródku nie pomagam.
niedziela, 17 marca 2019
PIC32MM - Power Saving . Analiza trybu Idle i Sleep .

środa, 13 marca 2019
PIC32MM - Tutorial part 3 - Hello World
W tej części tutoriala zajmiemy się wreszcie czymś konkretnym i namacalnym. Spróbujemy ożywić dwie diody LED na naszej płytce developerskiej Curiosity, które będą migać niezależnie ,każda z inną częstotliwością. I tak zdefiniujemy sobie nasze Hello World. Przy okazji poznamy obsługę timera sprzętowego i konstrukcję timera programowego. Najpierw musimy zlustrować schemat płytki Curiosity aby poszukać na niej dwóch diod LED i uzyskać informację do jakich pinów mikrokontrolera są przyporządkowane.
niedziela, 10 marca 2019
PIC32MM - Tutorial part 2 - Jak ustawić zegar.
Cechą charakterystyczną PIC jest wysoka precyzja generatora wewnętrznego RC. Co implikuje fakt, że w większości przypadków kwarc zewnętrzny jest tutaj zbędny. Dlatego nie znajdziemy go na naszej płytce Curiosity. W tutorialu pokażę jak w najprostszy dostępny sposób możemy skonfigurować zegar wewnętrzny RC a zajmie nam to dosłownie moment. Ja najczęściej wykorzystuję maksymalny dostępny pułap częstotliwości oferowany przez generator RC czyli 24 MHz. Zatem na koń szable w dłoń.
czwartek, 7 marca 2019
PIC32MM - Tutorial part 1 - START
Ponieważ widzę coraz większe zainteresowanie serią mikrokontrolerów 32-bitowych PIC32MM firmy Microchip a tutoriali jako takich brakuje. Postanowiłem wyjść na przeciw oczekiwaniom osób chcących poznać te bardzo sprytne mikrokontrolery i uporządkować jakoś wiedzę o nich. Stąd pomysł na tutoriale. Na początek kilka słów o serii. W portfolio Microchipa PIC32 mamy kilka serii MM, MX, MK, MZ. Seria MM jest najmłodszą serią charakteryzuje się stosunkowo małą ilością błędów w siliconie stąd wniosek, że proces technologiczny został tutaj dopracowany. Seria MM posiada dwa podtypy GPL i GPM. Podtyp GPL posiada mniejsze obudowy ale jest wykastrowany z I2C. Podtyp GPM , którym my będziemy się zajmować występuje w obudowach 28, 48 i 64 pin i ma na pokładzie I2C.
sobota, 2 marca 2019
Embedded World 2019
Wydarzenie roku , więc czemu o nim nie wspomnieć . Zerknijmy na stoisko Microchipa, opowiada sympatyczny Lucio Di Jasio spec od 8-bitów. W linku krótki filmik z wydarzenia. Warto zerknąć choćby po to aby zobaczyć jakie mają fajne koszulki z logo Microchipa :) . LINK
piątek, 1 marca 2019
Najmniejszy na rynku moduł komunikacyjny SiP zgodny ze standardem IEEE 802.15.4 oparty o SAMR30
Informacja o tyle ciekawa, że pokazuje jakie są obecnie trendy w modułach komunikacyjnych. Moduł Microchipa oparty jest o SAMR30 i ma wymiary 12,7 x 11 mm. Fizycznie jest to moduł w którym połączono mikrokontroler ATSAML21 z modułem radiowym sub-GHz (769- 935 MHz). W sumie nic odkrywczego bo takie rozwiązania są już dawno dostępne a specjalizuje się w nich np. firma Silicon Labs. no ale Microchip poszedł tutaj po bandzie i zrobił najmniejszy obecnie na rynku tego typu moduł. Dlatego warto o nim wspomnieć.
środa, 20 lutego 2019
ATSAMD21 - budujemy płytkę developerską dla wersji 32 pin.
Postanowiłem rozszerzyć portfolio stosowanych obudów MCU w moich płytkach developerskich i zejść z piedestału 48-pinów w kierunku obudów bardziej przyjaznych dla lutowania. Ponieważ na warsztacie mam obecnie ATSAM-y. Dlatego rozbuduję swój ekosystem płytek dla tej właśnie rodziny MCU. Na widelec biorę obudowę 32-piny i dla niej tworzę płytkę developerską. Tym razem aby nie było tak nudno urozmaicę płytkę dwoma ciekawymi komponentami, pamięcią EERAM 47L16 firmy Microchip i modułem radiowym RF opartym o SI4463 firmy Silicon Labs.
piątek, 15 lutego 2019
ATSAMD21 - popularny przedstawiciel serii ATSAM.
Wzrost zainteresowania w świecie serią ATSAMD21 wynika m.in z faktu, że są to mikrokontrolery wybrane przez organizację ARDUINO do nowych konstrukcji. Szczególnie bogata jest w nie rodzina ARDUINO MKR .Mikrokontrolery te znajdziemy również w wielu konstrukcjach ADAFRUIT Mając m.in powyższe na uwadze warto przyjrzeć się tym mikrokontrolerom bliżej. Moje oko przykuł ostatnio model ATSAMD21E18 Literka E w nazwie informuje nas, że mamy do czynienia z obudową 32 piny. Z przylutowaniem tej wersji obudowy nie będzie miał nikt problemu ponieważ rozstaw nóżek jest wyraźnie większy niż w obudowie 48-pin. Cyferka 18 symbolizuje, zasoby pamięci na poziomie. 256k Flash i 32k RAM, świat i ludzie na co komu więcej.
niedziela, 10 lutego 2019
ATSAML21 - biblioteka dla kolorowego wyświetlacz ILI9341 2.2" 320x240.
wtorek, 29 stycznia 2019
PIC32MM - biblioteka dla kolorowego wyświetlacza ILI9341 2.2" 320x240.
Jakiś czas temu popełniliśmy bardzo fajną bibliotekę dla PIC32MM obsługującą wyświetlacz ILI9163 1.8" . Teraz czas na stworzenie biblioteki dla większego brata czyli ILI9341 2.2". Większe w tym przypadku mamy wszystko, czyli rozmiar i rodzielczość. Na pewno obrazki będą się prezentowały znacznie lepiej. Moim zdaniem rozmiar 2.2" jest taki w sam raz ani za mały ani za duży i miły dla oka. Wyświetlacz ten zaaplikowałem do mojej płytki developerskiej dla ATSAML21. Ale najpierw zrobimy bibliotekę dla PIC32MM bo będzie nam najprościej to zrobić a potem przeportujemy ją do ATSAML21. PIC32MM jest naprawdę świetnym MCU low end z bardzo ciekawymi peryferiami i co ważne prostym w opanowaniu. W każdym przypadku łatwiej jest mi tutaj zrobić działającą aplikację i przeportować ją do ARM-a niż robić bezpośrednio dla ARM.
piątek, 25 stycznia 2019
ATSAML21 - rozpoznajemy moduł TC , a podobno szczęśliwi czasu nie liczą.
Kontynuujemy dobrą passę w poznaniu mikrokontrolerów ATSAM. W artykule zajmiemy się rozpoznaniem modułu peryferyjnego TC (Timer/Counter), jaki został zaimplementowany w ATSAML21/D21. Jest to jeden z dwóch (nie liczę SysTick-a i RTC) dostępnych modułów czasowych w naszym procku. Drugim jest bardziej rozbudowany TCC (Timer/Counter for Control Applications) ale tym się na razie zajmować nie bedziemy co by nas głowa nie rozbolała. Do ćwiczeń będziemy potrzebować płytki developerskiej, programatora (ja używam J-LINK EDU mini) oraz środowiska SEGGER. Nie używamy ASF (jest to ważna infomacja dlatego powtarzam ją ciągle).
Subskrybuj:
Posty (Atom)