Podprůrné a dohléžecí obvody, zdroje hodinového signálu

Podprůrné a dohléžecí obvody, zdroje hodinového signálu
Přednáška 7, 8
Generátory hodinového signálu a dohlížecí obvody
ve vest. systémech
2014, kat. měření, ČVUT - FEL, Praha
J. Fischer
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
1
Náplň přednášky
Zdroje hodinového signálu
krystalový oscilátor
systém hodinových signálů v procesoru
RTC – obvod reálného času
řízení proudového odběru vestavěného systému
RESET, použití
dohlížecí obvod Watch dog
Poznámka: v přednášce se pro vysvětlení používají příklady bloků a obvodů , jak
jsou v STM32. Jsou však voleny takové bloky a příklady, že z jejich pochopení a
znalosti je pak možno se již rychle orientovat i v blocích jiných procesorů
podobné úrovně-
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
2
Generátor hodinového signálu
Jedna ze základních podmínek činnosti procesoru – přítomnost stabilního
hodinového signálu – taktování činnosti procesoru
Procesory „dynamický návrh“ - je určena nejvyšší a také nejnižší frekvence
hodinového signálu, často – signálové procesory, viz katalog.
procesory „statický návrh“ - není dolní mez frekvence.
(možný pokus AT89C51 – hodinový signál jednotky Hz nebo i pomocí obvodově
ošetřeného tlačítka – sledování činnosti na sběrnicích)
(U procesorů s PLL takový experiment není možný, PLL – fázový závěs- viz dále)
Činnost procesoru přímo v „rytmu“ vnějšího hod. signálu (různé 8- bitové CPU
8051, AT AVR, AT – Mega,..)
Vnější, vnitřní obvod XTAL oscilátoru (XTAL je vždy vně procesoru)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
3
Generátor hodinového signálu
Vnější obvod XTAL oscilátoru (XTAL je vždy vně procesoru)
Invertor CMOS, zpětnovazební rezistor – obvod v lin. oblasti (jako zesilovač)
doplnění vnějším krystalovým rezonátorem (XTAL) určujícím frekvenci
potřebné kondenzátory C1, C2 – podle výrob. kryst., typ. 22 pF(12 až 33 pF)
malá závislost frekvence na velikosti kapacit
zpětnovazební rezistor – často vnitřní, někdy vnější ( typicky Megaohm)
Tlumicí rezistor (R1), snížení výkonu, kterým je buzen krystal, někdy je potřeba
pro optimální činnost oscilátor, obzvláště u - XTAL pro malé frekvence
Náběh XTAL oscilátoru – postupně,
není okamžitý rozběh
(viz. tSU- start up time) jednotky ms
RF= 10M
UCC
in
out
R1
400
C1
XTAL 8 MHz
C2
C1 ,C2- 12 - 33 pF
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
4
Generátor hod. signálu s piezokeremickým rezonátorem
V katalogu STM32F1xx je heslo:
High-speed external clock generated from a crystal/ceramic resonator
co to je „ ceramic resonator“?
Piezokeramický rezonátor levné (ale méně dokonalé) řešení –
XTAL oscilátor – přesně definovaná frekvence, malé změny f s teplotou
Piezokeramický rezonátor, nepřesné a nestabilní - změna frekvence s
teplotou (podobné piezoker. rezonátory používány např. ve formě
piezokeramických filtrů v rozhlas. přijímači 10,7 MHz filtr)
Piezokeramický rezonátor - jako levná alternativa oproti XTAL,
(viz staré FD mechaniky 5,25 – keram.
rezonátor v oscilátoru 450 kHz)
RF= 10M
UCC
in
out
R1
400
C1
XTAL 8 MHz
C2
C1 ,C2- 12 - 33 pF
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
5
Krystaly s třetí harmonickou
Krystaly pro oscilátory – pozn.
obvykle používané krystaly pro oscilátor – na základní harmonické,
fundamental mode,
Krystal pro oscilátor na 3 harmonické, pozor např. může být krystal 24 MHz,
někdy označení 3 rd
značí frekvenci 24 MHz, pokud je zapojen v obvodu s úpravou pro kmitání na
3.harmonické, „Overtone crystal oscilator“, může také chybně kmitat na
(nechtěné) základní harmonické 8 MHz
Bývá problém u krystalů na vyšší frekvence – např. na 40 MHz a vyšší,
nutno doplnit pomocné laděné obvody (tank) , zajišťující, že oscilátor bude kmitat
3. harmonické, laděný obvod způsobí, že zesílení celého obvodu pro základní
harmonickou je menší, než pro 3. harmonickou
Krystalový oscilátor – kompaktní blok obsahující krystal a elektronické
obvody, kovové pouzdro – obdélník, napájení a výstup 5V, 3,3V , viz starší
videokarty, síťové karty
pozor - nové oscilátory- SMD pouzdro – malý obdélník, stejné pouzdro i
krystaly v SMD provedení ( SMD povrchová montáž)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
6
Buzení procesoru vnějším hodinovým signálem
Ideové schéma XTAL- oscilátoru (výklad – kontrola
činnosti oscilátoru – osciloskopická sonda??)
RF= 10M
UCC
in
out
R1
400
vstup vnějšího hod. signálu
C1
XTAL 8 MHz
C2
– pro synchronní činnost procesorů,pro návaznost
C1 ,C2- 12 - 33 pF
činnosti procesoru na vnější obvod
(výklad na před. - 89C51 činnost s generátorem
PLL navázaným na videosignál – konstantní počet instrukcí na TV řádek,
synchronní činnost CPU s videosignálem, vkládání grafiky do videsignálu)
vstup ext. hod. signálu, volby správné úrovně
(pozor. vstupy osc. nebývají „5 V tolerantní“ !!)
CLK
'HC04
XTAL
osc. in
XTAL
osc. out
CMOS
uP
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
7
HSE oscilátor STM32
HSE High Speed External oscilator
Parametry oscilátoru
rozmezí frekvencí
doba náběhu tSU
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
8
LSE oscilátor v STM 32F1xx
LSE - Low Speed External oscilátor
32 768 Hz ( 215 Hz vydělení 15 bitovým čítače m, sekundové impulsy)
pamatovat si tuto frekvenci, používáno u většiny souč. uPproc, pro RTC)
v STM 32 použití pro RTC – Real Time Clock – obvod reálného času
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
9
Vstup vnějšího hodinového signálu
Vstup vnějšího hod. signálu – pro synchronní činnost procesorů, pro
návaznost činnosti procesoru na vnější obvod (výklad na před. - 89C51
činnost s generátorem PLL navázaným na videosignál – konstantní počet
instrukcí na TV řádek, synchronní činnost CPU s videosignálem, v kládání
grafiky do videsignálu)
vstup ext. hod. signálu,
volba správné úrovně
CLK
XTAL1
'HC04
XTAL2
CMOS
uP
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
10
Vstup vnějšího hod. signálu do HSE STM32
Omezený rozsah frekvencí
krystalu XTAL, ale
vnější signál HSE (0 – 25 MHz)
pozor VHSEmax !!
( pin není + 5 V tolerantní)
fHSE_ext frekvence hodinového
signálu z externího zdroje
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
11
Vstup hod signálu do obvodu LSE v STM 32F1xx
Pokud vnější oscil.
32768 Hz přesnější
– možno použít vstup vnějšího hod.
signálu do STM3F1x.,
příp. více procesorů .
stejný reálný čas
(„zamezení rozbíhání hodinek“)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
12
Výstup hod. signálu z XTAL oscilátoru
Potřeba vyvést hodinový signál z XTAL oscilátoru
příklad – vyvedení hod. signálu z ADSP BF533 XTAL o frek. 20 MHz.
pozor – ovlivnění obvodu oscilátoru !!!
R2 10M
krátké spoje, malá kapacita, příp. použít
CLK
Ucc
i oddělovací rezistor na začátku vedení
R1
400
XTAL
XTAL2
XTAL1
C1
27 pF
27 pF
C2
27 pF
XTAL1
XTAL2
27 pF
vyvedení osc. signálu (příklad ADSP BF533,..)
ale i STM32F0 Discovery kit
( 8 MHz z debug procesoru do aplikačního procesoru)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
'AHC04
12 MHz
CLK
13
Výstup hodinového signálu v STM32
.
8MHz
HSI RC
/2
4 -16
MHz
OSC_OUT
x2...x16
PLL
HSE Osc
OSC_IN
PLLCLK
SYSCLK
up to 72
MHz
/2
SYSCLK
CSS
HSI
MCO
HSE
/2
PLLCLK
OSC32_IN
LSE OSc
/128
32.768KHz
RTCCLK
OSC32_OUT
~40KHz
LSI RC
IWDGCLK
Výstup hodinového signálu v STM32,
volba signálu – HSE – krystalový oscilátor,…
Využito v některých STM32 Discovery kitech, např. STM32L1 Discovery
„Debug“ procesor generuje hodinový signál pro aplikační procesor
Clock-out na MCO pinu (PA.08) u STM32F100 / možná frekvence max. 50MHz
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
14
Vnitřní generátory hodinového signálu typu RC
Interní RC generátor -, výklad, důvod, použití
Vnitřní RC generátor- na čipu realizace pouze v integr. struktuře Si .
Větší rozptyl hodnoty frekvence, řádově jednotky % (dáno výrobou)
Kalibrace oscilátoru RC – proces nastavení parametrů ( „doladění“ vnitřních
obvodů oscilátoru na správnou hodnotu). Pro Boot pomocí UART je potřeba
odchylka frekvence lepší než 3 %, pro USB ještě větší nároky na přesnost)
Možnost vzájemné kontroly funkce (vnější – vnitřní gener.)
Minimalizace nákladů – pro jednoduché aplikace – pouze vnitř. RC gener.
„Low pin count“ procesory (8 pin“ – problém věnovat 2 piny pro krystal, otázka
ceny)
Vyšší procesory – vnitřní generátor RC, vnější oscilátor XTAL
Pozor, pamatovat si: pokud je na čipu vnitřní generátor RC , mikroprocesor
začíná činnost po reset s tímto generátorem, v STM32 int. RC oscilátor HSI
high speed interní je aktivní po reset
Přepnutí na externí HSE Xtalový – až programově
? Jak se pozná činnost procesoru STM32 ( „žije – nežije“) ? proudový odběr,
reset, nebo boot + reset (výklad. na přednášce)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
15
Generátory typu RC a XTAL - srovnání
Interní RC oscilátor - menší proudový odběr než Externí XTAL oscilátor
otázka – přednáška - proč?
Interní RC oscilátor menší rušení – vyzařování (EMI) než Externí XTAL
oscilátor - proč??
Interní RC oscilátor, Externí oscilátor
kontrola, BackUP
pokud v STM32 vypadne HSE nastoupí HSI,
Spolehlivost funkce, bezpečnost zařízení
např.v standardu Class B (např. pro domácí „bílé zboží“, pračky,… ) nutnost
bezpečné funkce, ochrana uživatele, požadavek průběžné kontroly funkce
oscilátorů,…..
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
16
PLL - fázový závěs
PLL - Phase Lock Loop, založen na regulaci frekvence
( analogie – převody, dva bicykly)
bloky:
VCO - voltage controlled oscilator
napětím řízený oscilátor
1/n - dělička kmitočtu
loop filter – zesilovač odchylky, filtr
celé jako zpětnovazební regulátor
f2 = f1 . n
f1
loop
filter
f2 /n
VCO
f2
1/n
násobení základního kmitočtu
celým číslem n f2= f1 x n
násobení základního kmitočtu
necelým číslem n/m f2= f1 x n/m
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
f1
f2 = f1 .(n / m)
f1 /m
1/m
loop
filter
f2 /n
VCO
f2
1/n
17
Oscilátory s PLL
XTAL (krystalové) oscilátory s externím krystalem obvykle max. 40 MHz,
Max. 80 MHz – kompaktní oscilátor s el. obvody v pouzdře
??? Jak dosáhnout vyšší frekvence hod. signálu procesoru
Vnitřní oscilátor na frekvencích desítek, stovek MHz a výše,
dělička, porovnání s frekvencí XTAL oscilátoru, PLL
PLL – možno programově měnit frekvenci oscilátoru
jedna dělička, celistvý násobek frekvence XTAL
dvě děličky necelý násobek frekvence XTAL ( dělení frekvence XTAL i
příklad:
frekvence sig. vnitř. oscilátoru , fXTAL/ 2 = fOSC/ 3 --- 1,5 násobek
fOSC = fXTAL/ (3/2)= 1,5 x fXTAL
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
18
Generátory hod. signálu v STM32
Čtyři oscilátory
HSI – 8 MHz RC oscil., interní
HSE – XTAL – oscilátor XTAL
8MHz
HSI RC
/2
4 -16
MHz
LSI – 40 kHz int. oscilátor
LSE – externí osil. 32768 Hz
XTAL
LSI i LSE (i pro autowake)
OSC_OUT
x2...x16
PLL
HSE Osc
OSC_IN
PLLCLK
SYSCLK
up to 72
MHz
/2
SYSCLK
CSS
HSI
MCO
HSE
/2
PLLCLK
OSC32_IN
LSE OSc
/128
32.768KHz
RTCCLK
OSC32_OUT
~40KHz
LSI RC
IWDGCLK
možnost vyvedení signálu Clock-out na the MCO pinu (PA.08) / max 50MHz
použito na kitech STM32F0 Discovery,MCO jak hod. signál druhého procesoru
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
19
Generátory hod. signálu v STM32, děličky
.
HCLK
up to 72MHz
8MHz
HSI RC
PCLK1
up to 36MHz
/2
4 -16
MHz
OSC_OUT
x2...x16
PLL
HSE Osc
OSC_IN
PLLCLK
SYSCLK
up to 72
MHz
/2
AHB
Prescaler
/1,2…512
APB1
Prescaler
/1,2,4,8,16
TIM2,3,4
x1, 2 mult
TIMxCLK
PCLK2
up to 72MHz
SYSCLK
CSS
HSI
MCO
HSE
/2
APB2
Prescaler
/1,2,4,8,16
TIM1
x1, 2 mult
TIM1CLK
ADC
Prescaler
/2,4,6,8
ADCCLK
PLLCLK
OSC32_IN
LSE OSc
/128
32.768KHz
RTCCLK
USB
Prescaler
/1,1.5
OSC32_OUT
USBCLK
48MHz
~40KHz
LSI RC
IWDGCLK
Volba různých frekvencí hod. signálu pro sběrnice, USB rozhraní, ADC
převodník
HSE backup – záloha vnitřním RC HSI- RC)
( kontrola – bezpečnost, Class B, spotřeb. el,…)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
20
Obvod PLL pro generování hodinového signálu
PLL – v DSP (digital signal processor) signálovém procesoru Blackfin ADSP
BF504F progr. nastavit frekvenci hod. gen. - řízení proud. odběru
příklad použití PLL v ADSP BF504F (www.analog.com)
výstupy: CLKBUF – bufferovaný výstup XTAL oscil,
CLKOUT – bufferovaný hod. signálu – systémových hodin
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
21
Obvod hodin reálného času - RTC
RTC Real Time Clock – hodiny reálného času
Obvykle ve většině současných microcontrollerů, funkce „hodinky“ a „ budík“
příklad v STM32F100
obvykle vstup pro samostatné napájení z baterie (speciál. zálohovacího
kapacitoru)
čítač binární, - určení sekundy, hodiny, dny,.. – výpočtem vzhledem k
zvolenému výchozímu dat např. sekundy od 1.1.2011,
(jednoduchý bin. čítač – jednodušší logika, odběr,…).
RTC někdy přímo čítač sekundy, hodiny,.. kalendář – viz PC bios, „absolutní
čas“ – toto řešení také v:
STM32F05x, STM32L1, STM32 F2xx, STM40x, STM32F3xx…
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
22
RTC – hodiny reálného času – v STM32F100
zdroj hod. RTCCLK (LSE XTAL 32768 Hz, LSI RS 40 kHz, HSE/128),
předdělička, 32 bit. čítač,
události/přerušení - sekundy, přetečení čítače, alarm (přednast. čas „budík“) –
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
23
RTC – „komplexní řešení“, kalendář, čas - STM32F051
Funkce RTC:
• Hodiny
• Minuty
• Sekundy
• Subsekundy
• Kalendář –datum
• Alarm – probuzení
procesoru, výstup
extern+
• Vstup Tamper –
zachycení času
vnější události –
časová značka
možná kalibrace hod. frekvence,
(princip. fázového. akumulátoru,NCO numerically controlled oscilator)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
24
Využití RTC
Využití RTC:
informace o reálném času („absolutní čas“)
odměřování času – trvání činnosti
plánování činnosti – alarm ( budík)
probuzení CPU z režimu spánku (analogie – výklad)
Zásadní význam v procesorech s nízkou spotřebou
krátká efektivní doba běhu programu
alarm
režim - stálý monitoring
běh
probuzení, odměr, záznam do flash,…)
programu
( výklad – příklady použití)
režim – monitoring,
případné vyvolání zásahu při
vybočení z normálního stavu
(výklad – příklady použití)
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
alarm
běh programu
kontrola podmínek
OK
OK
OK potřeba prog.
zásahu
25
Ovlivnění odběru vestavěného systému
Nastavení hodinového generátoru a hod. signálu pro jednotlivé části MCU,
např. STM32 je zásadní pro velikost proudového odběru
MCU (microcontroller unit), mikrokontrolér, mikrořadič – procesor, paměti,
perierie, označ. také jednočipový mikropočítač (STM32, 8051, ATMega,.)
Otázka: uveďte a popište způsoby snižování odběru vestavěného systému
viz přednášky
frekvence, velikost napájecího napětí, doba činnosti, aktivace pouze
potřebných částí systému ( i je v samém procesoru – po resetu v
STM32F100 je „skoro vše vypnuté“, aktivace každé části zvyšuje odběr,
aktivace každé části do provozu vyšší frekvencí zvyšuje odběr),
použití pouze nezbytně vysoké frekvence pro danou část vestavěného
systému
popsat, vysvětlit , konkrétní příklady
Ovlivnění odběru i umístěním programu do typu paměti v procesoru
– SRAM, FLASH, u STM 32, různý odběr
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
26
Proud. odběr
Jak lze programově
ovlivnit
velikost proudu
z napájení u
STM32F103
Vliv nastavení
každého bloku
Zapnout jen ty bloky,
které jsou potřeba a
provozovat rychlostí,
která je nutná
zapnut bloky
pouze na tu dobu, kdy
jsou potřeba)
analogie:Svícení, topení v
různých místnostech bytu
STM32 – po resetu
nepotřebné bloky jsou
vypnuté
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
27
Proudový odběr STM32F10x
.
Feature
STM32F10x typ
Consumption in RUN mode w/ execute from Flash on
internal RC and peripherals clock ON
10mA
Consumption in RUN mode w/ execute from Flash on
PLL 72 MHz( internal RC) and peripherals clock ON
36mA
Consumption in RUN mode w/ execute from SRAM on
PLL 72 MHz( internal RC) and peripherals clock ON
32mA
STOP w/ Voltage Regulator in low power w/ RTC ON
14 µA
STANDBY (w/ RTC OFF)
RTC on VBAT
2µA
1.4 µA
Poměr mA/MHz je větší při nízkých frekvencích – statický odběr (regulátor
napětí, oscilátor, Flash
STM32 - běh programu v SRAM – nižší odběr , než při běhu z Flash
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
28
RESET
Funkce RESET implementována v procesorech i dalších programovatelných a
sekvenčních obvodech
Využití funkce RESET
• uvedení procesoru (a dalších obvodů) do výchozího stavu
• zadržení činnosti procesoru do zajištění korektních podmínek – (minimálně
po dobu náběhu a ustalování napájecího napětí, po dobu rozběhnutí a ustálení
oscilátoru)
- zastavení procesoru při nesprávných vnějších podmínkách - nízké
napájecí napětí – výklad (analogie nedostatek kyslíku)
- zastavení /ukonč.) nespráv. činnosti proc. (bezpeč. funkce – výklad …)
- uvedení do výchozího stavu po programové chybě (Watch dog – Reset)
- ukončení power down režimu
Vnější, vnitřní obvod reset
vnitřní obvod RESET – často výstup signálu RESET (obousměrný signál) pro
současný reset dalších obvodů
Pozor – u některých procesorů – problém při pomalém náběhu napájecího napětí
– nekorektní reset
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
29
RESET
Ideové schéma vnějšího obvodu reset,
Ucc
10k
1k
u
uCC
SKO
D
uc
ut
RESET
nedefinovaný
stav
100
TL
22M
TRESET
RESET
t
Vnější článek RC, nebo jen C (např. procesory řady 8051)
nabíjení, exponenciální průběh, ? časová konstanta, vnitřní, vnější rezistor
RESET – obvykle do „GND“, ( označení /RESET, NRESET)
míní se , že je aktivní při nízké úrovni L
Vstup RESET – typicky aktivní při nízké úrovni L ( Low) –“log. nula“
(vzácné výjimky potvrzující pravidlo, např. původní 8051 – aktivní RESET pro
vysokou úroveň – připojení na napájení UCC, )
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
30
RESET
Vnější obvod RC článek pro RESET
Vstup reset pro RC - nutná charakteristika Schmidtova klopného obvodu
u
uCC
RR
uc
nedefinovaný
stav
RESET
DR
RR
CR
tl.
Ucc
Reset
Reset
ut
TRESET
Ucc
CR
tl.
t
vnější článek RC, nebo jen C (např. procesory řady 8051)
nabíjení, exponen. průběh, ? časová konstanta, vnitřní, vnější rezistor
RESET – obvykle do „ GND“, výjimky, např. původní 8051 – aktivní RESET na
napájení UCC,
DR – pro vybití C a korektní reset při krátkodobém poklesu napájení
(CMOS – obvykle vnitřní diody, ale ne vždy), viz přenášky dříve
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
31
RESET
Vstup RESET – logický – bez ošetření analog. signálu, není SKO, (např. ADSP
BF533,..) nutný externí obvod RESET, např. ASDM708 TAR
Varianty obvodu RESET
POR - Power on Reset
BOR - Brown Out Reset - pokles . napájecího napětí pod min. úroveň
potřebnou pro korektní pro činnost oscilátoru zastavení procesoru
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
32
Interní obvody RESET typu POR, BOR
POR - Power on Reset, internal Power on Reset
POR - minimalizace nákladů, není potřeba vnější součástky,
„Low pin count“ součástky, mikrokontroler – 8 pinů, ?? luxus použít pin
pro reset, vnitřní POR, často zůstává možnost použít pin i pro reset vedle
funkce I/O pinu
(pozor – jaký čas na POR – příklad ADuC843 0,5 sec)
BOR - Brown Out Reset
Pokles napájecího napětí pod min. úroveň potřebnou pro činnost oscilátoru i
celého CPU, možnost nekorektní funkce,
(analogie – člověk - nedostatek kyslíku, nesprávná činnost mozku a možnost nesprávné
činnosti, špatný úsudek,…- reset- raději nedělej nic.
Výklad na přednášce – nutno zajistit aby MCU pracoval buď správně, nebo
nedělal vůbec nic, stroje, roboty, domácí spotřebiče s motory, ochrana obsluhy
(příklad foto C----- 495, výklad---slabé baterie, .. objektiv …. v mezipoloze)
BOR - Brown Out Reset - pokles. napáj. napětí pod min. úroveň potřebnou
úroveň – reset až do poklesu napájení na úroveň, kdy MCU nemůže nic
provést
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
33
Poznámka - hlídání napájecího napětí
Obvody podobné BOR – implementovány někdy i v „neprocesorových
obvodech“ jako dohlížecí obvod – hlídání napájení
Příklad BD6210 budič SS motorku, firma Rohm, max. napětí 7 V,
min. napájecí napětí 3 V ( 2,5 V)
např.
Under voltage lock out (UVLO) circuit
analogie BOR
pokles napětí, a zablokuje funkci výstupů
Over voltage protection (OVP) circuit
vypnutí při „přepětí“
Výklad – možné problémy při použití obvodu
tešně pod max. hranicí napáj. napětí, nebo
těsně nad min. hranicí napáj.
napětí
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
34
Dohled na CPU obvod watch dog- spolupráce - reset
Kontrola správné činnosti procesoru podle příznaku správné činnosti, jinak
reset, WDI watch dog input, WDO watch dog output, tWD
výklad, analogie (já nespím, já nespím, já nespím ………. chrrr. nic) NESPI!
(vrať se do pruhu), film Frajer Lucke – třesení větví,
t
t
a další příklady
watch dog
WD
WD
input
WDI
watch dog
output
WDO
výstup WDO – obvykle na RESET
obvod watch dog – externí – interní
ve vest. syst. pro vysokou spolehlivost se často vyžaduje externí obvod WD
nezávislý na obvodu procesoru ( viz dále
interní WD – návaznost na čítače,
WD - součást současných mikroproc.
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
35
Externí obvod pro Reset a dohled - ADM706, Watch dog
.Vstup /MR reset tlačítko, RC článek
Výstup RESET do MCU
MR manual reset (debounced),
ošetřeny odskoky tlačítka, (i bez
externího RC),garance /RESET
i při UCC = 1V
Watchdog timer 1, 6 s, výstupní reset
impuls dlouhý 200 ms
Power supply voltage monitor
-ADM706 T VREF = 3,08 V, kontrola
správnosti napáj. nap. Vcc jinak – RESET
Kontrola napáj. napětí před stabilizátorem
Vstup – PFI (Power Fail Input) – monitoruje
velikost napětí před regulátorem – pokles
blíží se výpadek napájení)
PFO (Power Fail Ouput) signalizace
připojit na NMI – (nemaskovatelné přerušení), rychle zachránit data zápisem
do backup domény, dokud je energie na kondenzátoru
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
36
POR, PDR, PVD v STM32F100
POR Power on Reset – výklad
PDR Power Down reset – výklad, použití
PVD Programmable voltage detector
nutno povolit programově
(obdoba PFI power fail input)
pokles napětí, ale MCU může
ještě stále pracovat, generace přerušení,
výklad, účel, použití
Power control register (PWR_CR)
PLS (2:0) volby napětí
000 - 2,2 V, ... 111 - 2,9 V
Power control/status register (PWR_CSR)
PVDO: PVD output
0 VDD je větší, 1 VDD je menší
spolehlivost funkce, kontrola
vnějších podmínek
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
reset
běh CPU
reset
PVDO = 0
PVDO = 1
PVDO
OK
37
Zdroje signálu pro aktivaci Reset v STM32F100
Vstup – pin reset - NRST
POR Power on Reset(u STM32F100)
PDR Power Down Reset (u STM32F100)
PVD Programmable Voltage Detector (PVD)
Watch dog Reset
Software reset
Low power management reset
…
podle příznaku - flagu.
je možno zjistit původce předchozího
resetu („co se stalo?“„kdo to udělal ?“)
Výstup – při vzniku vnitřní podmínky
resetu MCU, generace resetu
i pro další obvody
Definovaná min. délka výstupního
reset impulsu 20 us - výklad
External
RESET
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
VDD
RON
SYSTEM NRESET
Filter
NRST
PULSE
GENERATOR
(min 20µs)
WWDG RESET
IWDG RESET
Software RESET
POR/PDR RESET
Low power
management RESET
zjednodušený diagram obvodu Reset v
STM32F100
38
Zálohování napájení
Pokles napájení, rychlé uložení důležitých
dat do externí paměti SRAM (se zálohovaným napájením „CMOS RAM“
nízký odběr)
Součást dohlížecích obvodů ( microprocessor supervisory circuits)
např. MAX 690, ADM690, napájení CMOS RAM přes ADM690, přepnutí z
Vcc na UBAT při poklesu Vcc, VOUT na napájení CMOS RAM
Uložení a zachování posledního nastavení přístroje – viz osciloskop na cvičení,
po opětovném zapnutí je přístroj v minulém
nastavení,
Způsob přípravy dat – průběžně si ukládat
důležitá data do SRAM, při výpadku Ucc
je již nachystáno pro příští obnovení
Správně navržená spotřeb. elektronika
po opětovném zapnutí je nastavena stejná
stanice, hlasitost, ..
Možné ukládání dat do EEPROM
- ale problém rychlosti zápisu při
výpadku při průběžném zápisu – omezený
počet přepsání
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
39
STM32F100 „Backup“ registry
JTAG/SW
JTAG/SWDebug
Debug
Nested
Nestedvect
vectIT
ITCtrl
Ctrl
11xxSystick
SystickTimer
Timer
11xxDMA
DMA
77Channels
Channels
FlashI/F
I/F
Flash
Cortex-M3
Cortex-M3
CPU
CPU
24
24 MHz
MHz
ARMLite
LiteHi-Speed
Hi-SpeedBus
Bus
ARM
Matrix
/
Arbiter
(max
24MHz)
Matrix / Arbiter (max 24MHz)
Registry se
zálohovaným
napájením„Backup“
napájení registrů
podržení obsahu
ze zál. zdroje BAT
( baterie)
16-128kB
16-128kB
Flash
FlashMemory
Memory
XTAL
XTALoscillators
oscillators
32KHz
32KHz++3~25MHz
3~25MHz
4kB-8kB
4kB-8kBSRAM
SRAM
20B
20BBackup
BackupRegs
Regs
Clock
ClockControl
Control
Bridge
Bridge
Bridge
Bridge
1x
1xSPI
SPI
1x
1xUSART/LIN
USART/LIN
Smartcard/IrDa
Smartcard/IrDa
Modem-Ctrl
Modem-Ctrl
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
(max 24MHz)
Up
Upto
to80
80I/Os
I/Os
ARM Peripheral Bus
Synchronized
SynchronizedAC
ACTimer
Timer
Up
Upto
to16
16Ext.
Ext.ITs
ITs
Int.
Int.RC
RCoscillators
oscillators
40KHz
40KHz++8MHz
8MHz
PLL
PLL
RTC
RTC//AWU
AWU
2x
2xWatchdog
Watchdog
CRC
CRC
1x6x
1x6x16-bit
16-bitPWM
PWM
Power
PowerSupply
Supply
Reg
Reg1.8V
1.8V
POR/PDR/PVD
POR/PDR/PVD
ARM Peripheral Bus
(max 24MHz)
(independent
(independent&&window)
window)
33xx16-bit
16-bitTimer
Timer
1x16-bit
1x16-bittimer
timerwith
with22
IC/OC/PWM
IC/OC/PWM
HDMI
HDMICEC
CEC
2x16-bit
2x16-bittimer
timereach
each
with
1
IC/OC/PWM
with 1 IC/OC/PWM
2x
2xSPI
SPI
22xx12bit
12bitDAC
DAC
1x
1x12-bit
12-bitADC
ADC
16
channels
16 channels//
850ksps
850ksps
Temp
TempSensor
Sensor
2x
2xUSART/LIN
USART/LIN
Smartcard
Smartcard//IrDa
IrDa
Modem
ModemControl
Control
2x
2xI2C
I2C
40
Zálohování napájení v STM32
Pokles napájení, zachování činnosti RTC
Možnost nastavení některých výstup. pinů.
( PC13, PC14, PC15
(mohou zůstat v aktivním stavu 0 pouze
působením zalohového napájení)
i při vypnutí napájení UDD „drží úroveň“ L
PC13, PC14 i jako LSE (ext. XTAL oscilátor)
(analogie – někdo usne, ale nepustí knihu z ruky)
VDDA domain
VREFVREF+
A/D converter
Temp. sensor
Reset block
PLL
VDDA
VSSA
VDD domain
V18 domain
I/O Rings
VSS
VDD
STANDBY circuitry
(Wake-up logic,
IWDG, RCC CSR reg)
Core
Memories
Digital
peripherals
Voltage Regulator
Důležité pro spolupráci s navazujícími obvody
Low Voltage Detector
další obvody mají po náběhu napájení
Backup domain
již definované vstupní úrovně
LSE crystal 32K osc
V
BKP registers
RCC BDCR register
Pokles napájení – přepnutí napájení zálohované
RTC
části (backup domain) z VDD na VBAT
VBAT – zálohový zdroj - lithiová baterie (např. CR2013, CR2032), spec. miniaturní
kondenzátor (0,2 F) –podobá se knoflíkové baterii
Zálohové napáj. 20 Bytů (84 B) dat. registrů - část SRAM, podle typu STM32
Backup registry – obsah zůstane zachován díky působení zálohového napájení
Obdobná funkce – i v jiných současných MCU (firmy Atmel, NXP, TI, Freescale)
BAT
A4B38NVS, 2014, J.Fischer, kat. měření,, ČVUT - FEL
41
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement