wersja mobilna | kontakt z nami

STM8S001J3 (1). Wprowadzenie. Pierwszy mikrokontroler STM8 w 8-nóżkowej obudowie

Numer: Październik/2017

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

Pobierz PDF

rys1STM8 to rodzina mikrokontrolerów 8-bitowych. Jest ona efektem bogatych doświadczeń firmy STMicroelectronics na polu mikrokontrolerów o takiej architekturze. Czytelnicy mogą pamiętać rodziny ST6, ST7 (w tym bardziej popularne na naszym rynku ST7LITE i ST7ULTRALITE) czy ST10. Ich następcą, wprowadzonym na rynek w roku 2008 i oferującym liczne usprawnienia w porównaniu z poprzednikami, jest właśnie STM8. Tytułem wstępu warto zauważyć, że jest to mikrokontroler całkowicie bazujący na projekcie STMicroelectronics, co oznacza wykorzystanie szeregu autorskich rozwiązań tego producenta. Są to między innymi: rdzeń STM8 (CPU typu CISC) taktowany przebiegiem o częstotliwości do 24 MHz, interfejs programowania/debugowania SWIM (Single Wire Interface Module), pamięć Flash wykonana w procesie technologicznym 130 nm oraz szereg różnorodnych peryferiów analogowych i cyfrowych.

O popularności rodziny STM8 dobrze świadczą liczby. Sprzedaż mikrokontrolerów rozpoczęła się we wspomnianym już 2008 roku. 6 lat później wyprodukowano łącznie 1 miliard tych układów. Rok 2016 to kolejna okrągła liczba – łącznie 2 miliardy sprzedanych mikrokontrolerów. Barierę 3 miliardów rodzina STM8 przekroczyła już w maju 2017 roku (szczegółowy wykres zaprezentowano na rysunku 1). Tym samym udział rodziny STM8 w 8-bitowym rynku mikrokontrolerów kształtuje się obecnie na poziomie ok. 15%. Mikrokontrolery te są stosowane bardzo często w sprzęcie gospodarstwa domowego (np. jako interfejs użytkownika), urządzeniach zasilanych z baterii (np. głowicach termostatycznych) i aplikacjach motoryzacyjnych (np. do sterowania szybami i światłami).

rys2Podstawowe informacje o STM8

Każdy mikrokontroler STM8 ma architekturę Harvard i wspólne dla całej rodziny zasoby, którymi są wspomniany wcześniej rdzeń STM8, interfejs SWIM, pamięć (Flash, EEPROM i SRAM), blok zegarów (dwa wewnętrzne: HSI 16 MHz i LSI 128 kHz, dwa zewnętrzne: HSE, LSE) oraz blok generowania sygnału reset. Dodatkowo, wszystkie układy wyposażone są w standardowe peryferia: interfejsy komunikacyjne USART, SPI i I2C, 8- i 16-bitowe timery, przetwornik A/C, watchdog oraz blok resetu. Uproszczony schemat blokowy mikrokontrolera STM8 pokazano na rysunku 2. Tak zdefiniowaną platformę zróżnicowano pod względem pojemności pamięci i obudowano w dodatkowe zasoby, funkcjonalności i peryferia, które pozwoliły na ukształtowanie trzech podrodzin STM8: STM8S, STM8L oaz STM8A. Podział rodziny STM8 pokazano na rysunku 3.

Podrodzina STM8S

Są to mikrokontrolery ogólnego przeznaczenia. Są w niej oferowane układy z pamięcią Flash o pojemności od 8 do 128 kB. Wbudowany regulator napięcia pozwala na zasilanie mikrokontrolera napięciem od 2,95 aż do 5,5 V. Układy są dostępne obudowach z od 8 do 80 wyprowadzeń. Podrodzina STM8S składa się z trzech grup: STM8S00x, STM8S103/105 oraz STM8207/208. Ich porównanie zaprezentowano na rysunku 4.

