poniedziałek, 30 grudnia 2019

ATSAML10E16A - Mini Board , spontaniczny projekt płytki developerskiej.

Tak bardziej pod wpływem spontanicznego impulsu niż potrzeby , wykonałem projekt mini płytki developerskiej dla ATSAML10 firmy Microchip. MCU oparty jest na "bezpiecznym" rdzeniu Cortex M23. ATSAM-y serii L przyciągają mnie jak magnes. Jest w nich coś z kobiety - tajemniczej, inteligentnej, z pozoru trudno dostępnej. Po prostu seria ta ma swój niesamowity powab , który potrafi zauroczyć. Ale uwaga to nie jest prosta zabawa :). Normalnie mi odbiło :) . Programowanie tych MCU sprawiło mi niesamowitą satysfakcję i było dużym wyzwaniem dla moich szarych komórek. Kiedyś myślałem , że ATSAM-y są zbyt skomplikowane w ogarnięciu i taka obiegowa opinia w zasadzie krążyła po wsiach, trzymając mnie na dystans. Nie mniej spróbowałem i powiem tak, łatwo nie było ale jak się złapie wiatr w żagiel z ATSAM-em to poczujemy naprawdę głęboką i ogromną satysfakcję . Jeśli szukamy nie banalnych wyzwań to ATSAM-y spełnią nasze oczekiwania w tym zakresie :). Oczywiście swoje  doznania opieram na programowaniu bez użycia bibliotek typu HAL Ale tak to już rzadko kto programuje w świecie ARM-a:).

wtorek, 24 grudnia 2019

Zdrowych i spokojnych Świąt Bożego Narodzenia oraz Szczęśliwego Nowego Roku.

Boże Narodzenie jest symbolem narodzin dobra i miłość . W tym dniu trzeba być szczególnie otwartym na drugiego człowieka, tak jak żłób bożonarodzeniowy, który przyjął Dzieciątko.

Życzę otwartości w te Święta i możliwości Narodzenia Bożego w każdym z nas. 




czwartek, 19 grudnia 2019

PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą MQTT ,zajęcia praktyczne cz.5

W części nr 4 wątku o komunikacji z chmurą pokazywałem prostą metodę rozmowy z chmurą opartą na samym protokole TCP i strumieniu znakowym.
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

W części pierwszej zajęć praktycznych pokazałem działanie mini-serwera UDP. W tym wpisie zajmiemy  się kolejną dostępną opcją w module W5500 firmy Wiznet .Rozbudujemy nasz program z części 1 o funkcjonalność mini-serwera TCP. Nasz mini-serwer będzie na każde wysłane do niego zapytanie klienta z sieci lokalnej reagował wysłaniem kodu HTML. Do czego to może się przydać ? Mnie do głowy przychodzi pomysł np. realizacja ustawienia/konfiguracji jakiegoś urządzenia za pomocą przeglądarki www. Nie musimy wtedy angażować do tego celu wyświetlacza i interakcji z użytkownikiem do niego. W artykule pokażę jak zrealizować funkcję mini-serwera TCP przy pomocy modułu W5500 firmy Wiznet.

ś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.

Często zdarza się , że potrzebujemy monitorować pracę programu i wyświetlać komunikaty lub mieć podgląd na jakieś dane , szczególnie na etapie testowania funkcjonalności programu. Jednym z mediów do wyświetlania danych/komunikatów jest wyświetlacz , ale co w przypadku kiedy chcemy na przykład wyświetlić więcej komunikatów niż pomieści nam wyświetlacz ?. Wtedy przychodzi nam z pomocą UART i funkcja printf() ze standardowej biblioteki języka C. Ta para powoduje , że możemy w bardzo prosty sposób zobrazować komunikaty/dane w oknie monitora PC, nie pisząc nawet ani kawałka kodu konfiguracyjnego. W artykule pokażę jak skorzystać z funkcji printf() w programie , przekierować do niej strumień danych z UART i  wyświetlić to na monitorze.


środa, 13 listopada 2019

WIZnet W5500, moduł ethernetowy ze sprzętowym stosem TCP/IP.

