Predstavitev se nalaga. Prosimo počakajte.

Predstavitev se nalaga. Prosimo počakajte.

HCS12 – uporaba SCI Priprava vmesnika: Pošiljanje/sprejemanje

Podobne predstavitve


Predstavitev na temo: "HCS12 – uporaba SCI Priprava vmesnika: Pošiljanje/sprejemanje"— Zapis predstavitve:

1

2 HCS12 – uporaba SCI Priprava vmesnika: Pošiljanje/sprejemanje
Določimo oz. izberemo hitrost delovanja, t.j. hitrost pošiljanja/sprejemanja. Določimo obliko podatkov, t.j. število podatkovnih bitov, parnost, ... Določimo način delovanja, t.j. način pošiljanja/sprejemanja, po potrebi omogočimo prekinitve. Pošiljanje/sprejemanje Pošiljanje/sprejemanje posameznega podatka. To je osnova poljubne nadgradnje, t.j. sprejem/oddaja niza, formatiranje “izpisa”, komunikacijski protokoli, ...

3 HCS12 – uporaba SCI Oddaja Sprejem Preverimo stanje TDRE
Če je TDRE = 1, oddamo podatek, to je vpišemo v podatkovni register. S tem se TDRE briše. (lahko pa oddajamo s prekinitvami) Sprejem Preverimo stanje RDRF Če je RDRF = 1, sprejmemo podatek, to je beremo podatkovni register. S tem se RDRF briše. Po potrebi preverimo bite napak. (lahko pa sprejemamo preko prekinitev).

4 HCS12 – uporaba SCI Preprost primer priprave vmesnika SCI0
; ; Subrutina za začetno pripravo vmesnika SCI0 ; Predpostavimo, da je osnovni takt 24 MHz ; InitSCI0: LDD #156 ;24MHz/(16 x 156)  9600 STD SCI0BRH ;hitrost odd./spr. naj je 9600 bps CLRA STAA SCI0CR1 ;8 bitov, brez parnosti, običajen način LDAA #% ;RE=1, TE=1 STAA SCI0CR2 ;omogočimo odd. in spr., prekinitev pa ne RTS

5 HCS12 – uporaba SCI Preprost način sprejemanja podatkov
; ; Subrutina za sprejem enega podatka z vmesnikom SCI0 ; Klic: JSR RxSCI0 ; Vrne podatek v akumulatorju A ; v primeru napake postavi bit C v CCR RXDRF EQU $20 ;Maska bita RDRF RxSCI0: BRCLR SCI0SR1,#RXDRF,RxSCI0 ;Čakam na podatek LDAA SCI0SR1 ;Preveriti hočemo še bite napak CLC ;Brišem znak napake BITA #% ;Kakršnakoli napaka? BEQ RxSCI01 ;Ne, brez napake SEC ;Da, javi napako RxSCI01: LDAA SCI0DRH ;berem (in zavržem) R8 LDAA SCI0DRL ;Berem podatek, s tem se RXDRF briše RTS

6 HCS12 – uporaba SCI Preprost način oddajanja podatkov
; ; Subrutina za oddajo enega podatka z vmesnikom SCI0 ; Klic: JSR TxSCI0 ; Pošlje podatek v akumulatorju A ; TXDRE EQU $80 ;Maska zastavice “odd. reg. prazen” TxSCI0: BRCLR SCI0SR1,#TXDRE,TxSCI0 ;Oddaja možna? STAA SCI0DRL ;Da, oddam podatek RTS

7 HCS12 – izpis prevajanja ;**************************************************************** ;* GSPV 2004/05 ;* Preprost primer uporabe asinhronega serijskega komunikacijskega ;* vmesnika SCI ;* ;* Program pripravi vmesnik (9600 b/s, 8 bitni podatek, brez parnosti) ;* in nato v zanki sprejema in posilja podatke s preverjanjem ;* zastavic v registru SCISR1. ;* V primeru napake ali sprejemu znaka ESC = $1B, konca s SWI. ; --- vstopna tocka XDEF Start ABSENTRY Start ; --- nekaj splosnih definicij, kje je ram, rom, sklad,.. Program EQU $ ;tu naj bo program Ram EQU $2000 ;tu naj bo pomnilnik RAM RamSize EQU $400 ;naj bo 1K RAM-a RamEnd EQU Ram+RamSize SkladSize EQU $100

