sobota, 3 kwietnia 2021

STM32G0 - I2C , uruchomienie sterownika dotyku CAP1296 firmy Microchip .

Zadanie jakie sobie wytyczyłem tym wpisem to zapoznanie się z interfejsem I2C w STM32G0 . Ale aby zapoznanie nie było nudne, spróbuję uruchomić przy okazji sterownik dotyku Microchipa, CAP1296. W STM32G0 w wersji 32 pin, której używam mamy do dyspozycji dwa interfejsy I2C. Przy czym ten drugi czyli I2C2 jest trochę wykastrowany z funkcjonalności w stosunku do pierwszego czyli I2C1. Ale nie będzie to przedmiotem moich dociekań. Oba interfejsy oprócz standardowych prędkości 100 i 400 kHz mają możliwość pracy z prędkością 1 Mbit/s.

niedziela, 28 marca 2021

STM32G0 - ustawienie zegara.

W STM32G0 mamy do dyspozycji cztery podstawowe źródła taktowania. 

LSI RC - wewnętrzny zegar 32kHz

LSE OSC - zewnętrzny zegar 32.768 kHz

HSI16 RC - wewnętrzny zegar 16 MHz

HSE OSC - zewnętrzny zegar 4-48 MHz

Dla wersji z USB mamy dodatkowo dedykowany wewnętrzny zegar HSI48 RC .

czwartek, 25 marca 2021

STM32G0 - zapis do rejestrów, wybrane zagadnienia.


W MCU 8-bitowych wszystko było proste, rejestry były proste, zapisy do nich były proste , życie było proste. W rejestrach nie było praktycznie pól bitowych o rozmiarze większym niż jeden bit, zapis sprowadzał się do operowania na jednym bicie .Człowiekowi było mało , więc  stworzył 32-bitowe monstra. Rozmowa z nimi drastycznie się skomplikowała, wydłużyły się rejestry pojawiły się pola bitowe . Skoro rozmowa z MCU się skomplikowała to zaczęto wprowadzać dodatkową abstrakcje w postaci opasłych bibliotek typu HAL. Biblioteki tego typu uprościły komunikację użytkownika z rejestrami i migrację ale wprowadziły jednocześnie niepożądane zjawiska takie jak błędy związane z rozwojem biblioteki , dodatkowy narzut zasobów MCU jakie trzeba poświecić do obsługi biblioteki oraz wyraźne spowolnienie wykonywania zadań przez MCU w tym spowalnianie działania interfejsów komunikacyjnych . Dlatego w krytycznych czasowo aplikacjach tam gdzie nie można sobie pozwolić na luksus związany z wygodą stosowania biblioteki HAL, tam  pożądana jest umiejętność rozmowy z MCU w technice określanej jako "Bare Metal" czyli to co w MCU 8-btowych było chlebem powszednim.

czwartek, 18 marca 2021

Projekt płytki dla STM32G0 i instalacja lekkiego środowiska firmy SEGGER.


Tak to nie pomyłka :), na moim blogu poświęconym głównie wyrobom firmy Microchip postanowiłem zajrzeć do ogródka "konkurencji" czyli do wyrobu firmy STM32. A cóż mnie skłoniło do takiego szalonego pomysłu ?, ano zwykła ludzka ciekawość :) i chęć poszerzenia swoich horyzontów wiedzy. Na widelec biorę przedstawiciela relatywnie nowej serii STM32G0. Budżetowy MCU oparty o rdzeń Cortex M0+. Ciekawostką jest tutaj to, że w tej serii STM próbował poprawić odporność na zakłócenia EM. Generalnie z tego co wiem to  STM-y słabo wyglądały na tym polu. Drugą cechą STM-ów jest relatywnie słaba stabilność zegarów RC, przez co np. użycie USB bez zewnętrznego kwarca nie jest tutaj zalecane. W serii STM32G0 producent  deklaruje, że stabilność zegara RC została poprawiona.

poniedziałek, 15 marca 2021

USB w PIC32MM - uruchomienie przykładu z biblioteki Microchipa.