Grupa STM8S00x jest zwana Value Line ze względu na najbardziej przystępną cenę tych układów w całej podrodzinie STM8S. Ta cena wynika z podstawowego wyposażenia w peryferia oraz z mniej rygorystycznych testów i czynności poprodukcyjnych, których efektem jest mniejsza dokładność wbudowanego oscylatora RC, mniejsza liczba cykli zapisu pamięci Flash/EEPROM oraz brak unikalnego identyfikatora. Ponadto, producent nie oferuje dla tych układów usługi programowania aplikacją klienta na etapie produkcji. Grupa STM8S00x zawiera układy z pamięcią Flash o pojemności od 4 do 32 kB, pamięcią SRAM od 1 do 6 kB oraz pamięcią EEPROM mieszczącą 128 bajtów. Mikrokontrolery pracują z częstotliwością taktowania rdzenia do 16 MHz. Warto w tym miejscu wspomnieć, że najnowszy, zaprezentowany niedawno układ STM8S001J3, oferowany w 8-nóżkowej obudowie, należy właśnie do tej grupy.

rys3Grupa STM8S103/105 nosi nazwę Access Line. Układy te nie mają ograniczeń charakterystycznych dla mikrokontrolerów Value Line. Ponadto różnią się pod względem pojemności pamięci: Flash 4…32 kB, SRAM 1…2 kB oraz EEPROM 640…1024 bajtów.

STM8S207/208 to grupa o nazwie Performance Line. Mikrokontrolery te są rozszerzeniem układów STM8S103/105 oferując wyższą częstotliwość pracy (do 24 MHz) oraz dodatkowe wyposażenie: interfejs CAN, kolejny interfejs UART i większą liczbę kanałów przetwornika A/C. Ponadto, układy Performance Line mają pamięć o największej pojemności spośród wszystkich grup podrodziny STM8S: do 128 kB Flash, 6 kB SRAM oraz do 2048 bajtów EEPROM.

rys4Podrodzina STM8L

STM8L to podrodzina mikrokontrolerów o obniżonym 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ższy zakres napięcia zasilania (1,8…3,6 V), lepiej dostosowany do aplikacji zasilanych z baterii. Wyróżnikiem tej podrodziny jest również energooszczędność. Na przykład, w trybie HALT mikrokontrolery pobierają prąd o natężeniu poniżej 1 mA oraz ok. 1,2 mA w trybie Active HALT (z RTC jako źródłem wybudzenia). Ponadto, dodatkowym, wspólnym dla wszystkich układów STM8L zasobem jest przetwornik C/A oraz zegar RTC (mikrokontrolery STM8S mają jedynie jego namiastkę – Auto Wake-Up Timer). Podrodzina STM8L składa się z czterech grup: STM8L051/052, STM8L101, STM8L151/152 oraz STM8L162. Ich porównanie zaprezentowano na rysunku 5.

rys5Grupa STM8L051/052 jest nazwana Value Line. Oznacza to atrakcyjną cenę układów (najniższą w podrodzinie STM8L), co jest okupione pewnymi ograniczeniami i pogorszeniem niektórych parametrów (te same, co w wypadku STM8S00x). Grupa STM8L051/052 zawiera układy z pamięcią Flash mieszczącą od 8 do 64 kB, pamięcią SRAM 1…4 kB i pamięcią EEPROM 256 bajtów. Mikrokontrolery pracują z częstotliwością taktowania rdzenia do 16 MHz, a w zakresie wyposażenia mają moduł DMA i kontroler wyświetlacza LCD.

STM8L101 to grupa, która nie jest obarczona ubytkami charakterystycznymi dla grupy Value Line. Układy te mają skromniejsze wyposażenie w porównaniu z mikrokontrolerami STM8L051/052: nie mają pamięci EEPROM, modułu DMA oraz kontrolera wyświetlacza LCD. Dodatkowo mniejszy jest zakres pojemności pamięci: 2…8 kB Flash oraz 1,5 kB SRAM.

Układy STM8L151/152 łączą najlepsze cechy dwóch wcześniej wymienionych grup. Użytkownik ma zatem do dyspozycji pokaźne wyposażenie, w tym moduł DMA i kontroler wyświetlacza LCD. Ma też komfort w wyborze pojemności pamięci: od 4 do 64 kB Flash, od 1 do 4 kB SRAM oraz od 256 do 2048 bajtów EEPROM. Ponadto, nie mają ograniczeń grupy Value Line.

Rozszerzeniem grupy STM8L151/152 są mikrokontrolery STM8L162, które dodatkowo dysponują modułem szyfrującym według 128-bitowego algorytmu typu AES.

