Trabalho Prático n 3 Conversor BCD-7 Segmentos SSI

Transcrição

Trabalho Prático n 3 Conversor BCD-7 Segmentos SSI
Tecnologia dos Computadores 2002/2003
Trabalho Prático no 3
Trabalho Prático no 3
Projecto de Funções Lógicas Combinacionais
Conversor BCD-7 Segmentos
SSI
1
Introdução
Este trabalho tem como objectivo:
• introduzir o conceito de “Escala de Integração” (Scale of Integration) e mostrar o uso de circuitos integrados SSI (Small-Scale Integration) na resolução de
problemas genéricos;
• introduzir códigos numéricos e conversões no âmbito dos circuitos digitais;
• providenciar um primeiro contacto com os visores de 7 segmentos e uma descrição
mais aprofundada do funcionamento de LEDs;
• introduzir os conceitos de lógica positiva, lógica negativa, activações a zero e
activações a um.
2
Algumas Bases...
Seguidamente, apresentam-se algumas explicações que talvez sejam úteis para desmistificar a complexidade aparente (para alguns...) deste trabalho...
1
Tecnologia dos Computadores 2002/2003
2.1
Trabalho Prático no 3
Alguma logı́stica sobre CIs
Os circuitos integrados podem ser classificados através do número de portas que
integram:
• Integrados SSI (Small-Scale Integration) — 1 a 20 portas lógicas (custam tipicamente à volta de 25 cêntimos, se a inflação ajudar!), sendo na sua maioria
DIPs de 14 pinos. Hoje em dia são quase exclusivamente usados em situações de
“remedeio”.
• Integrados MSI (Medium-Scale Integration) — 20 a 200 portas lógicas (com
um custo rondando 1 Euro). Cada um destes integrados contém uma unidade
funcional — serão dados vários exemplos destas unidades funcionais ao longo
deste e dos próximos trabalhos práticos.
• Integrados LSI (Large-Scale Integration) — 200 a 200000 portas (ou mais!), com
um custo indo de 1 a 20 Euros (e por vezes mais...). Cada um destes integrados
poderá conter memórias, microprocessadores, dispositivos de lógica programável,
etc.
• Integrados VLSI (Very Large-Scale Integration) — para cima de 200000 portas,
se bem que a fronteira entre estes e os anteriores é muito difusa, sendo geralmente
dada pelo número de transı́stores no seu interior. Os preços destes integrados vão
desde os 10 Euros (por exemplo, memórias de 1 Mbit) até às centenas de Euros
(por exemplo, os processadores Pentium da Intel, com os seus portentosos pelo
menos 3 milhões de transı́stores).
2.2
Dı́gitos Decimais Codificados “Binariamente”
Apesar de a numeração binária ser a mais apropriada para as computações internas
de um sistema digital, muitas pessoas ainda preferem lidar com números decimais — é
preciso ver que o ser humano já existia antes de haver computadores! Como resultado,
os interfaces com o exterior de um sistema digital podem ler ou reproduzir visualmente
números decimais, e alguns dispositivos digitais chegam a processar números decimais
directamente.
A necessidade humana de representar números decimais não modifica a natureza
básica dos circuitos electrónicos digitais — estes continuam a processar sinais que
podem tomar um de dois estados a que nós convencionamos chamar 0 ou 1. Por esse
motivo, um número decimal é representado num sistema digital por uma sequência
2
Trabalho Prático no 3
Tecnologia dos Computadores 2002/2003
Dı́gito Decimal
0
1
2
3
4
5
6
7
8
9
Códigos não utilizados
BCD (8421)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
2421 Excess-3
0000
0011
0001
0100
0010
0101
0011
0110
0100
0111
1011
1000
1100
1001
1101
1010
1110
1011
1111
1100
0101
0110
0111
1000
1001
1010
0000
0001
0010
1101
1110
1111
Biquinary
0100001
0100010
0100100
0101000
0110000
1000000
1000001
1000010
1000100
1001000
1-out-of-10
1000000000
0100000000
0010000000
0001000000
0000100000
0000010000
0000001000
0000000100
0000000010
0000000001
0000000
0000001
0000010
0000011
0000101
...
0000000000
0000000011
0000000101
0000000110
0000000111
...
Tabela 1: Correspondência entre valores de diversos códigos binários e os dı́gitos decimais
que eles representam (adaptado de [1]). Veja se consegue perceber, usando os seus conhecimentos de numeração binária, como são formados os códigos 8421 e 2421 (dica: atenção aos
seus nomes!).
(em inglês “string”) de bits, onde diferentes combinações desses bits na sequência
representam diferentes números decimais. Para exemplificar este procedimento, foi
compilada a tabela 1, que mostra a correspondência entre dı́gitos decimais e alguns
códigos bastante usados para os representar em sistemas digitais. Existem centenas
de maneiras diferentes de codificar estes 10 dı́gitos, mas são necessários sempre pelo
menos 4 bits para os representar.
Talvez o código binário que codifica da forma mais natural dı́gitos decimais seja
o BCD (Binary-Coded Decimal ). Este representa cada digito decimal através do seu
correspondente numérico binário, de 0000 a 1001. As sequências de 1010 até 1111,
como se pode ver na tabela, não são usados.
3
Tecnologia dos Computadores 2002/2003
ânodo
+
-
Trabalho Prático no 3
cátodo
–
+
Figura 1: Da esquerda para a direita, sı́mbolos para: um dı́odo genérico, com uma representação das suas propriedades de condução, um LED, e uma “lâmpada” lógica genérica e
abstracta. Note-se nesta última que a abstracção implica a ausência, ao contrário do sı́mbolo
especı́fico do LED, da noção de “a corrente flui através de”; ao invés, a ideia é que “a corrente
flui até”, porque, no seu sentido abstracto, um indicador luminoso é habitualmente indicador
de fim de percurso num circuito lógico.
2.3
LEDs e visores de 7 segmentos
LED é um acrónimo usado para designar “Light Emitting Diode”, ou seja, não é
mais que um “dı́odo que emite luz”. Dı́odos são dispositivos electrónicos construı́dos a
partir de material semicondutor e que, devido precisamente ao processo através do qual
foram fabricados e à forma como o semicondutor foi tratado, têm caracterı́sticas muito
especiais. Estas caracterı́sticas estão patentes no sı́mbolo usado para os representar, e
que se pode ver na figura 1.
O dı́odo ideal funciona como um interruptor que é accionado conforme estiver feita
a colocação da voltagem nos seus terminais. O seu sı́mbolo, com forma de seta, aponta
o sentido possı́vel para a corrente; ou seja, como está indicado na figura, o dı́odo
funciona como condutor se estiver aplicada uma tensão mais positiva no lado do ânodo
do que no cátodo e como isolante em qualquer outra situação. No caso de circuitos
TTL, basta, portanto, colocar o LED em condução para se obter luz, e em corte
para o apagar.
Para além de funcionar como indicador luminoso útil quando usado sozinho, vários
LEDs com vários formatos podem também ser agrupados de modo a formar padrões
congruentes num mostrador. O agrupamento deste tipo mais comum é o visor ou
mostrador de 7 segmentos, onde 7 LEDs (geralmente aproximadamente rectangulares) são colocados de modo a formar dı́gitos — veja-se a figura 2 na página seguinte.
4
Trabalho Prático no 3
Tecnologia dos Computadores 2002/2003
a
f
g
b
c
e
d
a
a
f
b
b
e
c
c e
g
d
a
b
g
a
b f
c
d
g
b f
a
f
g
c
d
b f
g
c e
d
a
c
g
c e
d
a
b f
g
c
d
b
c
d
(a)
VCC
a
b
c
d
e
f
g
a
b
c
d
e
f
g
GND
(b)
Figura 2: (a) Representação do aspecto fı́sico dos 7 segmentos, incluindo a sua disposição
e etiquetagem, e demonstração da formação de dı́gitos através deles. (b) Esquemas das
modalidades de circuito para um visor de 7 segmentos: em cima, versão ânodo comum;
em baixo, versão cátodo comum. Porque se chamarão assim? O que se deverá ligar ao
terminal que sobra (a, b, c, d, e, f ou g) para qualquer dos LEDs correspondentes acender?
5
Tecnologia dos Computadores 2002/2003
2.4
Trabalho Prático no 3
Há mais de uma lógica para a lógica... Afinal em que
ficamos?
Quando se discutem circuitos lógicos, como os CIs CMOS ou TTL, os projectistas
digitais e fabricantes muitas vezes usam as palavras “LOW” e “HIGH” (ou, abreviando,
“L” e “H”) em vez de “0” e “1” para lembrar que estão a falar de circuitos electrónicos
reais e não apenas em quantidades abstractas:
LOW Um sinal na gama das baixas voltagens, que normalmente poderá ser interpretado como nı́vel lógico 0;
HIGH Um sinal na gama das altas voltagens, que normalmente poderá ser interpretado como nı́vel lógico 1.
Note-se que esta convenção de correspondência entre nı́veis lógicos e nı́veis fı́sicos,
apesar de ser a mais natural e a mais usada, e a que se dá nome de lógica positiva,
não é a única. À correspondência inversa dá-se o nome de lógica negativa. Precisamente para evitar confusões, os fabricantes de CIs constroem as tabelas de verdade
dos circuitos em termos de sinais fı́sicos, deixando as convenções para os projectistas.
De qualquer das formas, não se deve confundir esta questão com outra que parece
muito similar: a activação a um ou a activação a zero. Estas indicam, independentemente da convenção de lógica utilizada, que nı́vel lógico provoca a activação ou
desactivação de um componente: por exemplo, no caso de um LED de activação a zero,
este emitirá luz caso esteja na presença do nı́vel lógico 0 e apagará no caso inverso.
Dispositivos de activação a zero e a um devem ser diferenciados colocando como prefixo
ou sufixo nas variáveis lógicas correspondendo aos seus sinais de entrada um sı́mbolo
especial. Há inúmeras convenções para isto — em termos de sufixos, + ou -, .L ou .H,
(L) ou (H), e * ou ˜ apenas para a activação a zero; em termos de prefixos, * ou ˜ ou
/ para a activação a zero. Veja-se que a maior parte destas convenções pressupõem
lógica positiva.
Problemas
1. Olhem de novo para a figura 2 na página precedente. Que tipo de activação terão:
(a) Os LEDs num visor de 7 segmentos em ânodo comum?
(b) Os LEDs num visor de 7 segmentos em cátodo comum?
6
Tecnologia dos Computadores 2002/2003
CONTADOR BINÁRIO
(0 a 9)
TRIGGER
Trabalho Prático no 3
a
CONVERSOR
BCD-7 SEGMENTOS
4
7
BCD
SEVSEG
f
g
b
c
e
d
Figura 3: Diagrama lógico projectado para a pista de automóveis.
2. Qual dos dois esquemas estará então incompleto devido a isto? O que mudariam
nele? (Dica: lembrem-se das convenções sobre activação e usem a vossa resposta
à pergunta anterior...)
3
Projecto do Sistema
Um licenciado em Comunicações e Multimédia era um amante de pistas de automóveis em miniatura, e decidiu construir um circuito digital que contasse 9 voltas à
pista e apresentasse num visor de 7 segmentos (de ânodo comum) a volta em que o carro
estaria nesse momento. Para tal, adaptou a pista de modo a ter um pequeno contacto
condutor no “carril” do automóvel na zona da meta que, sempre que interrompido pela
passagem deste, causaria um impulso de voltagem. Este projectista comprou um CI
MSI cuja função era de contador binário de 4 bits (que ele “programou” de forma a
contar de 0 a 9) activado através de transições de voltagem de 0 para 1.
Desta forma, denominando o sinal vindo do contacto de TRIGGER, projectou um
diagrama de blocos, apresentado na figura 3. Infelizmente, os CIs MSI conversores
de BCD para 7 segmentos estavam esgotados na Loja de Electrónica e ele decidiu
então implementar ele próprio o conversor com lógica combinacional, usando uns CIs
SSI que ele tinha à disposição, com portas lógicas discretas...
Problemas
1. Escrevam a tabela de verdade que representa a lógica combinatória do conversor, separando claramente as entradas (bits A B C D) das saı́das (segmentos
a b c d e f g 1 ). (Dica: recorram à figura 2 na página 5, às respostas que deram
1
Este será dos poucos exemplos em que as variáveis/sinais poderão ser representadas por letras
minúsculas.
7
Tecnologia dos Computadores 2002/2003
Trabalho Prático no 3
ao conjunto de perguntas anterior e à noção de condições DON’T CARE que
estudaram nas aulas teóricas para decidirem os valores para as saı́das.)
2. Seguidamente:
(a) construam os mapas de Karnaugh das funções lógicas correspondendo a
cada saı́da e retirem desses mapas as suas formas mı́nimas de soma de
produtos (FMSP). (Dica: Aproveitem as condições DON’T CARE que
estabeleceram na resposta à pergunta anterior para simplificar as funções
lógicas ao máximo.)
(b) Se quiserem e conseguirem, derivem dos resultados que obtiveram na alı́nea
anterior, através dos métodos que aprenderam no Trabalho Prático 2 e outros teoremas da álgebra de Boole que achem apropriados, outras formas de
representar as funções que minimizem o número de portas (e portanto de
CIs) utilizadas. Atenção: poderá não ser possı́vel minimizar mais as funções!
Porém, não se esqueçam que quanto menos CIs usarem, mais cotação têm!
3. Desenhem o diagrama lógico do vosso conversor.
4
Implementação do sistema
Antes de começarem a montar, façam um diagrama de montagem, onde mostrem os integrados (todos na vertical e com o pino 1 para cima) e o fluxo de sinal.
Não se esqueçam de seguir as minhas recomendações e boa sorte no vosso trabalho!
Referências Bibliográficas
[1] Wakerly, J. F. Digital Design – Principles and Practices, 2nd ed. Prentice Hall,
1994.
[2] Marta, E. S. Sebenta Prática de Sistemas Digitais I. Cadeira dada no DEEC,
2002.
[3] Padilla, A. J. G. Sistemas Digitais. McGraw-Hill, 1993.
[4] Horowitz, P., and Hill, W. The Art Of Electronics, 2nd ed. Cambridge
University Press, 1989.
8