Eletrônica Digital: Parte 5

Transcrição

Eletrônica Digital: Parte 5
Interfaceamento
•
•
•
•
sinais
(dados)
dados
micro
instrumento
• instrumento analógico:
interface
controle
controle
conversor A/D (voltagem ou corrente)
conversor D/A
entrada de sinais lógicos (sensores ópticos, portas lógicas)
saída de sinais lógicos (acionamento de dispositivos)
Interfaceamento
controle
micro
interface
dados
interface
instrumento
• instrumento com interface digital:
• interfaces: paralelas
seriais
• interfaceamento: síncrono (com a CPU)
assíncrono
1
Interfaces Paralelas
• bits transferidos simultaneamente por diferentes linhas
• 8 bits = 8 linhas de transmissão de dados
• linhas de controle
• Centronics:
- 8 bits paralelos
- 2 linhas de “handshaking”
- linhas para sinais de controle
- linhas para detecção de erro (impressora)
- pode ser bidirecional
• IEEE 488:
- HPIB: Hewlett Packard Interface Bus
- GPIB: General Purpose Interface Bus
- 8 bits, sinal TTL
- transmissão até 1Mbyte/s
- 3 linhas de “handshaking”
- 5 linhas de controle
- conexão de até 15 dispositivos (seleção por hardware)
Interfaces Paralelas
• porta do usuário:
- PPI 8255
- 3 portas de 8 bits de entrada e/ou saída de dados
• interfaces multi-tarefas:
- PCL-711/811/812
- saída digital (16)
- entrada digital (16)
- conversor A/D (8 entradas)
- conversor D/A
2
Slot de Expansão - ISA
GND
RESET DRV
+5 V
IRQ2
-5 V
DRQ2
-12 V
reserved
+12 V
GND
-MEMW
-MEMR
-IOW
-IOR
-DACK3
DRQ3
-DACK1
DRQ1
-DACK0
CLOCK
IRQ7
IRQ6
IRQ5
IRQ4
IRQ3
-DACK2
T/C
ALE
+5 V
OSC
GND
-I/O CH CK
D7
D6
D5
D4
D3
D2
D1
D0
I/O CH RDY
AEN
A19
A18
A17
A16
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
B1
A5
B10
A15
B20
A25
B30
• conector de 62 vias
• barramento de dados de 8 bits
• barramento de endereços de 20 bits
Interface Programável 8255
CS
•
•
•
•
LATCH
A0
A1
LATCH
reset
porta A
porta B
LATCH
read
write
BUFFER
barramento
de dados
LÓGICA DE CONTROLE
portas E/S
porta C
4 registradores de 8 bits: 1 registrador controla 3 portas I/O
programação: portas A-C I/O, sem handshaking; portas A-B I/O, com handshaking (C)
inicialização: reset = LO (ligado direto ao micro)
acesso: chip select (CS) ; linhas de endereço (A0 e A1);
read e write (8255 responde se uma delas em LO)
3
Conexões da Porta 8255
Slot de expansão
+ 5V B3
D0 A9
34
D1 A8
33
D2 A7
32
D3 A6
31
D4 A5
30
D5 A4
29
D6 A3
28
D7 A2
27
IOR B14
5
IOW B13
36
A0 A31
9
A1 A30
8
RST B2
35
6
AEN A11
Vcc
D0
PA0
D1
PA1
D2
PA2
D3
PA3
D4
PA4
D5
PA5
D6
PA6
D7
PA7
PB0
RD
PB1
8
2
5
5
A
WR
A0
A1
RST
CS
PB2
PB3
PB4
PB5
PB6
PB7
PC0
74LS32
A4 A27
A9
A8
A7
A6
A5
A3
DB fêmea
25 pinos
26
A22
PC1
PC2
74LS32
A23
A24
PC3
A25
PC4
A26
PC5
A28
74LS30
PC6
+ 5V
PC7
GND
+ 5V
4
6
3
5
2
entrada
e saída
de dados
1
40
39
38
3
2
1
14
37
15
18
17
STR
18
ACK
19
20
21
22
23
24
25
14
15
16
17
13
12
11
10
74LS32
7
GND B1
4
21+16 GND
Endereçamento da 8255
• endereçamento: CS = LO
• decodificação: A3 - A9, com NAND (74LS30) e OR (74LS32)
• CS = 0: (A3 + A5-A9) = 1 e A4 = 0
• endereço: 3E8h - 3EFh = 1000 - 1007
19 18 17 16 15 14 13 12 11 10 9
8
7
6
5
4
3
2
X X
1
1
1
1
0
1
X X X
X X
X X X
X X
X
1
1
0
• endereço válido: AEN = 0
•
•
•
•
•
IOW = 0: dados copiados do bus para o registrador
IOR = 0: dados copiados do registrador para o bus
IOW = IOR = 1: 8255 não opera
IOW = IOR = 0: erro!
A0 e A1: acesso às portas (registros)
- 002: porta A (1000)
- 012: porta B (1001)
- 102: porta C (1002)
- 112: acesso à 8255 (1003)
4
Programação da 8255
7
6
5
4
3
2
1
0
1
1
X
X
X
0
0
1
• porta A: entrada e saída de dados, com
handshaking
• porta B: saída de dados
• porta C: 5 bits de controle e PC0 - PC2 = entrada
• byte de controle: 193
porta C (lower): 1 = in
0 = out
porta B: 1 = in
0 = out
B
mode: 0 = mode 0
1 = mode 1
porta C (upper): 1 = in
0 = out
porta A: 1 = in
0 = out
A
mode selection:
00 = mode 0
01 = mode 1
1X = mode 2
mode set flag: 1 = active
Modo 2 e Modo 0 da 8255
• modo 2 e modo 0: bits da porta C respondem às transições nas
linhas de controle PCx (PC4 e PC6)
PC3
PA7 - PA0
PC7
INTR
8 bits
OBF
RD
PC6
ACK
WR
PC4
STB
PC5
IBF
PC2 - PC0
I/O
PB7 - PB0
8 bits
5
Modo 2 e Modo 0 da 8255
• saída de dados através de PA:
OBF (output buffer full): LO se a CPU escreveu na porta A
ACK (acknowledge): LO habilita saída de dados pela porta A
• entrada de dados pela porta A:
STB (strobe input): LO carrega dados no latch de entrada
IBF (input buffer full): HI inidica que os dados foram
carregados no latch de entrada
Saída de Dados com handshaking
• saída de dados:
OUT 1003, 193
‘ configura 8255
OUT 1001, 3
‘ PB0 = HI, ACK para PC6
OUT 1000, dado% ‘ coloca dado no bus (OBF = LO)
OUT 1001, 2
‘ PB0 = LO
STR:
OUT 1001, 3
‘ PB0 = HI
WHILE (INP(1002) AND 128) = 0: WEND ‘ espera ACK em PC6
RETURN
• ACK em PC6: OBF = PC7 = HI (dados enviados)
6
Entrada de Dados com handshaking
• entrada de dados:
OUT 1003, 193
‘ configura 8255
OUT 1001, 5
‘ PB0 = HI, ACK para PC4
OUT 1001, 4
‘ PB0 = LO
STR:
OUT 1001, 5
‘ PB0 = HI
WHILE (INP(1002) AND 32) = 0: WEND ‘ espera ACK em PC4
dado% = INP(1000) ‘ lê e armazena dado em dado%
RETURN
• ACK em PC4: IBF = PC5 = HI (dados disponíveis)
Decodificação de Endereços
10 K
+5 V
CI 4069
ACK
+5 V
CI 4013
14
7
CLK D1 Q1 Q1 SET RST
3 5 2 1 4 6
STR
CI 4068
CI 4001
10 K
+5 V
11
b
a
r
r
a
m
e
n
t
o
LSB
3
d
e
4
d
a
d
o
s
8
MSB
1
LE
OE
14
7
4
L
S
3
7
17
3
7
13
2 LSB
6
9
12
20
+5 V
10
10 K
15
16
19 MSB
18
A/D
5
+5 V
latch output (254)
latch output D/A (253)
latch input (251)
input A/D (247)
7
Saída de Dados Digitais
bit 0 = 254
11
b
a
r
r
a
m
e
n
t
o
LSB 3 LE
4
d
e
d
a
d
o
s
7
8
13
14
17
+ 12 V
1
2 LSB
OE
5
7
4
L
S
3
7
3
6
válvula
solenóide
9
12
15
16
MSB 18
19 MSB
20
1N4007
TIP 121
10 K
10
+5 V
Saída de Dados Digitais
endereço
dado (out)
STR
ACK
OUT 1003, 193
.
.
OUT 1001, 3
OUT 1000, ender%
OUT 1001, 2
OUT 1001, 3
WHILE (INP(1002)
OUT 1000, dado%
OUT 1001, 2
OUT 1001, 3
WHILE (INP(1002)
RETURN
‘ configura 8255
‘ PB0 = HI, ACK para PC6
‘ coloca endereço no bus (OBF = LO)
‘ PB0 = LO
STR:
‘ PB0 = HI
AND 128) = 0: WEND ‘ espera ACK em PC6
‘ coloca dado no bus (OBF = LO)
‘ PB0 = LO
STR:
‘ PB0 = HI
AND 128) = 0: WEND ‘ espera ACK em PC6
• ACK em PC6: OBF = PC7 = HI (endereço/dado enviados)
8
Entrada de Dados Digitais
bit 2 = 251
+5 V
1
b
a
r
r
a
m
e
n
t
o
11
LSB 2 OE LE
d
e
5
d
a
d
o
s
9
3 LSB
+5 V
4
7
4
L
S
3
7
3
6
12
15
16
7
8
12 K
+5 V
1,2 K
13
14
PCST 2103
17
MSB 19
18 MSB
10
20
+5 V
Entrada de Dados Digitais
endereço
dado (in)
STR
ACK
OUT 1003, 193
‘ configura 8255
.
.
OUT 1001, 3
‘ PB0 = HI, ACK para PC6
OUT 1000, ender% ‘ coloca endereço no bus (OBF = LO)
OUT 1001, 2
‘ PB0 = LO
STR:
OUT 1001, 3
‘ PB0 = HI
WHILE (INP(1002) AND 128) = 0: WEND ‘ espera ACK em PC6
OUT 1001, 5
‘ PB0 = HI
OUT 1001, 4
‘ PB0 = LO
WHILE (INP(1002) AND 32) = 0: WEND ‘ espera ACK em PC4
dado% = INP(1000) ‘ lê dado e armazena em dado%
OUT 1001,5
‘ PB0 = HI
RETURN
• ACK em PC6: OBF = PC7 = HI (endereço enviado)
• ACK em PC4: IBF = PC5 = HI (dados disponíveis)
9
Entrada de Dados - A/D
+5 V
d
e
17
2
RD
WR
16
BUSY
15
14
ZN448
b
a
r
r
a
m
e
n
t
o
LSB 18
2
3
5 B
1
bit 3 = 247
d
a
d
13
o
12
s
MSB 11
4528
4
7 Q1
1
12
7
8
9
390 R
ACK
8
4
A1
Q2
9
B2
A2
15
14
13 11 16
+5 V
+5 V
4,7 F
10
+5 V
-5 V
5
Vin
1
82 K
Saída de Dados - D/A
bit 1 = 253
d
e
d
a
d
o
s
1
16
15
14
4
enable
5
6
ZN428
b
a
r
r
a
m
e
n
t
o
LSB 2
Vout
390 R
+5 V
4,7 F
3
7
13
10
12
8
MSB 11
9
+5 V
10
Interfaces Seriais
• bits transferidos sequencialmente por uma única linha
• 8 bits = 1 linha de transmissão
• linhas de controle (podem ser usadas ou não)
RS232C
• poucos cabos:
unidirecional: 2 linhas (dado + gnd)
bidirecional: 3 linhas (2 dados + gnd)
• longas distâncias: 15 m ou mais
• velocidade: até 20 kbyte s-1
• assíncrona: UART (universal asynchronous receiver and transmitter)
interconverte serial - paralelo
• transmissão: caracter (e não byte)
• níveis: ±3 V a ± 25 V (não é TTL ou CMOS)
nível 0: + V
nível 1: - V
RS232
duração do bit
+V
b0
1
b6
0 0 1
nível 0
0 1 1
-V
nível 1
start bit
bits do dado
stop bits
bit de
paridade
11
RS232
• transmissão:
- start bit
- bits do dado: 5, 6, 7 ou 8
- bit de paridade: par, ímpar ou nenhum
- stop bit: 1; 1,5 ou 2
• baud rate: velocidade de transmissão (bits s-1)
110, 150, 300, 600, 1200, 2400
3600, 4800, 9600, 19200
• caracter: ASCII (American Standard Code for Information
Interchange)
The American Standard Code for Information Interchange
dec
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
hex
character name
dec hex
00 NUL null character
33 21
01 SOH start of heading
34 22
02 STX start text
35 23
03 ETX end text
36 24
04 EOT end of transmission
37 25
05 ENQ enquiry
38 26
06 ACK acknowledge
39 27
07 BEL ring bell
40 28
08 BS backspace
41 29
09 HT horizontal tab
42 2A
0A LF linefeed
43 2B
0B VT vertical tab
44 2C
0C FF formfeed
45 2D
0D CR carriage return
46 2E
0E SO shift out
47 2F
0F SI shift in
48 30
10 DLE data link escape
49 31
11 DC1 device control #1
50 32
12 DC2 device control #2
51 33
13 DC3 device control #3
52 34
14 DC4 device control #4
53 35
15 NAK negative acknowledge 54 36
16 SYN synchronous idle
55 37
17 ETB end transmission block 56 38
18 CAN cancel
57 39
19 EM end medium
58 3A
1A SUB substitute
59 3B
1B ESC escape
60 3C
1C FS file separator
61 3D
1D GS group separator
62 3E
1E RS record separator
63 3F
1F US unit separator
64 40
20 SP space
chr
!
“
#
$
%
&
‘
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
dec
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
hex
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
chr
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
dec
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
hex
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
chr
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
del
12
Conexão da RS232C padrão
“ Este padrão é aplicável à interconexão de um terminal de dados
(DTE: data terminal equipment) e um equipamento de comunicação
de dados (DCE: data communication equipment), empregando uma
troca de dados binários seriais”
terminal
modem
modem
terminal
DTE
DCE
DCE
DTE
RS232
RS232
Conexão da RS232C padrão
pino
1
2
3
4
5
6
7
8
20
1
13
14
25
direção (p/) abreviação
nome
GND
protective ground
DCE
TxD
transmitted data
DTE
RxD
received data
DCE
RTS
request-to-send
DTE
CTS
clear-to-send
DTE
DSR
data set ready
GND
logic ground
DTE
DCD
carrier detect
DCE
DTR
data terminal ready
13
Transferência de Dados
• tipo:
- simplex: uma única direção
- half-duplex: uma direção de cada vez
- full-duplex: 2 direções simultâneas
• etapas:
1. terminal (DTE) e modem (DCE) concordam que a
transferência de dados pode ocorrer
2. transferência de dados ocorre
3. DTE e DCE concordam que a transferência terminou
• comunicação só ocorre quando:
- DTE verifica que DSR = HI (data set ready = true)
- DCE verifica que DTR = HI (data terminal ready = true)
Transferência de Dados
• half-duplex: DTE enviando dado ao DCE
- DTE: RTS = HI (request to send) /
quer enviar dado
- DCE: verifica se DCD = LO (carrier detect) /
se não está enviando dado
- DCE: CTS = HI (clear to send) / pronto para receber dado
- DTE: verifica CTS , se HI, envia dado e mantem RTS = HI
, se LO, coloca RTS = LO e volta ao início
- DTE: coloca RTS = LO / final da transmissão
se DCE quer enviar dado, coloca DCD = HI
• full-duplex: RTS = CTS = DCD = HI
14
Conexões entre RS232
• dispositivo pode ser terminal ou modem
- terminal: transmite pelo pino 2
recebe pelo pino 3
- modem: transmite pelo pino 3
recebe pelo pino 2
GND
TxD
RxD
1
2
3
1
2
3
GND
TxD
RxD
RTS
CTS
4
5
4
5
RTS
CTS
DSR
GND
6
7
6
7
DSR
GND
DCD
DTR
8
20
8
20
DCD
DTR
terminal
modem
GND
T xD
R xD
RTS
CTS
DCD
GND
D SR
1
2
3
4
5
8
7
6
DTR
20
terminal
1
2
3
4
5
8
7
6
GND
T xD
R xD
RTS
CTS
DCD
GND
DSR
20
DTR
terminal
Conexões entre RS232
sinal
TxD
RxD
RTS
CTS
DSR
GND
DCD
DTR
RI
DB 25
pinos
2
3
4
5
6
7
8
20
22
DB 9
pinos
3
2
7
8
6
5
1
4
9
• porta serial RS232 do micro:
- terminal (DTE)
- assíncrona
- 2 portas controladas
simultaneamente:
COM1
COM2
- half-duplex ou full-duplex
15
Protocolo de Comunicação
• QuickBasic:
OPEN “COMX: baud, paridade, bits, stop bits” AS #y
baud rate: 75, 110, 300, 600, 1200, 1800, 2400 e 9600
paridade: N (desabilitada), O (ímpar), E (par)
bits: 5, 6, 7 ou 8
stop bits: 1, 1,5 ou 2
OPEN “COM1: 9600, N, 8, 1 AS #5
PRINT #5, dado$
‘ envia dado
INPUT #5, dado$
‘ lê dado
OPEN “COM1: 9600, N, 8, 1 AS #5, RS, CS0, DS0 AS #5
RS: RTS não é usado
CS0: ignora CTS
DS0: ignora DST
USB - Universal Serial Bus
• motivação: conexão do PC a telefone
facilidade de uso
expansão de portas
• interface de comunicação serial
• transmissão de até 12 Mbps (1,5 Mbps no modo baixa velocidade)
• conexão de impressoras, mouses, teclados, vídeos, joystick,
discos flexíveis, cameras, modems, scanners e outros dispositivos
• conexão pode ser feita com o micro ligado
• micro normalmente possui 4 portas USB
• conexão de até 127 dispositivos (teoricamente), com uso de hubs
• hubs podem ser alimentados externamente ou não
• cabos de até 5 m de comprimento
16
Conexão:
USB - Universal Serial Bus
Protocolo do barramento:
• computador (host controller) inicia qualquer transferência de dados
• transação envolve a transmissão de 3 pacotes
- pacote de sinalização (token packet):
tipo e direção da transação
endereço do dispositivo USB
- fonte da transação envia pacote de dados
- destino responde com um pacote de handshaking
Conectores - USB
17

Documentos relacionados