260 likes | 403 Views
Oddajni pomikalni register. Sprejemni pomikalni register. Prenosna pot, tipično nekaj metrov ali poljubno več. b 7. b 7. b 7. b 7. b 6. b 6. b 6. b 6. b 5. b 5. b 5. b 5. b 4. b 4. b 4. b 4. b 3. b 3. b 3. b 3. b 2. b 2. b 2. b 2. b 1. b 1. b 1. b 1. b 0. b 0.
E N D
Oddajni pomikalni register Sprejemni pomikalni register Prenosna pot, tipično nekaj metrov ali poljubno več b7 b7 b7 b7 b6 b6 b6 b6 b5 b5 b5 b5 b4 b4 b4 b4 b3 b3 b3 b3 b2 b2 b2 b2 b1 b1 b1 b1 b0 b0 b0 b0 Oddajni podatkovni register Sprejemni podatkovni register Serijske komunikacije • Serijski način komuniciranja – prenos podatkov v bitno serijski obliki: • Sprememba bitno paralelne oblike podatkov v bitno serijsko (časovno zaporedje bitov) in obratno • Uklajevanje sprejemne in oddajne naprave • Nadzorne naloge
Sprejemni takt (Urin signal) Oddajni takt (Urin signal) b7 b7 b6 b6 b5 b5 b4 b4 b3 b3 b2 b2 b1 b1 b0 b0 Podatkovni signal Sprejemni pomikalni register Oddajni pomikalni register Serijske komunikacije • Asinhroni serijski način (takt se ne prenaša). • Hitrost sprejemnika se ne sme preveč razlikovati od hitrosti (frekvence) oddajnika (praktično pravilo - največ 1 %). • Tak način realizira asinhroni serijski komunikacijski vmesnik. • V uporabi so različne oznake takih komunikacijskih vmesnikov, (UART, ACIA, DART), največkrat pa SCI (Serial Communication Interface), kot pri HCS12. • Uporablja se za nižje hitrosti prenosa, tja do 100 Kb/s.
Sprejemni takt (Urin signal) Oddajni takt (Urin signal) b7 b7 b6 b6 b5 b5 b4 b4 b3 b3 b2 b2 b1 b1 b0 b0 Podatkovni signal Sprejemni pomikalni register Oddajni pomikalni register Serijske komunikacije • Sinhroni serijski način • Takt oddajnika se prenaša. • Sprejemnik se na podlagi sinhronizacijskega signala sinhronizira z oddajnikom (se “ujame” po frekvenci in fazi). • Na ta način se dosega višje hitrosti prenosa. • Tak način realizira SPI (Serial Peripheral Inteface). Urin signal • Opomba: sinh. takt se lahko prenaša skupaj z inf. signalom
p 0 1 b0 0 b1 0 b2 b3 0 b4 1 b5 1 b6 1 b7 0 Asinhroni serijski način • Krajšemu zaporedju informacijskih bitov oziroma simbolov (tipično osmim) se doda začetni bit (start bit) in eden ali dva končna bita (stop bita). • Na ta način nastane t.i. asinhrona serijska oblika podatka ali “okvir”. • Po potrebi se na koncu (pred končnim(a) bitom(a)) doda še “parnostni bit”. Mirovno stanje Start bit Stop bit(a)
Asinhroni serijski način • Sprejemnik začne odčitavati informacijski signal, ko zazna začetni bit oziroma “prepričljiv” prehod signala z visokega (angl. “mark”) na nizek logični nivo (angl. “space”). • Sprejemnik nato odčituje signal s taktom svojega urinega signala. • Hitrost odčitavanja je običajno nekajkrat (16x) višja od bitne hitrosti. Zato lahko sprejemnik opravi več odčitkov signala v času trajanja enega bita, da loči stanje logične enice od ničle. • Če je razlika v taktu sprejemnika in taktu oddajnika prevelika, sprejemnik napačno odčita sprejemani signal. • V primeru, da sprejeti signal ne ustreza pravilom oblike okvirja (pogoj parnosti, začetni bit, stop biti), sprejemnik javi napako. • Končni biti pravzaprav zagotavljajo minimalen časovni presledek pred nastopom naslednjega začetnega bita. Na nek način poskrbijo za izravnava razlike v hitrostih sprejemnika in oddajnika. • Časovni presledek med zaporednima podatkoma je seveda lahko poljubno daljši.
p 0 1 b0 0 b1 0 b2 b3 0 b4 1 b5 1 b6 1 b7 0 Asinhroni serijski način • Načelna skica sprejemanja (odčitavanja) signala Ustrezno Prepočasi Prehitro • Za asinhrone prenose se uporablja NRZ oblika signala (Non Return to Zero). • NRZ pomeni, da ostane signal v času trajanja bita nespremenjen (visok ali nizek), kot na skici.
HCS12 – SCI • HCS12 ima dva (ekvivalenta) asinhrona serijska komunikacijska vmesnika: SCI0 in SCI1. • Vsak omogoča: • Sočasno oddajanje in sprejemanje (“polni dupleks”). • Različne (programsko nastavljive) hitrosti delovanja. • Različne oblike okvirja (8,9 bitov, parnost). • Odkrivanje napak pri sprejemu (parnost, hitrost, šum, ...). • Različne načine delovanja (“dvo/eno žično, “bujenje”, ...). • Proženje zahteve za prekinitev ob sprejemu/oddaji/napaki,...
HCS12 – SCI blok diagram Sprejeti podatek Od sprejemne sponke Zahteva za prekinitev Takt Sprejemnika in oddajnika Podatek za oddajo K oddajni sponki
HCS12 – uporaba SCI • Priprava vmesnika: • 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: • Pošiljanje posameznega podatka, t.j. vpis v oddajni register, ko oddajnik to omogoča. • Sprejemanje: • Sprejemanje posameznega podatka,t.j. branje podatka iz podatkovnega regsitra in obravnavanje napak, ko je podatek sprejet.
HCS12 – SCI • Vsakemu od vmesnikov SCI pripada 8 registrov plus prekinitveni vektor. • Registri določajo: • način delovanja, • stanje oddajnika/sprejemnika, • hranijo sprejeti/oddani podatek.
HCS12 – registri SCI • Začetni naslov za SCI0 = $00C8 • Začetni naslov za SCI1 = $00D0
HCS12 – vektorji SCI • Vsakemu vmesniku pripada (samo) en prekinitveni vektor, vzrokov za prekinitev pa je več: • sprejet je podatek, • oddaja je končana, oddaja je možna, • sprejemna linija je prazna, • ....
HCS12 – SCI registri • Register SCIxBDH/L (npr.SCI0BDH, SCI0BDL): register (registra) za izbiro hitrosti odd./spr. • Hitrost [b/s] = Osnovni takt / (16 x vsebina registrov)
HCS12–SCI nastavitev hitrosti • Hitrost oddajnika/sprejemnika • Standardne hitrosti [bps] 1200, 2400, 4800, 9600, 19200, 36400, ... • Pri dani osnovni frekvenci se ne da z deljenjem natančno doseči katerekoli prenosne hitrosti. • Sprijazniti se moramo s še sprejemljivim odstopanjem. • Npr. 8 MHz / (16 x BR) = 9600 b/s; BR = 52 8 MHz / (16 x 52) = 9615 b/s; napaka 15/9600 = 0.0015, kar je še dopustno. .......... MOVW #52, SCI0BDH ali: LDD #52 STD SCI0BDH
HCS12 – SCI registri • Registra SCICR1 in SCICR2 (SCI Control Register) Označeni so biti, ki jih moramo določiti v večini primerov uporabe, drugi so precej manj pogosto uporabljani.
HCS12 – SCI registri • Register SCICR2 S tem registrom omogočamo oddajnik, sprejemnik in omogočamo različne vzroke prekinitev,... • RE, TE: Receiver Enable, Transmitter Enable • RIE, TIE: Receiver Interrupt Enable, Transmitter Interrupt En. • TCIE: Transmission Complete Interrupt Enable • ILIE: Idle Line Interrupt Enable • RWU: Receiver Wakeup • SBK: Send Break
HCS12 – SCI registri • Register SCICR1, s tem registrom izberemo obliko podatka in različne možnosti delovanja, ...: • M : (Mode) oblika podatkov • M = 1, 9 bitni podatek • M = 0, 8 bitni podatek • PE, PT: (Parite Enable, Parity Type) • PE = 1, omogočimo parnost • PT = 1, liha parnost, PT = 0, soda parnost Najpogostejša oblika, M=0, PE=0
HCS12 – SCI registri • Register SCICR1 • WAKE (Wake condition) • WAKE = 1, bujenje z naslovnim bitom • WAKE = 0, bujenje s prazno linijo • LOOPS (Loop operation): • LOOPS = 1, Oddajna in sprejemna sponka sta interno sklenjeni • RSRC (Receiver Source) • ILT (Idle Line Type) • SCISWAI (Stop in Wait mode)
HCS12 – SCI registri • Enožično delovanje • Zančno delovanje
HCS12 – SCI registri • Registra SCISR1 in SCISR2 (SCI Status Register). Ta dva registra odražata stanje oddajnika/sprejemnika
HCS12 – SCI registri • Register SCISR1 • TDRE: Transmitter Data Register Empty • TDRE = 1, oddajnik je prazen, oddaja je možna • TDRE = 0, oddaja je v teku • TC: Transmission Complete, • TC = 1, oddaja je končana. • RDRF: Receiver Data Register Full • RDRF = 1, podatek sprejet • RDRF = 0, svež podatek ni sprejet • IDLE: Idle Line Detect • IDLE = 1, zaznana prazna linija • NF, PF, FE: Noise Flag, Parity Error Flag, Framing Error Flag • biti v stanju 1 pomenijo prisotnost napake
HCS12 – SCI registri • Register SCISR2 • BK13, 13 bitni “break” signal, • TXDIR: smer TX sponke v enožičnem načinu • TXDIR = 1, TX je izhod • TXDIR = 0, Tx je vhod • RAF: Receiver Active Flag
HCS12 – SCI registri • Podatkovna registra SCIDRH/L • Ta registra služita za sprejem/oddajo podatkov Vrednost sprejetega bita za 9-bitni podatek Vrednost oddajanega bita za 9-bitni podatek