Toto je starší verze dokumentu!


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:

  • reaktivnost, odezva na podněty v reálném čase
  • autonomie - činnost bez lidského zásahu
  • kritičnost - vliv odchylek od normálního chování na bezpečné plnění úlohy

Vlastnosti E.S. (Embedded System):

  • většinou omezená množina aplikačních systémů
  • typicky čtení, zpracování a řízení fyzikálních veličin
  • musí být spolehlivé, bezpečné a zabezpečené
  • musí být efektivní

Oproti univerzálním počítačů se u E.S. setkáváme s:

  • jeden program po celý život (VS je specifický pro aplikaci)
  • uživatel by neměl tušit, že pracuje s počítačem
  • hlavní interakce nemusí být s člověkem (např. čidla pro snímání prostředí, ovládání akčních členů)
  • startuje sám bez lidského zásahu

Typická struktura E. S.

Microprocesory μPs

  • μP je základní procesorová jednotka (CPU) na čipu
  • komponenty CPU
    • ALU, instrukční dekodér, registry, řadič, sběrnice
  • jsou vhodné pro zpracování informací/dat

Mikropočítače μC

  • μP plus příslušné podpůrné obvody (periferní I/O komponenty a pamět)
  • při malém počtu V/V obvodů ho nazýváma mikrokontrolér
  • vhodné k řízení vnějších zařízení v aplikacích vyžadujících minimum komponent
  • dělí se podle architektur
    • RISC/CISC
      • CISC se jednoduše programuje a efektivně využívá paměť; dnes už ztrací na významu
      • RISC realizuje větší výpočetní výkon za nižší cenu s jednodušším instrukčním souborem
        • množina instrukcí redukovaná na 2 základní instrukce pro pamětové operandy LOAD a STORE
    • 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 i data), která je typickým představitelem paralelního zpracování
      • Von Neumannova architektura:

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.

  • periferní jednotky μC (příklady)
    • CPU
    • programová paměť
    • datová pamět (SRAM)
    • nulovací obvod, watchdog
    • číslicové V/V, analogové V/V
    • časovače, obvod reálného času

Programovací model HCS08

  • CPU
    • Von Neumannovská architektura
    • sběrnice: 8b data + 16b adresa
    • instrukční sada: CISC, střadačová architektura
  • registry
  • instrukční sada
    • ADD, AND, SUB, SWI (soft. přerušení)
    • operandy
      • kostanta # (#64, #$40 (hexa), #%0100000 (bin))
      • adresa (100, $F0, $FB000)
  • adresovací režimy
    • inherent INH
      • MUL: X:A ← (X) * (A)
    • relative REL
      • BEQ rel: Branch if equal (if Z = 1)
    • immediate IMM
      • ADD #2: A ← A + 2
    • direct DIR
      • BSET 0, 31: Set Bit n in memory (Mn ← 1)
    • extended EXT
      • ADD $0200
    • indexed
      • LDA ,X: No Offset
  • typy instrukcí
    • pro přenos dat (load/store): LDA #5; MOV #5, 100
    • pro práci s daty (aritmetické, logické …): AND op, ADD op
    • pro řízení toku programu (skokové): JMP op
    • speciální: NOP, WAIT
Režimy činnosti
  • RUN
    • „plný“ běh aplikace
    • aktivován po resetu
    • CPU začíná provádět kód, kde první instrukce je uložená v reset vektoru
  • Active background
    • ladění aplikace, bootloader
    • 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
  • Wait
    • CPU zastaven (snížení spotřeby), systémové hodiny běží, plná funkce napěťového regulátoru
    • 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í
  • Stop
    • zastaveno CPU, BUSCLK
    • Stop 3 - uchovává obsah RAM, USB RAM, registrů; možný rychlý přechod do Run
    • Stop 2 - uchovává obsah RAM, USB RAM

Paměť

  • RAM, USB RAM
  • Flash
  • registry
Ram
  • statická, napájena ve všech režimech činnosti MCU
  • obecně využitelná
  • USB RAM - 256B - určená primárně k alokaci prostoru pro uložení BDT (Buffer Descriptor Table) a endpoint bufferů
