MICROPCI V1.0INTERFACE PCI - MANUAL DE UTILIZACAO
Octavio Cesar Martins [email protected]
Departamento de Engenharia Electrotecnica e de Computadores1a Edicao, Abril 2006 - Rev. 1.0
Conteudo
1 Introducao ao MICROPCI 1
2 Constituicao e caracterısticas 22.1 Conectores da interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.1 Alimentacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.1.2 Conector de ligacao a CORE51 . . . . . . . . . . . . . . . . . . . . . . . . 32.1.3 Conector generico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.4 Conector PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Configuracao dos jumpers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Cabos de ligacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 Flat Cable de 40 pinos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3.2 Flat Cable de 20 pinos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.3 Power Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Modo de funcionamento 83.1 Escrita serie e directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Leitura serie e directa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
A Esquema Electrico 12
B PCB 13
C Lista de Componentes 14
D Caracterısticas gerais do shift register 74xxx299 15
E Aspectos sobre futuros melhoramento da interface 18
ii
Capıtulo 1
Introducao ao MICROPCI
A interface MICROPCI e resultado de um projecto de fim de curso de Engenharia Electro-tecnica, desenvolvido pelo aluno Octavio Cesar Martins Pinto.
Este documento e um manual de utilizacao da interface MICROPCI, descrevendo a suascaracterısticas, e o modo de utilizacao da mesma.
Figura 1.1: MicroPCI v1.0
1
Capıtulo 2
Constituicao e caracterısticas
O MICROPCI e uma interface geral para acesso e controlo do barramento PCI com alimen-tacao propria, atraves de um sistema microcontrolado ou outro. Para isso existe dois conectoresprincipais para ligacao destes sistemas que estao descritos nas seccoes seguintes.
2.1 Conectores da interface
Figura 2.1: Conectores da interface
2.1.1 Alimentacao
Figura 2.2: Conector de alimentacao DC
2
O conector da alimentacao permite a ligacao de uma Fonte DC entre 6.5V e 18V. Esteconector tem proteccao contra inversao de polaridade, mas so funciona tendo a polaridade cor-rectamente ligada!
Existe um LED (Vermelho) que quando ligado indica que a interface esta correctamente ligada.
2.1.2 Conector de ligacao a CORE51
A interface disponibiliza um conector de ligacao directa a CORE51, facilitando o desenvol-vimento de software para microcontrolador de 8 bits. Este e um conector de 40 pinos, mas soalguns dos sinais sao utilizados.
Figura 2.3: Conector de ligacao a CORE51 (40 pinos)
Pino Sinal Descricao Pino Sinal Descricao1 PCI CLK CLOCK do barramento PCI 21 - -2 S IN Serial INPUT - shifts registers 22 - -3 DEVSEL# Sinal PCI - Device Select 23 - -4 TRDY# Sinal PCI - Target Ready 24 - -5 STOP# Sinal PCI - Stop transaction 25 - -6 /OE Output Enable - shifts registers 26 - -7 S0 Mode Select 0 - shifts registers 27 - -8 S1 Mode Select 1 - shifts registers 28 - -9 RST Reset - do barramento PCI 29 - -10 - - 30 - -11 - - 31 - -12 INTB# Sinal PCI - Interrupt B (e D)a 32 - -13 INTA# Sinal PCI - Interrupt A (e C)b 33 - -14 CLK CLOCK - shifts registers 34 - -15 S OUT Serial OUTPUT - shifts registers 35 - -16 - - 36 - -17 - - 37 - -18 - - 38 - -19 - - 39 - -20 GND Ground 40 - -
aVer configuracao do Jumper 2.bVer configuracao do Jumper 1.
Tabela 2.1: Definicao dos sinais do conector de ligacao a CORE51 de 40 pinos
3
2.1.3 Conector generico
Existe um outro conector de 20 pinos que disponibiliza a maior parte dos sinais do barramentoPCI e todos os sinais de controlo da interface. Este conector permite aceder a sinais que possamter relevancia em algumas aplicacoes.
Figura 2.4: Conector generico (20 pinos)
Pino Sinal Descricao1 INTB# Sinal PCI - Interrupt B (e D)*2 INTA# Sinal PCI - Interrupt A (e C)*3 S OUT Serial OUTPUT - shifts registers4 S0 Mode Select 0 - shifts registers5 /CLR Clear - shifts registers6 STOP# Sinal PCI - Stop transaction7 PERR# Sinal PCI - Parity Error8 S IN Serial INPUT - shifts registers9 PCI CLK CLOCK do barramento PCI10 PRSNT2# Sinal PCI - Device Present 211 PRSNT1# Sinal PCI - Device Present 112 GNT# Sinal PCI - Grant13 REQ# Sinal PCI - Request14 DEVSEL# Sinal PCI - Device Select15 TRDY# Sinal PCI - Target Ready16 SERR# Sinal PCI - System Error17 /OE Output Enable - shifts registers18 S1 Mode Select 1 - shifts registers19 CLK CLOCK - shifts registers20 RST Reset - do barramento PCI
Tabela 2.2: Definicao dos sinais do conector geral de 20 pinos
2.1.4 Conector PCI
A interface foi desenvolvida em torno do conector PCI de 32bits/5V.
Figura 2.5: Conector PCI de 32bits/5V (124 pinos)
4
Figura 2.6: Descricao dos pinos do conector PCI
Nota: Sinais do conector PCI que nao foram usados na interface:
• Sinais JTAG : A1-TRST#, A3-TMS, A4-TDI, B2-TCK, B4-TDO.
• Sinais de POWER Management : A14-3.3Vaux, A19-PME#.
• Todos os sinais “reserved”: A9, A11, A40, A41, B10, B14.
• Sinais de expansao de 64bits : A60-REQ64#, B60-ACK64#.
• Sinal B39-LOCK#
5
2.2 Configuracao dos jumpers
No MICROPCI existe apenas 2 jumpers, que permite aceder as interrupcoes INTC# e INTD#do barramento PCI.
Figura 2.7: Configuracao dos Jumpers
Jumper OFF ONJP1 INTA# INTA# e INTC#JP2 INTB# INTB# e INTD#
Tabela 2.3: Definicao dos Jumpers
Sendo as saıdas INTA#, INTB#, INTC# e INTD# open-drain, a ligacao deste sinais foramagrupados dois a dois para diminuir o numero de sinais necessarios. O circuito de ligacoes podeser visto no esquema electrico da pagina 12 na figura A.1.
Nota: Caso os jumpers estejam ON, para saber qual a interrupcao que foi gerada e necessarioconsultar os registos internos de cada funcao do dispositivo PCI.
2.3 Cabos de ligacoes
2.3.1 Flat Cable de 40 pinos
Figura 2.8: Flat cable de ligacao do MICROPCI a CORE51
6
Figura 2.9: Ligacao entre MICROPCI e CORE51
2.3.2 Flat Cable de 20 pinos
2.3.3 Power Cable
O cabo de alimentacao permite alimentar a microPCI. Como ja foi referido este podera ligara uma fonte de alimentacao DC externa de 6.5V - 18V.
Figura 2.10: Cabo de Alimentacao do MicroPCI
Como esta representado na figura 2.10 o conector preto e a massa, e o vermelho o conector po-sitivo! (A inversao destes nao danificara o MicroPCI, mas nao funcionara ate por correctamenteos conectores.)
7
Capıtulo 3
Modo de funcionamento
Sendo o barramento PCI constituıdo por muitos sinais (32 de enderecos/dados e 21 principaisde controlo), seria difıcil ligar e controlar directamente atraves de pequenos microcontroladores,nomeadamente os de 8 bits. Esta interface foi, portanto, desenvolvida de modo a poder acedera maior parte dos sinais em modo serie recorrendo a shifts registers universais de 8bits ligadosem cadeia, ou seja permitindo ler e escrever n vezes 8bits com apenas 6 sinais. Neste caso foramutilizado 5 shifts registers disponibilizando um total de 40bits.
Figura 3.1: Representacao logica da cadeia dos 5 shifts registers usados na interface.
Nota: Embora a entrada paralela e a saıda paralela estejam representados separadamente,estes estao de facto ligados ao mesmo sinal (ver circuito electrico do shift register 74xxx299 napagina 16). A ordem das ligacoes fısicas ao barramento PCI, encontra-se na tabela 3.1 na pagina9.
3.1 Escrita serie e directa
Existe sinais na interface que sao acessıveis directamente para escrita, ou seja, sem passar pelacadeia de shifts registers, nomeadamente:
Para o barramento PCI: Para o controlo da cadeia de shifts registers:
• PCI CLK
• RST
• S0
• S1
• /CLR
• S IN
• /OE
• CLK ou CP
8
Shift Register Sinal No na cadeia Sinal PCIU1 A/QA ou I/O0 1 AD[31]U1 B/QB ou I/O1 2 C/BE[3]#U1 C/QC ou I/O2 3 AD[29]U1 D/QD ou I/O3 4 AD[23]U1 E/QE ou I/O4 5 AD[25]U1 F/QF ou I/O5 6 AD[21]U1 G/QG ou I/O6 7 AD[27]U1 H/QH ou I/O7 8 AD[19]U2 A/QA ou I/O0 9 AD[16]U2 B/QB ou I/O1 10 FRAME#U2 C/QC ou I/O2 11 PARU2 D/QD ou I/O3 12 AD[15]U2 E/QE ou I/O4 13 AD[13]U2 F/QF ou I/O5 14 AD[11]U2 G/QG ou I/O6 15 AD[09]U2 H/QH ou I/O7 16 C/BE[0]#U3 A/QA ou I/O0 17 AD[30]U3 B/QB ou I/O1 18 AD[28]U3 C/QC ou I/O2 19 AD[26]U3 D/QD ou I/O3 20 AD[24]U3 E/QE ou I/O4 21 IDSELU3 F/QF ou I/O5 22 AD[22]U3 G/QG ou I/O6 23 AD[20]U3 H/QH ou I/O7 24 AD[18]U4 A/QA ou I/O0 25 AD[17]U4 B/QB ou I/O1 26 AD[8]U4 C/QC ou I/O2 27 C/BE[2]#U4 D/QD ou I/O3 28 AD[10]U4 E/QE ou I/O4 29 IRDY#U4 F/QF ou I/O5 30 AD[12]U4 G/QG ou I/O6 31 C/BE[1]#U4 H/QH ou I/O7 32 AD[14]U5 A/QA ou I/O0 33 AD[7]U5 B/QB ou I/O1 34 AD[6]U5 C/QC ou I/O2 35 AD[5]U5 D/QD ou I/O3 36 AD[4]U5 E/QE ou I/O4 37 AD[3]U5 F/QF ou I/O5 38 AD[2]U5 G/QG ou I/O6 39 AD[1]U5 H/QH ou I/O7 40 AD[0]
Tabela 3.1: Definicao das ligacoes dos shifts registers ao barramento PCI
9
Este sinais podem ser escritos directamente atraves do respectivo pino dos conectores de 20ou 40 pinos! Por outro lado existe sinais que so estao acessıveis via os shifts registers.
Metodo para escrever na cadeia de shifts registers:
• Configurar a cadeia de shifts registers:
1. Por no modo “Shift Right”: S1=0,S0=1.
2. Desactivar o master reset ou clear : /CLR1=1.
3. O sinal Output Enable (/OE) pode estar activo ou inactivo conforme o desejado.
• Preparar os 40 bits a introduzir na cadeia dos shifts registers.
• Introduzir na cadeia o bit 40 em primeiro, 39 em seguida e assim sucessivamente ate aobit 1 de forma a ficarem ordenados correctamente.
1. Introduzir o bit em S IN
2. Efectuar um impulso ascendente em CLK (ou CP conforme datasheet)
3. Voltar ao ponto 1 ate ter introduzidos os 40 bits.
Nota: Ao introduzir os 40 bits, os dados anteriores sao substituıdos pelos novos! Paraoptimizar o processo, pode-se ler os bits que vao saindo em S OUT a medida que se vai escrevendopara os shifts registers, desta forma so num ciclo escrevemos 40 bits nesses e podemos ler os 40bits anteriores!
3.2 Leitura serie e directa
Existe sinais na interface que sao acessıveis directamente para leitura, ou seja, sem passar pelacadeia de shifts registers,nomeadamente:
Para o barramento PCI: Para o controlo da cadeia de shifts registers:
• INTB#
• INTA#
• PERR#
• SERR#
• PRSNT1#
• PRSNT2#
• REQ#
• GNT#
• DEVSEL#
• TRDY#
• STOP#
• S OUT
Este sinais podem ser lidos directamente atraves do respectivo pino dos conectores de 20 ou40 pinos! Por outro lado existe sinais que so estao acessıveis via os shifts registers.
Metodo para ler na cadeia de shifts registers:1Nota: Este bit so esta disponıvel no conector de 20 pinos!
10
• Configurar a cadeia de shifts registers:
1. Por no modo “Shift Right”: S1=0,S0=1.
2. Desactivar o master reset ou clear : /CLR2=1.
3. O sinal Output Enable (/OE) pode estar activo ou inactivo conforme o desejado.
• Preparar os 40 bits que irao receber os dados lidos.
• Ler na cadeia o bit 40 em primeiro, 39 em seguida e assim sucessivamente ate ao bit 1 deforma a ficarem ordenados correctamente.
1. Ler o bit em S OUT
2. Efectuar um impulso ascendente em CLK (ou CP conforme datasheet)
3. Voltar ao ponto 1 ate ter introduzidos os 40 bits.
Nota: Ao ler os 40 bits, sera introduzido nos shifts registers o que estiver em S IN em cadaimpulso! Para optimizar o processo, pode-se escrever os bits seguintes a leitura desta forma sonum ciclo lemos 40 bits e escrevemos 40 novos bits na cadeia!
2Nota: Este bit so esta disponıvel no conector de 20 pinos!
11
Apendice A
Esquema Electrico
5 5
4 4
3 3
2 2
1 1
DD
CC
BB
AA
+5V/
1.5A
MAX
+3.3
V/1.
5A M
AX
+12V
/0.2
A MA
X
-12V
/0.1
A MA
X
<Doc
>1.
0
Mic
roP
CI v
1.0
- Int
erfa
ce P
CI
C
11
Tues
day,
Apr
il 04
, 200
6
Title
Size
Doc
umen
t Num
ber
Rev
Dat
e:S
heet
of
S_I
N
S1S1
S1S1
INTB
#
INTC
#
PCI_CLK
INTA#
S_OUT
RST
/OES0
STOP#
PRSNT1#
TRDY#
/OE
CLK
CLK
DEVSEL#
CLK
/CLR
/CLR
/CLR
CLK
CLK
INTB#
S0
CLK
S0S0
S0
S_IN
RST
S1
S1
REQ#
/OE
TRDY#
AD
[0..3
1]
INTD
#
RS
T
C/B
E3#
SE
RR
#
PR
SN
T1#
C/B
E0#
PA
R
PE
RR
#
TRD
Y#
IRD
Y#
INTB
#
GN
T#
FRA
ME
#
PC
I_C
LK
STO
P#
INTC
#
DE
VS
EL#
C/B
E2#
INTD
#
RS
T#
INTA
#
RE
Q#
PR
SN
T2#
PR
SN
T2#
C/B
E1#
RS
T#
IDS
EL
/CLR
C/B
E1#
FRA
ME
#
C/B
E0#
IRD
Y#
PA
R
IDS
EL
CLK
/OE
/OE
/OE
/OE
S1S0/CLR
AD
23
STOP#
PCI_CLK
INTA#
/CLRS0S_OUT
PR
SN
T1#
INTA
#
INTB#
S_IN
AD
19
C/B
E3#
AD
10
AD
4
AD
18
AD
8
AD
26
AD
16
AD
25
AD
10
AD
29
AD
15
AD
2
AD
20
AD
0
AD
31
AD
25
AD
21
AD
31
S_O
UT
AD
9
AD
13
AD
17
AD
14
AD
5
AD
27
AD
18
AD
3
AD
12
AD
17
AD
28
AD
28
AD
15
AD
30
AD
24
AD
14
C/B
E2#
AD
6
AD
11
AD
30
AD
20
AD
21
AD
19
AD
29
AD
7
AD
26
AD
13
AD
16
AD
11
AD
27
AD
8
AD
1
AD
22
AD
22A
D23
AD
9
AD
24
AD
6
AD
2
AD
5
AD
1
AD
3
AD
7
AD
4
AD
0
AD
12
SERR#
GNT#PRSNT2#
DEVSEL#PERR#
D1
1N58
19
L156
uH
D2
1N58
19
R10
33K
R13
1K
U8
LM10
86-5
13
2
VIN
VO
UT
GND
U2
74H
CT2
99
20 10
1218 11 9 2 3 1 19
8 17 7 13 6 14 5 15 4 16
VCC GND
CLK
SL
SR
CLR
OE
1O
E2
S0
S1
QL
QR
A/Q
AB
/QB
C/Q
CD
/QD
E/Q
EF/
QF
G/Q
GH
/QH
R3
47K
U9
MC
3406
3A
5 3 64
8 7
1 2C
OM
P
TCA
P
VC
CG
ND
DC
PK
SW
CS
WE
R5
68R
+C
310
uF
R9
R25
PC
I1A
1A
2A
3A
4A
5A
6A
7A
8A
9A
10A
11A
12A
13A
14A
15A
16A
17A
18A
19A
20A
21A
22A
23A
24A
25A
26A
27A
28A
29A
30A
31A
32A
33A
34A
35A
36A
37A
38A
39A
40A
41A
42A
43A
44A
45A
46A
47A
48A
49
A52
A53
A54
A55
A56
A57
A58
A59
A60
A61
A62
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
B12
B13
B14
B15
B16
B17
B18
B19
B20
B21
B22
B23
B24
B25
B26
B27
B28
B29
B30
B31
B32
B33
B34
B35
B36
B37
B38
B39
B40
B41
B42
B43
B44
B45
B46
B47
B48
B49
B52
B53
B54
B55
B56
B57
B58
B59
B60
B61
B62
D4
DIO
DE
C5
560p
FR
11
3K9
R14
10K
U4
74H
CT2
99
20 10
1218 11 9 2 3 1 19
8 17 7 13 6 14 5 15 4 16
VCC GND
CLK
SL
SR
CLR
OE
1O
E2
S0
S1
QL
QR
A/Q
AB
/QB
C/Q
CD
/QD
E/Q
EF/
QF
G/Q
GH
/QH
CO
N1
PO
WE
R1 2 3
R4
47K
U3
74H
CT2
9920 10
1218 11 9 2 3 1 19
8 17 7 13 6 14 5 15 4 16VCC GND
CLK
SL
SR
CLR
OE
1O
E2
S0
S1
QL
QR
A/Q
AB
/QB
C/Q
CD
/QD
E/Q
EF/
QF
G/Q
GH
/QH
U7
LM10
86-3
.3
2
13
GND
VIN
VO
UT
JP1
L2 100u
H
+
C8
1000
uF
R8
33K
R7
3K9
CO
N3
1234567891011121314151617181920 21
22232425262728293031323334353637383940
U1
74H
CT2
99
20 10
1218 11 9 2 3 1 19
8 17 7 13 6 14 5 15 4 16
VCC GND
CLK
SL
SR
CLR
OE
1O
E2
S0
S1
QL
QR
A/Q
AB
/QB
C/Q
CD
/QD
E/Q
EF/
QF
G/Q
GH
/QH
U10
MC
3406
3A
5 3 64
8 7
1 2C
OM
P
TCA
P
VC
CG
ND
DC
PK
SW
CS
WE
R12 3K
9
CO
N2
12345678910 11
121314151617181920
R1
47K
+C
710
0uF
U5
74H
CT2
99
20 10
1218 11 9 2 3 1 19
8 17 7 13 6 14 5 15 4 16
VCC GND
CLK
SL
SR
CLR
OE
1O
E2
S0
S1
QL
QR
A/Q
AB
/QB
C/Q
CD
/QD
E/Q
EF/
QF
G/Q
GH
/QH
+C
210
uF
+C
410
0uF
R6
R25
Q1 BC
547
C6
1500
pF
D5
1.8V
/2.5
mA
+C
110
uF
JP2
R2
47K
Figura A.1: Esquema electrico do MICROPCI v1.0
12
Apendice B
PCB
Figura B.1: PCB - Camada inferior
Figura B.2: PCB - Camada Superior
Figura B.3: PCB - Componentes
13
Apendice C
Lista de Componentes
14
Apendice D
Caracterısticas gerais do shiftregister 74xxx299
O 74xxx299 e um shift register universal de 8 bits com armazenamento, saıdas “3-State”, ereset assıncrono. Existe diversos fabricantes deste integrado (Ex: Philips-74HC/HCT299, TexasInstruments-CD74AC/ACT/ALS299, STMicroelectronics-M74HC299, e outros). Para uma in-formacao mais detalhadas consultar os datasheets dos fabricantes. Nesta seccao foi seleccionadoo fundamental para compreender o funcionamento deste circuito integrado.
Figura D.1: Pinos do circuito integrado
Figura D.2: Descricao dos pinos do circuito integrado
15
Figura D.3: Descricao dos modos de funcionamento
Figura D.4: Diagrama logico
16
Nota: Relativamente aos modos de funcionamento,o shift left nao esta acessıvel na in-terface, ou seja estes sinais nao foram ligados, permitindo apenas efectuar shifts right.
17
Apendice E
Aspectos sobre futurosmelhoramento da interface
Esta interface sendo uma versao original, possui alguns problemas, e aspectos que podem sermelhorados nomeadamente:
• Corrigir o pinout dos reguladores de tensao LM1086-3.3 e LM1086-5.
• Ter a possibilidade atraves de interruptores ligar/desligar qualquer tensao de alimentacao(+5V, +3.3V, +12V e -12V) de modo a economizar energia quando a placa PCI so usaalgumas dessas alimentacoes, e diminuir o ruıdo provocado pelas fontes comutadas.
• Tentar encontrar suportes para circuitos integrados (20 e 8 pinos) que permitisse soldarna camada superior e inferior do PCB, o que permitiria trocar circuitos danificados comfacilidade.
• Colocar 4 leds nas saıdas reguladas para saber quais as tensoes activas.
• Tentar colocar os jumpers em locais mais acessıveis.
• Estudar o problema de alimentacoes (+5V e GND) separadas para CORE51 e MICROPCIque gera ruıdo nos sinais.
• Diminuir a corrente maxima disponıvel para a placa PCI (Provavelmente nunca utilizadano seu maximo)
• Verificar se as 4 interrupcoes podem ser todas agrupadas numa so (Sendo Open-Drain),para diminuir numero de sinais necessarios (4 para 1) analisando por software qual ainterrupcao que foi gerada, consultando os registos internos do dispositivo PCI.
• Colocar um Jumper(ou resistencia de pull-up) que permite activar/desactivar o sinal de/CLR (por a nıvel logico 0) devido a so esta disponıvel no conector de 20 pinos, e enecessario estar desactivo para escrever para a cadeia de shifts registers quando se trabalhacom o conector de 40 pinos.
Experiencia adquirida na montagem da interface:
• Antes de colocar os componentes para soldar, por o verniz, e deixar tempo suficiente paraeste secar! Convem ser num sıtio com poucas poeiras, e evitar colocar os dedos em cimadessa ate estar completamente seco.
18
• Na fase de projecto nao esquecer de alargar os “Pads” suficientemente para poder furar eainda sobrar cobre a volta do pino para este poder ser soldado.
• Na fase de projecto, ter o cuidado na disposicao dos componentes, no aspecto em que estesdeverao ser soldados com um ferro de soldar, e o espaco entre estes pode dificultar estatarefa.
• Com componentes SMD, verificar sempre o espaco ocupado pelo componente e se pode ounao passar pistas por baixo deste ou nao.
19
Top Related