© beisea dreamstime.com
Komponenty |
Atmel dla Internet of Things : część IV
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.
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.
- 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)
- 32-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)
- losowe 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.