Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

temata:05-vestavene_systemy:main [2011/03/24 14:46]
ofeig
temata:05-vestavene_systemy:main [2016/05/24 22:20] (aktuální)
xpavel27 [Analogově-číslicový převodník (ADC)]
Řádek 1: Řádek 1:
 +~~ODT~~
 +
 ====== Vestavěné systémy ====== ====== Vestavěné systémy ======
 Vestavěný systém je kombinace hardwaru a softwaru, jejímž smyslem je řídit externí proces, zařízení nebo systém. Jedná se vlastně o počítač, který je zabudován do systému, ale pro uživatele niní jako počítač viditelný. Často jsou navrženy tak, aby fungovaly i bez zásahu člověka. Důraz je kladen na: Vestavěný systém je kombinace hardwaru a softwaru, jejímž smyslem je řídit externí proces, zařízení nebo systém. Jedná se vlastně o počítač, který je zabudován do systému, ale pro uživatele niní jako počítač viditelný. Často jsou navrženy tak, aby fungovaly i bez zásahu člověka. Důraz je kladen na:
Řádek 17: Řádek 19:
   * startuje sám bez lidského zásahu   * startuje sám bez lidského zásahu
  
 +Proč jsou vestavěné systémy v součastnosti tak oblíbené?
 +  * nyní vládne trend, kdy se snažíme co nejvíce věcí implementovat na jeden čip
 +  * vychází i z ekonomického pohledu: méně čipů = méně nákladů na výrobu
 +  * jsou všude kolem nás (od hodinek, přes pračky, ledničky, auta ...)
 ==== Typická struktura E. S. ==== ==== Typická struktura E. S. ====
-{{:temata:05-vestavene_systemy:es_struktura.png|}}+{{:temata:05-vestavene_systemy:es_struktura.png?500}}
  
 ==== Microprocesory μPs ==== ==== Microprocesory μPs ====
Řádek 37: Řádek 43:
         * množina instrukcí redukovaná na 2 základní instrukce pro pamětové operandy **LOAD** a **STORE**         * množina instrukcí redukovaná na 2 základní instrukce pro pamětové operandy **LOAD** a **STORE**
     * **von Neumanovská nebo Hardvarská architektura**     * **von Neumanovská nebo Hardvarská architektura**
-      * //Von Neumannova architektura// popisuje počítač se společnou pamětí pro instrukce i data. To znamená, že zpracování je //sekvenční// oproti například //Harvardské architektuře// (má jednu společnou pamět pro program data), která je typickým představitelem //paralelního zpracování//+      * //Von Neumannova architektura// popisuje počítač se společnou pamětí pro instrukce i data. To znamená, že zpracování je //sekvenční//. Druhým pohledem je //Harvardská architektura// (má jednu pamět pro program a druhou data), která je představitelem //paralelního zpracování// (nejedná se o vlastní paralelismus).
       * Von Neumannova architektura:       * Von Neumannova architektura:
 {{:temata:05-vestavene_systemy:neumann.png|}} {{:temata:05-vestavene_systemy:neumann.png|}}
  
 Procesor počítače se skládá z řídící a výkonné (aritmeticko-logické) jednotky. Řídící jednotka zpracovává jednotlivé instrukce uložené v paměti, přičemž jejich vlastní provádění nad daty má na starosti aritmeticko-logická jednotka. Vstup a výstup dat zajišťují vstupní a výstupní jednotky. Procesor počítače se skládá z řídící a výkonné (aritmeticko-logické) jednotky. Řídící jednotka zpracovává jednotlivé instrukce uložené v paměti, přičemž jejich vlastní provádění nad daty má na starosti aritmeticko-logická jednotka. Vstup a výstup dat zajišťují vstupní a výstupní jednotky.
 +
 {{:temata:05-vestavene_systemy:mikrokontroler.png|}} {{:temata:05-vestavene_systemy:mikrokontroler.png|}}
   * periferní jednotky μC (příklady)   * periferní jednotky μC (příklady)
Řádek 57: Řádek 64:
     * instrukční sada: CISC, střadačová architektura     * instrukční sada: CISC, střadačová architektura
   * registry   * registry
