środa, 20 lutego 2019

ATSAMD21/L21 - 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świetlacz 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).

wtorek, 22 stycznia 2019

ATSAML21 - uruchamiamy SPI czyli SERCOM nie tylko dla orłów.

To co wyróżnia ATSAM-y z cortexowego tłumu to m.in moduły SERCOM czyli Serial Comunication Interface. Jest to bardzo elastyczny moduł, który może być skonfigurowany jako moduł SPI lub I2C lub USART. Oznacza to fizycznie, że jeśli mamy np 6 x SERCOM w naszym MCU to możemy mieć do dyspozycji 6xSPI lub 6xI2C lub 6xUSART lub dowolną kombinację ilościową w/w peryferiów. Jest to bardzo wygodne i elastyczne podejście , które nie skazuje nas na ściśle ograniczoną i zdefiniowaną ilość peryferiów. Dlatego w SERCOM-ach można się zakochać od pierwszego wejrzenia :) W artykule spróbujemy skonfigurować SERCOM w tryb SPI. Działania nasze opieramy na środowisku SEGGER i plikach nagłówkowych dostarczanych przez producenta MCU ,dostępnych w środowisku. Nie używamy ATMEL STUDIA i ASF tylko czystej pracy organicznej na rejestrach.

piątek, 18 stycznia 2019

ATSAML21 - ustawiamy zegar na inną niż startowa wartość.

Po starcie, ATSAML21 ustawiony jest na pracę z wewnętrznym zegarem o wartości 4 MHz. Ponieważ jesteśmy pod wpływem filmu Szybcy i Wściekli, dlatego ta szybkość nas nie satysfakcjonuje. Spróbujemy zatem ustawić zegar wewnętrzny na szybszy wariant, ale nie na najszybszy, co by nam nie zdmuchneło czapek z głów. Zaproponuję zmianę ustawień zegara na jedną z dostępnych wartości 16 MHz. Maksymalna możliwa szybkość do uzyskania z zegara wewnętrznego to 48 MHz. Zegar będziemy ustawiać za pomocą wpisów do rejestrów bez używania bibliotek ASF i środowiska ATMEL STUDIO. Na poczętek przyjrzyjmy się jak w aplikacji webowej ATMEL START przedstawiony jest schemat blokowy zegara (patrz obrazek w nagłówku)

wtorek, 15 stycznia 2019

ATSAML21 - przepis na delay i podstawowe operacje na GitHub-ie

Wszyscy krzywimy się na pomysł używania delay-i .Niestety bez nich się nie obędzie, szczególnie w przypadku sprzętu , który wymaga opóźnień w procesie inicjacji czy wymiany danych. Sztandarowym przykładem niech będzie wiecznie żywy kontroler LCD HD44870, z którym bez delay-i nie porozmawiamy. W nawyk mi weszło, że po pierwszej rozmowie z nowym MCU rozglądam się za implementacją opóźnień. Staram się w tym przypadku nie odkrywać na nowo koła ale podejrzeć jak to robią inni ,bardziej zaawansowani użytkownicy danego MCU. W artykule pokażę zatem kod , który mi najbardziej przypadł do gustu. Przy okazji zmierzymy się z zagadnieniem współpracy z GitHub-em w przypadku kiedy środowisko nie oferuje narzędzi do kontroli wersji.

środa, 9 stycznia 2019

ATSAML21 - zaczynamy zabawę z legendarną serią MCU w nowym środowisku SEGGER-a

Moja płytka developerska dla ATSAML21 jest już gotowa do testów i wyszła bardzo fajnie. MCU jaki zastosowałem na niej to ATSAML21G18B. Ale możemy zastosować również modele z serii ATSAMD21. Czekam jeszcze na dostawę wyświetlacza 2.2 " ILI9341 aby uzupełnić płytkę . Nie przeszkadza mi to jednak aby zacząć na tym etapie zabawę z MCU. Nie mam żadnego doświadczenia z tą serią MCU ani ze środowiskiem SEGGERA. Czas to zmienić i rozpocząć nową przygodę. Pierwszą czynnością będzie instalacja środowiska od firmy SEGGER. Ściągamy zatem aktualną wersję ze strony producenta Embedded Studio . Ja wybrałem wersję dla Linuxa 64-bit, instalacja jest bardzo prosta i nie wymaga komentarza.

środa, 2 stycznia 2019

Luźne dywagacje jako podsumowanie roku 2018 na moim blogu.

Mija drugi rok aktywności na moim hobbystycznym blogu i drugi rok mojej przygody w ekosystemie PIC. Na wstępie chciałbym złożyć serdeczne podziękowania wszelkiej maści malkontentom i oponentom mikrokontrolerów z rodziny PIC a w domyśle również i przeciwników firmy Microchip za to, że prezentowane przez nich argumenty były zbyt słabe aby mnie zniechęcić do poznania produktów tego producenta. Rok 2018 spędziłem głównie na poznawaniu rodziny 32 bitowej a w szczególności rodziny PIC32MM(GPM). To bardzo ciekawy mikrokontroler , który w obszarze Low End ma sporo do zaoferowania za relatywnie niewielkie pieniądze. Rodzina ta jest doskonałą alternatywą dla osób przesiadających się z 8-bitów i szukających czegoś wydajniejszego, sprytnego i prostego w obsłudze. Dla PIC32MM stworzyłem projekty dwóch płytek developerskich, które udostępniam na moim blogu całkowicie za darmo.

niedziela, 23 grudnia 2018

RADOSNYCH ŚWIĄT BOŻEGO NARODZENIA

ABYŚMY SPOKOJNIE. PATRZYLI  JAK ROSNĄ NASZE DZIECI . ABY SĄSIAD BYŁ NASZYM PRZYJACIELEM A CZŁOWIEK CZŁOWIEKOWI BRATEM. ŻEBY NIKOMU NIE ZABRAKŁO JEDZENIA NA TALERZU. NIECH POKÓJ NA ZIEMI KWITNIE A MIŁOŚĆ ZABARWIA NASZE ŻYCIE.

ZDROWYCH , SPOKOJNYCH , RODZINNYCH ŚWIĄT BOŻEGO NARODZENIA ..... I ZAPACHU PIERNIKÓW W DOMU :)   Życzy PICmajster.

środa, 19 grudnia 2018

Jak wyświelić kolorowy obrazek na wyświetlaczu TFT ILI9163 1.8" zapisany na karcie SD.

Zbliżają się narodziny Pana Jezusa. To piękne święto bo m.in tuż przed, czyli w dzień Wigilijny wszyscy się obdarowują prezentami. Taki symboliczny wyraz miłości do drugiego człowieka. Na okoliczność tego radosnego święta rozpracowałem zagadnienie związane z wyświetlaniem dowolnego obrazka z karty SD. Wykorzystałem możliwości biblioteki FatFs i biblioteki dla kolorowego wyświetlacza ILI9163 1.8 " z czytnikiem SD. Pan Jezus może mi wybaczy , że przed jego urodzinami zajmuję się takimi głupotami, zamiast Żonie pomóc lepić pierogi :) No ale co ja poradzę, że lepić pierogów nie lubię a grzebać w kodzie tak.