JM Logo
Wróć

SAM L21 - 32-bit Cortex-M0+ z niskim poborem prądu

2015-08-07

smart

Zostań Liderem Technologii Smart IoT

Cykl edukacyjny JM elektronik z Atmelem

Cz.4

 

SAM L21 - 32-bit Cortex-M0+ z poborem prądu od 35µA/MHz w trybie active

 

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.

 parametry

 

 

Rys. 2. Architektura rodziny SAML21.

 diagram

 

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.     

                                                 

obwod

 

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.

 zarzadzanie

Budowa zegara

Kolejny element architektury, który został wykonany w nieco inny sposób to budowa systemu zegara. Znajduje się tu do dziewięciu generator/clock domain, które mogą być konfigurowane oraz przełączane niezależnie przez system bądź użytkownika. Pozwala to na dużą elastyczność taktowania poszczególnych peryferiów, zwłaszcza w stanach uśpienia. A sam CPU może pracować z różną częstotliwością w zależności od wymagań aplikacji (Dynamic Frequency Scaling).  

Rys. 5. Budowa zegara w SAM L21.

 zegar

 

Rys. 6. Dynamic Frequency Scaling.

 

dynamic

 

Źródło taktowania może pracować także w trybie on-demand (flaga ONDEMAND). Oznacza to, że jest ono automatycznie zatrzymywane, w przypadku gdy nie jest ono potrzebne, a potem automatycznie włączane, gdy jego praca jest wymagana.

System eventów

Kolejnym elementem, który, odpowiednio wykorzystany może znacząco wpłynąć na sumaryczne zużycie energii jest system eventów. Wielu inżynierów zna go doskonale z układów serii Atxmega. Teraz został on zaimplementowany także w układach z Cortex-M0+.

Event system pozwala na współdziałanie peryferiów bez udziału CPU. Dodatkowo ma bardzo ciekawą właściwość. Otóż czas reakcji na event jest w 100% przewidywany. Poniżej graf obrazujący współdziałanie wybranych peryferiów bez udziału CPU.

Rys. 7. System eventów.

cpu

Stany uśpienia

W ramach rodziny SAML21 wprowadzono możliwość wprowadzania mikrokontrolera w jeden z kilku stanów uśpienia. Poniższy graf przedstwia przybliżone pobory prądów oraz czasy wybudzeń do stanu aktywnego. Można odczytać także źródła, które są w stanie wybudzić układ z danego stanu uśpienia.

W trybie active CPU wykonuje kod, wszystkie zegary są dostępne, a pobór prądu zależy w dużej mierze od Performance Level (PL). SAML21 może pracować w jednym z dwóch performance level. Gdy pracuje w najniższym, czyli PL0, napięcie zasilania logiki jest redukowane, i jego poziom jest dostosowywany w zależności od częstoliwości pracy. W przypadku PL2 regulator napięcia dostarcza najwyższe możliwe napięcie, pozwalając na pracę z maksymalną częstotliowścią. Zmiany PLx można dokonywać w trakcie pracy mikrokontrolera. W trybie Idle zegar CPU jest wyłączony, różnie AHBx oraz APBx są wyłączone, ale mogą zostać uruchomione jeśli któreś z peryferiów będzie tego wymagać.

W trybie Standby wszystkie zegary, oprócz ULP32K sa wyłączone. Jednak peryferia mogą realizować swoje zadania, jesli w rejestrze konfiguracyjnym danego peryferia ustawiono flagę RUNSTDBY. Dodatkowo można tą pracę powiązać ze wcześniej wspomnianym ustawieniem flagi ONDEMAND, która decyduje o pracy źródła taktowania. W trybe Backupzasilana jest tylko domena BACKUP, do której, między innymi, należy RTC, BOD.    

Rys. 8. Stany uśpienia.

 

 

stan

 

 

SleepWalking

Kolejną funkcjonalnością przeniesioną z AVR jest SleepWalking. Funkcjonalność ta daje możliwość, aby wybrane peryferia mogły wysłać żądanie wystawienia sygnału zegara, aby wykonać zadanie bez udziału CPU, w trybie Standby. W przypadku SAML21 zostało to wzbogacone o współpracę z power domain. Oznacza to, że zasilanie do danej power domain będzie dostarczone, gdy któryś z elementów tego potrzebuje do pracy. Kiedy zadanie jest wykonane, mikrokontroler może zostać wybudzony do stanu aktywnego, bądź tez pozostać w Standby, tak jak pokazuje to poniższy rysunek.

Rys. 9. SleepWalking

 

 sleep

Zasilanie bateryjne

SAML21, jak wspomniano na początku, został zaprojektowany tak, aby mógł pracować w aplikacjach, gdzie zasilanie, z reguły, jest bateryjne. Dlatego też wyposażony został w szereg funkcjonalności wspomagających inżyniera w procesie optymalizacji zużycia energii, które zostały opisane powyżej. Dodatkowo układ posiada Battery Backup Power Switch (BBPS). Jest to automatyczny przełącznik źródła zasilania, pomiędzy baterią (VBAT) a głównym zasilaniem (VDDIN). Przełączenie na zasilanie bateryjne odbywa się gdy napięcie zasilania spadnie poniżej 1.75 V lub poniżej progu BOD33. Układ wraca do zasilani głównego gdy napięcie wzrośnie do 1,85V lub zostanie to wymuszone poprzez pin PSOK (Main Power Supply OK).