-    * {{:temata:05-vestavene_systemy:registry.png|}}+    * {{:temata:05-vestavene_systemy:registry.png?600}}
   * instrukční sada   * instrukční sada
     * ADD, AND, SUB, SWI (soft. přerušení)     * ADD, AND, SUB, SWI (soft. přerušení)
Řádek 64: Řádek 71:
       * adresa (100, $F0, $FB000)       * adresa (100, $F0, $FB000)
   * adresovací režimy   * adresovací režimy
-    * inherent **INH**+    * inherent **INH** <- reřim bez adres
       * MUL:  X:A <- (X) * (A)       * MUL:  X:A <- (X) * (A)
     * relative **REL**     * relative **REL**
Řádek 84: Řádek 91:
 == Režimy činnosti == == Režimy činnosti ==
   * **RUN**   * **RUN**
-    * "plný" běh aplikace+    * plný beh aplikácie
     * aktivován po resetu     * aktivován po resetu
-    * CPU začíná provádět kód, kde první instrukce je uložená v //reset vektoru// +    * začne sa najprv vykonávať kód reset vektora
-    * {{:temata:05-vestavene_systemy:run-reset.png|}}+
   * **Active background**   * **Active background**
     * ladění aplikace, bootloader     * ladění aplikace, bootloader
     * aktivace více způsoby: např.log. 0 při nástupní hraně hodin RESET*     * aktivace více způsoby: např.log. 0 při nástupní hraně hodin RESET*
     * užití např. k (pře)programování aplikace před vstupem do Run     * užití např. k (pře)programování aplikace před vstupem do Run
 +    * zastavenie do obrdržania príkazu BKGD
   * **Wait**   * **Wait**
-    * CPU zastaven (snížení spotřeby), systémové hodiny ží, plná funkce napěťového regulátoru+    * CPU prepnurý do nízkopríkonového režimu  
 +    * Systémové hodiny bežia 
 +    * Plná funkcia napäťového regulátora 
 +    * Podpora podmnožiny BKGD príkazov
     * aktivován instrukcí WAIT     * aktivován instrukcí WAIT
-    * po provedení s přepne CPU do nízkopříkonového režimu 
     * ukončení při vzniku přerušení     * ukončení při vzniku přerušení
   * **Stop**   * **Stop**
-    * zastaveno CPU, BUSCLK +    * Zastavené CPU a BCLK 
-    * Stop 3 - uchovává obsah RAMUSB RAMregistrů; možný rychlý přechod do Run +    * Zapnutie bytom STOPE=1 
-    * Stop 2 - uchovává obsah RAMUSB RAM+  * **Stop 3** 
 +    * obmedzenie spotreby vnútorných obvodov a rýchle prebudenie 
 +    * ramusb ram a registre sú aj naďalej napájané 
 +    * garancia zachovania stavov, registrov, ramIO výstupov 
 +    * vyskočenie prerušením alebo resetom 
 +  * **Stop 2** 
 +    * odpojenie napájania vnútrorných obvodov 
 +    * uchovanie obsahu ram a usb ram 
 +    * vyskočenie resetom, signálom na vývode IRQ-TMPCLKprerušením od RTC 
 +    * akcie rovnaké ako pri power on reset 
 +    * automaticky sa nadstavý bit PPDF pre aplikačné špec. zotavenie 
 +    * je nutné z ram obnoviť nadstavenia
  
 ==== Paměť ==== ==== Paměť ====
-  * RAM, USB RAM +  * Direct Page - Registre 
-  * Flash +  * High Page - Špeciálne registre 
-  * registry+  * Non voltaile - Uloženie zapezpeč. klúčov napríklad 
 +  * Chvost - Obsahuje vektory prerušenia 
 +{{ temata:05-vestavene_systemy:mem2.png?400 }}
 == Ram == == Ram ==
   * statická, napájena ve všech režimech činnosti MCU   * statická, napájena ve všech režimech činnosti MCU
