[4] [Smart IoT] SAM L21 – 32-bit Cortex-M0+

Po mikrokontrolerach SAM D20, SAM D21 i SAM D10/11 przychodzi kolej na rodzinę SAM L21, której poświęcono niniejszy artykuł.

Rodzina mikrokontrolerów SAM L21 pracuje w oparciu o Cortex-M0+ i jest dedykowana do aplikacji zasilanych bateryjnie ze względu na bardzo niski pobór prądu (35µA/MHz w trybie Active, 900nA przy podtrzymaniu SRAM oraz z pracującym RTC, 200nA w głębokim uśpieniu) oraz bardzo niskie czasy wybudzeń ze stanów uśpienia. Wśród mechanizmów pozwalających na takie osiągi wymienić należy, podział na „power domain”, Sleepwalking, peryferia rozbudowane o funkcje picoPower oraz wiele innych. Zostaną one opisane w dalszej części tekstu.

SAM L21 dostępny jest w obudowach od 32-pin do 64-pin, maksymalna wielkość pamięci flash to 256KB oraz 40KB pamięci SRAM (z podziałem na 32KB SRAM, 8KB low power SRAM). Układy pracują z maksymalną częstotliwością 48MHz przy 2.46 CoreMark®/MHz. Cała rodzina została tak pomyślana, aby inżynier decydujących się na jej wykorzystanie miał szerokie opcje migracyjne, zarówno w ramach różnych wielkości pamięci jak i obudów.

 

Rys. 1. Podstawowe parametry SAM L21

 

 

Rys. 2. Architektura rodziny SAML21

 

W układach zaimplementowano szereg peryferiów znanych z rodziny SAM D, ale także pojawiły się zupełnie nowe rozwiązania. Ogromny nacisk położono na aspekty związane z poborem energii. Aby maksymalnie ograniczyć pobór prądu aplikacji należy pamiętać o kilku zasadach.

  • Należy maksymalnie ograniczyć użycie CPU:
    • CPU używa ~40-80% energii całego mikrokontrolera
    • Pozostać w trybie uśpienia, gdy tylko jest to możliwe
    • Ograniczyć przerwania, które muszą wybudzać CPU
  • Kontrolować częstotliwość taktowania systemu
    • Zużycie energii jest proporcjonalne do częstotliwości pracy
  • Zatrzymać taktowanie nieużywanych peryferiów
  • Dopasować napięcie zasilania do wymagań urządzenia
    • Zużycie energii jest ekspotencjalne do napięcia zasilania
  • Wybudzać CPU tak szybko jak to tylko możliwe
    • Energia jest tracona podczas wybudzania systemu podczas stabilizacji oscylatora

 

Zarządzanie energią

Część z tych zasad jest wymagana, aby wykorzystany mikrokontroler sprzętowo wspierał pewne funkcjonalności. Pierwszym na to przykładem jest realizacja układu zasilania CPU, pamięci oraz peryferiów w mikrokontrolerze.

 

 

Rys. 3. Obwód dla standardowego mikrokontrolera obrazujący jak wiele energii może być tracone

                                                

Na rysunku poniżej pokazano jak realizowane jest to w przypadku SAML21. W odróżnieniu od standardowego podejścia mamy tutaj kilka regulatorów, które zasilają różne power domain. Główny LDO został wzbogacony o możliwość regulacji napięcia w zależności od wymaganej częstotliwości pracy rdzenia oraz peryferiów. A podział na power domain pozwala na redukcję zużycia energii poprzez automatyczne wyłączanie zasilania poszczególnych PDx, w przypadku ich niewykorzystania oraz w trybach uśpienia. Same tryby uśpienia zostaną opisane w dalszej części.

 

 

   Rys. 4. Zarządzanie energią przez SAM L21

 

O autorze