SISTEMAS DIGITAIS I Enunciados de Laboratório Prof. José Sousa 2003/2004 Sistemas Digitais I Sumário Trabalho 0 - Operações Lógicas......................................................................... 2 Trabalho 1 - Tempos de Propagação. ................................................................ 4 Trabalho 2 - Representação de Circuitos Lógicos .............................................. 6 Trabalho 3 - Implementação de Funções Lógicas. ............................................. 7 Trabalho 4 - Semi-Somador/Somador Inteiro/Subtractor.................................... 8 Trabalho 5 - Comparador Descodificação e Codificação.................................. 10 Trabalho 6 - Transcodificação e Multiplexers. .................................................. 12 Trabalho 7 - Interface entre TTL e CMOS. ........................................................... 13 Trabalho 8 - Portas Open-colector e Tri-State. ................................................. 15 Trabalho 9 - Portas Lógicas Schmitt-Trigger..................................................... 15 Trabalho 10 - Latches Vs Flip-Flops ................................................................... 17 Trabalho 11 - Registos........................................................................................ 19 Trabalho 12 - Contadores. .................................................................................. 21 Trabalho 13 - Multivibradores Discretos.............................................................. 22 Trabalho 14 - Multivibradores Integrados............................................................ 23 Enunciado do Projecto: Controlo de um Motor Passo-a-Passo ........................... 24 Estrutura do Relatório do Projecto ....................................................................... 27 Calendário do Projecto ......................................................................................... 28 Funcionamento do Projecto.................................................................................. 29 JS/03 1 Sistemas Digitais I Trabalho 0 - Operações Lógicas. I II Utilizando o componente 74LS04 execute as seguintes montagens e identifique a propriedade apresentada na segunda montagem: A 0 1 A_H S=A_L A_H Z=A_H S Z Utilizando o componente 74LS08 execute as seguintes montagens e identifique a propriedade apresentada na segunda montagem: A B S A_H 0 0 0 1 S=(A.B)_H 1 0 B_H 1 1 A B C Z 0 0 0 0 0 1 B_H 0 1 0 Z=(A.B.C)_H 0 1 1 1 0 0 C_H 1 0 1 1 1 0 1 1 1 III Utilizando o componente 74LS32 execute as seguintes montagens e identifique a propriedade apresentada na segunda montagem: A B S A_H 0 0 S=(A+B)_H 0 1 B_H 1 0 1 1 A_H A_H B_H Z=(A+B+C)_H C_H JS/03 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 Z 2 Sistemas Digitais I IV Utilizando os componentes 74LS00 e 74LS02 execute as seguintes montagens e identifique as respectivas funções lógicas: A_H S=(A.B)_L B_H A_H S=(A+B)_L B_H V A 0 0 1 1 B 0 1 0 1 S A 0 0 1 1 B 0 1 0 1 S Faça as duas montagens e conclua qual a relação entre as saídas S e Z. A 0 0 1 1 A_H S=(A.B)_L B_H A_H B 0 1 0 1 S Z Z=A_L+B_L B_H VI Faça as duas montagens e conclua qual a relação entre as saídas S e Z. A_H A 0 0 1 1 S=(A+B)_L B_H A_H B 0 1 0 1 S Z Z=A_L.B_L B_H JS/03 3 Sistemas Digitais I Trabalho 1 - Tempos de Propagação. I Monte o seguinte circuito: A_H B_H B_L D_H Z_H C_H a) Verifique a tabela de verdade da saída Z. b) Consulte o catálogo para obter os tempos de propagação (típico, mínimo e máximo) de cada uma das portas que utilizou. Não se esqueça de anotar os tempos para as transições de high para low e vice-versa. II Suponha que as entradas estão estáveis e só uma delas muda. Por exemplo: 0→1 1 1 0 0→1 0→1 a) O tempo necessário para que a saída Z apresente o valor correcto após mudança de uma única entrada é o mesmo em todos os casos? Justifique. b) Qual a situação em que, após variar o valor lógico de uma única entrada, o tempo de propagação é maior (Worst-case propagation delay time)? c) Preencha o seguinte diagrama temporal para a situação da alínea anterior escolhendo uma escala temporal de modo a que se notem os valores dos tempos de atraso: A_H B_H B_L C_H D_H Z_H JS/03 4 Sistemas Digitais I III Monte o seguinte circuito: CLOCK 100 KHz Z Na entrada do circuito coloque uma onda quadrada positiva entre 0V e 5V (sinal de clock) e frequência 100 KHz1. a) Ligue o sinal de clock de 100 KHz directamente ao trigger externo do osciloscópio e observe a forma de onda à saída de cada um dos inversores. Que conclui? b) Determine o tempo de atraso total provocado pela cadeia de inversores e compare com o valor estimado tendo por base os dados indicados nas especificações do fabricante. c) Verifique no osciloscópio o sinal Z à saída da porta AND. Desenhe e comente o gráfico obtido, realçando o impulso de saída relativamente aos sinais de entrada. 1 Se fôr necessário e se o equipamento o permitir, deve reduzir-se o duty-cycle do sinal de relógio para melhor se conseguir realizar as observações desejadas no osciloscópio. JS/03 5 Sistemas Digitais I Trabalho 2 - Representação de Circuitos Lógicos I Monte o seguinte circuito: a) Apresente o Diagrama de Pinos da montagem que realizou. b) Determine a Tabela de Verdade da função e verifique-a experimentalmente. c) Escreva a expressão algébrica da função que acabou de realizar. II Considere a seguinte função lógica: f ( A, B, C ) = A ⋅ C + B a) Desenhe o Diagrama Lógico da Função. b) Monte o circuito e apresente o respectivo Diagrama de Pinos. c) Determine a Tabela de Verdade da função e verifique experimentalmente. III Considerações finais: a) Compare as realizações dos pontos I e II e comente quanto ao hardware utilizado e aos tempos de propagação envolvidos na execução de ambas as funções. b) Compare de forma crítica as diversas formas de representação de circuitos lógicos que utilizou (diagrama lógico, diagrama de pinos, tabela de verdade e expressão algébrica). JS/03 6 Sistemas Digitais I Trabalho 3 - Implementação de Funções Lógicas. I Dada a seguinte função: F (A,B,C) = A.B.C + (A + B) (C + A) a) Simplifique-a algebricamente e implemente-a usando apenas AND's, OR's e NOT’s. b) A partir da função simplificada, altere-a de forma adequada a ser implementada usando apenas NAND's. c) A partir da função simplificada, altere-a de forma adequada a ser implementada usando apenas NOR's. Em qualquer das situações verifique a tabela de verdade da função. II Realize um circuito combinatório com quatro variáveis de entrada: C, B e A D Representam um número de 0 a 7, em código binário, em que A é a variável de menor peso. Variável de selecção. A variável D escolhe qual é a operação a realizar sobre o número binário x definido por C, B e A : D = 0 Calcula Int √ 2.x D = 1 Calcula Int ((x+2) / 2) em que Int ( y ) é o maior inteiro menor ou igual a y. Exemplos: Entradas D C B A Cálculo de Int (√ 2 x 4) 0 1 0 0 Cálculo de Int ((3 + 2)/ 2) 1 0 1 1 Saídas GF E 0 1 0 0 1 0 Antes de implementar as funções, simplifique-as algebricamente sob a forma de produto de somas. O resultado deve ser mostrado nas saídas disponíveis da base de trabalho. JS/03 7 Sistemas Digitais I Trabalho 4 - Semi-Somador/Somador Inteiro/Subtractor. I Circuito Semi-Somador: A tabela de adição de dois bits é a seguinte: A 0 0 1 1 0+0=0 0+1=1 1+0=1 1 + 1 = 0 e vai 1 B 0 1 0 1 S 0 1 1 0 C 0 0 0 1 A variável S representa a soma e C representa o transporte para a parcela seguinte. Para ilustrar o significado do transporte veja-se o seguinte exemplo em base decimal: 4 + 8 = 12 (doze é igual a 2x100 e vai 1x101) a) Utilizando apenas circuitos integrados 74LS00, implemente um circuito que realize a adição de dois bits (circuito Semi-Somador). b) No pior dos casos, quanto tempo leva o circuito a realizar uma soma? II Somador Inteiro: O Somador Inteiro já leva em consideração a existência de um possível transporte da soma de dois bits anteriores. Realize o circuito seguinte e compare com o circuito anterior sob os pontos de vista funcional, temporal e do hardware utilizado. Ai Bi Semi Somador 1 S’ C’ Semi Somador 2 S’’ Si+1 C’’ Ci Ci+1 Nota: Use XORs e ANDs na realização dos Semi-Somadores. JS/03 8 Sistemas Digitais I III Aplicação prática do circuito 74LS83A: a) O Circuito que se segue executa a soma/subtração de números em COMPLEMENTO PARA 2. Explique o circuito, implemente-o e dê vários exemplos do seu funcionamento. +/A0 B0 A1 B1 A2 B2 A3 B3 Ci A0 B0 S0 S0 S1 S1 S2 S2 S3 S3 Co Co A1 B1 A2 B2 A3 B3 74LS83A b) Utilizando 2 circuitos 74LS83A, construa um somador de 8 bits e determine os tempos máximo e mínimo que uma operação de soma pode demorar. JS/03 9 Sistemas Digitais I Trabalho 5 - Comparador Descodificação e Codificação. I Aplicação prática do comparador. Monte o seguinte circuito: 74LS85 P3 Q3 P2 Q2 NC NC NC NC +5V P3 Q3 P2 Q2 P1 Q1 P0 Q0 P<Q P=Q P>Q Bits mais sigificativos Bits menos sigificativos Saídas P<Q P=Q P>Q a) Complete a seguinte tabela. Que conclui? P3 1 1 1 1 1 0 0 1 1 1 II Q3 1 1 1 0 0 1 1 1 1 1 P2 1 0 0 1 0 0 1 0 0 0 Entradas Saídas Q2 P<Q P=Q P>Q P<Q P=Q P>Q 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 Descodificadores e Codificadores: a) Represente o diagrama lógico de um descodificador de 3 entradas. b) Baseado num descodificador como o que projectou na alínea anterior e em portas lógicas OR, projecte um somador inteiro (circuito combinatório). c) O conjunto de portas lógicas OR utilizadas na alínea anterior representa um circuito codificador. Comente esta afirmação. d) Qualquer circuito combinatório pode ser representado com descodificador e um codificador apropriados. Comente a afirmação. JS/03 um 10 Sistemas Digitais I III Realização prática de um codificador com prioridades: a) Projecte um codificador com comando de habilitação (EN), três entradas (A, B e C), duas saídas (X e Y) e ainda com sinalização de habilitação das saídas (EO) de acordo com a seguinte tabela e diagrama de bloco: EN A B C X Y EO L H H H H X X X H L X X H L L X H L L L L L H H L L H L H L L H H H L A B C EN COD X Y EO Considere que P(A) < P(B) < P(C), em que P(X) representa a prioridade da variável de entrada X. Utilize o menor número possível de circuitos integrados. b) Exemplifique o funcionamento do circuito através de um diagrama temporal apropriado em que se dê ênfase à funcionalidade da entrada EN e da saída EO. JS/03 11 Sistemas Digitais I Trabalho 6 - Transcodificação e Multiplexers. I Transcodificação BCD - 7 segmentos: Utilizando o circuito integrado 74LS47, implemente um circuito cujas entradas recebem um número em código BCD e cuja saída é um display de sete segmentos onde aparece a representação decimal do número de entrada. Percorra todas as combinações possíveis das entradas estando a visualizar os números nos leds da base. II Construção de um Multiplexer: a) Sabendo que o circuito (Multiplexer ou SELECTOR DE DADOS) da figura junta permite, por conveniente selecção das variáveis de controle S1 e S0, seleccionar uma e uma só das entradas A, B, C ou D para a saída Z, projecte o conteúdo da caixa. S1 S0 A B C D Z MUX b) Com o Multiplexer implementado no problema anterior, realize a seguinte função lógica: . f (A,B,C) = (A+BC) (B+C) c) Sem desmontar o circuito anterior, projecte um Demultiplexer equivalente. Ligue os dois e verifique o seu comportamento quando as entradas de controlo são partilhadas. S1 S0 I JS/03 DMUX A B C D 12 Sistemas Digitais I Trabalho 7 - Interface entre TTL e CMOS. I TTL CMOS Ligar componentes de duas famílias lógicas diferentes só é possível se as características de saída de uma forem compatíveis com as características de entrada da outra. Monte o seguinte circuito utilizando portas TTL e CMOS. Vcc 8K2 B A TTL CMOS C a) Preencha a seguinte tabela de parâmetros das portas usadas: TTL VOH VOL IOH IOL CMOS VIH VIL IIH IIL b) Dado que a tensão VOH da porta TTL é menor que VIH da porta CMOS há o perigo de se confundir o nível HIGH entre ambas. Para evitar esse problema, introduz-se uma resistência de interface tal como ilustrado no circuito. A fim de simular os efeitos capacitivos resultantes de ligar várias portas CMOS à saída da porta TTL, introduza um condensador de 100nF entre o ponto B e a massa do circuito. No ponto A, introduza um sinal digital (entre 0 e 5V) de frequência 100 KHz e registe as formas de onda nos pontos A, B e C. c) Repita a mesma operação para valores da resistência de interface de 4K7Ω e 2K2Ω. d) Que pode concluir da observação dos resultados obtidos? JS/03 13 Sistemas Digitais I II CMOS TTL Monte o seguinte circuito utilizando portas TTL e CMOS. A CMOS B TTL C Preencha a seguinte tabela de parâmetros das portas usadas: CMOS TTL VOH VOL IOH IOL VIH VIL IIH IIL Justificando, demonstre que, neste caso, não é necessário colocar a resistência de interface dado que não existem conflitos possíveis. a) No ponto A, introduza um sinal digital (entre 0 e 5V) de frequência 100 KHz e registe as formas de onda nos pontos A, B e C. b) Que conclui da comparação destes sinais com os obtidos em I b) e I c)? Nota final: O cálculo do valor mínimo da resistência de interface Ri depende da corrente que a porta TTL pode fornecer com a saída em low (note-se que IIL de uma porta CMOS é despresável). V −V Ri (min) = CC OL I OL O seu valor máximo depende da capacitância total de entrada da carga CMOS (Ci). Para determiná-lo, parte-se da equação da carga da malha com constante de tempo (Ri x Ci) ≈ 500ns (tempo de subida necessário para o circuito CMOS). V IH = VCC (1 − e ( − t / Ri ⋅Ci ) ) JS/03 ⇔ Ri (max) = t (Ci ⋅ ln(VCC (VCC − V IL ))) 14 Sistemas Digitais I Trabalho 8 - Portas Open-colector e Tri-State. I Monte o seguinte circuito: 5V 2K2 Ω A_H B_H o.c. C_H D_H o.c. E_H o.c. Z = (A.B)_L.(C.D)_L.E_H Nota: o.c. = open-colector a) Qual a tabela de verdade de Z? b) Que se passaria se as portas utilizadas fossem do tipo Totem-Pole em vez de Open-Colector? II A porta EXCLUSIVE-NOR ou EQUIVALÊNCIA é também designada por porta COMPARADORA. Atendendo a esta particularidade projecte um comparador de dois números binários de quatro bits. Isto é, sendo A=A3A2A1A0 e B=B3B2B1B0, o circuito deverá dar saída "1" se A=B e saída "0" se A≠B. Utilize para o efeito um circuito 74LS266 que tem quatro portas EXCLUSIVE-NOR do tipo Open-Colector. III As portas Tri-State, além dos estados 0 e 1, têm ainda um estado de alta-impedância. a) Indique a principal utilidade dos circuitos com saídas Tri-State. b) Utilizando o circuito 74LS125 e inversores, monte o seguinte circuito e preencha uma tabela de verdade para todas as combinações das variáveis de entrada. A Sel. Z B c) Que tipo de função exerce o circuito? E qual pode ser a sua utilidade prática? Trabalho 9 - Portas Lógicas Schmitt-Trigger. JS/03 15 Sistemas Digitais I I Uma porta lógica Schmitt-Trigger caracteriza-se pelo facto das tensões de transição low-high (VTLH) e high-low (VTHL) serem diferentes sendo a primeira maior que a segunda. a) Utilize um sinal triangular entre 0V e 5V na entrada do seguinte circuito e visualize a relação entrada-saída em modo XY no osciloscópio por forma a medir a diferença entre VTLH e VTHL, isto é, a histerese da porta. A Out b) A histerese típica das portas lógicas Schmitt-Trigger permite diminuir a probabilidade de erros num circuito em que as entradas tenham muito ruído. Comente esta exemplificativo. II afirmação ilustrando com um diagrama temporal Aplicação prática de uma porta Schmitt-Trigger: Uma das aplicações comuns das portas deste tipo consiste num circuito oscilador muito rápido como o que se indica na figura seguinte. A malha de atraso RC permite controlar a frequência de oscilação. R Out C a) Diga, justificando, qual é a frequência máxima de oscilação que se pode obter com este circuito (consulte o catálogo). b) Utilizando R = 330Ω e C = 1 µF, implemente o circuito, determine a frequência de oscilação e registe os sinais à entrada e à saída da porta lógica. JS/03 16 Sistemas Digitais I Trabalho 10 I Latches Vs Flip-Flops Monte o seguinte circuito (Latch SR): S L Q H Q L R L a) Complete o seguinte diagrama temporal: S_L R_L Q_H Q_L b) Pela observação do diagrama temporal é possível afirmar que este circuito não é combinatório. Porquê? c) Este circuito é capaz de memorizar a informação presente nas suas entradas. Porquê? d) Em que situação não se pode prever o estado seguinte? Justifique. II Monte o Flip-Flop Master-Slave tal como indicado: S_H Q’_H Q_H CK_L R_H Q_L Q’_L a) Complete o seguinte diagrama temporal: S_H R_H CK_L Q'_H Q'_L Q_H Q_L JS/03 17 Sistemas Digitais I b) Diga como se deve actuar sobre as entradas para que os valores aplicados a S e a R se propaguem até às saídas. c) Quando se efectua a passagem sinalizada com “” o resultado final será sempre previsível? Justifique. III Verifique o funcionamento do Flip-Flop 74LS112A: a) Preencha a seguinte tabela: J 0 0 1 1 0 0 1 1 Qt 0 0 0 0 1 1 1 1 NOTA: K 0 1 0 1 0 1 0 1 Qt+1 Qt e Qt+1 representam a mesma variável mas desfasada no tempo. Para preencher a tabela proceda do seguinte modo: i) Desactive o PR e o CL. ii) Se o valor de Qt não fôr o pretendido active PR ou CL de modo a alterar Qt para o valor desejado. iii) Depois de se ter assegurado que os valores de Qt, J e K são os correctos, provoque um impulso no relógio. iv) Em que flanco do relógio mudou (se houver lugar a mudança) o valor de Qt dando origem a Qt+1? v) Anote o valor da saída na tabela. b) Com a ajuda da tabela anterior, preencha agora a tabela de verdade (tabela reduzida) do Flip-Flop: J 0 0 1 1 c) Quando é que as entradas CK tal como J e K? JS/03 K 0 1 0 1 PR e Qt+1 CL actuam na saída? Dependem do sinal 18 Sistemas Digitais I Trabalho 11 - I Registos Utilizando Flip-Flops 74LS74, implemente um registo de 4 bits como o da figura: A B D Q ck C Q D ck D D Q ck D Q ck Clock QD QC QB QA a) Utilize um botão de pressão da mesa de ensaios como entrada de Clock e memorize valores diferentes no registo. b) Descreva a sequência de operações que necessitou efectuar numa operação de memorização da alínea anterior. II Com Flip-Flops 74LS74, implemente um registo de deslocamento serial-in parallel-out: Serial in D Q ck D Q ck D Q ck D Q ck Clock QA QB QC QD Utilize um botão de pressão como entrada de Clock e ligue a entrada Serial in a um interruptor. a) Quais os passos necessários para memorizar 4 bits no registo? b) Quantos impulsos é necessário dar na entrada de relógio para que um valor introduzido na entrada serial-in chegue a QD? JS/03 19 Sistemas Digitais I III O registo de deslocamento 74LS95 Este registo integrado pode operar nos dois modos de funcionamento serial-in parallel-out e parallel-in serial-out. Faça as ligações necessárias para operar em cada um dos modos e desenhe os respectivos circuitos. IV Utilize dois 74LS95 para implementar uma linha de comunicação série. Um deverá ser usado para introduzir dados em paralelo, provenientes dos interruptores, enviando-os em série e o outro deverá receber os dados em série e apresentá-los em paralelo nos led’s da base de ensaios. Verifique a sequência de transmissão-recepção. Faça um diagrama lógico que represente essa sequência. Nota: JS/03 Os clocks dos registos devem ser complementares entre o emissor e o receptor. Desta forma, o registo transmissor é carregado ou deslocado num dos flancos do clock, e o registo receptor carrega os dados no outro flanco. Verifique em que flanco do clock a que o 74LS95 é activo, e que o registo transmissor recebe o flanco apropriado antes do registo receptor. 20 Sistemas Digitais I Trabalho 12 - I Contadores. Utilizando Flip-Flops Master-Slave 74LS76, implemente: a) Um contador binário assíncrono com módulo 16. b) Um contador binário síncrono com módulo 16. II Transforme o módulo de contagem do circuito anterior (alínea b) para módulo 9, sem para isso alterar as ligações já feitas entre os Flip-Flops. Faça essa alteração não impedindo o aparecimento do estado instável 9, ou seja, a contagem deve ser: 0,1,2,...,7,8,(9),0,1,2,...,7,8,(9),0,1,2,... III Utilizando dois contadores integrados 74LS161 montados de modo a terem módulos de contagem diferentes (por exemplo 10 e 16) verifique qual o módulo de contagem e a evolução da sequência de contagem, para as seguintes ligações entre eles: a) Ligação síncrona. b) Ligação assíncrona. JS/03 21 Sistemas Digitais I Trabalho 13 - I Multivibradores Discretos. Monoestável: Utilizando portas lógicas CMOS, dimensione o seguinte circuito para que o produto RC ronde os 0.1ms e monte-o. VDD R C Vi X Vo Y a) Aplicando um sinal digital de frequência apropriada na entrada do circuito, desenhe as formas de onda obtidas nos pontos X e Y e na saída do circuito e explique o resultado. b) Se em vez de portas lógicas CMOS utilizasse portas lógicas TTL o circuito funcionaria? Justifique a sua resposta. II Astável: Utilizando portas lógicas CMOS, dimensione o seguinte circuito para que oscile com uma frequência de aproximadamente 10 KHz e monte-o. A B Out R C a) Registe as formas de onda obtidas nos pontos A e B e na saída do circuito explicando o resultado. b) Se em vez de portas lógicas CMOS utilizasse portas lógicas TTL o circuito funcionaria? Justifique a sua resposta. JS/03 22 Sistemas Digitais I Trabalho 14 - I Multivibradores Integrados. Monoestável Redisparável: Utilizando o circuito 74LS123 configure um dos monoestáveis com Rext = 1 KΩ e CExt = 1 µF e o outro monoestável com Rext = 10 KΩ e CExt = 1 µF. Vcc RExt Terminal RExt/CExt CExt Terminal CExt a) Aplicando um sinal digital de frequência apropriada na entrada dos dois monoestáveis (≈ 200 Hz), registe e comente as formas de onda obtidas. b) Ligue a saída do primeiro monoestável à entrada do segundo. Aplicando um sinal digital na entrada do primeiro monoestável e variando a sua frequência entre 100 Hz e 10 KHz (aproximadamente), observe os sinais à saída de cada monoestável e comente as suas observações. c) Uilizando os dois monoestáveis contidos no 74LS123 projecte um multivibrador astável. II Circuito Temporizador 555: a) Utilizando a aplicação típica indicada nas especificações do fabricante para o 555 como monoestável, dimensione o circuito para produzir impulsos de duração aproximada de 10 ms. Aplicando um sinal digital de frequência apropriada na entrada do circuito, registe e explique as formas de onda obtidas na entrada e na saída do circuito e no condensador. b) Utilizando a aplicação típica indicada nas especificações do fabricante para o 555 como astável, dimensione o circuito para produzir um sinal de relógio com frequência aproximada a 10KHz. Registe e explique as formas de onda obtidas na saída do circuito e no condensador. JS/03 23