-  * obecně využitelná +  * **Od 0x0000 po 0x00FF** 
-  * USB RAM 256B určená //primárně k alokaci prostoru pro uložení BDT// (Buffer Descriptor Table) //endpoint bufferů//+  * Jednobytová adresa s rýchlim prístupom 
 +  * Pre často používané premenné 
 +  * **Od 0x0100 a viac** 
 +  * Datá s občasným prístupom 
 +  * Možnosť secure 
 +== USB RAM == 
 +  * 256B, CLK 2x 
 +  * prístup do SIE čo je USB serial interface 
 +  * určená pre alok. priestoru pre uloženie BDTBuffer desc. table a endpoint bufferov 
 +  * inak sa dá tiež využiť ako non-secure RAM
 == Flash == == Flash ==
-  * primárně určená pro uložení programu E.S. +  * Uloženie programu s podporou In-Circuit a In-Application programming 
-  * kapacita (JM60): 60 912 B ~ 119 stránek po 512B +  * 64KB, 119 stránok po 512 B 
-  * stránka je nejmenší mazatelná stránka +  * Stránka je najmenšia mazatelná jednotka 
-  * příkazové rozhraní +  * Možnosť security, príkazové rozhranie 
-  * možnost zabezpečení dat (security) +  * Automatický prechod do úsporného režimu
-  * automatický přechod do úsporného režimu+
   * po resetu MCU je možno zapsat nejvýše 1x   * po resetu MCU je možno zapsat nejvýše 1x
  
 +  * **Burst programovanie**
 +    * Rýchlejšie vykonávanie programovania postupnosti bytov
 +    * Nábojová pumpa je zapnutá po celú dobu, zapínanie a vipínanie pri každom riadku flash
 +
 +  * **Ochrana pamäte**
 +    * Znemožnuje zmeny v chránených blokoch
 +    * Určujeme hranicu tak že určíme najvyššiu nechránenú adresu
 +    * Pretože vektory prerušenia sú na konci presmerujeme ich
 +
 +{{ temata:05-vestavene_systemy:lock.png?400 }}
 +
 +  * **Zabezpečenie**
 +    * Taktiež zapnutím security je možno predísť neaut. prístupu k obsahu pamäti
 +    * Bitom KEYEN zapneme či vipneme 8bitový klúč
 +    * Vipneme len zmazaním celej FLASH
 ==== Podprogram vs. přerušení ==== ==== Podprogram vs. přerušení ====
 Standratní programová smyčka: Standratní programová smyčka:
Řádek 124: Řádek 169:
   * při **přerušení** je podprogram volán instrukcí a podgram obsluhy přerušení je zase vyvolán hardwarově   * při **přerušení** je podprogram volán instrukcí a podgram obsluhy přerušení je zase vyvolán hardwarově
     * probíhá nesynchronizovaně -> nelze přesně určit, kdy se předá řízení     * probíhá nesynchronizovaně -> nelze přesně určit, kdy se předá řízení
