Nowa rodzina mikrokontrolerów STM32: STM32L0 z rdzeniem Cortex-M0+
Mikrokontrolerowa oferta firmy STMicroelectronics bazuje na nowoczesnych 32-bitowych mikrokontrolerach z rdzeniami Cortex-M. Producent rozpoczął od rdzenia Cortex-M3 (STM32F1, STM32F2, STM32L1, STM32W), do którego kilka lat po rozpoczęciu produkcji mikrokontrolerów STM32 dołączyły układy z rdzeniem Cortex-M4F (STM32F3 i STM32F4). Długi czas firma STMicroelectronics „omijała” rdzenie Cortex-M0, ale nacisk klientów spowodował, że wprowadzono do oferty mikrokontrolery STM32F0, a kilka tygodni temu także mikrokontrolery STM32L0.
Rdzeń Cortex-M0+ jest udoskonaloną wersją rdzenia Cortex-M0 (stosowanego m.in. w mikrokontrolerach STM32F0), zwiększono jego wydajność obliczeniową, zmniejszono jednocześnie pobór mocy i elastyczność implementacji w krzemie. |
Jako pierwsze w rodzinie STM32L0 pojawiły się mikrokontrolery „środka”, o pojemnościach pamięci Flash 32 i 64 kB, w obudowach o liczbie pinów 32/48/64 (rysunek 1). Dostępne są mikrokontrolery należące do trzech prodrodzin (Access Line, USB Line oraz USB&LCD Line), modele o większej i mniejszej liczbie pinów obudowy oraz pamięciami Flash o pojemnościach 16/128/192 kB będą dostępne nieco później. Mikrokontrolery wyposażone w pamięć Flash o pojemności powyżej 128 kB będą miały dzieloną ja na dwa segmenty, co ułatwi m.in. wymianę firmware’u.
Rys. 1. Mikrokontrolery STM32L0 dostępne na rynku i planowane do wprowadzenia do produkcji
Wspólnymi elementami wyposażenia wszystkich mikrokontrolerów STM32L0 są także m.in. (rysunek 2): wbudowana pamięć EEPROM (fizycznie zaimplementowana, a nie emulowana w pamięci Flash), kontroler DMA, komparatory analogowe oraz interfejsy komunikacyjne SPI (z obsługą trybu I2S), I2C z FM+ i nie wymagający stosowania specjalnego rezonatora kwarcowego interfejs USB (z obsługą trybów BCD i LPM), a także 96-bitowy sprzętowy numer seryjny struktury, pozwalający zidentyfikować urządzenie z wbudowanym mikrokontrolerem.
Rys. 2. Ogólne schematy blokowe poszczególnych linii mikrokontrolerów STM32L0 (rysunek ten na pewno będzie modyfikowany z biegiem czasu)
Przetwornik A/C wbudowany w mikrokontrolery STM32L0 (schemat blokowy pokazano na rysunku 3) jest przez producenta reklamowany jako 12-/16-bitowy, co wynika z faktu wyposażenia go w sprzętowy oversampling, który umożliwia zwiększenie jego rozdzielczości do 16 bitów (co się wiąże ze zwiększeniem ilości energii potrzebnej do wykonania konwersji). W zależności od potrzeb liczbę nadpróbkowań użytkownik może samodzielnie ustalić w zakresie od 2 do 256 (z krokiem 2n).
Rys. 3. Schemat blokowy przetwornika A/C stosowanego w mikrokontrolerach STM32L0