8 HCS12 – izpis prevajanja ; --- definicije naslovov registrov vmesnika SCI1 D0 SciBase EQU $00d0 ;zacetni naslov SCI1 D0 SCIBRH EQU SciBase D1 SCIBRL EQU SCIBRH+1 D2 SCICR1 EQU SCIBRH+2 D3 SCICR2 EQU SCIBRH+3 D4 SCISR1 EQU SCIBRH+4 D5 SCISR2 EQU SCIBRH+5 D6 SCIDRH EQU SCIBRH+6 D7 SCIDRL EQU SCIBRH+7 ; --- definicije nekaterih ASCII znakov B ESC EQU $1B ;koda ASCII znaka ESC A LF EQU $0A ;nova vrstica D CR EQU $0D ;zacetek vrstice ;

9 HCS12 – izpis prevajanja ; --- podatkovni del pomnilnika, sklad
org RamEnd-SkladSize a rmb SkladSize Sklad: equ * ; --- vstopna tocka, priprava vmesnika, sprejem in oddaja org Program a CF Start: lds #Sklad a F jsr InitSCI ;priprava vmesnika ; a C Zanka: jsr RxSCI ;sprejmi podatek a bcs Konec ;napaka, koncaj a00100B 811B cmpa #ESC ;je escape? a00100D beq Konec ;da, koncaj a00100F F jsr TxSCI ;ne, oddaj podatek in pojdi po naslednjega a F bra Zanka a A Konec: ldaa #LF ;poslji LF - pomik v novo vrstico a F jsr TxSCI a D ldaa #CR ;poslji CR - pomik na zacetek vrstice a00101B F jsr TxSCI a00101E 3F SWI ;povratek k DBUG12

10 HCS12 – izpis prevajanja ; ; ; Subrutina za zacetno pripravo vmesnika SCI ; Osnovna frekvenca 24 MHz a00101F CC00 9C InitSCI: ldd #156 ;9600 bps a CD std SCIBRH a clra a AD staa SCICR1 a C ldaa #% a AD staa SCICR2 a00102B 3D rts

11 HCS12 – izpis prevajanja ; ; ; Subrutina za sprejem podatka ; Podatek bo v akumulatorju A, ; v primeru napake bo postavljen C v CCR RXDRF equ % F RXERR equ % a00102C 4FD4 20FC RxSCI: brclr SCISR1,#RXDRF,RxSCI ;cakam podatek a D ldaa SCISR1 ;zanima me pravilnost sprejema a FE clc ;ce ni napake, naj bo C=0 a F bita #RXERR ;kakrsnakoli napaka? a beq RxSCI01 ;ne, vejitev - ni napake a sec ;da, postavi C a00103A 96D RxSCI01: ldaa SCIDRH ;nini ni potrebno a00103C 96D ldaa SCIDRL ;sprejmi podatek a00103E 3D rts

12 HCS12 – izpis prevajanja ; ; ; Subrutina za oddajo podatka ; Odda podatek v akumulatorju A TXDRE EQU % a00103F 4FD4 80FC TxSCI: brclr SCISR1,#TXDRE,TxSCI a AD staa SCIDRL a D rts

13 RS232 Standard EIA RS232C/D (zadnji popravek 1986)
povezava DCE < --> DTE DCE - (Data Communication Equipment) DTE - (Data Terminal Equipment)

14 RS232 RS232 določa mehanske, električne in funkcionalne lastnosti povezav in tokokrogov. Nosilec informacije je napetostni nivo, V tipično Hitrosti (b/s): 50, 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, ..., Razdalje: do cca 15 m (in več).

15 RS232 25 polni (DB25) konektor in (važnejši) signali
“preslikava” signalov na 9 polni (DB9) konektor

16 RS232 Tipični načini povezovanja DTE <---> DCE stran računalnika

17 RS232 Tipični načini povezovanja DTE <---> DTE (“ničelni modem”)
križan kabel

18 RS485 Večtočkovno povezovanje na podlagi parice
(sukanega voda) (“angl. Twisted Pair”, UTP, STP) Hitrosti: do 10Mb/s Razdalje: do 1200 m.

19 RS232, ..., RS485

20


Prenesi ppt "HCS12 – uporaba SCI Priprava vmesnika: Pošiljanje/sprejemanje"

Podobne predstavitve


Oglasi od Google