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.
Blog jest formą pamiętnika technicznego, upamiętniający moją przygodę z mikrokontrolerami PIC firmy Microchip. "Per aspera ad astra..."
sobota, 30 marca 2019
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.
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).
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)
Subskrybuj:
Posty (Atom)









