LinkedIn YouTube Facebook
Szukaj

Wstecz
Artykuły

Precision32 – nowe mikrokontrolery firmy Silicon Labs z rdzeniem ARM Cortex-M3

Na rysunku 5 zilustrowano dwa sposoby zasilania mikrokontrolera Precision32 – z aktywnym oraz wyłączonym regulatorem VREG0.

 

Rys. 5. Zasilanie mikrokontrolera Precision32 z regulatora VREG0 (górny obrazek) lub z regulatora LDO0 (dolny obrazek)

Rys. 5. Zasilanie mikrokontrolera Precision32 z regulatora VREG0 (górny obrazek) lub z regulatora LDO0 (dolny obrazek)

 

 

Oprócz wymienionych już regulatorów napięcia służących do zasilania mikrokontrolera, w każdym układzie Precision32 występuje regulator o nazwie EXTVREG0, który przeznaczony jest do dostarczania napięcia zasilania układom peryferyjnym, a więc na zewnątrz mikrokontrolera. Może być również użyty do sterowania tranzystorami. Jego napięcie wyjściowe jest konfigurowalne – możliwe jest ustawienie wartości z przedziału 1.8 – 3.6 V z krokiem 100 mV. Wydajność prądowa regulatora wynosi 1 A.

Kolejnym komponentem składowym bloku zasilania jest moduł VMON0 odpowiedzialny za monitorowanie napięcia zasilania. Do jego funkcji należy między innymi:

  • Informowanie o przekroczeniu dolnej wartości napięcia zasilania,
  • Utrzymywanie mikrokontrolera w stanie resetu po przekroczeniu ustalonego progu napięcia zasilania.

Ostatnim istotnym elementem bloku zasilania jest jednostka zarządzająca zasilaniem (PMU – Power Management Unit). Wśród wielu jej funkcji, najważniejszą jest udostępnianie różnych trybów pracy, których umiejętne wykorzystanie pozwala na znaczne ograniczenie poboru prądu mikrokontrolera. Jednostka PMU oferuje łącznie 6 trybów pracy, w tym 5 o niskim poborze mocy (tak zwane tryby uśpienia):

  • Normal – rdzeń i peryferia są aktywne, kod wykonywany jest z pamięci Flash,
  • PM1 (Power Mode 1) – rdzeń i peryferia są aktywne, kod wykonywany jest z pamięci RAM,
  • PM2 (Power Mode 2) – rdzeń jest zatrzymany, peryferia są aktywne,
  • PM3FW (Power Mode 3 Fast Wake) – rdzeń i peryferia są zatrzymane, część sygnałów zegarowych jest wyłączona,
  • PM3 (Power Mode 3) – rdzeń i peryferia są zatrzymane, wszystkie sygnały zegarowe są wyłączone,
  • PM9 (Power Mode 9) – rdzeń i peryferia są zatrzymane, wszystkie sygnały zegarowe są wyłączone, zawartość pamięci RAM nie jest podtrzymywana (oprócz wspomnianego obszaru 4 kB retention RAM).

Przy okazji omawiania trybów pracy o niskim poborze prądu mikrokontrolerów Precision32, warto podać przykładowe wartości liczbowe, którymi chwali się firma Silicon Labs. Według dokumentacji producenta, w normalnym trybie pracy mikrokontroler pobiera prąd o wartości 275 µA/MHz, a więc podczas taktowania z częstotliwością 80 MHz całkowity pobór prądu wyniesie około 22 mA. W trybie uśpienia pobór prądu można ograniczyć przykładowo do 620 nA (praca z włączonym zegarem RTC, zewnętrzny rezonator kwarcowy), 350 nA (praca z włączonym zegarem RTC, wewnętrzny rezonator kwarcowy) lub 85 nA (praca z włączonym modułem monitorowania napięcia zasilania) (rysunek 6).

 

Rys. 6. Wykres poboru prądu przez mikrokontroler Precision32

Rys. 6. Wykres poboru prądu przez mikrokontroler Precision32

 

 

Blok zegarów

Mikrokontroler Precision32 jest wyposażony w sześć źródeł sygnałów zegarowych. Są to: LPOSC0 (Low Power Oscillator), LFOSC0 (Low Frequency Oscillator), RTC0OSC (RTC Oscillator), EXTOSC0 (External Oscillator), USB0OSC (USB Oscillator), PLL0OSC (PLL Oscillator). Każde z nich może generować sygnał taktujący zegar rdzenia, magistral AHB i APB oraz peryferiów (rysunek 7).

 

Rys. 7. Blok zegarowy mikrokontrolera Precision32

Rys. 7. Blok zegarowy mikrokontrolera Precision32

 

 

Domyślnie aktywnym po uruchomieniu mikrokontrolera źródłem sygnału zegarowego jest LPOSC0. Może ono generować sygnał zegarowy o częstotliwości 20 MHz, lub ośmiokrotnie niższy – 2.5 MHz. Jak sama nazwa wskazuje, jest to źródło sygnału zegarowego o niskim poborze prądu, jednak oszczędność energii odbywa się kosztem dokładności sygnału, która jest gorsza niż w przypadku innych źródeł zegarowych. Negatywny wpływ na dokładność sygnału zegarowego ma dodatkowo zmiana temperatury oraz napięcia zasilania.

SZYMON PANECKI urodził się 17 lutego 1985 roku w Milanówku. Tytuł inżyniera Elektroniki i Telekomunikacji, a następnie magistra inżyniera na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał kolejno w roku 2008 i 2010. Ponadto tytuł inżyniera Informatyki na Wydziale Elektroniki Politechniki Wrocławskiej uzyskał w roku 2011. Szymon Panecki jest doświadczonym elektronikiem-konstruktorem, który w trakcie swojej zawodowej kariery koncentruje się na definiowaniu i projektowaniu (zarówno w warstwie sprzętowej jak i programowej) systemów wbudowanych opartych na mikrokontrolerach z rdzeniem ARM od różnych producentów, w tym przede wszystkim Infineon Technologies (rodzina XMC1000 i XMC4000), STMicroelectronics (STM32 i STR7), Freescale Semiconductor (Kinetis L) oraz Silicon Labs (EFM32 i Precision32). Obszarem jego szczególnego zainteresowania są systemy wykorzystujące czujniki środowiskowe (wilgotności, ciśnienia, temperatury) oraz przemysłowe i motoryzacyjne interfejsy komunikacyjne, głównie CAN. Szymon Panecki od wielu lat współpracuje z czasopismem "Elektronika Praktyczna" oraz portalem Mikrokontroler.pl, na łamach których publikuje liczne artykuły dotyczące swoich projektów, jak również nowości produktowych firm z branży półprzewodnikowej.