Sistemi Elettronici Programmabili
Collegamenti seriali e paralleli
Sistemi Elettronici Programmabili
7-1
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-2
Seriale (1)
CLKTx
CLKRx
DataIn
DataOut
11010011
11010011
Sistemi Elettronici Programmabili
7-3
Comunicazione Seriale: Tx
Tx serializza la WORD inviando i bits che la compongono uno alla volta
CLKRx
CLKTx
DataIn
DataOut
11010011
11010011
Data
Tx
D
SET
CLR
Q
Q
D
SET
CLR
Q
Q
D
SET
CLR
Q
Q
D
SET
CLR
TX
Q
Q
CLK
Load
Sistemi Elettronici Programmabili
7-4
Comunicazione Seriale: Rx
Rx ricostruisce la WORD andando a valutare il suo significato solo quando sono
stati ricevuti tutti i bits di cui è composta
CLKRx
CLKTx
DataIn
DataOut
11010011
11010011
D
RX
D
SET
D
Q
SET
D
Q
SET
Q
D
SET
Q
CLR
Q
CLR
Q
Rx
CLR
SET
Data
Q
Q
/n
CLR
Q
CLR
Q
CLK
CLK
1
2
3
Sistemi Elettronici
n-1 n
…
…
…Programmabili
-
1
27-5
Bus: Asincrono Monodirezionale
Data
Master
Protocollo aperto
(Slave sempre pronto)
Slave
Strobe
Strobe
Data
Data i
Data i+1
Data i+2
Strobe
Data
Protocollo chiuso
Master
Strobe
Slave
Wait
Data
Data i
Data i+1
Data i+2
Strobe
Wait
Sistemi Elettronici Programmabili
7-6
Bus: Asincrono Bidirezionale
Data
Master
Strobe(Read)
Slave
Write
Data
Z
DataM i
Z
DataM i+1
Z
DataS j
Z
DataS j
Z
Strobe
Write
Read
Write
Sistemi Elettronici Programmabili
7-7
Bus: Asincrono Bidirezionale con Wait
Data
Strobe
Master
Slave
Write
Wait
Data
DataM i
Z
DataM i+1
Z
DataS j
Z
Strobe
Write
Wait
Read
Write
Sistemi Elettronici Programmabili
7-8
Bus: Sincrono
Data
Master
Slave
Enable
Clock
Data
X
Data i
X
Data i+1
Data i+2
Enable
Clock
Sistemi Elettronici Programmabili
7-9
Comunicazione Seriale Asincrona
Overhead in ogni word (la comunicazione rallenta)
• stato di idle, bit start e bit stop
idle
start
1 0 0 1 1 0 1 1
baud rate
idle
stop
stop
start
L’oscillatore locale deve agganciarsi alla frequenza corretta
e poi deve correggere la sua fase in base al bit di start
DATI:
CLOCK:
(oscillatore locale non in fase)
0
?
0
0
1
CLOCK:
(oscillatore locale in fase)
0
1
0
0
1
Sistemi Elettronici Programmabili
7-10
Comunicazione Seriale Asincrona
T: tempo di bit
Problema:
n: numero di bits di cui è
composta una word
• clock shifting
ΔF: disallineamento tra i
due clock
T
T
1

n
2 F
1 0
T  F
n
2
Soluzione: La parola da
trasferire deve essere
piccola
Sistemi Elettronici Programmabili
7-11
Comunicazione Seriale Sincrona
CLKRx
CLKTx
data
DataIn
DataOut
11010011
11010011
CLK
• assenza di overhead (solo dati)
• il clock può anche non essere trasmesso
Codici:
recupero
del clock
Clock recovery
clk
dati
I dati contengono
informazioni anche sul clock
COD
dati
0
1
1
0
codice
Tx
Rx
campionatore
Sistemi Elettronici Programmabili
7-12
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-13
Codice di Parità
B7 B6 B5 B4 B3 B2 B1 B0
P
1
0
0
1
1
0
0
0
1
Word (in genere char)
BER (Bit Error Rate)
TX
Channel
RX
B7 B6 B5 B4 B3 B2 B1 B0
PT
PL
1
0
1
0
1
1
0
1
0
1
Non è possibile ricostruire quale bit sia
errato, la word non può essere corretta
Sistemi Elettronici Programmabili
7-14
Pacchetto
Header
Trailer
Checksum
Word (Char)
Checksum = - (Header + Trailer) mod 2n
Checksum + Header + Trailer = 0
1
Individuo la presenza di errori ma non posso
dire quale word lo abbia causato
Sistemi Elettronici Programmabili
7-15
Correzione di errore
Utilizzando la matrice di parità individuo le words corrotte e anche
i bits sbagliati (potrei effettuare una correzione)
Sistemi Elettronici Programmabili
7-16
Scarica

Lucidi_7_-_collegamenti_08