-  * zdroj přerušení se prezentuje aktivní úrovní +    * zdroj přerušení se prezentuje aktivní úrovní 
-  * např. při mimořádné události vyvolá hlavní program erušení, žádost je za definovaných podmínek akceptovaná a řízení edáno idem ipravené obslužné rutině přerušení +    * Maskovatlené: dajú sa blokovať 
-    * adresa instrukce je uložena ve **vektoru erušení** zpravidla je to odkaz do tabulky adres nebo tabulky prvních instrukcí erušovacích rutin+    * Nemaskovatelné: nedajú sa zablokovať ako napríklad reset 
 +     
 +  * **Priebeh** 
 +    * Detekcia: po detekcii požiadavku na prerušenie CPU dokončí vykonávanú inštrukciu, okrem reset 
 +    * Uloženie kontextu CPU na zásobník 
 +    * Zakázanie prerušení, zabraňuje opakovanému obsluhovaniu prerušovania 
 +    * Arbitráž a výber vektoru prerušenia, vyberáme vektor nezpravovaného prerušenia s najvyššou prioritou 
 +    * Uloženie do PC a zahájenie obsluhy 
 + 
 +==== Základní  princip sériové komunikace ==== 
 +  * bity jsou enášeny po jediném vodičpostupně jeden za druhým 
 +  * u paralelního enosu je v jediném okamžiku k dispozici více bitů (každý na vlasním vodiči) 
 +  * protože se bity objevují na jediném datovém vodiči postupně, je potřeba jednoznačně určit, v kterém okamžiku je na datovém vodiči hodnota kterého bitu 
 +  * existují 2 základní ístupy 
 +    * **Synchronní sériový enos** 
 +      * spolu s daty je enášen i hodinový signál 
 +      * hrany hodinového signálu určují, kdy se objeví další bit na datové vodiči nebo kdy je možné bezpečně sejmout hodnotu z datového vodiče 
 +      * v celé soustavě je jeden zdroj časového signálu       
 +    * **Asynchronní sériový enos** 
 +      * musíme zaistiť aby prijímač a vysielač bežali na rovnakej frekvencii a mali rovnakú fázu 
 +      * synchrónizácia fáze oboch generátorov sa vykonáva s predom dohodnotou zmenou úrovne na dat. vodiči 
 +      * na začiatku prenosu musí prísť k synch. hodín vysielača a prijímača 
 +      * spočiatku generujeme zmenu logického signálu bez ohladu na hodnotu prvého prenášaného bitu 
 +    * **Datovy ramec** 
 +      * prvý informačný bit sa objavuje az po nejakej doby od počiatočnej hrany 
 +      * signál, ktorý je vyplnený opačnou hodnotou ako je kľudová hodnota sa nazýva start bit 
 +      * za posledným vyslaním datovým bitom a prípadným par. bitom musí byť aspoň jeden stop bit 
 +      * stop bit má hodnotu kľudového stavu, slúži k vzájomnému oddeleniu prenášaných slov 
 +      * je veľký jeden alebo dva bity 
 +      stop byt slúži aj na to aby mal prijímač čas odoslať prijaté slovo zo vstupného pos. reg. ďalej 
 +      kľudová hodnota je space a aktívna je mark 
 +      * {{:temata:05-vestavene_systemy:frame.jpg?600}} 
 +    * **Trvanie prenosu ramca** 
 +      * doba na prenos rámca je tr = n(počet bitov rámca) * T(per. synch. sig.) 
 +      * n = 1 + D (počet datových bitov) + P (počet paritných) + S (počet stop) 
 +      * prenosová rýchlosť sa udáva v baundech Bd, bitov za sekundu 
 +      * TP = N * n / BAUD = 1024 (prenos) * 11 (8+par+start+stop) / 9600 = 1,17s 
 + 
 +=== SCI = Serial Communication Interface === 
 +  * **Info** 
 +    * sériové a asynchrónne rozhranie a plne duplexný systém 
 +    * skladá sa z: gen. hod. sig, modulu vysielača a prijímača a podporných obvodov 
 +    * výstup vysielača je vyvedený na TxD a vstup prijámača na ExD 
 +    * registry: datové, konfiguračné a stavové 
 +  * **Hodiny** 
 +    * spoločné pre vysielač a prijímač 
 +    * prenosová rýchlosť sa dá nadstaviť 
 +    * zdrojom frekvencie generátora je hodinový signál vnútornej zbernice BUSCLK 
 +    * prenosovú rýchlosť nadstavuje programátor cez hodnotu v registri SCIxBD ako delička 
 +  * **Odosielanie znaku** 
 +    * data sa zapíšu do datového registra SCIxD 
 +    * vysielač skompletuje rámec a postupne ho posiela na výstup TxD s taktom gen.hod.sig 
 +    * pred zápisom otestujeme či je datový register prázdny 
 +    * pred zápis tiež skontrolujeme príznak prázdneho registra ako 7bit TDRE v SCIxS1 a musí byť 1 
 +    * potom je znak prenesený do TSR - posuvný register 
 +    * vysielanie je možné sledovať stavovým bytom TC v SCIxS1 
 +    * TC hovorí o tom že datá boli úspečne vyslané 
 + 
 +{{ :temata:05-vestavene_systemy:scir.png?500 }} 
 + 
 +  * **Prijem znaku** 
 +    * automaticky zaisťovaný obvodmi prijímača, tie riadia a vyhodnocujú priebeh 
 +    * spracovaný znak sa pripravá do datového registra SCIxD 
 +    * okamžik dokončenia prijímania je indikované bitom RDRF - receive data register full v SCIxS1 
 +    * pred čítaním musíme otesotvať tento bit na 1 a až potom čítať 
 +    * v priebehu sú jednotlivé bity rámca ukladané do RSR posuvného registra 
 +    * prijímané data sú vzorkované 16x vyššou frekvenciou než frekvencia generované podľa SCIxBD 
 + 
 +{{ :temata:05-vestavene_systemy:scis.png?500 }} 
 +   
 +=== SPI = Serial Peripheral Interface === 
 +  * **Info** 
 +    * synchrónne sériové rozhranie, plný duplex 
 +    * rozhraní původně určené k ipojování a komikaci s prefireními zařízeními (lze ho ale využí i ke komunikaci mezi mikrokontroléry) 
 +    * umožňuje spojení //point-to-point// i vytvoření //SPI sběrnice// (k propojení více komponent) 
 +    moznost komparatora 
 +  * **master** 
 +    * generuje synchronizační hodinový signál 
 +    * inicializuje a řídí komunikaci přes SPI 
 +    * na sběrnici SPI může být pouze jedno zařízení tohoto typu 
 +    * zpravidla se jedná o mikrokontrolér       
 +  * **slave** 
 +    * obvykle to jsou periferie, se kterými master komunikuje (master určuje se kterým slave bude komunikovat)   
 +  * **Komunikace** 
 +    * Datové vodiče označujeme ako MISO a MOSI podla vzťahu 
 +    * Master in a slave out, master out a slave in 
 +    * Hodinový signál tvorí master a je na vodiči SPSCK 
 +    * SS signál je výberový a slúži k aktivácii zariadenia pre komunikáciu 
 +    * Na strane slave je SS vstupom ktorý v aktívnej úrovni posiela obsah posuvného registra na stranu mastera 
 +    * Vysielajú sa na MOSI datové bity zo svojho posuvného registra a zároveň z registru druhej strany sa prijíma cez MISO data z posuvného registra slave. Vzájomná výmena dát. 
 +    * Po osmich taktoch môže master a slave čítať prijaté data a zapísať data pre vysielanie 
 +    * Jednostranny prenos cez SPI je spojený odoslaním alebo prijímaním bezvýznamného znaku druhej strane 
 + 
 +{{ :temata:05-vestavene_systemy:spi.png?500 }} 
 + 
 +=== Rozhraní IIC (I^2C) === 
 +  * **Info** 
 +    * synchrónne sériové a jednoduché s halfduplex 
 +    * jeden datový vodič a jeden vodič na synch. signál 
 +    * možnosť pripojiť až 127 slave 
 +    * hlavním cílem je jednoduchost a levná implementace 
 + 
 +{{ :temata:05-vestavene_systemy:iic.png }} 
 + 
 +  * **Komunikace** 
 +    * Ak nie je komunikácia potom master ani slave neovlivňuje vodiče 
 +    * komunikácia sa začne master hranou z 1 na 0 
 +    * master generuje adresový rámec 
 +    * podľa hodnoty bitu RW rozhodne buď zasiela data modulu slave alebo číta 
 +    * po ukončení generuje master hranu 0 na 1 
 +    * nemusí sa vždy generovať ukončovanie až na úplnom samom konci stačí 
 + 
 +{{ :temata:05-vestavene_systemy:iic_prubeh.png?500 }} 
 + 
 +  * **Datovy ramec** 
 +    * Sériovo prenášané data po bitoch 
 +    * skladá sa zo štart hrany, datové bloky po 8 bit a potvrdením zo slave o rozpoznaní, a ukončeniu 
 + 
 +{{ :temata:05-vestavene_systemy:iicwork.png?500 }} 
 + 
 +  * **Adresovanie** 
 +    * Pri viac master konflikte je riešenie datovou arbitrážov 
 +    * aby sme mohli jednoz. identifikovať zariadenie pre kom. musíme zaviesť unikátne adresy modulov 
 +    * zahájanie komunikácie spočíva v odoslaní 8bit v prvom adresovom rámci ako adresa 
 + 
 +{{ :temata:05-vestavene_systemy:iicaddr.png?500 }} 
 +   
 +==== Porty ====  
 +  * **Mikrokontroler** 
 +    * Vnímajú okolie cez jednoduché dvojstavové rozhranie, ktoré sa združené do portov po ôsmich 
 +    * Porty sú vedené na púzdro MCU 
 +    * Veľa z nich je zdielaných s inými perifériami 
 +    * Pomenované sú písmenami abecedy 
 +  * **Vystupne porty** 
 +    * Vedia urobiť logickú jedna alebo nulu na vývode púzdra MCU 
 +    * Ide o pripojenie určitého napätia na vývody 
 +    * log. 0 je napětí na úrovni země, log. 1 pak napětí na úrovni napájecího napětí 
 +    * Môžeme použiť buď jeden pin alebo celý port 
 +    * Výstup môže dodávať prúd okolo 25 mA a celkovo čepať 120 
 +  * **Ganged output** 
 +    * Zlúčenie viac pinov pre posilnenie výstupu 
 +    * Funguje len u niektorých portov na MCU 
 +  * **Prechodny dej** 
 +    * Pri prechode napríklad z log 0 na 1 nastane určitá špička 
 +    * Môžeme ju redukovať tým že spomalýme buď nábeh 
 +    * Na obmedzenie môžeme použiť aj redukciu výšky skoku ako drive strenght 
 + 
 +{{ :temata:05-vestavene_systemy:portdeje.png?500 }} 
 + 
 +  * **Ovladanie** 
 +    * Data: datový register 
 +    * Data direction: rozhodnutie či zápis alebo čítanie 
 +    * Pul-Up Enable: rozhodnutie či sa bude používať pulup rezistor 
 +    * Slew Enable: spomalenie prechodu 
 +    * Drive Strength: zníženie sily skoku 
 +  * **Pull up rezistor** 
 +    * rezistor, který definuje úroveň v ípadě, kdy je pin jinak "ve vzduchu" 
 +    * lze jej zapnout uvnitř MCU    
 + 
 +{{ :temata:05-vestavene_systemy:pull_up.png?400 }}
  
