26
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 komunikacije

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

Page 1: Serijske komunikacije

http://vision.fe.uni-lj.si/classes/GSPV

GSPV (9)

HCS12, serijske

komunikacije in SCI

Stanislav Kovačič

Univerza v Ljubljani

Fakulteta za elektrotehniko

Page 2: Serijske komunikacije

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č

Page 3: Serijske komunikacije

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)

Page 4: Serijske komunikacije

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

Page 5: Serijske komunikacije

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

Page 6: Serijske komunikacije

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.

Page 7: Serijske komunikacije

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.

Page 8: Serijske komunikacije

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,...

Page 9: Serijske komunikacije

HCS12 – vmesnika SCI HCS12 – vmesnika SCI

Page 10: Serijske komunikacije

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

Page 11: Serijske komunikacije

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.

Page 12: Serijske komunikacije

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.

Page 13: Serijske komunikacije

HCS12 – registri SCIHCS12 – registri SCI

Začetni naslov za SCI0 = $00C8 Začetni naslov za SCI1 = $00D0

Page 14: Serijske komunikacije

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, ....

Page 15: Serijske komunikacije

HCS12 – SCI registri HCS12 – SCI registri

Page 16: Serijske komunikacije

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)

Page 17: Serijske komunikacije

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

Page 18: Serijske komunikacije

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.

Page 19: Serijske komunikacije

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

Page 20: Serijske komunikacije

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

Page 21: Serijske komunikacije

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)

Page 22: Serijske komunikacije

HCS12 – SCI registri HCS12 – SCI registri Enožično delovanje

Zančno delovanje

Page 23: Serijske komunikacije

HCS12 – SCI registri HCS12 – SCI registri Registra SCISR1 in SCISR2 (SCI Status Register).

Ta dva registra odražata stanje oddajnika/sprejemnika

Page 24: Serijske komunikacije

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

Page 25: Serijske komunikacije

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

Page 26: Serijske komunikacije

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