Nowa odsłona STM32F0x2: Cortex-M0 + USB (z LPM i BCD) + CAN + HDMI CEC

Prezentowane w artykule mikrokontrolery STM32F042 i STM32F072 nie stanowią przełomu w ofercie STMicroelectronics, bowiem niektóre z nich były już na rynku dostępne pod innymi oznaczeniami (przyczynę tych zmian opisaliśmy w artykule).

W ofercie STMicroelectronics pojawiło się piętnaście nowych typów mikrokontrolerów z rodziny STM32F0 (Cortex-M0), które są kolejnym etapem umacniania rynkowej pozycji 16-bitowych mikrokontrolerów produkowanych przez STMicroelectronics. Na rysunku 1 pokazano ich gamę, a na rysunku 2 uproszczony schemat blokowy.

Rys. 1. Dostępne modele mikrokontrolerów STM32F0x2

 

 

Rys. 2. Schemat blokowy mikrokontrolerów STM32F0x02

Charakterystyczną cechą wyposażenia prezentowanych mikrokontrolerów są wbudowane trzy interfejsy komunikacyjne:

  • USB FS 2.0 device, których zaletami są: obsługa protokołów BCD (Battery Charger Detection) oraz LPM (Link Power Management), które upraszczają budowę urządzeń energooszczędnych oraz inteligentnych systemów zasilających bazujących na USB. Równie ważną zaletą jest także brak konieczności stosowania specjalnych, precyzyjnych rezonatorów kwarcowych do taktowania cyfrowej części interfejsu USB. Dużą dokładność sygnału zegarowego zapewnia mechanizm synchronizowania wewnętrznego generatora za pomocą tokenów SOF (Start of Frame), które są standardowym elementem ramek przesyłanych przez interfejs USB. Blok zapewniający synchronizację nazywa się Clock Recovery System (CRS), jego konstruktorzy przewidzieli kilka sposobów „dostrajania” wewnętrznego generatora, spośród których użytkownik może wybrać najlepszy w konkretnej sytuacji aplikacyjnej. Na rysunku 3 pokazano schemat blokowy interfejsu USB z podziałem na domeny taktowania.


    Rys. 3. Schemat blokowy interfejsu USB device stosowanego w mikrokontrolerach STM32F0x2

  • CAN 2.0A/B (active) z możliwością transmisji danych z prędkością do 1 Mb/s z ramkami wyposażonymi w 11- lub 29-bitowe identyfikatory. Interfejs wyposażono w 3 mailboksy w torze nadawczym, dwa kanały FIFO w torze odbiorczym, a także skalowalne filtry w 14 bankach.
  • HDMI CEC (Consumer Electronic Control), będący 1-przewodowym kanałem komunikacyjnym interfejsów HDMI (Sup. 1). Schemat blokowy tego interfejsu pokazano na rysunku 4.

     

    Rys. 4. Schemat blokowy interfejsu HDMI CEC stosowanego w mikrokontrolerach STM32F0x2

W ramach podrodziny STM32F0x2 producent oferuje dwie grupy układów: STM32F042 i STM32F072. Wyposażenie wewnętrzne układów STM32F042 jest nieco uboższe niż ma to miejsce w przypadku STM32F072, dotyczy to nie tylko liczby wbudowanych kanałów pojemnościowych, ale także maksymalnych pojemności pamięci, liczby linii GPIO, liczby timerów 16-bitowych, liczby dostępnych kanałów DMA itp. Warto zwrócić uwagę, że możliwości funkcjonalne poszczególnych bloków peryferyjnych są w obydwu podrodzinach takie same, dzięki czemu konstruktor dobierając odpowiedni układ do aplikacji może skupić się na liczbie potrzebnych bloków peryferyjnych, a nie ich funkcjonalności. Wszystkie mikrokontrolery STM32F0x2 wyposażono w 16-bitowe rdzenie Cortex-M0, które są taktowane z maksymalną częstotliwością do 48 MHz.

Rys. 5. Schemat blokowy bloku komparatora analogowego stosowanego w mikrokontrolerach STM32F0x2

Interesującym elementem wyposażenia mikrokontrolerów STM32F072 jest komparator analogowy, którego budowę pokazano na rysunku 5. Składa się on z dwóch komparatorów, których wejścia i wyjścia można dość elastycznie dołączać do linii GPIO oraz zdefiniowanych przez producenta sygnałów wewnętrznych.

O autorze