Podczas zabaw z chmurą dotarło do mnie, że fajnie byłoby mieć własny Gateway dostępowy oparty na mikrokontrolerze i zbudowany własnymi rękoma. Wiele projektów w tym zakresie opartych jest na RPi ale często jest to przerost treści nad formą. Po co angażować mikroprocesor i system operacyjny dla w sumie niezbyt skomplikowanego zadania. Dlatego moje poszukiwania skierowałem poza ekosystem RPi. Znalazłem młody projekt ZERYNTH , który w bajecznie prosty sposób umożliwia zbudowanie Gateway'a dostępowego do chmury w oparciu o wspierane płytki developerskie.  Mam jednak takie podejście , że jak coś jest zbyt proste to szybko się nudzę, normalnie jak dziecko :) . Dlatego postanowiłem zrobić coś co wymagałoby większego zaangażowania "mózgownicy" czyli np. dostęp MCU do chmury za pomocą modułu Ethernetowego. Układ , który sobie upatrzyłem do realizacji tego zadania to W5500 firmy WIZnet. Do testów kupiłem  moduł  ETH WIZ click Serbskiej firmy Mikroelektronika , który dostaniemy również na naszym rynku.

poniedziałek, 11 listopada 2019

PIC18FxxQ84 - 8 bitowiec firmy Microchip z CAN FD na pokładzie.


Firma Microchip prowadzi szeroko zakrojoną ekspansję mikrokontrolerów 8-bitowych m.in w swojej flagowej serii PIC. Zjawisko jest o tyle ciekawe, że po wykupieniu firmy ATMEL wydawać by się mogło , że Microchip oprze swoje nowe konstrukcje PIC o rdzeń firmy Atmel. Nic z tych rzeczy. Pomimo , że core Microchipa jest mniej wydajne od Atmel to jednak jest dziedzina w której core Microchipa bije na głowę wyroby Atmel-a w ekosystemie 8-bitowym a jest to odporność na zakłócenia. Seria PIC jest dzięki tej właściwości bardzo chętnie stosowana w przemyśle ,gdzie odporność na zakłócenia jest kluczowym aspektem dla MCU. Kolejnym ciekawym modelem , który wejdzie niedługo do sprzedaży jest PIC18FxxQ84. Microchip jest znany z ciekawych peryferiów , którymi obudowuje swoje wyroby. Tym razem mamy do czynienia, zdaje się z  pierwszym  na świecie MCU 8-bitowym wyposażonym w CAN FD przy czym kompatybilność wsteczna z CAN 2.0 jest zachowana.

wtorek, 29 października 2019

ZERYNTH - sterowanie stanem pinu za pomocą chmury WolkAbout.

Temat związany z chmurami cokolwiek mnie zafascynował. Dotychczas  patrzyłem na ten temat od strony sprzętu przez pryzmat wyłącznie Rasbety PI . Okazuje się jednak , że łączność z chmurą możemy z powodzeniem zrealizować na dowolnym MCU . Co jest do tego potrzebne oprócz MCU ? Moduł WiFi lub ciekawiej np  Wiznet W5500 ze sprzętowym stosem TCP/IP . Z chmurą możemy rozmawiać na dwa sposoby , za pomocą API REST i MQTT. W przypadku MQTT chmura robi za Brokera. Oprogramowanie MCU do komunikacji z chmurą wydaje się być zadaniem cokolwiek ambitnym w szczególności kiedy spotykamy się z nowymi dla nas zagadnieniami . Dlatego dobrym sposobem dla obycia się z klimatem chmur jest zastosowanie  technologii np. ZERYTH, który został stworzony do prostej implementacji komunikacji z chmurą. Bazując na przykładach z dokumentacji ZERYTH możemy w ciągu kilku minut załapać jak posługiwać się językiem Python i jak zrealizować łączność z chmurą. W tym artykule pokażę w jaki sposób możemy sterować stanem pinu na płytce wspieranej przez ZERYNTH z wykorzystaniem 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"

