170 likes | 335 Views
Mikrokrmilniki in V/I. Mikrokrmilniki so načeloma predvideni za vgradnjo v druge naprave/sisteme in so največkrat eden njihovih glavnih sestavnih delov. Zmožnost povezovanja mikrokrmilnika z drugimi enotami je zato za uporabo mikrokrmilnika bistvenega pomena.
E N D
Mikrokrmilniki in V/I • Mikrokrmilniki so načeloma predvideni za vgradnjo v druge naprave/sisteme in so največkrat eden njihovih glavnih sestavnih delov. • Zmožnost povezovanja mikrokrmilnika z drugimi enotami je zato za uporabo mikrokrmilnika bistvenega pomena. • CPE, RAM, EEPROM, Flash, dajejo mikrokrmilniku osnovno funkcionalnost, ki je obdelava podatkov. • V/I sponke oz. signali skupaj z V/I vezji (vgrajenimi vmesniki oz. bloki) pa mikrokrmilniku dajejo uporabnost, omogočajo izmenjavo podatkov z okoljem – povezljivost z okoljem. • “Moč” mikrokrmilnika pride do izraza prav v V/I zmožnostih.
Mikrokrmilniki in V/I • Večina sponk mikrokrmilnika je večnamenskih, se jih da uporabljati na več načinov: kot vhodne, izhodne, prožilne, analogne, digitalne, i.t.d.. S tem prihranimo na številu sponk. • Nekatera V/I vezja (sponke) so splošno namenska - ne predvidevajo konkretnega tipa zunanje naprave, druga so prirejena za povezavo na specifičen način, na primer bitno serijski (CAN, SCI, ...). • Skupine sponk/signalov s podobno funkcionalnostjo (tipično 8) tvorijo “vrata”, na primer vrata A, vrata B, ipd.
Mikrokrmilniki in V/I • Kaj omogoča splošno namenska V/I sponka? • Lahko služi kot digitalen vhod (odčitavanje signalov). • Lahko služi kot digitalen izhod (postavljanje signalov). • Lahko povzroči (proži) zahtevo za prekinitev. • Lahko vsebuje notranji zaključni upor (ali pa ne). • Lahko spremeni gonilno moč (polna, delna). • ....? • Bistveno je, da na njej odčitamo ali postavimo signal, kot to pričakuje oz. zahteva zunanja (oz. druga) naprava.
Mikrokrmilniki in V/I • Kaj omogoča večnamenska V/I sponka • Lahko služi kot digitalna sponka. • Lahko služi kot analogna sponka. • Lahko služi kot komunikacijska sponka. • Lahko služi kot prestrezna sponka časovnika. • Lahko služi za razširitev vodila. • ..... • Seveda ne hkrati in tudi ne čisto vse našteto.
Mikrokrmilnik - registri vrat • (Vsakim) vratom (V/I vezjem) pripada določeno število registrov. • Registri (splošno): • Omogočajo izmenjavo signalov z okoljem. • Procesor vpiše v register in s tem postavi stanje zunanjih - izhodnih signalov/sponk. • Procesor bere iz registra in s tem odčita stanje signalov na zunajnih – vhodnih sponkah. • Določajo način delovanja vrat. • Definirajo smer sponk: katere so vhodne, katere so izhodne. • Definirajo druge specifične lastnosti sponk, gonilno izhodno moč, vhodni zaključni upor, občutljivost na prvi/zadnji rob signala, ipd. • Odražajo stanje vrat.
Pomnilniško preslikan in ločen V/I • HCS12 (Motorola) uporablja t.i. “pomnilniško preslikan” način za V/I, za razliko od “ločenega V/I”. • V primeru pomnilniško preslikanega V/I dostopa CPE do registrov vrat enako kot do pomnilnika. • Na primer: STAA PomBeseda ;vpis v pomnilnik STAA PortaA ;vpis v V/I register • Ločen V/I se s stališča programerja najbolj vidi v ločenih naslovnih področjih za pomnilnik in za V/I ter v V/I ukazih, tipično ukaza imenovana IN in OUT. • Na primer: STAA PomBeseda ;vpis v pomnilnik OUT PortA ;ne gre pa STAA PortA
0000 0000 V/I 1000 RAM RAM 8000 8000 ROM ROM FFFF FFFF Pomnilniško preslikan in ločen V/I 000 V/I F00 Pomnilniško preslikan V/I (npr. Motorola) Ločen V/I (npr. Intel)
HCS12 – PIM(Port Integration Module) Vrata A Vrata B
HCS12 – vrata A in vrata B • Vrata mikrokrmilnika so označena s črkami, na primer: vrata A, vrata B, vrata E, vrata K, ... • Sponke vrat so označene še s številko, na primer PA0, PA1, ... , PA7, to je: vrata A, sponka/signal 0, sponka 1, ..., sponka 7. • Sponka 0 ima najmanjšo težo, sponka 7 največjo. • Vrata A in vrata B služijo dvema namenoma: • Splošno namenska V/I vrata (“GPIO” - angl. General Purpose IO) v samostojnem načinu. • (Časovno) multipleksirane naslovne in podatkovne sponke za razširitev (podaljšanje) naslovnega in podatkovnega vodila v razširjenem načinu.
0000 V/I 0400 EEPROM 1000 RAM 4000 Flash FF00 Vektorji FFFF HCS12 – razporeditev v naslovnem področju • Razporeditev v naslovnem področju je odvisna od načina delovanja mikrokrmilnika (samostojen, razširjen, itd.) • Ob začetni vzpostavitvi (“reset”) je privzeta “običajna” razporeditev, ki jo je moč kasneje po potrebi (in skoraj) poljubno spremeniti. • Skica prikazuje razporeditev ob začetni vzpostavitvi za samostojen način delovanja. • Opomba: 1K EEPROM-a je “prekrit” z V/I naslovi. Glede na to, da je EEPROM-a 4K, je v tej razporeditvi dosegljivega samo 3K.
HCS12 – vrata A in B • V samostojnem načinu delujejo vrata A in vrata B kot splošnonamenska V/I vrata. • S stališča V/I so vrata A in B ekvivalentna. • Vratom A (B) pripada podatkovni register PORTA (PORTB), ki ga procesor piše/bere in s tem postavi/prevzame stanje perifernih sponk PA0:7 (PB0:7). • Smerni register DDRA (DDRB) vrat A (B) določi smer prenosa: Bit_i (i=0,1, ... , 7) = 0 pripadajoča sponka je vhodna Bit_i (i=0,1, ... , 7) = 1 pripadajoča sponka je izhodna • Gonilno moč izhodnih sponk izberemo z vpisom v register RDRIV. • Zaključni upor vhodnih sponk izberemo z vpisom v register PUCR.
HCS12 – naslovi registrov vrat A in B • Primer: A je izhod, B pa vhod LDAA #$FF STAA $0002 ;Vrata A so izhod CLRA STAA $0003 ;Vrata B so vhod ;PUCR in RDRIV pustimo “na miru”. LDAA $0001 ;Prepišemo vhod (vrata B) STAA $0000 ;na izhod (vrata A)
HCS12 – vrat A in B, primer še enkrat PORTA EQU $0000 ;naslov pod. r. vrat A PORTB EQU PORTA+1 ;naslov pod. r. vrat B DDRA EQU PORTA+2 ;naslov smer. r. vrat A DDRB EQU PORTA+3 ;naslov smer. r. vrat B ...... ...... ...... LDAA #$FF STAA DDRA ;Vrata A so izhod CLRA STAA DDRB ;Vrata B so vhod LDAA PORTB ;Prepišemo vhod STAA PORTA ;na izhod ...... ......
HCS12 – Register PUCR • Omogoči notranji zaključni upor: PUBAE=1, omogoči (vse) zaključne upore za vhode vrat A PUPBE=1, omogoči (vse) zaključne upore za vhode vrat B Opomba: isti register tudi za vrata E in K
HCS12 – Register RDRIV • Zmanjša gonilno moč izhodov: RDPA =1, zmanjša gonilno moč (vseh) izhodov vrat A RDPB =1, zmanjša gonilno moč (vseh) izhodov vrat B Opomba: isto tudi za vrata E in K
HCS12 – še o vratih A in B • V pogledu V/I so vrata A in vrata B precej “enostavna”, mikrkrmilnik preprosto postavi ali odčita stanje sponk. • Vrata ne omogočajo usklajevanja (angl. “hand shaking”) z drugo napravo v smislu: • prevzel sem podatek, • poslal sem podatek, • pričakujem podatek. • Vrata ne morejo postaviti zahteve za prekinitev, zato ne omogočajo spontanega obravnavanja signalov v smislu: • zahtevam prekinitev, prevzemi podatek, • zahtevam prekinitev, pričakujem podatek.