-==== Číslicově-analogový převodník (ADC) ====+  * **Modul KBI** 
 +    * Podpora generovanie prerušení od pinov 
 +    * Možnosť reagovať na hranu alebo úroveň 
 +    * Len na niektorých portoch 
 +    * KBI má prioritu pred bežnou funkciou portov 
 +==== Analogově-číslicový převodník (ADC) ====
   * analogový vstup představují signály ze spojitých snímačů (teplota, tlak, osvětlení, odpor, napětí/proud)   * analogový vstup představují signály ze spojitých snímačů (teplota, tlak, osvětlení, odpor, napětí/proud)
   * důležitá je zpětná vazba   * důležitá je zpětná vazba
-  * {{:temata:05-vestavene_systemy:adc.png|}} 
   * předvod aproximačním AD převodníkem je děj, který trvá určitou dobu; proto lze vysledovat fáze   * předvod aproximačním AD převodníkem je děj, který trvá určitou dobu; proto lze vysledovat fáze
     * //zahájení převodu//     * //zahájení převodu//
Řádek 144: Řádek 352:
  
 === AD převodník === === AD převodník ===
-  * typicky má 3 části +  * **Info** 
-    * dolnopropusní filtr +    * typicky má 3 částidolnopropusní filtrTrack/HoldAD převodník 
-    * Track/Hold +    * převádí anslogový vstup na číslicový výstup 
-    * AD převodník +    * Používa sa aproximačný model 
-  * převádí anslogový vstup na číslicový výstup+    * Ideme od MSB a postupne generujeme nižšie bity 
 +    * Vždy porovnáme hodnotu a upravíme ďalší byt a tak iterujeme
  
 +{{ :temata:05-vestavene_systemy:adcmy.png?400 }}
 +
 +  * **Viacej kanálov ADC**
 +    * Vyberáme ich cez multiplexor
 +    * Používame len jeden prevodník
 +    * SH je nejaký kondík aby na chvílu uskoval hodnotu analog. sig. aby sa nemenila
 +
 +{{ :temata:05-vestavene_systemy:adc.png?400 }}
 +
 +  * **Napajanie**
 +    * Môžeme použiť vlastné napájanie
 +    * Nadstavenie referenčných hodnôt
 +  * **Prevod**
 +    * Prevod u AD prevodníka trvá určitú dobu
 +    * Zahájenie: nadstavíme konfiguráciu
 +    * Vykonanie: aproximačné vkonávanie
 +    * Ukončenie: buď uloženie výsledku alebo násilné prerušenie
 +  * **Zahajenie**
 +    * Softvérové: zápisom do ADCSC1
 +    * Hardwarové: príde k dosiahnutí hodnoty module reg. RTCMOD pri čítači real. času
 +    * Pri hardwarovom môžeme nadstaviť periódu vzorkovanie vstupného signálu
 +    * Pri soft. sa ďaľší prevod realizuje okamžide ako je ukončený predchádzajúci prevod
 +  * **Vysledok**
 +    * K dispozícii v registroch ADCRH a L
 +    * Ukončenie v COCO
 +    * Možnosť generovania prerušení
 +    * Možnosť nadstaviť aby bol výsledok indikovaný len ak je nehajá hodnota presiahnutá
 +
 +{{ :temata:05-vestavene_systemy:adcset.png?400 }}
 ==== Časovač/čítač ==== ==== Časovač/čítač ====
   * čítač je speciální registr, který kromě funkcí jako je čtení a zápis hodnoty zvyšuje a snižuje svoji hodnotu o jedničku při každé periodě hodinového signálu; používán je pro čítání událostí   * čítač je speciální registr, který kromě funkcí jako je čtení a zápis hodnoty zvyšuje a snižuje svoji hodnotu o jedničku při každé periodě hodinového signálu; používán je pro čítání událostí
