sistemi elettronici programmabili7-1 sistemi elettronici programmabili collegamenti seriali e...
TRANSCRIPT
Sistemi Elettronici Programmabili 7-1
Sistemi Elettronici Programmabili
Collegamenti seriali e paralleli
Sistemi Elettronici Programmabili 7-2
Tipi di Collegamento
Source Destination Monodirezionale
Sour/Dest Sour/Dest Bidirezionale Half Duplex
Sour-Dest Sour-Dest Bidirezionale Full Duplex
Source Destination Seriale
Source Destination Parallela
Sistemi Elettronici Programmabili 7-3
Seriale (1)
11010011 11010011
CLKTx CLKRx
DataIn DataOut
Sistemi Elettronici Programmabili 7-4
Comunicazione Seriale: Tx
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
CLK
Load
Data
TX
Tx
11010011 11010011
CLKTx CLKRx
DataIn DataOut
Tx serializza la WORD inviando i bits che la compongono uno alla volta
Sistemi Elettronici Programmabili 7-5
Comunicazione Seriale: Rx
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
CLK
RX
Data
Q
QSET
CLR
D
/n
11010011 11010011
CLKTx CLKRx
DataIn DataOut
Rx
1 2 3 … … … n - 1 n - 1 2
CLK
Rx ricostruisce la WORD andando a valutare il suo significato solo quando sono stati ricevuti tutti i bits di cui è composta
Sistemi Elettronici Programmabili 7-6
Bus: Asincrono Monodirezionale
Master Slave
Data i Data i+1 Data i+2Data
Strobe
Data
Strobe
Strobe
Protocollo chiusoMaster Slave
Data i Data i+1 Data i+2Data
Strobe
Data
Strobe
Wait
Wait
Protocollo aperto
(Slave sempre pronto)
Sistemi Elettronici Programmabili 7-7
Bus: Asincrono Bidirezionale
Master Slave
DataM i DataM i+1 ZData
Strobe
Data
Strobe(Read)
Write
Write
DataS j Z DataS j Z
Write
Read
ZZ
Sistemi Elettronici Programmabili 7-8
Bus: Asincrono Bidirezionale con Wait
Master Slave
DataM i DataM i+1 ZData
Strobe
Data
Strobe
Write
Write
DataS j Z
Write
Read
Wait
Wait
Z
Sistemi Elettronici Programmabili 7-9
Bus: Sincrono
Master Slave
X Data iData
Enable
Data
Enable
Clock
X Data i+1 Data i+2
Clock
Sistemi Elettronici Programmabili 7-10
Comunicazione Seriale Asincrona
baud rate
0 1 100
DATI:
CLOCK:
(oscillatore locale in fase)
CLOCK:
(oscillatore locale non in fase)
L’oscillatore locale deve agganciarsi alla frequenza corretta e poi deve correggere la sua fase in base al bit di start
Overhead in ogni word (la comunicazione rallenta)
• stato di idle, bit start e bit stop
idle idlestart startstop stop
1 1 1 1 1000
0 0 1?0
Sistemi Elettronici Programmabili 7-11
Comunicazione Seriale Asincrona
1 0
Soluzione: La parola da trasferire deve essere piccola
Problema:
• clock shifting
T
nF
T
12 2
FTn
n: numero di bits di cui è composta una word
ΔF: disallineamento tra i due clock
T: tempo di bit
Sistemi Elettronici Programmabili 7-12
Comunicazione Seriale Sincrona
11010011 11010011
CLKTx CLKRx
DataIn DataOut
CLK
data
• assenza di overhead (solo dati)
• il clock può anche non essere trasmesso
Codici: recupero del clock
I dati contengono informazioni anche sul clock
CODclk
dati0 1 1 0 Tx Rx
campionatoredati
codice
Clock recovery
Sistemi Elettronici Programmabili 7-13
Comunicazione Seriale: Codici
• Mediamente il tempo in cui il segnale è alto è pari a quello in cui è alto il segnale di clock (non trasferito)
• Il clock di campionamento deve essere doppio di quello dei dati iniziali (codifica Manchester)
Sistemi Elettronici Programmabili 7-14
Codice di Parità
TX
B7 B6 B5 B4 B3 B2 B1 B0
1 0 1 1 0 0 0 1
Channel RX
B7 B6 B5 B4 B3 B2 B1 B0 PT
1 0 1 1 0 1 0 1 0
P
0
PL
1
BER (Bit Error Rate)
Word (in genere char)
Non è possibile ricostruire quale bit sia errato, la word non può essere corretta
Sistemi Elettronici Programmabili 7-15
Pacchetto
Header Trailer Checksum
Word (Char)
Checksum = - (Header + Trailer) mod 2n
Checksum + Header + Trailer = 0
1Individuo la presenza di errori ma non posso dire quale word lo abbia causato
Sistemi Elettronici Programmabili 7-16
Correzione di errore
Utilizzando la matrice di parità individuo le words corrotte e anche i bits sbagliati (potrei effettuare una correzione)