Přednáška 7, 8 Generátory hodinového signálu a dohlížecí obvody ve vest. systémech
2015, kat. měření, ČVUT - FEL, Praha J. Fischer
A4B38NVS, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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
PLLCL K
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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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
~40KHz LSI RC
USBCLK 48MHz
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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, 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, 2015, J.Fischer, kat. měření,, ČVUT - FEL
39
STM32F100 „Backup“ registry
JTAG/SW Debug Nested vect IT Ctrl
1 x Systick Timer 1 x DMA 7 Channels
Flash I/F
Cortex-M3 CPU 24 MHz ARM Lite Hi-Speed Bus 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 Flash Memory
XTAL oscillators 32KHz + 3~25MHz 4kB-8kB SRAM
20B Backup Regs
2x Watchdog
Bridge 1x6x 16-bit PWM
1x USART/LIN Smartcard/IrDa Modem-Ctrl
A4B38NVS, 2015, J.Fischer, kat. měření,, ČVUT - FEL
(max 24MHz)
ARM Peripheral Bus
Synchronized AC Timer
1x SPI
PLL
RTC / AWU
Bridge
Up to 80 I/Os
Int. RC oscillators 40KHz + 8MHz
Clock Control
CRC
Up to 16 Ext. ITs
Power Supply Reg 1.8V POR/PDR/PVD
ARM Peripheral Bus (max 24MHz)
(independent & window)
3 x 16-bit Timer
1x16-bit timer with 2 IC/OC/PWM
HDMI CEC
2x16-bit timer each with 1 IC/OC/PWM
2x SPI
2 x 12bit DAC 1x 12-bit ADC 16 channels / 850ksps Temp Sensor
2x USART/LIN Smartcard / IrDa Modem Control 2x 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, 2015, J.Fischer, kat. měření,, ČVUT - FEL
41