rys6Podrodzina STM8A

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, co objęło między innymi dodanie do wyposażenia interfejsu LIN oraz zwiększenie maksymalnej temperatury pracy do +150°C.

Narzędzia rozwojowe

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ż dwa rozwiązania komercyjne (środowisko + kompilator: Embedded Workbench for STM8 firmy IAR Systems oraz Ride7 firmy Raisonance) i jedno open source (kompilator SDCC).

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.

Kolejnym dostępnym narzędziem jest STM8CubeMX. Jest to aplikacja komputerowa umożliwiająca realizację następujących czynności za pomocą graficznego interfejsu użytkownika:

- przypisanie peryferiów do wyprowadzeń mikrokontrolera,
- konfigurację sygnałów zegarowych mikrokontrolera,
- szacowanie poboru prądu mikrokontrolera w różnych trybach pracy i w różnych wariantach użycia peryferiów.

W porównaniu do analogicznego narzędzia dla mikrokontrolerów STM32 (STM32CubeMX), program STM8CubeMX nie umożliwia jednak tworzenia projektu pod środowisko programistyczne i generowania kodu źródłowego.

Tanią platformę sprzętową stanowią płytki z serii STM8 Discovery, dostępne dla każdej z podrodzin: STM8S, STM8L oraz STM8A.

rys78-bitowy, ale też mający wspólny mianownik z STM32

Pobieżna analiza rodziny STM8 może nasunąć wniosek o tym, że mimo zbieżności nazewnictwa STM8 jest produktem różniącym się pod każdym względem od STM32. Nie jest to prawdą. Zbliżony czas powstania obu rodzin mikrokontrolerów (STM8 – 2008, STM32 - 2007) umożliwił wykorzystanie niektórych rozwiązań zarówno w jednej, jak i drugiej rodzinie. Dobrze oddającym to przykładem jest blok RCC (Reset and Clock Control), który składając się z zegarów HSE, HSI, LSE i LSI ma zbliżoną budowę w układach STM8 i STM32. Podobnie jest w przypadku wybranych peryferiów, które są takie same w obu rodzinach. Konsekwencją tego stanu rzeczy jest również częściowe podobieństwo narzędzi np. CubeMX i biblioteki Standard Peripheral Library. Wszystko to powoduje, że obecni użytkownicy mikrokontrolerów STM32, którzy zdecydują się pracować również z układami STM8, będą mieli ułatwiony start.

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

Do niedawna mikrokontrolery STM8 nie były dostępne w obudowach z mniejszą liczbą wyprowadzeń niż 20. Nowy mikrokontroler o nazwie STM8S001J3 zmienia ten stan mając obudowę z zaledwie 8 wyprowadzeniami, konkretnie typu SO8N (umiejscowienie STM8S001J3 w rodzinie STM8 pokazano na rysunku 6). Mocną stroną nowego układu jest również cena. STM8S001J3 zapowiadany jest jako najtańszy mikrokontroler w rodzinie STM8.

Kompletny schemat blokowy mikrokontrolera pokazano na rysunku 7. Od strony funkcjonalnej jest to klasyczny układ z podrodziny STM8S, pod względem technicznym podobny do STM8S003F3P6. Jego szkielet tworzy rdzeń STM8 pracujący z częstotliwością taktowania do 16 MHz, pamięć (Flash 8 kB, SRAM 1 kB, 128 bajtów EEPROM), blok zegarów (HSI 16 MHz, HSE 1-16 MHz, LSI 128 kHz), blok resetu oraz interfejs SWIM. W tym miejscu warto odnotować, że blok resetu nie dysponuje wyprowadzeniem NRST, natomiast wyprowadzenie SWIM jest współdzielone z linią GPIO i peryferiami.

Dodatkowo, na wyposażeniu znajdują się standardowe interfejsy komunikacyjne: I2C, UART i SPI. Interfejs UART ma możliwość transmisji danych w trybie full duplex z prędkością do 1 Mbit/s włącznie. Jeśli zajdzie taka potrzeba, ten interfejs może być użyty w trybie synchronicznym (z linią zegarową) lub w trybie kompatybilnym z komunikacją IrDA bądź LIN. Interfejs SPI wspiera sprzętowo tylko komunikację jednokierunkową (wysyłanie danych). Maksymalna prędkość transmisji to 8 Mbit/s. Interfejs I2C jest kompatybilny z dwoma standardami prędkości: standard speed (do 100 kHz) i fast speed (do 400 kHz).