W moich zbiorach pojawił się wyświetlacz ILI9341 w rozmiarze 2.8 ". Przygodę z kolorowym LCD zaczynałam od wymiaru 1.8 ". Człowiekowi zawsze mało i w imię tej zasady wspinam się z rozmiarem powoli w górę pomimo, że kompleksów żadnych nie mam :) . Kolejnym  wyświetlaczem jaki będę poznawał będzie zapewne w wymiarze 3.5 ". W zasadzie bibliotekę dla PIC32MM i ATSAM już poczyniłem dla mniejszego brata 2.2 ". Biblioteka powinna działać zatem i na 2.8 " bez żadnych zmian. Dodatkowo wyświetlacz 2.8" obsługuje dotyk ale to temat na oddzielny artykuł. W tym artykule chciałbym pokazać podstawy sterowania wyświetlaczem LCD czyli jak w ogóle zacząć cokolwiek wyświetlać na LCD z rodziny ILIxxxx.


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.

W artykule pokażę jedną z metod poruszania się po warstwie sprzętowej  w języku C . Swoje rozważanie oprę na module radiowym SI4463. Ale tak naprawdę sprzęt jest tylko tłem dla pokazania samej metodologi i podejścia do zagadnienia. W wielu przypadkach bazujemy na bibliotekach sprzętowych napisanych przez innych adeptów języka C ,no bo w sumie po co odkrywać koło na nowo. Jeśli mamy szczęście to z takich bibliotek można się czegoś nauczyć bo metodologia jest zrozumiała i w sposób przejrzysty zakodowana. Ale to rzadkość. W większości przypadków do bibliotek czujemy awersję bo styl nam nie leży i ostatecznie trudno zrozumieć co poeta miał na myśli etc. Działa bo działa ale analiza kodu przysparza nas o ból głowy, więc odpuszczamy. Ekspertem od języka C nie jestem i wymądrzać się tutaj nie mam zamiaru. Ale ja wiele nauczyłem się na podstawie plików nagłówkowych napisanych dla MCU 32 bitowych. Gdzie królują Struktury , Unie, Wskaźniki . Moim zdaniem to olbrzymia kopalnia wiedzy o programowaniu warstwy sprzętowej w języku C, ponieważ te pliki piszą zawodowi informatycy, dlatego mamy pewność, że zastosowane rozwiązania programistyczne są optymalne.

ś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)

Artykuł jest potrzebą chwili i powstał pod wpływem pisania biblioteki dla modułu radiowego SI4463. Podczas pisania biblioteki zaszła potrzeba użycia przerwania sprzętowego na pinie PA03 , który współpracuje z pinem IRQ modułu radiiowego RF. Niby sprawa trywialna ot wyczarujmy sobie przerwanie no ale kiedy poznajemy jakiś MCU i pierwszy raz stykamy się z jego modułem peryferyjnym  opierając się tylko na dokumentacji to takie zadanie może stać się wyzwaniem :) . W artykule pokażę  jak wyglądała moja droga do rozpoznania i w efekcie konfiguracji przerwania sprzętowego z wykorzystaniem modułu peryferyjnego EIC (External Interrupt Controller)

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.

Ponieważ moja płytka developerska dla ATSAML10 i 11 stała się faktem (ostateczna wersja 3.1), dlatego po szybkim rozpracowaniu SPI w ATSAML10 ,zająłem się dostosowaniem biblioteki dla wyświetlacza kolorowego LCD 2.2 ILI9341 . Wyświetlacz ten  znajduje się na mojej sprytnej płytce developerskiej dedykowanej ATSAML10 i 11. Program dla ATSAML10 napisany jest bez użycia ASF a z wykorzystaniem plików nagłówkowych dostarczonych przez producenta i znajdujących się w środowisku SEGGER. Identyczną bibliotekę poczyniłem dla PIC32MM i ATSAML21. W sumie biblioteka jest bardzo przyjazna do robienie konwersji dla innych MCU.

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.

Wreszcie znalazłem czas aby poskładać do kupy płytkę developerską dla ATSAML10 i ATSAML11. Przy pierwszym podejściu do płytki okazało się , że pominąłem w obwodzie zasilania MCU dławik 10uH, bez którego nie skorzystamy z dobrodziejstw zasilania w trybie Buck. Musiałem poprawić projekt płytki i złożyć ponownie zamówienie na ich wykonanie.  Poprawiony projekt płytki jest dostępny w wersji ver 3.0 na GitHub.
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

