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. (artykuł w przygotowaniu)

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