rys8Peryferia analogowe reprezentuje przetwornik A/C typu SAR. Wykonuje on konwersję analogowo-cyfrową w rozdzielczości 10 bitów w pełnym zakresie napięcia zasilania mikrokontrolera. Przetwornik ten dysponuje trzema kanałami analogowymi.

Uzupełnienie wyposażenia stanowią timery różnego typu. Blok TIM1 to 16-bitowy, zaawansowany timer, który dzięki możliwości generowania przebiegu PWM i dodatkowym funkcjom dobrze nadaje się do aplikacji sterowania silnikiem lub aplikacji oświetlenia. Dobrym przykładem zastosowania timera TIM1 jest też wyzwalanie przetwornika A/C. Blok TIM2 to 16-bitowy timer ogólnego przeznaczenia, z kolei TIM4 to timer 8-bitowy, który może posłużyć np. jako podstawa czasu dla wykonywanych cyklicznie zadań. Dodatkowo, w skład timerów wchodzą dwa timery typu Watchdog (okienkowy i niezależny) oraz Auto Wake-Up Timer, którego zadaniem jest wybudzanie mikrokontrolera z trybu HALT co zdefiniowany interwał czasu.

Mikrokontroler STM8S001J3 dysponuje pięcioma portami I/O. Mogą one pracować jako zwykłe linie GPIO, przerwania zewnętrzne (EXTI), interfejs SWIM lub jako wejście/wyjście dla wybranych peryferiów (interfejsów komunikacyjnych, przetwornika A/C, timerów). Jako, że wejść/wyjść peryferiów i portów jest znacznie więcej niż wyprowadzeń, zastosowano rozwiązanie polegające na połączeniu więcej niż jednego peryferium/portu do pojedynczego wyprowadzenia. Przypisanie peryferiów do wyprowadzeń pokazano na rysunku 8 oraz w tabeli 1. Pozostałe trzy wyprowadzenia to linie powiązanie z blokiem zasilania. Dwa wyprowadzenia odpowiadają bezpośrednio za doprowadzenie napięcia zasilania, natomiast jedno wyprowadzenie połączone jest z wyjściem wbudowanego regulatora napięcia. Podobnie jak wszystkie mikrokontrolery STM8, układ STM8S001J3 można zasilać napięciem z zakresu 2,95…5,5 V.

Przykładowe zastosowania STM8S001J3

Mając do dyspozycji 8-nóżkowy mikrokontroler, który może efektywnie (na potrzeby aplikacji) korzystać z pięciu wyprowadzeń, możliwości zastosowania wydają się być ograniczone. Z jednej strony jest to prawda, niemniej jednak całkiem pokaźny zestaw peryferiów znacznie zwiększa wachlarz rozwiązań. Trzy przykładowe aplikacje zademonstrowano na rysunku 9.

Pierwsza aplikacja jest przykładem systemu, który odczytuje wartość analogową i prezentuje ją na wyświetlaczu. Za konwersję analogowo-cyfrową odpowiada przetwornika A/C, który wykorzystuje do tego kanał analogowy przypisany do wyprowadzenia nr 1. Podzespołem z wyjściem analogowym może być np. czujnik temperatury lub potencjometr. Dane dla użytkownika zawierające wynik pomiaru prezentuje wyświetlacz, w tym przypadku wybrany został graficzny model EA DOGM132. Pasuje on tu dobrze ze względu na możliwość sterowania za pomocą czterech linii, dwóch GPIO (wyprowadzenia nr 5 i 6) oraz dwóch będących interfejsem SPI (wyprowadzenia nr 7 i 8).

rys9Druga aplikacja to przykład dwukanałowego regulatora temperatury. Każdy z kanałów jest od siebie niezależny i składa się z bloku pomiaru temperatury oraz bloku regulacji obrotów wentylatora służącego do chłodzenia. Pomiar temperatury odbywa się w sposób identyczny do poprzedniego przykładu – przetwornik A/C mierzy sygnał analogowy na wyprowadzeniach nr 1 i nr 7, do których dołączone są analogowe czujniki temperatury. Blok regulacji obrotów wentylatora składa się z układu typu H-bridge i dwóch silników DC. Prędkość ich obrotu regulowana jest za pomocą wyprowadzeń nr 5 i 8, które mają możliwość generowania sygnału PWM. Dodatkowo system informuje użytkownika o trybie pracy za pomocą diody LED dołączonej do wyprowadzenia 6.