Tym razem krótki wpis w którym pokażę jak w ultraszybki sposób możemy uruchomić komunikację po USB pomiędzy komputerem a mikrokontrolerem PIC32MM. Dla przypomnienia seria PIC32MM firmy Microchip to segment tanich i sprytnych mikrokontrolerów. Jest to bardzo udana seria Microchipa, którą w sposób łatwy zaprogramujemy bez użycia "ciężkich" bibliotek HAL-o podobnych. Jest to jedyna seria 32-bitowa konfigurowalna w MPLABX-IDE za pomocą wtyczki MCC ,co powoduje, że kontakt z tym mikrokontrolerem to czysta przyjemność. Ponieważ PIC32MM w standardzie ma na pokładzie USB, postanowiłem zobaczyć czy to działa :). Poszedłem w tym przypadku maksymalnie na skróty i użyłem przykładu Microchipa do uruchomienia komunikacji. Przykład ten zawarty jest w standardowej bibliotece/stosie USB , który dołączamy we wtyczce MCC. Pokażę zatem jak to ugryźć.

czwartek, 11 marca 2021

PIC18F04Q41 z rozbudowanymi peryferiami analogowymi

 
Microchip konsekwentnie rozbudowuje portfolio MCU 8-bitowych. Tym razem mamy modele w małych obudowach 14 i 20 pin (w tym mini-obudowa typu SOIC). Nowymi przedstawicielami MCU są np. PIC18F06Q41 z rozbudowanymi peryferiami analogowymi i PIC18F06Q40 bez takiej rozbudowy ale dostępny w obudowie 3x3 mm !!!. Standardem już u Microchipa staje się wyposażenie MCU  8-bitowych w kontroler DMA co dotychczas było domeną tylko MCU 16-bit i 32-bit. Wyjątkowo dam przekierowanie do ciekawego artykułu na portalu mikrokontroler.pl . Świetny artykuł Pana Tomasza Jabłońskiego. Zachęcam do zapoznania się z nim i poszerzenia swoich horyzontów wiedzy :).

sobota, 30 stycznia 2021

CAP1296 - sterownik dotyku od Microchipa i pierwsze uruchomienie na najnowszym PIC18F47Q84.


Sterownik CAP1296 umożliwia w prosty sposób zrealizowanie dotykowego interfejsu sterującego w naszych projektach. Do dyspozycji mamy 6 kanałów. Sterownik umożliwia dostep do takich funkcjonalności jak Press and Hold , Power Button, Proximity, Multiple Button Pattern Detection .Rozmowa ze sterownikiem odbywa się za pomocą interfejsu I2C , dostępna jest prędkość 400 kHz. Sterownik pracuje w ekosystemie napięciowym 3.3V oraz 5V. Obudowa jaką ja wybrałem do testów tego sterownika to SOIC14.

czwartek, 24 grudnia 2020

PIC32CM MC00 Family - nowa rodzina PIC z Cortex M0+ na pokładzie.

Microchip idzie w kierunku integracji ekosystemu PIC z rdzeniami ARM Cortex. Być może będzie to też oznaczać w przyszłości zamknięcie linii ATSAM przejętej firmy ATMEL ale to moje spekulacje tylko. Nowy przedstawiciel PIC32CM MC00 jest prawdopodobnie mocno poprawionym w siliconie ATSAMC20 z wyjętym CAN. Trzeba przyznać , że Microchip ustanowił jakiś kosmiczny rekord w minimalizacji błędów w siliconie. W nowej serii PIC32CM widzę tylko 5 błędów !!! jeśli porównamy to do protoplasty czyli ATSAM C20 gdzie błędów jest ponad 100 to widzimy jak olbrzymi progres Microchip wykonał w nowej konstrukcji. Zajrzyjmy co tam pod maską ma nowy PIC z rdzeniem ARM.

sobota, 12 grudnia 2020