Flash
  • primárně určená pro uložení programu E.S.
  • kapacita (JM60): 60 912 B ~ 119 stránek po 512B
  • stránka je nejmenší mazatelná stránka
  • příkazové rozhraní
  • možnost zabezpečení dat (security)
  • automatický přechod do úsporného režimu
  • po resetu MCU je možno zapsat nejvýše 1x

Podprogram vs. přerušení

Standratní programová smyčka:

  • pokud je volán podprogram, je předáno řízení hlavnímu programu až po provedení celého podprogramu (voláním return)
  • 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í
  • zdroj přerušení se prezentuje aktivní úrovní
  • např. při mimořádné události vyvolá hlavní program přerušení, žádost je za definovaných podmínek akceptovaná a řízení předáno přidem připravené obslužné rutině přerušení
    • adresa instrukce je uložena ve vektoru přerušení - zpravidla je to odkaz do tabulky adres nebo tabulky prvních instrukcí přerušovacích rutin

Číslicově-analogový převodník (ADC)

  • 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
  • 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
      • děje se zápisem do registru
      • jsou 2 možnosti zahájení
        • softwarové - zápis do registrů (převod se realizuje hned)
        • hardwarové - dojde k dosažení modulo registru při sčítání čítače reálného času (napřed se musí nastavit perioda vzorkování, až pak začne převod)
    • provádění převodu
    • ukončení převodu (výsledek je k dispozici, nebo byl převod „násilně“ ukončen)
      • výsledek je k dispozici v registrech ADCRH a ADCRL

AD převodník

  • typicky má 3 části
    • dolnopropusní filtr
    • Track/Hold
    • AD převodník
  • převádí anslogový vstup na číslicový výstup

Č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í
  • časovač je čítač, jehož čas je zvyšován o jedničku hodinovým signálem mikropočítače; účelem je odměřovat čas
  • čítač/časovač realizuje časovou základnu a je jádrem systému časování
  • cyklus čítače je dán periodou budícího signálu a počtem bitů čítače - při přetečení je generován příznak, který lze využít při generování periody impulsního signálu
  • často je třeba určit čas, kdy došlo k nějaké události - přečteme si aktuální hodnotu běžícího čítače a vypočteme časový údaj
  • výstupem jednotky záchytu hrany je vývod MCU, kde je přiveden signál s logickými úrovněmi. Lze ji nastavit na detekci nástupné nebo sestupné hrany
  • PWM modul lze využít jako jednoduchý Č/A převodník
    • proměnná střída impulsů je vyhodnocena jako proměnné analogového napětí úměrné hodnotě aktuální hodnotě střídy
    • pulzně šířková modulace PWM je technika, kdy je generován impulsní průběh s konstantní periodou a proměnnou střídou. Signál tohoto typu je využíván hlavně pro řízení motorů

Generátor hodin

  • 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
05
Celé jménoOK!!!
Tom Ofeig2011-05-02 21:42:01 
Martin Pavelka2016-05-24 22:20:54 
 2

Diskuze

vagyvagabund, 2011/03/14 23:13

–mikrokontroler–

architektura mikrokontroleru (na prikladu HCS08, strucne registry, typy operaci, adresovaci rezimy + jednoduchy priklad pro kazdy rezim, typy instrukci) rezimy mikrokontroleru (duvod zavedeni + strucny popis jednotlivych rezimu (kdy se pouziva?) strucne o pameti (rozdeleni + adresovy prostor, FLASH/RAM - neco malo ze skript (nejzakladnejsi body) ) podsystem preruseni (preruseni vs podprogram, vektory preruseni, obsluha PZ, druhy preruseni(soft/hardw) + neco malo o nich)

–rozhrani–

sbernice SCI/SPI/IIC strucne, uvest zakladni princip porty - k cemu slouzi + kratce o nich, pull-up rezistory, sdileni, preruseni pri zmene, …

–prevodniky–

AD prevodnik (jak funguje), casovac (citac/casovac, PWM, zachyt hran), zdroje hodin, popsat PLL strucna zminka o OS pro miktrokontrolery

Pozn. o periferiich jsme se moc nezminovali, spise ma na mysli klavesnici, display, externi Flash pamet, … Tady bych spis jenom kratce shrnul zakladni periferii, co lze pripojit, popr. mozno jeste o nich neco napsat, jak je pripojit, jak funguji, pokud to pujde, ale nezabyhal moc do detailu

Vložte svůj komentář
 
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