Trzecia aplikacja to przykład systemu akwizycji danych z czujników z funkcją logowania. Czujniki (np. typu MEMS) są dołączone do mikrokontrolera za pomocą I2C (wyprowadzenia nr 5 i 6). Logowanie (oraz dodatkowo odbiór komend do konfiguracji czujników) realizowane jest przez interfejs UART (wyprowadzenia nr 1 i 8). Podobnie jak w poprzednim przykładzie, ostatnie z wyprowadzeń (nr 7) może sterować diodą LED pełniąc tym samym rolę informowania użytkownika o statusie systemu lub o określonych zdarzeniach.

Podsumowanie

Układy STM8 dobrze uzupełniają portfolio mikrokontrolerów STMicroelectronics zdominowane przez rodzinę STM32 i stanowią ciekawą propozycję dla aplikacji, gdzie moc obliczeniowa i wyspecjalizowane peryferia nie są wymagane, natomiast istotnym kryterium jest funkcjonalność i niska cena. Układ STM8S001J3 jest bezkompromisową realizacją tych założeń oferując kompaktową obudowę, małą liczbę wyprowadzeń, szereg standardowych peryferiów, szeroki zakres napięcia zasilania i bardzo atrakcyjną cenę, najniższą w rodzinie STM8.

Zapraszamy do lektury kolejnego artykułu w następnym wydaniu Elektroniki Praktycznej, w którym zaprezentujemy opis projektu zestawu ewaluacyjnego dla mikrokontrolera STM8S001J3.

Szymon Panecki
STMicroelectronics
szymon.panecki@st.com

tab1

Pozostałe artykuły

Nowa generacja sterowników silników

Numer: Październik/2016

Nowa rodzina układów NovalithIC firmy Infineon zawiera układ scalony kontrolera oraz tranzystory MOSFET w pojedynczej obudowie. Dystrybutor produktów Infineona - firma Rutronik, spodziewa się, że otworzy to zupełnie nowy poziom wydajności oraz bezpieczeństwa sterowników silników.

Mikrokontrolery STM32 - który do czego? Porównanie wydajności

Numer: Październik/2016

Duża liczba dostępnych modeli mikrokontrolerów STM32 oraz wyposażanie ich w różne rdzenie powoduje, że konstruktorzy nie zawsze wiedzą, jaki model wybrać do swojej aplikacji. Postanowiliśmy wykonać serię autorskich testów, których celem było zmierzenie i porównanie wydajności różnych mikrokontrolerów w typowych zastosowaniach, jak również sprawdzenie wpływu różnych ustawień na czas wykonania programu. W artykule przedstawiamy ...

Układy zarządzania zasilaniem Maxim Integrated i Austria Micro Systems

Numer: Wrzesień/2016

...

Małe, panoramiczne wyświetlacze TFT-LCD

Numer: Sierpień/2016

Od kilku lat widać silny trend, w którego ramach alfanumeryczne i monochromatyczne graficzne wyświetlacze LCD są zastępowane kolorowymi ekranami graficznymi, wykonywanymi w technologii TFT-LCD lub OLED. Niestety, w wielu przypadkach użycie klasycznego wyświetlacza nowszego typu nie wchodzi w grę, gdyż proporcje wymiarów matryc zupełnie nie pasują do kształtu obudowy urządzenia. Sytuacja ta właśnie ulega zmianie, gdyż na rynku pojawiło ...

Moduły transmisyjne Silicon Laboratories i ZMDI

Numer: Sierpień/2016

W dobie Internetu Rzeczy (IoT) nastąpił bardzo szybki oraz duży wzrost liczby i różnorodności dostępnych na rynku modułów do komunikacji bezprzewodowej, dzięki czemu wielu elektroników zaczyna opierać swoje projekty o bezprzewodową transmisję danych. Projektowane są urządzenia z zakresu wielu segmentów rynku np. elektronika użytkowa, automatyka budynkowa oraz przemysłowa, mobilne urządzenia multimedialne np. nawigacje samochodowe, ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Listopad 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym