Přednáška 8 ,9 Generátory hodinového signálu a dohlížecí obvody ve vest. systémech
2013, kat. měření, ČVUT - FEL, Praha J. Fischer
A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL
1
Náplň přednášky Specifikace a výklad k zadání úlohy – Sytém sběru dat 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, 2013, 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) Č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, 2013, 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) 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, 2013, 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é ( a 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, 2013, 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é, někdy označení 3 rd Pozor např. krystal 24 MHz, 3rd - 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 základní harmonické 8 MHz Bývá problém u krystalů na vyšší frekvence – např. na 40 MHz a vyšší, pak je nutno doplnit pomocné laděné obvody (tank) , zajišťující, že oscilátor kmitá 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 jako mají i krystaly v SMD provedení (SMD povrchová montáž)
A4B38NVS, 2013, 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 – pro synchronní činnost procesorů,pro návaznost C1 XTAL 8 MHz C2 činnosti procesoru na vnější obvod (výklad na před. - 89C51 činnost s generátorem C1 ,C2- 12 - 33 pF 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 toler. !!) CLK 'HC04
XTAL osc. in XTAL osc. out CMOS uP
A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL
7
HSE oscilátor STM32 HSE High Speed External oscilator Parametry oscilátoru
Rozmezí frekvencí fOSC_IN použitého krystalu
doba náběhu tSU oscilátoru A4B38NVS, 2013, 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 souačasných mikokontrolérů pro RTC) RTC – Real Time Clock – obvod reálného času V STM 32 použití pro RTC
A4B38NVS, 2013, 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, 2013, 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, 2013, 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, 2013, 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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
'AHC04 12 MHz
CLK
13
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 a UART je potřeba odchylka frekvence lepší než 3 % ??) 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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
14
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
15
PLL - fázový závěs PLL - Phase Lock Loop ( 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 násobení základního kmitočtu celým číslem n násobení základního kmitočtu necelým číslem n/m
A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL
f2 = f 1 . n f1
loop filter f2 /n
f1
VCO
1/n
f2 = f1 .(n / m)
f1 /m 1/m
f2
loop filter f2 /n
VCO f2 1/n
16
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 dále výklad na přednášce, (analogie - různé převody na kole) 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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
17
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
OSC_OUT
LSI – 40 kHz int. oscilátor LSE – externí osil. 32768 Hz XTAL LSI i LSE (i pro autowake)
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
18
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
19
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
20
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
21
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“) – možná kalibrace hod. frekvence, (princip. fázového. akumulátoru- výklad. před.)
A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL
22
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 události – časová značka • možnost kalibrace
A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL
23
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 proc. s nízkou spotřebou Krátká efektivní doba běhu programu režim - stálý monitoring Režim spánek - probuzení, odměr, kontrola dat, případně záznam do Flash, spánek…) ( výklad – příklady použití)
alarm běh programu alarm
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
běh programu kontrola podmínek OK
OK
OK potřeba prog. zásahu
24
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), Doporučení – 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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
25
A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL
26
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
27
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
28
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
29
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
30
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
31
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
32
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
33
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í,
a další příklady
t WD
t WD
watch dog 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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
34
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
35
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
reset
běh CPU
reset
PVDO = 0
PVDO = 1
PVDO
OK
36
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, 2013, 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
37
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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
38
STM32F100 „Backup“ registery
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, 2013, 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
39
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 Backup domain další obvody mají po náběhu napájení LSE crystal 32K osc již definované vstupní úrovně 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, 2013, J.Fischer, kat. měření,, ČVUT - FEL
40