W PIC32MM prawie na każdym pinie możemy wyczarować funkcjonalność przerwania. Nie musimy być ograniczeni ilością przerwań  w postaci INT0, INT1 i INT2 i koniec ale zamieniamy to wyliczanie na RA0...RAx, RB0...RBx, RC0...RCx, RD0..RDx. Fajne ? no bardzo fajne. W tutorialu pokażę jak za pomocą MCC w przyjazny sposób skonfigurujemy takie przerwanie na dowolnym pinie i zobaczymy jak MCC wygeneruje nam gotowy kod do użycia od razu. Po prostu bajka. Nie znajdziecie w żadnym ekosystemie 32-bitowym tak dobrego narzędzia jak MCC .

ś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.

Ostatnio coraz więcej słyszy się o RISC-V czyli o modelu programowym procesora, którego zaletą oprócz ogromnej wydajności jest brak opłat licencyjnych czyli takich jakimi obłożony jest  ARM. Powstają nowe konsorcja światowych producentów , którzy chcą oprzeć swoje przyszłe wyroby o architekturę RISC-V. Coraz częstszym zjawiskiem jest nie odnawianie licencji na ARM a to też jest jakiś sygnał dla branży. W wyrobach z RISC-V próbują zabłysnąć Chińczycy pojawiają się u nas konstrukcje typu K210 z dwoma procesorami 64-bitowym na pokładzie ale brak wsparcia i dokumentacji nie zachęca do działania z nimi. Aczkolwiek pojawiają się Polskie inicjatywy takie jak np. pierwszy polski development board  dedykowany 64 bitowym modułom opartym o RISC-V. Ale jeśli chodzi o poważniejsze aspekty związane z RISC-V to firma MICROCHIP ma obecnie najwięcej do zaoferowania i jako pierwsza pokazuje praktyczną implementację modelu RISC-V zbudowanego na bazie FPGA i działającego pod LinuxemFirst RISC-V SoC FPGA For Real-Time With Linux

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 :) ......

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ą.

Słowo się rzekło i płytka developerska dla ATSAML10/11 jest już zaprojektowana. Zajęło mi to całe dwa dni. To jest taki mój czasowy standard dla standardowej płytki developerskiej :) . Projekt wykonany w aplikacji webowej EasyEda. Projektowanie płytek sprawia mi bardzo dużą radość i satysfakcję, której gotowy produkt nie zastąpi. Gotowy produkt nie stanowi takiej zachęty do działania jak własny :). Tylko coś co się wytworzy własną pracą organiczną daje najwięcej satysfakcji i motywuje do działania nad tym. Nie dość , że mamy z własnej pracy satysfakcję to jeszcze nasza kieszeń nie ucierpi i mózg nie zwiotczeje :)

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 .

Temat oszczędzania energii jest bliski sercu każdemu Polakowi. Szczególnie jak co miesiąc patrzy na rachunek za prąd, wodę i gaz :). Każdy z nas prędzej czy później z tym tematem się spotka również i w mikrokontrolerach. Tam gdzie możemy oszczędzać energię to róbmy to :) PIC32MM daje nam takie możliwości , więc trzeba się im przyjrzeć. Znajdziemy w nim z grubsza cztery tryby zmniejszające pobór prądu oraz dodatkowo takie funkcjonalności jak wyłączanie poszczególnych modułów peryferyjnych. Generalnie temat nie jest trywialny dlatego, że stosowanie w praktyce trybów energooszczędnych wiąże się z braniem pod uwagę wielu aspektów nie tylko samego poboru prądu ale np. czasu czy wymaganych metod wybudzania . Szersze spojrzenie na temat przedstawia tutorial zamieszczony na łamach Elektroniki Praktycznej, który znajdziemy w linkach. Warto się z nim zapoznać.

ś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.

Wreszcie nadeszła wiekopomna chwila czyli pierwsza "poważniejsza" robota programistyczna w środowisku SEGGER. Dokonałem konwersji biblioteki dla wyświetlacza ILI9341 z MCU PIC32MM do ATSAML21. Wyświetlacz ten  znajduje się na mojej sprytnej płytce developerskiej ATSAML21. Głupio byłoby zatem nie mieć takiej biblioteki w wydaniu dla ATSAM-a. Program napisany jest bez użycia ASF a z wykorzystaniem plików nagłówkowych dostarczonych przez producenta i znajdujących się w środowisku SEGGER.

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).