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 C 1, C 2 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 (R 1 ),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. t SU - start up time) jednotky ms R F = 10M in U CC out R 1 400 C 1 XTAL 8 MHz C 2 C 1,C 2-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) R F = 10M U CC in out R 1 400 C 1 XTAL 8 MHz C 2 C 1,C 2-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??) R F = 10M in U CC out 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 C 1 XTAL 8 MHz 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 C 2 C 1,C 2-12 - 33 pf R 1 400 A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 7
HSE oscilátor STM32 HSE High Speed External oscilator Parametry oscilátoru Rozmezí frekvencí f OSC_IN použitého krystalu doba náběhu t SU 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 ( 2 15 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 'HC04 XTAL1 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 V HSEmax!! ( pin není + 5 V tolerantní) f HSE_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!!! krátké spoje, malá kapacita, příp. použít i oddělovací rezistor na začátku vedení R2 10M CLK Ucc R1 400 XTAL1 XTAL XTAL2 C1 27 pf 27 pf C2 27 pf XTAL1 XTAL2 vyvedení osc. signálu (příklad ADSP BF533,..) 27 pf ale i STM32F0 Discovery kit ( 8 MHz z debug procesoru do aplikačního procesoru) 12 MHz 'AHC04 CLK A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 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 f loop f 1 VCO 2 filter f 2 /n 1/n f 2 = f 1. n násobení základního kmitočtu celým číslem n násobení základního kmitočtu necelým číslem n/m f f 2 = f 1.(n / m) 1 /m f 1 loop 1/m VCO filter f 2 /n 1/n f 2 A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 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, f XTAL / 2 = f OSC / 3 --- f OSC = f XTAL / (3/2)= 1,5 x f XTAL 1,5 násobek 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 LSI 40 khz int. oscilátor LSE externí osil. 32768 Hz XTAL LSI i LSE (i pro autowake) HSI RC 8MHz /2 OSC_OUT 4-16 x2...x16 PLLCLK SYSCLK HSE Osc MHz PLL OSC_IN up to 72 /2 MHz MCO SYSCLK HSI HSE PLLCLK /2 /128 CSS OSC32_IN OSC32_OUT LSE OSc 32.768KHz RTCCLK LSI RC ~40KHz 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. HSI RC 8MHz /2 HCLK up to 72MHz PCLK1 up to 36MHz OSC_OUT 4-16 x2...x16 PLLCLK SYSCLK HSE Osc MHz PLL OSC_IN up to 72 /2 MHz AHB Prescaler /1,2 512 APB1 Prescaler /1,2,4,8,16 TIM2,3,4 x1, 2 mult TIMxCLK MCO OSC32_IN OSC32_OUT SYSCLK HSI HSE PLLCLK /2 LSE OSc LSI RC /128 32.768KHz ~40KHz CSS RTCCLK IWDGCLK APB2 Prescaler /1,2,4,8,16 USB Prescaler /1,1.5 TIM1 x1, 2 mult ADC Prescaler /2,4,6,8 PCLK2 up to 72MHz TIM1CLK ADCCLK USBCLK 48MHz 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 alarm běh programu Režim monitoring, případné vyvolání zásahu při vybočení z normálního stavu (výklad příklady použití) běh programu kontrola podmínek OK OK OK potřeba prog. zásahu A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 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 Consumption in RUN mode w/ execute from Flash on internal RC and peripherals clock ON Consumption in RUN mode w/ execute from Flash on PLL 72 MHz( internal RC) and peripherals clock ON Consumption in RUN mode w/ execute from SRAM on PLL 72 MHz( internal RC) and peripherals clock ON STOP w/ Voltage Regulator in low power w/ RTC ON STM32F10x typ 10mA 36mA 32mA 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 D 10k SKO 1k u u CC u c TL 100 RESET nedefinovaný stav ut 22M T RESET 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í U CC, ) 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 u CC u c ut R R Ucc Reset D R R R Ucc Reset nedefinovaný stav C R tl. C R tl. T RESET RESET 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í U CC, D R 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, t WD 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 watch dog input WDI t WD t WD 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. watch dog output WDO 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 U CC = 1V Watchdog timer 1, 6 s, výstupní reset impuls dlouhý 200 ms Power supply voltage monitor -ADM706 T V REF = 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í, reset běh CPU reset výklad, účel, použití Power control register (PWR_CR) PLS (2:0) volby napětí PVDO = 0 000-2,2 V,... 111-2,9 V Power control/status register (PWR_CSR) PVDO = 1 PVDO: PVD output 0 V DD je větší, 1 V DD je menší spolehlivost funkce, kontrola PVDO OK vnějších podmínek A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 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 NRST V DD R ON Filter PULSE GENERATOR (min 20µs) SYSTEM NRESET WWDG RESET IWDG RESET Software RESET POR/PDR RESET Low power management RESET zjednodušený diagram obvodu Reset v STM32F100 A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 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 U BAT při poklesu Vcc, V OUT 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 Registry se zálohovaným napájením- Backup napájení registrů podržení obsahu ze zál. zdroje BAT (baterie) Cortex-M3 CPU 24 24 MHz JTAG/SW Debug Nested vect vectit IT Ctrl Ctrl 1 x Systick Timer 1 x DMA 7 Channels CRC 1x6x 16-bit PWM Synchronized AC AC Timer Timer Up Up to to 16 16 Ext. Ext. ITs ITs Up Up to to 80 80 I/Os I/Os 1x 1x SPI SPI 1x 1x USART/LIN Smartcard/IrDa Modem-Ctrl ARM Lite Hi-Speed Bus Matrix / / Arbiter (max (max 24MHz) 24MHz) Bridge ARM Peripheral Bus 4kB-8kB SRAM A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 39 (max 24MHz) Flash Flash I/F I/F Bridge 16-128kB Flash Memory 20B 20B Backup Regs Clock Control ARM Peripheral Bus (max 24MHz) 1x16-bit timer with 2 IC/OC/PWM 2x16-bit timer each with 1 IC/OC/PWM 2 x 12bit DAC 1x 1x 12-bit ADC 16 16 channels // 850ksps Temp Sensor Power Supply Reg Reg1.8V POR/PDR/PVD XTAL oscillators 32KHz + 3~25MHz Int. Int. RC RC oscillators 40KHz + 8MHz PLL PLL RTC // AWU 2x 2x Watchdog (independent & window) 3 x 16-bit Timer HDMI CEC CEC 2x 2x SPI SPI 2x 2x USART/LIN Smartcard // IrDa IrDa Modem Control 2x 2x I2C I2C
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í U DD drží úroveň L PC13, PC14 i jako LSE (ext. XTAL oscilátor) (analogie někdo usne, ale nepustí knihu z ruky) Důležité pro spolupráci s navazujícími obvody další obvody mají po náběhu napájení již definované vstupní úrovně RCC BDCR register Pokles napájení přepnutí napájení zálohované RTC části (backup domain) z V DD na V BAT V BAT 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) A4B38NVS, 2013, J.Fischer, kat. měření,, ČVUT - FEL 40 V REF- V REF+ V DDA V SSA V SS V DD V BAT V DD domain I/O Rings V DDA domain A/D converter Temp. sensor Reset block PLL STANDBY circuitry (Wake-up logic, IWDG, RCC CSR reg) Voltage Regulator Low Voltage Detector Backup domain LSE crystal 32K osc BKP registers V 18 domain Core Memories Digital peripherals