Pierwszy mikrokontroler z rodziny STM8 w 8-pinowej obudowie

| Technika

Za sprawą układów STM32 w ostatnich latach firma STMicroelectronics stała się rozpoznawalna jako jeden z czołowych producentów mikrokontrolerów. Warto jednak zauważyć, że oprócz STM32 w jej ofercie znajduje się również inna rodzina mikrokontrolerów mająca w nazwie charakterystyczne STM, mianowicie - STM8. W rodzinie tej niedawno pojawiła się interesująca nowość - układ w 8-pinowej obudowie. Jest to dobra okazja do bliższego przyjrzenia się temu układowi oraz do odświeżenia wiedzy o tej wartościowej, acz pozostającej nieco w cieniu STM32 rodzinie mikrokontrolerów.

Pierwszy mikrokontroler z rodziny STM8 w 8-pinowej obudowie

Podstawowe informacje o STM8

Rys. 1. Wspólne cechy mikrokontrolerów STM8 i podział rodziny

Mikrokontrolery STM8 mają architekturę typu Harvard i wspólne dla całej rodziny zasoby, którymi są rdzeń STM8 (pracujący do 24 MHz), interfejs programowania/debugowania SWIM i pamięć (Flash, EEPROM i SRAM). Dodatkowo wszystkie układy wyposażone są w standardowe peryferia: interfejsy komunikacyjne USART, SPI i I²C, 16-bitowe timery, blok zegarów (dwa wewnętrzne: HSI 16 MHz i LSI 128kHz, dwa zewnętrzne: HSE, LSE), przetwornik A/C, watchdog oraz blok resetu. Tak zdefiniowaną platformę obudowano w dodatkowe zasoby i peryferia, które pozwoliły ukształtować trzy różne podrodziny STM8: STM8S, STM8L oraz STM8A.

Podział rodziny STM8 pokazano na rysunku 1. STM8S to podrodzina mikrokontrolerów ogólnego przeznaczenia. Dostępne są w niej układy z pamięcią Flash o pojemności od 8 do 128 kB. Wbudowany stabilizator pozwala na zasilanie mikrokontrolera napięciem od 2,95 aż do 5,5V. Wśród dodatkowych peryferii znajduje się interfejs CAN. Układy dostępne są w obudowach z liczbą wyprowadzeń od 8 do 80.

STM8L to podrodzina mikrokontrolerów o niskim poborze prądu. Pod względem pamięci Flash dostępne są warianty od 2 do 64 kB. W porównaniu do STM8S, seria STM8L ma niższą wydajność (wynikającą z maksymalnego taktowania 16 MHz) oraz niższy zakres napięcia zasilania (od 1,8 do 3,6 V), dostosowany lepiej do aplikacji zasilanych z baterii. Wyróżnikiem tej podrodziny jest energooszczędność (poniżej 1 μA w trybie HALT) oraz dodatkowe peryferia: DMA, RTC, DAC, kontroler LCD oraz moduł szyfrujący AES-128.

STM8A to podrodzina mikrokontrolerów motoryzacyjnych. Składa się ona z dwóch serii: STMAF oraz STM8AL. Są one bardzo zbliżone charakterystyką do omówionych wcześniej podrodzin (STM8AF do STM8S i STM8AL do STM8L), gdyż zasadniczą różnicą między nimi jest dostosowanie do wymagań sektora motoryzacyjnego.

Narzędzia rozwojowe

Rys. 2. Porównanie STM8S001J3 z innymi układami w rodzinie STM8 pod względem pojemności pamięci Flash i liczby wyprowadzeń

Konstruktorzy chcący tworzyć aplikacje dla mikrokontrolerów STM8 mogą wybierać spośród kilku środowisk programistycznych i kompilatorów. Najpopularniejsze z nich to połączenie bezpłatnych narzędzi: środowiska ST Visual Develop i kompilatora Cosmic CXSTM8. Dostępne są również rozwiązania komercyjne: Embedded Workbench for STM8 firmy IAR Systems oraz Ride7 firmy Raisonance.

Pisanie aplikacji ułatwia pakiet bibliotek Standard Peripheral Library, który udostępnia intuicyjne i łatwe w użyciu funkcje do konfiguracji i sterowania zasobami mikrokontrolerów STM8. Tanią platformę sprzętową stanowią płytki z serii STM8 Discovery, dostępne dla każdej z podrodzin: STM8S, STM8L oraz STM8A.

STM8S001J3, czyli 8 bitów w 8 nóżkach

Rys. 3. Elementy składowe mikrokontrolera STM8S001J3

Do niedawna mikrokontrolery STM8 nie były dostępne w obudowach z mniejszą liczbą wyprowadzeń niż 20. Nowa wersja STM8S001J3 zmienia ten stan - jest dostępna w obudowie SO8N. Umiejscowienie STM8S001J3 w rodzinie STM8 pokazano na rysunku 2. Mocną stroną nowego układu jest również cena. STM8S001J3 zapowiadany jest jako najtańszy mikrokontroler w rodzinie STM8.

Od strony funkcjonalnej jest to klasyczny układ z podrodziny STM8S. Bazuje on na rdzeniu STM8 przystosowanym do taktowania sygnałem zegarowym o częstotliwości do 16 MHz, ma wbudowane pamięci Flash 8 kB, SRAM 1 kB, 128 B EEPROM, blok zegarów (HSI 16 MHz, HSE 1-16 MHz, LSI 128 kHz) oraz interfejs SWIM. Kompletny schemat blokowy mikrokontrolera pokazano na rysunku 3.

Dodatkowo na wyposażeniu znajdują się standardowe interfejsy komunikacyjne: I²C, UART i SPI, przy czym ten ostatni wspiera sprzętowo tylko komunikację jednokierunkową (linie CS, SCK i MOSI).

Peryferia analogowe reprezentuje przetwornik A/C typu SAR. Wykonuje on konwersję analogowo-cyfrową w rozdzielczości 10 bitów i dysponuje trzema kanałami analogowymi.

Uzupełnienie wyposażenia stanowią timery różnego typu. Dostępne są trzy timery ogólnego przeznaczenia (dwa 16-bitowe: TIM1, TIM2, jeden 8-bitowy: TIM4), ponadto Auto Wake-Up timer jako podstawa czasu do cyklicznego wybudzania mikrokontrolera z trybu HALT oraz dwa moduły watchdog (window i independent).

Mikrokontroler STM8S001J3 dysponuje pięcioma portami I/O. Mogą one służyć jako zwykle linie GPIO, przerwania zewnętrzne (EXTI), interfejs SWIM lub jako wejście/wyjście dla wybranych peryferii (interfejsów komunika cyjnych, przetwornika A/C, timerów).

Podsumowanie

Układy STM8 dobrze uzupełniają portfolio mikrokontrolerów ST-Microelectronics zdominowane przez rodzinę STM32 i stanowią ciekawą propozycję dla aplikacji, gdzie moc obliczeniowa i wyspecjalizowane peryferia nie są wymagane, natomiast istotnym kryterium jest niska cena. Układ STM8S001J3 jest bezkompromisową realizacją tych założeń, oferując kompaktową obudowę, małą liczbę wyprowadzeń, szereg standardowych peryferii, zasilanie 5 V i bardzo atrakcyjną cenę (najniższą w rodzinie STM8).

Szymon Panecki
szymon.panecki@st.com