GPIO (konfigurace vstupu, výstupu, alt. funkce) GP timers Core
timers Watchdog timer Rotary counter Real time clock Keypad interface SD HOST (MMC, SD interface) ATAPI (IDE) A0M38SPP - Signálové procesory v praxi - přednáška 10
2
Až 152 GPIOs
z celkové množství 400 Piny rozděleny do skupin (portů): A až J děl d k ( ů) ž Počet pinů/ port : max. 16 Režimy z hlediska HW: vstupní, výstupní, Režimy z hlediska HW: vstupní výstupní open‐drain Multiplexované funkce funkce – nastavitelné nastavitelné individuálně „pin po pinu“ 4 přerušovací kanály pro externí přerušení p yp p Připojitelné na kterýkoliv pin (konfigurovatelné na hranu či úroveň) A0M38SPP - Signálové procesory v praxi - přednáška 10
3
A0M38SPP - Signálové procesory v praxi - přednáška 10
4
Po resetu – všechny GPIOs nastaveny do input režimu, stav vysoké impedance, interně drženy v log. 0 – není nutno nezapojené piny ošetřovat Každý port A až G: řízen těmito registry: ždý ž ří ě
‐ PortX_FER (function enable reg. 16.bit. ) ‐ PortX_MUX(výběr GPIB nebo speciální funkce pinu
32.bit) ‐ PortX_INEN (log.1 = stav vysoké impedance) PortX INEN (log 1 = stav vysoké impedance) ‐ PortX_DIR_SET (log. 1 =input mode) ‐ PortX_DIR_CLEAR (log. 0 = output PortX DIR CLEAR (log 0 = output mode) A0M38SPP - Signálové procesory v praxi - přednáška 10
5
A0M38SPP - Signálové procesory v praxi - přednáška 10
6
A0M38SPP - Signálové procesory v praxi - přednáška 10
7
Implementovány dva moduly časovačů Na nich je realizováno celkem 11 samostatných Na nich je realizováno celkem 11 samostatných nezávislých 32‐bit. časovačů Lze nastavit synchronní spouštění či zastavení
Režimy časovačů: ‐ „singleshot singleshot“ mód mód – měření doby, generování pulzů měření doby generování pulzů
definované šířky ‐ PWM mód – automatické nastavení řídicích registrů (perioda a střída generovaných signálů) (perioda a střída generovaných signálů) ‐ Externí časovač – možnost CAPTURE režimu ‐ Externí čítač událostí – např. měření frekvence A0M38SPP - Signálové procesory v praxi - přednáška 10
8
Synchronní operace na všech čítačích V případě režimu PWM –
obnova řídicích
registrů (perioda, střída) Automatická detekce přenosové rychlosti (CAN, UART)
A0M38SPP - Signálové procesory v praxi - přednáška 10
9
A0M38SPP - Signálové procesory v praxi - přednáška 10
10
A0M38SPP - Signálové procesory v praxi - přednáška 10
11
Po resetu nastaven na 0x0000(1) Vždy čítá nahoru Vžd čí á h Vstup hodin – volitelný, typicky se používá signál SCLK (systémové hodiny procesoru pro periférie) SCLK (systémové hodiny procesoru pro periférie) Max. možná Tmax = 32,3 s @ fsclk = 130 MHz Po přetečení časovače – generuje se přerušení (bit TOF_ERRx v reg. TIMER_STATUSx) V režimu PWM – obsah čítač se plní hodnotou z TIMERx PERIOD a TIMERx WIDTH TIMERx_PERIOD a TIMERx_WIDTH Výběr režimu čítače – TIMER_CONFIG reg. Povolení čítače Povolení čítače – TIMERx_ENABLEx TIMERx ENABLEx
A0M38SPP - Signálové procesory v praxi - přednáška 10
12
Pokud register g PERIOD_CNT = 0, generuje se pouze jeden impulz definované délky Možnost konfigurovat aktivní log. úroveň
A0M38SPP - Signálové procesory v praxi - přednáška 10
13
Automatická detekce přenosové rychlosti A0M38SPP - Signálové procesory v praxi - přednáška 10
14
A0M38SPP - Signálové procesory v praxi - přednáška 10
15
Programovatelný 32.‐bit časovač určený pro generování periodických přerušení !!! á í i di ký h ř š í !!! Vstupní hodiny CCLK (systémové hodiny procesoru) Na vstupu 8‐bit. předdělička Výstup časovače – připojen na přerušení s vysokou prioritou Režimy :
‐ „singleshot“ i l h “ ‐ kontinuální operace
Čítač se dekrementuje !!! Čítač se dekrementuje
A0M38SPP - Signálové procesory v praxi - přednáška 10
16
A0M38SPP - Signálové procesory v praxi - přednáška 10
17
A0M38SPP - Signálové procesory v praxi - přednáška 10
18
32‐bit. timer 8‐bit. disable bit patern při spuštění – čítá směrem dolů, softwarově se musí před vynulováním opět nahrát í ř d l á í ě há Při vynulování – generuje se jedna ze tří událostí:
‐ Reset ‐ NMI (CEC core event controller) ‐ GP interrupt GP i t t requestt (SIC ‐system (SIC t i t interrupt t controller) t ll )
Řídicí registry: WDOG_CTL,WDOG_STAT, WDOG CNT WDOG_CNT
A0M38SPP - Signálové procesory v praxi - přednáška 10
19
A0M38SPP - Signálové procesory v praxi - přednáška 10
20
32‐bit. čítač pro zpracování signálů z
inkrementálních čidel (např. senzor natočení) Integrací pulzů lze převádět relativní polohu na absolutní Na inkrementálních čidlech použit Grayův
A0M38SPP - Signálové procesory v praxi - přednáška 10
21
A0M38SPP - Signálové procesory v praxi - přednáška 10
22
Pro udržení hodin reálného času nebo měření celkové doby od poslední restartu procesoru od poslední restartu procesoru Hodiny – externí krystal 32, 768 kHz Samostatné napájecí piny – čítač běží bez ohledu na p procesor Dělička pro odvození T = 1 s Obsahuje registr (čítač) sekund, minut, hodin a dnů Možno generovat libovolné přerušení (každou sekundu, minutu atd.) d) Možnost využití alarmu – v pomocných registrech se nastaví datum a čas – v případě, hodnota RTC odpovídá nasta eném dat m a času, generuje se přerušení nastavenému datumu a čas gener je se přer šení Funkce „stopek“ – RTC dekrementuje nastavený obsah, při uplynutí se generuje interrupt
A0M38SPP - Signálové procesory v praxi - přednáška 10
23
A0M38SPP - Signálové procesory v praxi - přednáška 10
24
‐ RTC STATUS (obsahuje jednotlivé čítače) ‐ RTC_ICTL (řídí způsoby generování přerušení od RTC ICTL (řídí ů b á í ř š í d ‐ ‐ ‐ ‐
RTC) RTC ISTAT (obsahuje příznaky jednotlivých RTC_ISTAT (obsahuje příznaky jednotlivých událostí) RTC SWCNT (režim stopek“ – down‐counter) RTC_SWCNT (režim „stopek down counter) RTC_ALARM (definuje okamžik vzniku alarmu) RTC PREN (povolení předděličky na vstupu RTC) RTC_PREN (povolení předděličky na vstupu RTC)
A0M38SPP - Signálové procesory v praxi - přednáška 10
25
16‐bit. Interface pro připojení klávesnice
(max. vel. matice 8 x 8 kláves) Automatické ošetření zákmitů Režimy: ‐ Press‐realese‐press mód ‐ Press‐hold mód Lze definovat přerušení pro stisk lib.
klávesnice
A0M38SPP - Signálové procesory v praxi - přednáška 10
26
A0M38SPP - Signálové procesory v praxi - přednáška 10
27
Rozhraní pro MMC, SD a SDIO karty (zařízení) Podporuje 1‐bit. a 4‐bitový SD mód SPI není podporováno ! Detekce zasunutí karty Hodiny pro rozhranní –
odvozeno od SCLK Podpora pro SDIO přerušení Sběrnice SD0 až SD3 – obousměrná, jedním směrem se posílají příkazy, druhým se čeká na odpovědi A0M38SPP - Signálové procesory v praxi - přednáška 10
28
A0M38SPP - Signálové procesory v praxi - přednáška 10
29
A0M38SPP - Signálové procesory v praxi - přednáška 10
30
Výchozí stav : IDLE Zá i Zápisem do SDH_COMMNAND d SDH COMMNAND se spustí vysílání příkazu Po odeslání se nastavují status flagy Čeká se na odpověď nebo se automaticky přechází opět do režimu IDLE V případě, že se vyžaduje V případě, že se vyžaduje odpověď, čeká se na přijetí
A0M38SPP - Signálové procesory v praxi - přednáška 10
31
A0M38SPP - Signálové procesory v praxi - přednáška 10
32
Formát příkazu (délka 48‐bit.)
A0M38SPP - Signálové procesory v praxi - přednáška 10
33
Podporovány dva formáty:
‐ 48‐bit. odezva
‐ 136‐bit. odezva
A0M38SPP - Signálové procesory v praxi - přednáška 10
34
Další detaily ohledně standardu:
‐ http://www.sdcard.org/developers/tech/sdcard/pls
/Simplified_Physical_Layer_Spec.pdf ‐ http://www.sandisk.com/media/File/OEM/Manuals
/SD_SDIO_specsv1.pdf
A0M38SPP - Signálové procesory v praxi - přednáška 10
35
16‐bit. datové rozhraní hojně používané např.
na harddisky, CR‐ROM mechaniky, DVD přehrávače apod. Dříve hojně rozšířené v PC XT, AT IDE – nedílná součást ISA sběrnice ATAPI definuje 80 příkazů PIO módy: 0,1,2,3,4 DMA módy: 0,1,2, Ultra DMA módy: 0,1, až 100 A0M38SPP - Signálové procesory v praxi - přednáška 10
36
A0M38SPP - Signálové procesory v praxi - přednáška 10
37