Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na...

27
2018-10-16 1 Projektowanie energooszczędnych systemów wbudowanych dr inż. Ireneusz Brzozowski C-3, p. 512 WIET KATEDRA ELEKTRONIKI Elektronika i Telekomunikacja, Systemy Wbudowane www.agh.edu.pl EiT 2018/19 Projektowanie energooszczędnych systemów wbudowanych Energooszczędny mikrokontroler na przykładzie EFM32GG, Silicon Labs (http://www.silabs.com) Wstęp – mikroprocesor, mikrokontroler Energooszczędne mikrokontrolery EFM32 Silicon Labs Energooszędność Tryby pracy Giant Gecko Architektura EiT 2018/19 2

Transcript of Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na...

Page 1: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

1

Projektowanie energooszczędnych systemów wbudowanych

dr inż. Ireneusz Brzozowski

C-3, p. 512

WIET KATEDRA ELEKTRONIKI

Elektronika i Telekomunikacja, Systemy Wbudowane

www.agh.edu.pl EiT 2018/19

Projektowanie energooszczędnych systemów wbudowanych

Energooszczędny mikrokontroler na przykładzie EFM32GG, Silicon Labs

(http://www.silabs.com)

Wstęp – mikroprocesor, mikrokontroler

Energooszczędne mikrokontrolery

EFM32 Silicon Labs

Energooszędność

Tryby pracy Giant Gecko

Architektura

EiT 2018/19 2

Page 2: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

2

EiT 2018/19 3

Mikroprocesor – definicja

Mikroprocesor to synchroniczny automat sekwencyjny

realizujący dołączony z zewnątrz program i jest wykonany jako

pojedynczy układ scalony (wielkiej skali integracji – VLSI)

Mikroprocesor to układ cyfrowy wykonany jako pojedynczy

układ scalony o wielkim stopniu integracji (ULSI) zdolny do

wykonywania operacji cyfrowych według dostarczonego ciągu

instrukcji. (Wikipedia – https://pl.wikipedia.org)

A microprocessor is a computer processor which incorporates

the functions of a computer's central processing unit (CPU) on a

single integrated circuit (IC), or at most a few integrated circuits. The microprocessor is a multipurpose, clock driven, register based,

programmable electronic device which accepts digital or binary data as

input, processes it according to instructions stored in its memory, and

provides results as output. Microprocessors contain both combinational logic

and sequential digital logic. (Wikipedia – https://en.wikipedia.org)

EiT 2018/19 4

Mikroprocesor – budowa

Jednostka wykonawcza EU (Execution Unit), która

przetwarza informacje wykonując wszelkie operacje

arytmetyczne i logiczne.

jednostka arytmetyczno-logiczna ALU,

zestaw rejestrów

Jednostka sterująca CU (Control Unit),

która określa rodzaj wykonywanych operacji

rejestry

części

wykona-

wczej

ALU

rejestr

rozkazów

dekoder

rozkazów

DANE

PROGRAM

WYNIKI

ZEW.SYG.STER

EU – jednostka wykonawcza

CU – jednostka sterująca

układ

sterowania

wewn. sygn. sterujące

Page 3: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

3

EiT 2018/19 5

Mikroprocesor – budowa

http://eduinf.waw.pl/inf/alg/002_struct/0055.php

EiT 2018/19 6

Mikroprocesor – działanie

Cykl zegara – wiadomo

Cykl maszynowy – pojedynczy cykl dostępu do

pamięci lub urządzenia we-wy lub akceptacji

przerwania. Składa się z kilku cykli zegarowych.

Cykl rozkazowy – czas potrzebny do pełnego

wykonania instrukcji od jej pobrania do zrealizowania,

jeden lub kilka cykli maszynowych.

Page 4: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

4

EiT 2018/19 7

Mikroprocesor – działanie

Wykonanie rozkazu:

pobranie rozkazu z pamięci do IR (instruction register)

dekodowanie rozkazu

pobranie argumentów (lub nie jeśli nie trzeba)

wykonanie

zapis wyników

EiT 2018/19 8

Mikroprocesor – architektura

model programowy procesora (ang. Instruction Set Architecture)

zestaw instrukcji procesora oraz inne jego cechy istotne

z punktu widzenia programisty, bez względu na ich

wewnętrzną realizację; stanowi granicę pomiędzy

warstwą sprzętową a programową

mikroarchitektura procesora (ang. microarchitecture)

wewnętrzna, sprzętowa implementacja danego modelu

programowego, określająca sposób wykonywania

operacji przez procesor, szczegółowa budowa

wewnętrzna procesora itd.

https://pl.wikipedia.org

Page 5: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

5

EiT 2018/19 9

Mikroprocesor – architektura

Podział (1):

Organizacja pamięci (magistral)

architekturę von Neumanna

– dane i program są przechowywane w tym samym

bloku pamięci;

architekturę harwardzką

– dane i program są przechowywane w oddzielnych

pamięciach;

architekturę mieszaną

– połączenie dwóch powyższych typów: oddzielne

pamięci rozkazów i danych, ale wspólne magistrale.

EiT 2018/19 10

Mikroprocesor – architektura

Architektura von Neumanna

MIKROPROCESOR RD

WR

PAMIĘĆ

DANYCH

PAMIĘĆ

PROGRAMU

MAGISTRALA DANYCH

MAGISTRALA ADRESOWA

• Wspólna przestrzeń

adresowa pamięci danych i

programu

• Wspólne magistrale:

danych, adresowa i

sterująca

Page 6: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

6

EiT 2018/19 11

Mikroprocesor – architektura

Architektura harwardzka

MIKROPROCESOR

PAMIĘĆ

DANYCH

PAMIĘĆ

PROGRAMU

MA

GIS

TR

AL

A A

DR

ES

OW

A

• Osobna przestrzeń

adresowa pamięci dla

danych i programu

• Osobne magistrale danych,

adresowe i sterujące

MA

GIS

TR

AL

A D

AN

YC

H

MA

GIS

TR

AL

A A

DR

ES

OW

A

MA

GIS

TR

AL

A D

AN

YC

H

EiT 2018/19 12

Mikroprocesor – architektura

Architektura mieszana (harwardzka zmodyfikowana)

MIKROPROCESOR RD

WR

PAMIĘĆ

DANYCH

PAMIĘĆ

PROGRAMU

MAGISTRALA DANYCH

MAGISTRALA ADRESOWA

• Wspólne magistrale:

danych, adresowa i

sterująca.

• Rozdzielona przestrzeń

adresowa pamięci danych i

programu, dzięki osobnym

sygnałom sterującym

PSEN

Page 7: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

7

EiT 2018/19 13

Mikroprocesor – architektura

Podział (2):

Złożoność instrukcji

CISC (ang. Complex Instruction Set Computer) – bogaty zestaw instrukcji o dużych możliwościach,

RISC (ang. Reduced Instruction Set Computer) – prostszy i mniejszy zestaw instrukcji,

VLIW (ang. Very Long Instruction Word) – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode,

MISC (ang. Minimal Instruction Set Computer) – minimalny zestaw instrukcji,

ZISC (ang. Zero Instruction Set Computer) – zerowy zestaw instrukcji.

https://pl.wikipedia.org

EiT 2018/19 14

Mikroprocesor – architektura

Cechy architektury CISC:

stosunkowo duża liczba rozkazów (instrukcji),

występowanie złożonych, specjalistycznych rozkazów, które

czasami wymagają dużej liczby cykli maszynowych,

zmienna liczba cykli rozkazowych,

szeroka gama trybów adresowania (skomplikowana

konstrukcja dekoderów adresu).

Wady architektury CISC:

długa lista rozkazów - część z nich jest rzadko używana,

zbyt dużo czasu traci się na operacje przepisania z pamięci

do rejestrów i odwrotnie,

wolna praca dekodera rozkazów ze względu na dużą liczbę

instrukcji i trybów adresowania,

ogólnie mała efektywność w obliczeniach numerycznych.

Page 8: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

8

EiT 2018/19 15

Mikroprocesor – architektura

Cechy architektury RISC:

zredukowana liczba rozkazów i trybów adresowania (dzięki

temu kody rozkazów są prostsze i bardziej zunifikowane, co

upraszcza dekoder rozkazów),

ograniczenie komunikacji pomiędzy pamięcią, a

procesorem,

przetwarzanie potokowe (wykonanie rozkazu w jednym

cyklu maszynowym),

większa liczba rejestrów.

Wady architektury RISC:

duża liczba rozkazów w kodzie,

konieczne szybkie przesyłanie rozkazów z pamięci

(motywacja dla rozwoju pamięci podręcznej).

EiT 2018/19 16

Mikroprocesor – architektura

Porównanie CISC – RISC

parametr Typowy CISC Typowy RISC

liczba rozkazów kilkaset kilkadziesiąt

maksymalna długość rozkazu kilkadziesiąt bajtów kilka bajtów

liczba formatów rozkazów kilkadziesiąt kilka

liczba trybów adresowania kilkadziesiąt kilka

adresowanie pośrednie tak nie

liczba cykli masz. na rozkaz kilka jeden

Page 9: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

9

EiT 2018/19 17

System mikroprocesorowy

Cel: przetwarzanie informacji

SYSTEM

MIKROPROCESOROWY DANE

PR

OG

RA

M

WYNIK

EiT 2018/19 18

System mikroprocesorowy

Definicja „obrazkowa” Cel: przetwarzanie informacji

Page 10: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

10

EiT 2018/19 19

Mikrokontroler – definicja

Mikrokontroler (MCU, μC, uC ang. microcontroller),

mikrokomputer jednoukładowy –

scalony system mikroprocesorowy,

zrealizowany w postaci pojedynczego układu scalonego

zawierającego jednostkę centralną (CPU), pamięć RAM

oraz rozbudowane układy wejścia-wyjścia i na ogół

pamięć programu jako FRAM, MRAM, ROM lub Flash.

Określenie mikrokontroler pochodzi od głównego obszaru jego

zastosowań, jakim jest sterowanie urządzeniami elektronicznymi,

takimi jak: urządzenia biurowe, urządzenia medyczne (w tym

implanty), zdalnego sterowania, elektronarzędzia, systemy

sterowania silnikami samochodowymi, a nawet zabawki i inne

systemy wbudowane.

https://pl.wikipedia.org

EiT 2018/19 20

Mikrokontrolery EFM32 Silicon Labs

Optymalizacja zużycia energii

Jak osiągnąć redukcję?

Page 11: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

11

EiT 2018/19 21

Mikrokontrolery EFM32 Silicon Labs

Jak osiągnąć redukcję konsumpcji energii?

Bardzo mały pobór mocy dynamicznej

Bard

zo kró

tki czas w

ybu

dzan

ia

Autonomiczne peryferia

Tryby

energetyczn

e

• Elementy elektroniczne

• Sprzętowe moduły funkcjonalne

• System zasilania

• Energooszczędna pamięć

EiT 2018/19 22

EFM32 Silicon Labs – redukcja poboru mocy

Bardzo mały pobór mocy dynamicznej – ograniczenie

aktywności (odpowiednia architektura) – przy

częstotliwości pracy 32MHz i napięciu zasilania 3V

mikrokontroler pobiera tylko 150µA/MHz

Page 12: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

12

EiT 2018/19 23

EFM32 Silicon Labs – redukcja poboru mocy

Zredukowany czas przetwarzania – dzięki zastosowaniu

32-bitowego rdzenia Cortex-M.

Mała liczba taktów zegara na wykonanie zadania –

mniejsza aktywność układu.

EiT 2018/19 24

EFM32 Silicon Labs – redukcja poboru mocy

Bardzo krótki czas wybudzania pomiędzy stanem

głębokiego uśpienia a stanem aktywnym – czas

mniejszy niż 2 µs powoduje niezauważalne zużycie

energii

Page 13: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

13

EiT 2018/19 25

EFM32 Silicon Labs – redukcja poboru mocy

Ultra mała upływność (straty statyczne) – technologia

niskoenergetyczna (low-power) i zarządzanie mocą

(power-management)

EiT 2018/19 26

EFM32 Silicon Labs – redukcja poboru mocy

Autonomiczne peryferia, które mogą pracować bez

udziału mikroprocesora, pozostawiając go uśpionym

lub wyłączonym

Page 14: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

14

EiT 2018/19 27

EFM32 Silicon Labs – redukcja poboru mocy

„Refleksyjny” system peryferii – zarządza pracą

autonomicznych peryferii , co pozwala na

bezpośrednie łączenie układów zewnętrznych bez

udziału mikroprocesora, który może być uśpiony.

EiT 2018/19 28

EFM32 Silicon Labs – redukcja poboru mocy

Tryby pracy niskoenergetycznej – dużo (aż 5) dobrze

zaprojektowanych trybów pracy.

Page 15: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

15

EiT 2018/19 29

EFM32 Silicon Labs – tryby niskoenergetyczne

EFM32 with 3 V power supply.

Real application from memory.

EMO

Run Mode

EM1

Sleep Mode

EM2

Deep Sleep

EM3

Stop Mode

EM4

Shutoff Mode

Current Consumption Down to 63

µA/MHz

Down to 32

µA/MHz Down to 0.9 µA Down to 0.6 µA Down to 20 nA

Wake-up Time - 0 2 µs 2 µs 160 µs

Wake-up Events Any Any 32 kHZ

Peripherals

Async IRQ,

12C Slave

Analog

Comparators

Voltage

Comparators

Reset,

GPIO

Rising/Failing

Edge

CPU (Cortex-M3/M0) On - - - -

High Frequency Peripherals Available Available - - -

Low Frequency Peripherals Available Available - - -

Asynchronous Peripherals Available Available Available Available -

Full CPU and SRAM Retention On On On On -

Power-on Reset/Brown-out Detector On On On On On

EiT 2018/19 30

EFM32 Silicon Labs – redukcja poboru mocy

Niskoenergetyczny interfejs czujników (LESENSE) –

autonomicznie monitoruje analogowe czujniki i

wybudza mikroprocesor w razie potrzeby

Page 16: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

16

EiT 2018/19 31

Dlaczego „gekon” ?

Gekony to prymitywne jaszczurki, które niemal do

perfekcji opanowały oszczędzanie energii.

Zużywają ok. 10 % energii w porównaniu ze ssakami o

podobnej wielkości.

Potrafią pozostać długi czas bez ruchu, obniżając

temperaturę ciała, ale będąc czujnymi, aby gdy nadejdzie

okazja szybko się obudzić i upolować ofiarę.

Sposób pisania aplikacji

energooszczędnych „energy friendly

Gecko technology”

EiT 2018/19 32

Zasady oszczędzania energii

Podstawowe zasady:

użyć właściwe tryby pracy (energetyczne),

wykorzystać nisko-energetyczne peryferia,

wyłączyć nieużywane moduły i peryferia,

zablokować sygnał zegarowy od nieużywanych

modułów i bloków,

zmniejszyć częstotliwość pracy,

zredukować napięcie zasilania.

Energia E = P t

Należy pamiętać, że:

zmniejszenie mocy może skutkować znacznym

wydłużeniem czasu realizacji zadania, a w efekcie

zwiększeniem zużycia energii. Trzeba dążyć do

zmniejszenia iloczynu: MOC x CZAS (czyli energii)

np.:

P t < 0,5 P 3 t

Page 17: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

17

EiT 2018/19 33

Wybierz właściwy tryb pracy

Najbardziej efektywnym sposobem redukcji energii jest

pozostawanie rdzenia mikrokontrolera w trybie

aktywnym przez taki okres czasu, jaki jest wymagany do

realizacji zadania.

Mikrokontrolery EFM32 posiadają 5 trybów pracy

(Energy Modes), tak zaprojektowanych, że aplikacja

zawsze może znaleźć się w stanie optymalnym.

EiT 2018/19 34

Wybierz właściwy tryb pracy

Ogólnie:

im głębsze „uśpienie” tym mniejsze zużycie energii

przez mikrokontroler.

Jednakże oszczędność energii ma swoją cenę –

wybudzenie z głębszego snu wymaga więcej czasu.

Na czas wybudzenia mają wpływ m.in.:

Histerezy i opóźnienia w układzie wybudzającym,

Start i stabilizacja układu zażądania mocą

Restart i stabilizacja sygnału zegarowego,

Odtworzenie rejestrów i wewnętrznej konfiguracji procesora,

Odtworzenie pamięci systemowej,

Obsługa przerwania wybudzającego procesor.

Page 18: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

18

EiT 2018/19 35

Używaj energooszczędnych peryferii

Aplikacja, stosownie do wymagań,

powinna używać energooszczędne peryferia,

o ile ich parametry są wystarczające.

W EMF32 jest wiele energooszczędnych peryferii, które

są dostępne w różnych trybach pracy.

Niech te układy pracują, a jednostka centralna będzie

uśpiona, albo realizuje inne operacje.

Przykładowo:

Wykorzystać RTC i uśpić procesor, zamiast bezczynnie czekać,

Użyć DMA do transferów danych pomiędzy pamięcią, a innymi

układami,

Zastosować nisko-energetyczny interfejs czujników (LESENSE)

do monitorowania czujnika, zamiast odpytywania przez procesor.

EiT 2018/19 36

Wyłącz zbędne urządzenia

W każdym mikrokontrolerze są jakieś nieużywane

urządzenia w danej chwili – wyłącz zbędne!

Jeżeli jakieś moduły są używane przez pewien okres

czasu, a potem czekają, to też je wyłącz na ten czas

(np. praca ADC z pewnym interwałem czasowym).

To samo dotyczy też CPU (ale o tym już była mowa).

Należy pamiętać o czasie wybudzania urządzeń.

Page 19: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

19

EiT 2018/19 37

Zablokuj sygnał zegarowy

Nie zapomnij zablokować zegara dla

wyłączonych urządzeń.

Sygnał zegarowy doprowadzony do wyłączonych układów

też będzie powodował konsumpcję energii (przeładowanie pojemności pasożytniczych linii i wejściowych tych układów)

W EFM32 za zarządzanie zegarem odpowiada układ

zarządzania zegarem (Clock Management Unit – CMU).

EiT 2018/19 38

Zmniejsz częstotliwość zegara

Pobór mocy zależy wprost proporcjonalnie od

częstotliwości:

2 dddyn VCfP

W ogólności zadanie lub moduł powinny pracować z możliwie

najniższą częstotliwością, tak aby osiągnąć założony cel.

Np. timer odmierzający czas w ms nie musi być taktowany

częstotliwością w MHz, wystarczy w kHz (chyba, że wymagana jest

duża precyzja).

Page 20: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

20

EiT 2018/19 39

Częstotliwość zegara CPU

I:

Częstotliwość powinna

być tak mała, żeby CPU

nie pracował w stanie

jałowym, żeby nie czekał

(robił coś pożytecznego)

II:

Częstotliwość jest duża,

CPU szybko wykonuje

zadanie, a potem jest

usypiany i czeka na

następne zadanie.

W wielu przypadkach drugie podejście jest lepsze,

zwłaszcza, gdy zadania pojawiają się losowo.

A jeśli nawet zadania są okresowe, to w drugim (II)

przypadku mniejsze będą straty statyczne.

EiT 2018/19 40

Zmniejsz napięcie zasilania

W EMF32 można zmniejszyć napięcie zasilania

w dopuszczalnych granicach określonych w danych

katalogowych poszczególnych mikrokontrolerów.

Pobór mocy zależy od kwadratu napięcia zasilania:

2 dddyn VCfP

Page 21: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

21

EiT 2018/19 41

32-bitowe mikrokontrolery Silicon Labs

EiT 2018/19 42

Mikrokontroler EFM32 Giant Gecko

Page 22: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

22

EiT 2018/19 43

EMF 32 i jego tryby energetyczne

Tryby energetyczne: EM0, EM1, EM2, EM3, EM4

Przełączanie trybów jest łatwe za pomocą funkcji z biblioteki emlib

EiT 2018/19 44

Tryb energetyczny EM0

Page 23: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

23

EiT 2018/19 45

Tryb energetyczny EM0

Run Mode (Energy Mode 0)

Tryb podstawowy (domyślny) – mikrokontroler

wykonuje program z pamięci RAM lub FLSH,

wszystkie zasoby (peryferia) są dostępne.

Pobór mocy: 180 µW/MHz

EiT 2018/19 46

Tryb energetyczny EM1

Page 24: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

24

EiT 2018/19 47

Tryb energetyczny EM1

Sleep Mode (Energy Mode 1)

Tryb uśpienia – zablokowany zegar CPU ale nie

wyłączony, wszystkie peryferia i pamięci są dostępne.

Szybkie peryferia: DMA, UART/USART, ADC, DAC i AES

mogą pracować autonomicznie dzięki modułowi autonomicznej

komunikacji między peryferiami PRS (Peripheral Reflex System).

Również RAM jest aktywny i dostępny dla DMA.

Rejestry mikrokontrolera są zachowane – bardzo szybkie wybudzanie.

Pobór mocy: 45 µW/MHz (inni 200 µW/MHz).

Powrót do stanu aktywnego: 1 cykl zegara.

Wejście: instrukcja:"Wait for Interrupt (WFI)" lub

"Wait for Event (WFE)„

bilbioteka emlib: EMU_EnterEM1()

EiT 2018/19 48

Tryb energetyczny EM2

Page 25: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

25

EiT 2018/19 49

Tryb energetyczny EM2

Deep Sleep Mode (Energy Mode 2)

Tryb głębokiego uśpienia – wyłączony zegar dużej

częstotliwości, jego urządzenia i inne mniej ważne,

dostępne są tylko najważniejsze.

Zegar niskiej częstotliwości (32,768 kHz) jest włączony i

niektóre nisko-energetyczne funkcje są dostępne, tj:

sterownik ELCD, RTC, WatchDog, Timer, LeUART, interfejs

dotykowy, I2C i USB, oraz Power-on i detektor Brown-out.

Pełne zachowane rejestrów i pamięci RAM – szybki powrót.

Pobór mocy: 0,9 µA (inni ok. 1050 µA).

Powrót do stanu aktywnego: 2 µs.

Wejście: instrukcja: po ustawieniu bitu SLEEPDEEP

instrukcja WFI lub WFE

bilbioteka emlib: EMU_EnterEM2() lub EMU_EnterEM2(bool restore)

EiT 2018/19 50

Tryb energetyczny EM3

Page 26: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

26

EiT 2018/19 51

Tryb energetyczny EM3

Stop Mode (Energy Mode 3)

Tryb zatrzymania – „głębsza” wersja EM2, wyłączone

zegary dużej i małej częstotliwości (z wyj. ULFRCO

dla WatchDog), dostępne są tylko niektóre peryferia.

Dostępne są np.: WatchDog, pin przerwania asynchronicznego,

komparator analogowy, komparator napięcia, pracuje RTC,

licznik impulsów, itp.

Pełne zachowane rejestrów i pamięci RAM – szybki powrót.

Pobór mocy: 0,6 µA (inni ok. 1030 µA).

Powrót do stanu aktywnego: 2 µs.

Wejście:

instrukcja: tak jak EM2, po „ręcznej” blokadzie

zegara niskiej częst.

bilbioteka emlib: EMU_EnterEM3()

lub EMU_EnterEM3(bool restore)

EiT 2018/19 52

Tryb energetyczny EM4

Page 27: Straty mocy w cyfrowych układach VLSI - Scalak · Organizacja pamięci ... – pozwala na łączenie wielu prostych instrukcji w jeden wielki opcode, ... Sygnał zegarowy doprowadzony

2018-10-16

27

EiT 2018/19 53

Tryb energetyczny EM4

Shut Off Mode (Energy Mode 4)

Tryb wyłączenia – „prawie nieżywy”, wszystko wyłączone

poza elementami pozwalającymi na wybudzenie.

Działają: układ monitorowania przerwań na wej. Reset i GPIO

wake-up, oraz Backup Real-Time Counter (BURTC). „Zimny start” – ładowanie wszystkich rejestrów, start i stabilizacja

zegarów (HFCO) – to wymaga czasu.

Podtrzymanie 512 bajtów RAM.

Pobór mocy: 20 nA (400 nA z RTC), inni ok. 1,5 µA.

Powrót do stanu aktywnego: 160 µs.

Wejście: instrukcja: 4-krotny zapis 0x3 i 0x2 do

rejestru EM4CTRL

bilbioteka emlib: EMU_EnterEM4()

EiT 2018/19 54

Przełączanie trybów energetycznych

Rejestry:

GPIO_EM4WUEN

GPIO_EM4WUPOL