Řádek 166: Řádek 404:
   * vestavěný systém je soustava vzájemně propojených bloků, ty musí být v zájemné součinnosti - k synchronizaci slouží //generátor hodinového signálu// (v jeho rytmu běží komunikace mezi jednotlivými moduly, jádro provádí instrukci za instrukcí)   * vestavěný systém je soustava vzájemně propojených bloků, ty musí být v zájemné součinnosti - k synchronizaci slouží //generátor hodinového signálu// (v jeho rytmu běží komunikace mezi jednotlivými moduly, jádro provádí instrukci za instrukcí)
   * u MCU Motorola HC08 má hodinový signál na starosti modul CGM (Clock Generation Module) - jako zdroj signálu se využívá oscilátor   * u MCU Motorola HC08 má hodinový signál na starosti modul CGM (Clock Generation Module) - jako zdroj signálu se využívá oscilátor
 +
 +==== Zdroje ====
 +<note tip>IMP opory:
 +https://wis.fit.vutbr.cz/FIT/st/course-files-st.php/course/IMP-IT/texts/IMP_opora_cast1.pdf
 +https://wis.fit.vutbr.cz/FIT/st/course-files-st.php/course/IMP-IT/texts/IMP_opora_cast2.pdf
 +
 +Přednášky IMP:
 +https://wis.fit.vutbr.cz/FIT/st/course-files-st.php/course/IMP-IT/lectures
 +
 +cs.wikipedia.org</note>
  
 <doodle single login|05> <doodle single login|05>
 ^ OK ^ !!! ^ ^ OK ^ !!! ^
 </doodle> </doodle>
 +
 +{{tag>ofeig IMP vestavene_systemy programovy_model preruseni podprogram seriovy_prenos IIC SPI SCI porty AD_prevodnik casovac_citac}}
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
temata/05-vestavene_systemy/main.1300974417.txt.gz · Poslední úprava: 2011/03/24 14:46 autor: ofeig
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki