1 / 26

V/I prenosi

V/I prenosi. Dve napravi, na primer: mikrokrmilnik z drugim mikrokrmilnikom, mikrokrmilnik s tipkovnico, mikrokrmilnik s stikalom, mikrokrmilnik z ventilom, .... načeloma komunicirata na enega od dveh načinov: brez usklajevanja (“neusklajen” način) ali

haracha
Download Presentation

V/I prenosi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. V/I prenosi • Dve napravi, na primer: • mikrokrmilnik z drugim mikrokrmilnikom, • mikrokrmilnik s tipkovnico, • mikrokrmilnik s stikalom, • mikrokrmilnik z ventilom, • .... načeloma komunicirata na enega od dveh načinov: • brez usklajevanja (“neusklajen” način) ali • z usklajevanjem (“usklajen” način).

  2. Oddajna naprava Sprejemna naprava V/I – neusklajen način • Brez usklajevanja (“neuklajen” način): • Prenašajo se samo podatki brez nadzornih signalov, to je • ena naprava enostavno postavi signale in druga jih odčita. • Med napravama se ne prenašajo (nadzorni) signali o tem, kdaj ena naprava daje podatek in kdaj, če sploh, ga druga prevzame. • Na primer: mikrokrmilnik odčita stanje stikala, ali mikrokrmilnik prižge LED diodo, .... Podatki

  3. V/I – usklajen način • Z usklajevanjem (angl. Hand Shaking): • Prenos podatkov spremlja izmenjava nadzornih signalov, načeloma takole: • Oddajna naprava zahteva od sprejemne naprave naj se pripravi na prevzem podatka • Sprejemna naprava javi pripravljenost na sprejem podatka, • Oddajna naprava pošlje podatek in javi prisotnost podatka, • Sprejemna naprava prevzame podatek in javi prevzem podatka.... • Obstaja več načinov usklajevanja, včasih jih imenujemo tudi “delno” usklajen, (“polno”) usklajen in “dvojno” usklajen....

  4. 1 2 3 Podatki Oddajna naprava Sprejemna naprava V/I – usklajen način Oddajna naprava postavi podatek. Oddajna naprava postavi nadzorni signal “podatek prisoten”. Sprejemna naprava zazna nadzorni signal in prevzame podatek.

  5. 1 2 3 4 Oddajna naprava Sprejemna naprava V/I – usklajen način Podatki Oddajna naprava postavi podatek. Oddajna naprava postavi nadzorni signal “podatek prisoten”. Sprejemna naprava zazna nadzorni signal in prevzame podatek. Sprejemna naprava javi prevzem podatka. Opomba: to je lahko (hkrati) tudi pomeni zahtevo za pošiljanje (novega) podatka.

  6. V/I prenosi • V/I prenos poteka načeloma na enega od naslednjih načinov: • S posredovanjem procesorja (pod nadzorom programa): • Enostavno brez preverjanja stanja V/I. • S preverjanjem stanja V/I vmesnika. • Z zahtevo za prekinitev. • Brez posredovanja procesorja: • Z neposrednim dostopom do pomnilnika. V tem primeru opravi prenos (namesto procesorja) krmilnik za neposreden dostop. (o tem ne bomo govorili).

  7. V/I – brez preverjanja stanja • Brez preverjanja stanja – torej neusklajen način ; LDAA PortA ;beremo stanje na vhodu ......... STAA PortB ;postavimo izhode ......... • Enostavno prevzamemo (beremo) ali postavimo (pišemo) V/I sponke (signale). • Ta način je primeren, kadar sinhronizacija z drugo napravo (npr. stikalom ali lučko) ni potrebna. • O tem smo že govorili ....

  8. V/I – s preverjanjem stanja • Ta način je primeren, kadar je potrebna sinhronizacija z zunanjo napravo – ko pride podatek, ga je potrebno prevzeti pred prihodom naslednjega podatka, i.t.d. ; CAKAJ: LDAA PortStatus ;zanima nas stanje V/I BITA #$80 ;je podatek prisoten (b7 =1)? BEQ CAKAJ ;ne, čakaj podatek ;Namesto zgorjih ukazov lahko bolj kompaktno naredimo ;CAKAJ: BRCLR PortStatus,#$80,CAKAJ LDAA PortData ;da, prevzemi podatek • Ta način pride v poštev, kadar je nadaljevanje izvrševanja programa pogojeno z zunanjim dogodkom ali procesor tako ali drugače nima drugega dela.

  9. V/I – s preverjanjem stanja • Preverjanje stanja – druga možnost ; LDAA PortStatus ;zanima nas stanje V/I BITA #$80 ;je podatek prisoten (b7 =1)? BEQ NAPREJ ;ne, nadaljuj z delom ;Ali kar BRCLR PortStatus,#$80,NAPREJ LDAA PortData ;da, prevzemi podatek NAPREJ: .......... ;npr. preveri drugo napravo • Ta način je primeren, kadar imamo več V/I naprav, ki jim strežemo s predvidenim taktom.

  10. V/I – s prekinitvijo ; --- poljuben program ....... ;ustrezno pripravimo V/I vmesnik CLI ;omogočimo I maskirane zahteve PROG: ....... ....... ;kadarkoli lahko nastopi prekinitev ....... BRA PROG ; ; --- strežnik V/I ; ISR: LDAA PortData ;prevzamem podatek, STAA Nekam ;nekaj naredim z njim in RTI ;se vrnem v prekinjeni program

  11. HCS12 – PIM(Port Integration Module) Sponke (signali) vrat P, H, J lahko služijo tudi kot prekinitveni vhodi.

  12. HCS12 – vrata P, H in J • Vrata P, H in J so si v vlogi splošnonamenskih vrat (GPIO) enakovredna. • Lahko jih uporabljamo podobno, kot npr. vrata A in B, ki smo jih že spoznali. • Omogočajo pa tudi proženje zahtev za prekinitev, kar npr. vrata A in B ne omogočajo. • Sicer pa vrata (P,H,J) služijo oz. so prek njih dosegljivi tudi notranji periferni moduli: • Vrata P: za PWM in SPI, • Vrata H: za SPI, • Vrata J: IIC in CAN.

  13. HCS12–vrata H kot splošnonamenski V/I • 8 digitalnih vhodov ali izhodov, posamično programljivih za vhod ali izhod s pomočjo smernega registra. • Vhodi z/brez zaključnega upora na napajanje/maso. • Polna ali zmanjšana gonilna moč izhodov. • Možnost prostih (“ožičeni ALI”, angl. “open drain”) izhodov. • Možnost proženja zahteve za prekinitev pri aktivnem prehodu signala na kateremkoli od 8 vhodnih (v tem primeru prekinitvenih) sponk.

  14. HCS12 – vrata H – registri vrat • S stališča programerja zadostuje poznavanje V/I registrov in njihovega pomena (pravzaprav to velja za vse V/I prenose). ODMIK POMEN • Naslovi registrov = Osnovni (začetni) naslov + Odmik • Osnovni naslov PIM = $0240 • Naslov npr. registra PTH je $0240 + $20 = $0260

  15. HCS12 – vrata H – registri vrat • Pri streženju prekinitvenih zahtev iz teh vrat pa moramo poznati še naslov pripadajačega prekinitvenega vektorja.

  16. HCS12 – vrata H: V/I register • V primeru, da so sponke vrat programirane kot izhodne, bo operacija branja vrnila vsebino tega registra, v nasprotnem primeru operacija branja vrne stanje sponk.

  17. HCS12 – vrata H: vhodni register • Branje registra vedno vrne stanje (vhodnih) sponk. Na ta način se da ugotoviti tudi preobremenjenost ali kratek stik, kadar so sponke programirane kot izhodne.

  18. HCS12 – vrata H: smerni register • Vsebina smernega registra izbere smer pripadajoče (istoležne) sponke: vrednost bita = 0  vhodna sponka vrednost bita = 1  izhodna sponka • Možna je poljubna kombinacija vhodnih/izhodnih sponk.

  19. HCS12 – vrata H: register RDRH • Register za zmanšanje izhodne gonilne moči sponke na tretjino: vrednost bita = 0  polna moč vrednost bita = 1  zmanjšana moč

  20. HCS12 – vrata H: register PERH • Register za priklop zaključnega upora vhodne sponke: vrednost bita = 0  upor odključen vrednost bita = 1  upor priključen

  21. HCS12 – vrata H: register PPSH • Izbira polaritete. Register ima dvojni pomen: • Za zaključni upor: vrednost bita = 0  upor na napajalno napetost vrednost bita = 1  upor na maso • Za proženje zahteve za prekinitev: vrednost bita = 0  prehod navzdol vrednost bita = 1  prehod navzgor

  22. HCS12 – vrata H: register PIEH • Omogočanje zahtev za prekinitev na posameznih sponkah vrednost bita = 0  prekinitev ni omogočena vrednost bita = 1  prekinitev je omogočena

  23. HCS12 – vrata H: register PIFH • Register zastavic: vrednost bita = 0  ni zahteve vrednost bita = 1  zahteva • Stanje bita 1 je posledica aktivnega prehoda na pripradajočem vhodu. Bit brišemo z vpisom enice.

  24. HCS12 – vrata H – primer 1/2 PimBase EQU $0240 ;Port Integration Module PortHoffset EQU $0020 ;odmik od PimBase za vrata H PortHbase EQU PimBase+PortHoffset DDRH EQU PortHbase+2 ;smerni register PIEH EQU PortHbase+6 ;omogočanje prekinitev PIFH EQU PortHbase+7 ;zastavice prekinitev PPSH EQU PortHbase+5 ;izbira prožile fronte PHIV EQU $FFCC ;vektor za vrata H ........ CLRA STAA DDRH ;vse sponke so vhodne LDAA #$01 STAA PPSH ;aktiven prehod na PH0 navzgor STAA PIEH ;omogočimo zahtevo na PH0 CLI ;omogočimo prekinitve ......... BRA * ;čakamo na prekinitev

  25. HCS12 – vrata H – primer 2/2 ; --- strežnik prekinitve ; ISR: ......... ; LDAA PIFH ; ANDA #$01 ;zahteva na PH0? BEQ ISR0 ;ne STAA PIFH ;da, brišemo zahtevo ......... ;npr. prevzamemo podatek, i.t.d. ISR0: RTI ; --- vektor prekinitve ORG PHIV ;definicija vektorja vrat H FDB ISR

More Related