Rys. 10. Battery Backup Power Switch.

 

saml21

 

Peryferia SAM L21

  • 16-kanałów Direct Memory Access Controller (DMAC)
  • 12-kanałów Event System
  • Do pięciu rozbudowanych 16-bit Timer/Counters (TC) w tym low-power TC,
  • Dwa 24-bit oraz jeden 16-bit Timer/Counters for Control (TCC)
  • 2-bit Real Time Counter (RTC) z funkcją kalendarza
  • Watchdog Timer (WDT)
  • CRC-32 generator
  • Interfejs full-speed (12Mbps) Universal Serial Bus (USB) 2.0 (host oraz device)

•       Do sześciu Serial Communication Interfaces (SERCOM), w tym jeden low-power SERCOM. Każdy z nich można skonfigurować jako: USART, I2C do 3.4MHz, SPI, LIN slave

  • AES encryption engine
  • True Random Generator (TRNG)
  • Jednostka logiczna: Configurable Custom Logic (CCL)
  • 12-bit, 1MSPS Analog-to-Digital Converter (ADC) do 20 kanałów
  • Dwa 12-bit, 1MSPS Dual Output Digital-to-Analog Converter (DAC)
  • 2 komparatory analogowe (AC)
  • 3 wzmacniacze operacyjne (OPAMP)
  • Moduł obsługi przycisków pojemnościowych Peripheral Touch Controller (PTC)

AES (Advanced Encryption Standard)

Zwracamy również uwagę na moduł AES (Advanced Encryption Standard), który poza standardowymi funkcjami, został zabezpieczony przed atakiem polegającym na analizie poboru prądu. Domyślnie wszystkie cztery poniższe tryby są włączone (można wyłączyć jeden lub kilka z trybów):

  • osowe dodawanie jednego cyklu przy przetwarzaniu danych,
  • losowe dodawanie jednego cyklu przy przetwarzaniu danych (inna wersja),
  • dodawanie losowej liczby cykli przy przetwarzaniu danych,
  • dodawanie losowego zużycia energii podczas przetwarzania danych.

Wsparcie

Wraz z nową rodziną w ofercie pojawił się zestaw ewaluacyjny ATSAML21-XPRO-B.

zestaw

 

Cała rodzina SAML21 wspierana jest przez bezpłatne środowisko Atmel Studio 6 oraz Atmel Software Framework (ASF). Znaleźć tam można setki przykładowych programów, a także sterowniki peryferiów. 

A tutaj przykład zasilania SAML21 energią dłoni:

 

Cykl edukacyjny „Lider Technologii Smart IoTJM elektronik z Atmelem

Z pomocą specjalistów producenta – firmy Atmel – oraz oficjalnego dystrybutora Atmel na Polskę –JM elektronik – można stać się ekspertem technologii inteligentnych, tak szybko rozpowszechniających się obecnie na rynku elektroniki. Cykl artykułów, webinariów i warsztatów pokaże bogactwo układów opartych o rdzeń Cortex-M0+ oraz Cortex-M7, dedykowanych dla rynku tzw. Internetu Rzeczy, czyli Internet Of Things (IoT).

Cykl „Lider Technologii Smart IoT” rozpoczyna szereg publikacji:

 

  • podstawowa rodzina Cortex-M0+: SAMD20,
  • Cortex-M0+ z interfejsem USB: SAMD21,
  • Cortex-M0+ w małych obudowach: SAMD/10/11,
  • najbardziej energooszczędny Cortex-M0+ na rynku: SAML21,
  • 5V Cortex-M0+ z CAN : SAMC20/C21,
  • wybrane peryferia Cortex-M0+: komunikacja bezprzewodowa, przyciski pojemnościowe, LCD,
  • platforma Cortex-M7 – wprowadzenie,
  • wybrane peryferia Cortex-M7.

Nie przegap kolejnych artykułów!

Osoby zainteresowane śledzeniem kolejnych artykułów edukacyjnych oraz następujących po nich webinariów proszone są o zgłoszenie się do listy subskrypcyjnej cyklu pod adres marketing@jm.pl z dopiskiem: Cykl edukacyjny „Lider Technologii Smart IoT”.

Ozdobna grafika stopki
System B2B by

Używamy informacji zapisanych za pomocą cookies i podobnych technologii m.in. w celach statystycznych oraz w celu dostosowania naszego sklepu do indywidualnych potrzeb klientów. W programie służącym do obsługi internetu można zmienić ustawienia dotyczące cookies. Korzystanie z naszego sklepu internetowego bez zmiany ustawień dotyczących cookies oznacza, że bedą one zapisane w pamięci urządzenia. Więcej informacji można znaleźć w naszej polityce prywatności