Projeto de circuito para um roteador
-
Upload
viniciusfsa -
Category
Documents
-
view
373 -
download
0
Transcript of Projeto de circuito para um roteador
UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA ENGENHARIA DE COMPUTAÇÃO
PROBLEMA I - PROJETO DE CIRCUITO PARA UM ROTEADOR
INTRODUÇÃO AO HARDWARE
MARCUS VINICIUS ARAUJO MARTINS
- 2 -
PROBLEMA I – PROJETO DE CIRCUITO PARA UM
ROTEADOR
INTRODUÇÃO AO HARDWARE
SEMESTRE 2006.1 Novembro de 2006
Feira de Santana - Bahia
Relatório solicitado pela disciplina de Introdução ao Hardware, do curso de Engenharia de Computação, da Universidade Estadual de Feira de Santana. Tutor: Amâncio
- 3 -
Sumário
A - Introdução............................................................................................... 4 1 - Eletrônica seqüencial................................................................................. 6 1.1 - Endereçamento: - Registradores de deslocamento............................................................ 7 1.2 - Operação: - Demultiplexador e Contadores........................................................ 8 1.3 - Loops: - Comparação entre números de pacotes.............................................. 10 2 - Circuito: - Roteador............................................................................................. 11 B – Conclusão.............................…………………………....………..…... 12 C – Referências.............................................................................................13
- 4 -
Introdução
Empresas e indústrias operam suas mais vastas atividades com o recurso
computacional. As atividades podem ser separadas por setores onde cada computador pode
servir a uma operação especifica. Contudo, existe um momento em que uma performance
mais eficaz pode ser conseguida, não mais trabalhando com computadores isolados, mas
sim unidos, induzindo ao compartilhamento de recursos como impressoras e gravadores de
CDs.
Contudo, mais importante que compartilhar recursos físicos é compartilhar
informações. Em empresas, registros de cadastros precisam ser comunicados e, se essa
comunicação for possibilitada por uma rede, os processos se tornam mais ágeis e versáteis.
Não se trata apenas de comodidade. A função primordial é abastecer uma tecnologia cada
vez mais carente de velocidade e funcionalidade.
Assim como numa ligação telefônica precisa de um telefone, a comunicação de
computadores é satisfeita por recursos também físicos como: Hub, Switch ou Roteador. O
hub é um dispositivo que tem a função de interligar os computadores de uma rede local.
Sua forma de trabalho é a mais simples se comparado ao switch e ao roteador : o hub
recebe dados vindos de um computador e os transmite às outras máquinas. No momento em
que isso ocorre, nenhum outro computador consegue enviar sinal. Sua liberação acontece
após o sinal anterior ter sido completamente distribuído.
O switch é um aparelho muito semelhante ao hub, mas tem uma grande diferença: os
dados vindos do computador de origem somente são repassados ao computador de destino.
Isso porque os switchs criam uma espécie de canal de comunicação exclusiva entre a
origem e o destino. Dessa forma, a rede não fica "presa" a um único computador no envio
de informações.
O roteador (ou router) é um equipamento utilizado em redes de maior porte. Ele é
mais "inteligente" que o switch, pois além de poder fazer a mesma função deste, também
tem a capacidade de escolher a melhor rota que um determinado pacote de dados deve
seguir para chegar em seu destino.
Ao “recurso” que se deseja comunicar dar-se o nome de “pacote”. Um pacote para
ser transmitido necessita de informações prévias como o endereço do computador de
- 5 -
destino e, ou mesmo, tamanho do pacote, a fim de corrigir prováveis erros durante a
comunicação.
Como, por exemplo, um endereço precisa ser “informado”, o uso de estruturas de
registradores e contadores se torna um recurso essencial na comunicação entre
computadores. A eletrônica seqüencial é então aplicada uma vez que, estruturas como flip-
flops garantem a memorização de dados, implementando a comunicação.
Esse relatório tem o objetivo prévio de planejamento e projeto de um roteador que
faça a transmissão de um fluxo de dados para 16 máquinas. O fluxo de dados inicia com as
informações do endereço da máquina destino e a quantidade de pacotes a serem
transmitidos.
- 6 -
1-Eletrônica Seqüencial
Circuitos digitais são basicamente divididos em dois tipos: lógica combinacional e
lógica seqüencial. No campo combinacional, as saídas dependem única e exclusivamente
das variáveis de entrada. Já no seqüencial, as saídas dependem das variáveis de entrada e ou
de seus estados anteriores que permanecem armazenados, operando sob uma seqüência de
pulsos chamada clock.
O recurso responsável pelo armazenamento de dados, com o objetivo de recombiná-
los posteriormente, é chamado de flip-flop. Genericamente, um flip-flop é um bloco com
duas saídas (Q e ‘Q), duas entradas para as variáveis e uma entrada para o clock. Embora
existam duas saídas, a saída Q é dita principal, e, logo, a mais utilizada. A saída Q e ‘Q são
obtidas conforme a combinação das entradas com o pulso de clock.
O clock refere-se a uma seqüência de pulsos de bits, logo, zero ou um. Em uma faixa
de tempo pré-determinada (geralmente em nano segundos), o bit se alterna repetidamente.
A cada espaço da “onda” que se repete dar-se o nome de pulso. Com esse princípio, pode se
combinar o estado atual do clock com a forma das entradas, gerando uma saída
combinacional.
O comportamento das saídas variam em relação aos tipos de flip-flops. Flip-flops
tipo RS, por exemplo, assumem valor lógico 1 na saída quando a entrada S está em nível
lógico 1 e R em 0. Contudo, essa saída só acontecerá se o clock estiver em nível 1. Em 0, o
flip-flop mantém a saída anterior. Para outros tipos de flip-flop, essa mudança pode existir
quando o clock estiver e 0, ou ainda, na subida ou descida do clock, quando dizemos que o
flip-flop e sensível a subida ou descida de clock, respectivamente.
- 7 -
1.1-Endereçamento: Registradores de deslocamento
No projeto do roteador, o pacote de dados não pode ser enviado deliberadamente.
Dentro do conjunto de informações que se deseja enviar para um outro computador, deve-
se, ao menos, endereçar para onde esse pacote deve ser enviado. A essa estrutura que
recebe um fluxo e, destina para varias saídas (no caso 16) dar-se o nome de
demultiplexador. Para isso, é necessário identificar cada computador de destino com um
código binário. Como são 16 computadores, a identificação pode ser feita nomeando-os de
0000 a 1111. Essa informação deve ser passada para o demultiplexador que por sua vez,
encaminhará o conteúdo do fluxo ao destino antevisto. As saídas Q3, Q2, Q1 e Q0 ,
mostradas abaixo, formam, nessa ordem, as saídas de endereçamento das máquinas de
destino.
Saidas Paralelas
Q3 Q2 Q1 Q0
Entrada Serie
Clock
D
CP Q_Q
U4D
CP Q_Q
U3D
CP Q_Q
U2D
CP Q_Q
U1
Flip-Flops do tipo D são iguais a JK, só que com entradas invertidas. Logo, não
existem entradas do tipo 01 ou 10 no flip-flop D.
A diferença do flip-flop JK para o JK Mestre-Escravo está em como a saída foi
combinada. No primeiro, a saída só é combinada quando o clock está em 1, tipo o RS. No
segundo, a saída Q é obtida com a subida ou descida do clock, exclusivamente. Para
alternar um flip-flop que combine a saída na descida de clock, basta colocar um inversor
interno à entrada de clock.
J K Q
0 0 Qa
0 1 0
1 0 1
1 1 ‘Qa
J K D Q
0 0 Não existe /
0 1 0 0
1 0 1 1
1 1 Não existe /
D Q
0 0
1 1
- 8 -
PC 1OUTPUT
PC 2OUTPUT
16 BIT DEMUX
CBA
D
Q12Q13
Q11
Q9Q10
Q7Q8
Q4Q5Q6
Q2Q3
Q14Q15
Q0Q1
16dmux
inst69
PC 3OUTPUT
PC 4OUTPUT
PC 5OUTPUT
PC 6OUTPUT
PC 7OUTPUT
PC 8OUTPUT
PC 9OUTPUT
PC 10OUTPUT
PC 11OUTPUT
PC 12OUTPUT
PC 13OUTPUT
PC 14OUTPUT
PC 16OUTPUT
PC 15OUTPUT
1.2-Operação: Demultiplexador e Contadores
As quatro saídas que compõem o endereço são passadas para um demultiplexador,
que fará a leitura dos bits e abrirá caminho ao computador de destino desejado.
No circuito montado (exibido completo no
final desse relatório), antes das saídas para as
máquinas, foi colocada uma porta “e” que garante
que a passagem para a máquina informada só será
aberta quando o quinto bit chegar, afim de separar
endereço de tamanho. A quantidade de pacotes
também é conseguida por um registrador de
deslocamento semelhante ao utilizado nos bits de
1 a 4. Os bits 6 a 9 correspondem a quantidades de pacotes de 1 byte (tamanho pré-
estipulado) e serão encaminhados a um comparador que fará os loops necessários.
Após a porta “e”, encaminha a uma outra
que combina sua saída ao fluxo e ao 9º bit, pois,
após ele, os bits que virão já fazem parte do
pacote, composto por: 4 bits de endereçamento,
4 de tamanho, e pacotes de 8 bits (1 byte), que
podem repetir até 16 vezes, em virtude de a
quantidade operar sob 4 bits. A estrutura
montada ao lado se repete para todas as outras
saídas do demultiplexador.
Para fazer a contagem de cada pulso de clock, um contador assíncrono foi
utilizado. Formado por 4 flip-flops tipo D, o contador faz a contagem de pulsos e muda sua
saída a cada novo pulso. No caso específico, conta de 0000 a 1111 (16 vezes). Repetindo a
cada término. A idéia básica é uma entrada fixa em 1 no primeiro flip-flop e clocks
associados a saída do flip-flop anterior. As entradas desse contador correspondem a esse
valor fixo em um no 1º flip-flop, uma entrada clear e um clock. As quatro saídas
correspondem a contagem.
PC 1OUTPUT
16 BIT DEMUX
CBA
D
Q12Q13
Q11
Q9Q10
Q7Q8
Q4Q5Q6
Q2Q3
Q14Q15
Q0Q1
16dmux
inst69
AND2
inst70
AND3
inst93
FLUXO8 BIT
5 BIT
- 9 -
No circuito , as entradas
para os registradores de
endereçamento e tamanho
são subjugados a essas
quatro saídas.
Porém, esse contador não pode ficar contando sempre, pois, desta forma, a
diferenciação entre o que é pacote e o que é informação não pode ser feita. Uma estrutura
de controle foi criada. Ela fará com que, ao contar o nono bit, sua saída mude para 0,
travando-o. Ao passo, barra-se essa saída visando ativar a segunda porta “e” do
demultiplexador, até então inativa e, por conseqüência, não havendo ainda nenhum tipo de
passagem de informação para algum computador. A tabela verdade e expressão para essa
estrutura são:
Expressão: ‘A + A’B’C
Após o nono bit, a saída, que muda para 0,
retorna para uma porta “e” antes do contador, fazendo-o
travar.
VCCCLOCK INPUT LDN
CKCLR
T0T1T2T3
Block1
inst
AND3
inst1
EXP
inst2
EXP
inst3
OR2
inst4EXP
inst5
AND2
inst27
Clock
Parte do circuito mostrando travamento do contador
‘A’B ‘AB AB A’B
‘C’D 1 1 0 1
‘CD 1 1 0 1
CD 1 1 0 0
C’D 1 1 0 0
VCCCK INPUT
VCCLDN INPUT
VCCCLR INPUT
T0O
UTP
UT
T1O
UTP
UT
T2O
UTP
UT
T3O
UTP
UT
CLRN
DPRN
Q
DFF
inst2CLRN
DPRN
Q
DFF
inst4CLRN
DPRN
Q
DFF
inst3CLRN
DPRN
Q
DFF
inst5
- 10 -
pin_
nam
eO
UTP
UT
LDNCKCLR
T0T1T2T3
Block1
inst47
AND2
inst48
EXP
inst
38
LDNCKCLR
T0T1T2T3
Block1
inst58
AND
2
inst
56
AND
2
inst
57
AND
2
inst
59
AND
2
inst
60N
AND
4
inst
31
1.3-Loops: Comparação entre números de pacotes
Os bits 6 a 9 são responsáveis pela quantidade de pacotes a serem enviados. Para
garantir que todos os pacotes serão entregues ao computador de destino, uma estrutura de
comparação foi montada. Baseia-se em dois contadores assíncronos onde o primeiro, ao
contar 8, muda sua saída para zero, se auto zerando e dando um pulso no segundo contador.
Faz isso até as saídas do segundo contador serem iguais aos bits de quantidade de pacotes.
Quando iguais, ativa-se uma porta “e” de quatro entradas, negada, obtendo zero na saída e
sendo ligada a todos os clears do sistema.
Expressão: ‘A
Quando o contador passa a ser 1000 (8), ele
zera o clear e, portanto, reinicia a contagem. A cada ova
contagem, um pulso é passado ao segundo contador.
As duas entradas dessa estrutura referem-se: ao clock do sistema e a saída da estrutura que trava o contador responsável pelo registro de endereços e quantidade. Essa saída deve entrar no contado de comparação de forma invertida afim de que ele só comece a contar após o nono bit.
saídas do contador 1 da comparação ‘A’B ‘AB AB A’B
‘C’D 1 1 0 0
‘CD 1 1 0 0
CD 1 1 0 0
C’D 1 1 0 0
- 11 -
2-Circuito :Roteador VCC
FLUXO INPUT
VCCCLOCK INPUT
pin_name33OUTPUT
pin_name34OUTPUT
pin_name35OUTPUT
pin_name36OUTPUT
pin_name37OUTPUT
pin_name38OUTPUT
pin_name39OUTPUT
pin_name40OUTPUT
pin_name41OUTPUT
pin_name42OUTPUT
pin_name43OUTPUT
pin_name44OUTPUT
pin_name45OUTPUT
pin_name46OUTPUT
PC 1OUTPUT
PC 2OUTPUT
pin
nam
eO
UTP
UT
LDNCKCLR
T0T1T2T3
Block1
inst
AND3
inst1
EXP
inst2
EXP
inst3OR2
inst4
EXP
inst5
NAND4
inst6CLRN
DPRN
Q
DFF
inst15
AND2
inst27
EXP
inst24
EXP
inst25
EXP
inst26
NAND4
inst7CLRN
DPRN
Q
DFF
inst16EXP
inst29
EXP
inst30
NAND4
inst8CLRN
DPRN
Q
DFF
inst17EXP
inst32
EXP
inst33
NAND4
inst9CLRN
DPRN
Q
DFF
inst18
NAND4
inst10CLRN
DPRN
Q
DFF
inst19
EXP
inst39
NAND4
inst11CLRN
DPRN
Q
DFF
inst20
EXP
inst42
NAND4
inst12CLRN
DPRN
Q
DFF
inst21
EXP
inst45
NAND4
inst14CLRN
DPRN
Q
DFF
inst23
EXP
inst52
EXP
inst34
EXP
inst35
EXP
inst36
EXP
inst53
EXP
inst49
EXP
inst50
EXP
inst51
EXP
inst40
NAND4
inst13CLRN
DPRN
Q
DFF
inst22EXP
inst54
EXP
inst55
16 BIT DEMUX
CBA
D
Q12Q13
Q11
Q9Q10
Q7Q8
Q4Q5Q6
Q2Q3
Q14Q15
Q0Q1
16dmux
inst69
AND2
inst70
AND2
inst71
AND2
inst72
AND2
inst73
AND2
inst74
AND2
inst75
AND2
inst76
AND2
inst77
AND2
inst78
AND2
inst79
AND2
inst80
AND2
inst81
AND2
inst82
AND2
inst83
AND2
inst84
AND2
inst85
AND3
inst93
AND3
inst94
AND3
inst95
AND3
inst96
AND3
inst97
AND3
inst98
AND3
inst99
AND3
inst100
AND3
inst101
AND3
inst102
AND3
inst103
AND3
inst104
AND3
inst105
AND3
inst106
AND3
inst107
AND3
inst108
EXP
inst37
LDNCKCLR
T0T1T2T3
Block1
inst47
AND2
inst48
EXP
inst
38
LDNCKCLR
T0T1T2T3
Block1
inst58
+
Fluxo
LIGA EM TODOS OS CLEARS
Clock
AND
2
inst
28
AND
2
inst
31
AND
2
inst
41
AND
2
inst
43N
AND
4
inst
44
A estrutura dos registradores pode ser feita da maneira descrita ou desta forma,
apresentada no circuito. Por decisão de projeto, opinou-se por esta forma, pegando cada bit
de um flip-flop especifico. Contudo, vale também a forma convencional.
- 12 -
Conclusão
Rotear uma rede implica ter dados suficientes para uma perfeita comunicação entre
máquinas. Esses dados resumem-se ao conjunto de dados que se deseja transmitir, ou
pacote, e a informações deste pacote, tais como endereço de origem, destino, numero de
pacotes e, além desses, verificação de erros e bits de controle.
Estruturas como bit de paridade e check-sum podem ser criadas visando um
aperfeiçoamento do circuito. Conferir os dados de entrada com os de saída possibilita
correções de erros e, logo, coíbe possíveis problemas de recepção na comunicação de
computadores.
Além disso, estruturas eletrônicas não são tão imediatas como parecem ser. A saída
de uma porta “e”, por exemplo, só tem nível 1 após alguns nano segundos depois que suas
entradas passam a ser 1. Isso parece ser irrelevante. Contudo, é bastante promissor num
sistema no qual o clock trabalha numa freqüência altíssima e onde deve existir precisão.
Uma descida de clock no momento errado altera consideravelmente os resultados esperados
na saída do circuito.
Para resolver problemas de atraso em circuitos eletrônicos, podem ser criadas
estruturas de atraso para locais específicos , ou mesmo alterando a freqüência do clock. Não
existe a maneira definitiva de resolver problemas de temporização em circuitos. A forma de
correção é especifica pois, depende muito de que tipos de recursos estão sendo utilizados
no sistema.
- 13 -
Referências
1- TOCCI, Ronald J.; WIDMER, Neal S. Sistemas digitais : principios e aplicacoes. 7.
ed Sao Paulo: LTC.
2- IDOETA, Ivan V. (Ivan Valeije); CAPUANO, Francisco G. (Francisco Gabriel).
Elementos de eletronica digital. 11. ed Sao Paulo: Erica, 1986.
3 - TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro: Elsevier, 2003.