Wyświetlacz IPS 1.3" 240x240 ST7789 - uruchomienie.

 Filigranowy wyświetlacz w rozmiarze 1.3" z ultra wysoką rozdzielczością 240x240  jak na tak mały ekranik. Wyświetlacz oparty jest na układzie ST7789. Wykorzystałem go w projekcie testera kabli dla sieci LAN, który zrobiłem na zamówienie mojego Syna. Wyświetlacz jak wyświetlacz robi co do niego należy czyli wyświetla treści i obrazki. I robi to całkiem sprawnie i ładnie. Trochę udaje OLED-a ale matryca jest typu IPS, co polepsza nam kąty widzenia w stosunku do tradycyjnych matryc TFT i lepiej odwzorowuje kolory. Na rynku istnieje wersja wyświetlacza w rozmiarze 1.54" z dodatkowym pinem CS (wybór). Gdybym wcześniej o tym wiedział to bym nabył ten właśnie model wyświetlacza. Wyświetlacz napędzamy napięciem 3.3 V ale za pomocą kilku rezystorów możemy zrobić konwersję z 5V, gdyby taka potrzeba zaistniała. Interfejs komunikacyjny : SPI. W necie bez problemu znajdziemy biblioteki do obsługi wyświetlacza. Ja zrobiłem sobie miks z kilku bibliotek i uruchomiłem je w ramach testów na PIC18F47Q43. Mikrokontroler w obudowie DIP40 obsadziłem na płytce HPC 8-bit mojej produkcji. Praca z nowymi konstrukcjami MCU 8-bit Microchipa to sama przyjemność a rejestry 8-bitowe to miód na oczy :). Brak efektu oczopląsu tak jak na 32-bitach :).

niedziela, 18 października 2020

Tester kabli sieciowych LAN - czyli moja czarna perła.

 

Ostatnio mam krótko z czasem na swoje hobby , praca zarobkowa pochłania mi zbyt dużo czasu. Mamy czas pandemii, która wyzwala w ludziach złe emocje i złe instynkty na różnych polach. To czas kiedy człowiek człowiekowi jest wilkiem - upadek człowieczeństwa. Pandemia pokazała , że w chwili kryzysu na nic są warte Unie Państw, unie międzyludzkie, unie sąsiedzkie. Możemy w jednej chwili stać się wrogiem sąsiada bo np. nie nałożyliśmy maseczki . Bo nie wierzymy bezgranicznie w przekazy mediów. Bo myślimy inaczej niż tłum. Podanie ręki nie jest już symbolem przyjaźni ale zagrożeniem . Aż strach pomyśleć jak nisko upadnie człowieczeństwo i szacunek do drugiego człowieka w obliczu wojny. Oby nigdy to nie nastąpiło.

sobota, 1 sierpnia 2020

Uniwersalna płytka dla mikrokontrolerów PIC 8 bit firmy Microchip - instalacja środowiska, pierwsze uruchomienie.


Mój projekt uniwersalnej płytki dla mikrokontrolerów PIC 8 bit firmy Microchip został zakończony i urzeczywistniony . Mam już pierwszą ukompletowaną płytkę. Płytka wyszła w realu fajnie i cieszy moje oko . Mogę zatem przystąpić do jej pierwszego uruchomienia. W artykule pokażę działania od punktu zero czyli od instalacji środowiska i narzędzi niezbędnych do działania z MCU 8 bit firmy Microchip aż do Hello World wykonanej z pomocą mojej płytki. W ramach Hello World pomrugamy sobie diodą LED znajdującą się na płytce .

poniedziałek, 8 czerwca 2020

Projekt uniwersalnej płytki developerskiej dla rodziny PIC 8-bit firmy Microchip.

Przyczynkiem do podjęcia projektu płytki developerskiej dla konstrukcji 8-bitowych Microchipa był fakt , że nie mamy na rynku taniej uniwersalnej płytki dla PIC 8-bit. Utrudnia to znacząco rozpoczęcie przygody z PIC-ami przez osoby początkujące. Microchip oferuje co prawda uniwersalną płytkę HPC ale cena na poziomie 173 zł jest po prostu zniechęcająca. Sa jakieś chińskie propozycje ale moim zdaniem nie warte uwagi , lepiej zrobić swoją płytkę. Wiem , że sporo osób początkujących błąka się po necie i podpytuje o narzędzia i platformę dla PIC 8-bit ,bo chcą je poznać. Mój projekt płytki dedykuję takim osobą. Projekt po zakończeniu prac nad nim będzie dostępny bezpłatnie. Plik w formacie Gerbera wysyłamy do "płytkani" i cieszymy sie płytką. Wszystkie elementy są proste do przylutowania i nie nastręczą problemów początkującym. Myślę, że wykonanie takiej płytki z gotowego projektu będzie dla osób początkujących dobrą zabawą. A może zainspiruje ich do pójścia tą drogą i wykonania swoich projektów i płytek . Narzędzia do tego są bardzo proste i bezpłatne. Wystarczą tylko chęci i trochę czasu aby je poznać.

