Upload
colette-hammond
View
39
Download
1
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
http://vision.fe.uni-lj.si/classes/GSPV
GSPV (9)
HCS12, serijske
komunikacije in SCI
Stanislav Kovačič
Univerza v Ljubljani
Fakulteta za elektrotehniko
Serijske komunikacijeSerijske 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
Oddajni pomikalni
registerb0b1b2b3b4b5b6b7
b0b1b2b3b4b5b6b7
Oddajni podatkovni
register
Sprejemni pomikalni
registerb0b1b2b3b4b5b6b7
b0b1b2b3b4b5b6b7
Sprejemni podatkovni
register
Prenosna pot,
tipično nekaj
metrov ali
poljubno več
Serijske komunikacijeSerijske 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.
Oddajni pomikalni
register
b0b1b2b3b4b5b6b7
Podatkovni signalSprejemni pomikalni
register
b0b1b2b3b4b5b6b7
Oddajni takt
(Urin signal)Sprejemni takt
(Urin signal)
Serijske komunikacijeSerijske 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).
Oddajni pomikalni
register
b0b1b2b3b4b5b6b7
Podatkovni signalSprejemni pomikalni
register
b0b1b2b3b4b5b6b7
Oddajni takt
(Urin signal)Sprejemni takt
(Urin signal)Urin signal
Opomba: sinh. takt se lahko prenaša skupaj z inf. signalom
Asinhroni serijski načinAsinhroni 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”.
b0 b1 b2 b3 b4 b5 b6 b7p
1 0 0 0 1 1 1 0 0
Start bit Stop bit(a)
Mirovno
stanje
Asinhroni serijski načinAsinhroni 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.
Asinhroni serijski načinAsinhroni serijski način
Načelna skica sprejemanja (odčitavanja) signala
b0 b1 b2 b3 b4 b5 b6 b7p
1 0 0 0 1 1 1 0 0
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 – SCIHCS12 – 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 – vmesnika SCI HCS12 – vmesnika SCI
HCS12 – SCI blok diagram HCS12 – SCI blok diagram
Od sprejemne
sponke
K oddajni
sponki
Sprejeti podatek
Podatek za oddajo
Takt
Sprejemnika
in
oddajnika
Zahteva za
prekinitev
HCS12 – uporaba SCI 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 – SCIHCS12 – 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 SCIHCS12 – registri SCI
Začetni naslov za SCI0 = $00C8 Začetni naslov za SCI1 = $00D0
HCS12 – vektorji SCIHCS12 – 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 HCS12 – SCI registri
HCS12 – SCI registri 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)
HCS12HCS12–SCI nastavitev hitrosti–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 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 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 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 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 HCS12 – SCI registri Enožično delovanje
Zančno delovanje
HCS12 – SCI registri HCS12 – SCI registri Registra SCISR1 in SCISR2 (SCI Status Register).
Ta dva registra odražata stanje oddajnika/sprejemnika
HCS12 – SCI registri 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 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 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