sobota, 18 kwietnia 2020

Projekt płytki dla pamięci EERAM 47Lxx i 48Lxxx firmy Microchip.

Wracam z tematem genialnej pamięci EERAM produkowanej przez Microchipa.  Czyli miksu pamięci SRAM i EEPROM. Tym razem powrót w postaci projektu płytki w standardzie mikroBUS (dotychczas oznaczałem to na moich płytkach jako PICbus). Na pokładzie płytki będą dwa typy pamięci EERAM - starsza wersja 47Lxx sterowana po I2C i nowsza  48Lxxx, sterowana po SPI. Przyczynkiem do powstania projektu płytki, była chęć zapoznania się z nowszym wydaniem  pamięci czyli z  48Lxxx. Jak na razie na rynku nie ma żadnej developerskiej płytki z tą pamięcią . Mój projekt zatem wypełni tę lukę. Projekt płytki udostępniam za darmo tak jak każdą z moich płytek. Projekt będzie dostępny na GitHub. Wystarczy przesłać plik Gerbera do płytkarni i cieszyć się płyteczkami.

sobota, 11 kwietnia 2020

PIC18F57Q84 - Future Product , nowy 8-bitowiec z CAN FD i DMA na pokładzie.


Microchip konsekwentnie rozwija ekosystem MCU 8-bitowych. Jedną z najnowszych rodzin jest seria PIC18FxxQxx, czyli Q10, Q43. Ostatnio całkowicie przez przypadek natknąłem się na nowy produkt o statusie Future Product - Q83/84. Nowe MCU , które niebawem zobaczymy mają rozbudowane peryferia m.in o CAN-FD oraz większą ilość kanałów DMA. Warto tu zauważyć, że MCU 8-bit z DMA to unikat i dotychczas była to domena tylko  MCU 16-bit wzwyż. Microchip pnie się na wyżyny w konstrukcjach 8-bitowych. Na przekór malkontentom , którzy je dawno już pogrzebali. MCU 8-bit z tak rozbudowanymi peryferiami stają się atrakcyjnym wyborem dla konstruktorów. W szczególności tam gdzie wchodzi w grę duża odporność na zakłócenia , prostota w implementacji i rozbudowane peryferia. Seria PIC18xxQxx, ma naprawdę minimalną ilość elementów zewnętrznych co jest zaletą w stosunku do ekosystemu 32-bit.

sobota, 4 kwietnia 2020

50EP640 TV 50" 4K firmy TCL - mój szalony zakup.


Odbiło mi na  maksa i kupiłem chiński TV 50" 4K za 1299 zł . A co mnie skłoniło do tak szalonej decyzji ?. W domu mam półprofesjonalne kino domowe, niby wszystko oki. Ale mam też szaloną Córkę i nie mniej szaloną Żonę, które namiętnie zaczęły ostatnio oglądać seriale tureckie i jakiś porąbany Hotel Paradaise czy coś tam. Jak dla mnie seriale i program dla psychopatów. Ale co tam ,niech sobie oglądają i się cieszą. Problem jednak pojawił się z dostępem do kina domowego dla mnie i mojego Syna . Czasami lubię sobie pod wpływem chwili pograć w Wiedźmina lub Assasyna na PS4 a Syn pobrylować na NETFLIX. Jedno kino domowe dla 4-osób szczególnie w dobie społecznej kwarantanny to stanowczo za mało. Rzuciłem hasło do Syna, kupujemy maksymalnie tani TV o rozsądnej przekątnej i wynosimy sie do garażu :).