CENTRO FEDERAL DE ENSINO TECNOLÓGICO DE SANTA CATARINA UNIDADE DESCENTRALIZADA DE SÃO JOSÉ CURSO TÉCNICO DE TELECOMUNICAÇÕES ELETRÔNICA DIGITAL 1 CAPÍTULO 3 – Circuitos Combinacionais Prof. Jorge H. B. Casagrande ABRIL 2005 CAPÍTULO 3 Circuitos Combinacionais SUMÁRIO 3. Circuitos Combinacionais __________________________________________ 5 3.1 Introdução ____________________________________________________ 5 3.2 Resolvendo problemas simples com circuitos combinacionais _________ 5 3.3 Códigos Binários _____________________________________________ Código BCD 8421________________________________________________ Código excesso 3 ________________________________________________ Código 2 entre 5 _________________________________________________ Código Johnson__________________________________________________ Código 9876543210 ______________________________________________ Código Gray ____________________________________________________ 10 10 10 11 11 12 12 3.3.1 Códigos alfanuméricos _______________________________________ 13 Código ASCII ______________________________________________ 13 3.4 Decodificadores e Codificadores ________________________________ 16 Conversor de código BCD 8421 para 9876543210 ______________________ 16 Conversor BCD 8421 para Excesso 3 _________________________________ 18 3.5. Conversor BCD 8421 para “Display” de 7 Segmentos_______________ 19 Implementação do conversor BCD para 7 segmentos_____________________ 20 3.5 Multiplexadores e demultiplexadores ____________________________ 21 3.6 Circuitos comerciais __________________________________________ 24 3.7 Exercícios ___________________________________________________ 28 3 CAPÍTULO 3 Circuitos Combinacionais 3. Circuitos Combinacionais 3.1 Introdução Os circuitos combinacionais são associações de portas lógicas de modo que a(s) saída(s) representem em um determinado instante de tempo valores dependentes dos valores das variáveis de entrada apenas naquele instante de tempo (circuito sem memória). Grande parte dos sistemas digitais são formados a partir desta idéia como: Codificadores, decodificadores, multiplexadores, demultiplexadores, circuitos de controle e muitos outros específicos. Este capítulo mostra os circuitos combinacionais mais comuns nas aplicações práticas e muitos, por esta razão, são disponíveis comercialmente encapsulados como circuitos integrados padrão. Outra necessidade básica para qualquer sistema digital, resolvido através de circuitos combinacionais, é a representação de nossa linguagem (números, letras e símbolos) através de códigos. Assim, unindo o conteúdo deste capítulo com os circuitos seqüenciais (que dependem da entrada e de estados anteriores – será abordado no capítulo 4), teremos muitos subsídios para entender a eletrônica digital como um todo. Idéia básica de um circuito combinacional: Estes circuitos são muito úteis para solucionar problemas onde necessita-se de uma resposta (saída) quando da ocorrência de determinados eventos (entradas), ou seja, pode-se resolver problemas práticos através de projetos de circuitos combinacionais. 3.2 Resolvendo problemas simples com circuitos combinacionais A solução de problemas utilizando os circuitos combinacionais segue o esquema mostrado abaixo. 5 CAPÍTULO 3 Problema Circuitos Combinacionais Tabela da Verdade Função Lógica Circuito Até o momento foi considerada conhecida a tabela da verdade e, a partir desta foram desenvolvidas algumas ferramentas de análise. Entretanto, na prática, a tabela da verdade deve ser obtida a partir das especificações do problema. A seguir será feito um exemplo onde será obtida a tabela da verdade e a partir desta o circuito equivalente. Suponha o cruzamento de duas ruas, conforme mostrado a seguir: Deseja-se, utilizando circuitos combinacionais, controlar os semáforos instalados no cruzamento destas ruas. O sistema de controle a ser instalado deve atender as seguintes especificações: 0. Se não houver carros trafegando em ambas as ruas é irrelevante o estado do semáforo. 1. Se houver carros trafegando somente na rua secundária, o semáforo 2 deve permanecer verde e em conseqüência o semáforo 1 deve permanecer vermelho. 2. Se houver carros trafegando somente na rua principal, o semáforo 1 deve permanecer verde e em conseqüência o semáforo 2 deve permanecer vermelho. 3. Se houver carros trafegando em ambas as ruas o semáforo 1 deve permanecer verde e, em conseqüência o semáforo 2 deve permanecer vermelho. 6 CAPÍTULO 3 Circuitos Combinacionais É de fundamental importância identificar os vários eventos (situações) que serão associadas como variáveis de entrada, e também as várias respostas (ações) que serão associadas como saídas do circuito. Eventos (situações) Presença ou preferencial não de carro Presença ou secundária não de carro Variável de Entrada A na A=1 ⇒ tem carro A=0 ⇒ não tem carro B na B=1 ⇒ tem carro B=0 ⇒ não tem carro Respostas (saídas) Variável de Saída Ve1 Ve1= ⇒ aceso Ve1=0 ⇒ apagado Vo1 Vo1=1 ⇒ aceso Vo1=0 ⇒ apagado Ve2 Ve2=1 ⇒ aceso Ve2=0 ⇒ apagado Vo2 Vo2=1 ⇒ aceso Vo2=0 ⇒ apagado Verde do semáforo 1 Vermelho do semáforo 1 Verde do semáforo 2 Vermelho do semáforo 2 Por opção Evento 0 1 2 3 A 0 0 1 1 B 0 1 0 1 Ve1 X (1) 0 1 1 Ve2 X (0) 1 0 0 Vo2 X (1) 0 1 1 Ve2 Ve1 A B 0 0 1 1 0 Ve1 = B + A Vo1 X (0) 1 0 0 A B 0 0 0 1 1 1 1 1 1 0 0 Ve2 = A. B 7 CAPÍTULO 3 Vo1 = Ve1 Circuitos Combinacionais Vo 2 = Ve 2 Circuito: Exercícios. Elaborar um circuito lógico que permita controlar uma bomba para encher uma caixa d’água no alto de um edifício a partir de outra, como reservatório, colocada no térreo, conforme mostra a figura. O circuito, através da informação de eletrodos (A, B, C), convenientemente dispostos nas caixas, deve atuara na bomba e numa eletroválvula ligada à canalização de entrada. 1. 2. Elaborar o circuito lógico para controlar o elevador esquematizado na figura abaixo, conforme as especificações indicadas. 8 CAPÍTULO 3 Circuitos Combinacionais Especificações: As variáveis de saída Ms e Md deverão comandar o motor para fazer o elevador subir (Ms = 1 e Md = 0), descer (Ms = 0 e Md = 1), parar (Ms = Md = 0) e ainda continuar um movimento já iniciado (Ms = Md = 1). As variáveis de entrada serão os interruptores memorizadores dentro da cabina (T interligado com o botão de chamada no piso térreo e S interligado com o do piso superior) e os sensores (PT e PS) colocados nos pisos, para indicar a presença correta da cabina no andar. Considere o não funcionamento do motor com qualquer das portas abertas, o desativamento da chamada na chegada ao piso de destino e a devida temporização antes do início de um novo ciclo de operação. 3. Uma indústria possui 4 máquinas de alta potência, podendo ser ligadas, no máximo, 2 delas simultaneamente. Elaborar um circuito lógico para efetuar este controle, respeitando a prioridade de funcionamento da máquina 1 sobre a 2, da 2 sobre a 3 e da 3 sobre a 4. Cada máquina possui um botão para ligá-la. 4. Elaborar um circuito lógico para resolver o seguintes problema: quatro juízes participam de um programa de calouros e cada um tem a sua disposição, uma chave “On/Off” (liga/desliga) correspondendo ao julgamento do candidato (On aprovado, Off - reprovado). Na saída existem três lâmpadas, correspondentes a três resultados: aprovado (pela maioria), reprovado (pela maioria) ou empate. 9 CAPÍTULO 3 5. Circuitos Combinacionais Um depósito pode armazenar quatro tipos de produtos químicos (A, B, C e D). Devido à natureza dos produtos torna-se perigoso armazenar num mesmo depósito os produtos B e C, a menos que o produto A esteja presente. O mesmo ocorre com os produtos C e D. Elaborar um circuito lógico que identifique a presença de uma combinação perigosa no depósito. 3.3 Códigos Binários Agora vamos ver algumas formas de traduzir necessidades bem comuns de representação das informações no sistema binário. Codificação é a solução padrão para estes casos, ou seja, cada informação pode ser associada a uma palavra binária. Dependendo de cada situação um código apresenta vantagens em relação aos outros. Existem códigos muito difundidos para representar caracteres numéricos ou alfanuméricos tais como ASCII e EBCDIC. Vamos verificar alguns tipos de códigos utilizados para os algarismos decimais: Código BCD 8421 A sigla BCD representa as iniciais de “Binary-Coded Decimal”, que significa decimal codificado em binário. Os dígitos 8421 representam o valor em decimal do correspondente dígito em binário (23 = 8, 22 = 4, 21 = 2, 20 = 1). A tabela a seguir mostra o código. Decimal BCD 8421 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Código excesso 3 Este código é obtido transformando-se o número decimal no binário correspondente e somando-se três unidades a este. Ex.: 210 → 00102 → 0101excesso 3 10 CAPÍTULO 3 Circuitos Combinacionais Decimal 0 1 2 3 4 5 6 7 8 9 Excesso 3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Código 2 entre 5 Este código sempre possui dois bits 1 dentre 5. Decimal 0 1 2 3 4 5 6 7 8 9 2 entre 5 00011 00101 00110 01001 01010 01100 10001 10010 10100 11000 Código Johnson Utilizado pelo contador deslocador em anel torcido ou contador Johnson. Decimal 0 1 2 3 4 5 6 7 8 9 Johnson 00000 10000 11000 11100 11110 11111 01111 00111 00011 00001 11 CAPÍTULO 3 Circuitos Combinacionais Código 9876543210 Este código utiliza 10 dígitos binários para representar um dígito decimal. Decimal 0 1 2 3 4 5 6 7 8 9 9876543210 0000000001 0000000010 0000000100 0000001000 0000010000 0000100000 0001000000 0010000000 0100000000 1000000000 Código Gray Caracteriza-se pelo fato que entre um número e outro apenas um bit varia. Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000 12 CAPÍTULO 3 Circuitos Combinacionais 3.3.1 Códigos alfanuméricos Para a representação de números em sistemas digitais, existem diversos códigos como os que vimos anteriormente. E para texto? Ao longo do tempo, muitos códigos foram utilizados para representar letras, números e símbolos como BAUDOT, EBCDIC, TRANSCODE e ASCII. Este último foi universalmente adotado para a maior parte dos sistemas digitais. Código ASCII O ASCII (American Standart Code for Information Interchange) é um dos códigos mais amplamente utilizados para representar informações textuais. Os caracteres do PC, e nos computadores mais modernos, ocupam um byte de 8 bits, de forma que pode haver 28, ou seja, 256 caracteres diferentes. A figura abaixo mostra cada um destes caracteres, e os seus códigos numéricos em decimal e respectivo valor em hexadecimal. Se observarmos mais atentamente para a tabela ASCII, veremos que ela começa com um grupo de caracteres bem estranho (os primeiros 32 caracteres, cujos códigos decimais vão de 0 a 31), seguidos por três colunas bem conhecidas: os dígitos de 0 a 9, as letras maiúsculas e minúsculas do alfabeto, e diversos sinais de pontuação. Estas quatro colunas constituem a primeira metade do conjunto de caracteres do PC, os caracteres ASCII, pois seguem um padrão universal em computadores. O ASCII propriamente dito são 128 caracteres, com códigos decimais de 0-127. Nosso conjunto de caracteres do PC tem o dobro, incluindo os códigos de 128 até 256. Em geral estes códigos maiores, que compõem a outra metade, são chamados caracteres ASCII estendidos. Estritamente falando, somente na primeira metade, os códigos 0-127, há códigos ASCII, mas ouviremos freqüentemente as pessoas usando o termo ASCII como conjunto estendido, ou forma padrão de bits que representa um caractere. Um grupo de caracteres especiais A metade ASCII de nosso conjunto de caracteres tem significado e definição que vão além da família PC - é um código universal usado por muitos computadores e outros equipamentos eletrônicos. Os caracteres ASCII estendidos, no entanto, constituem uma outra justificativa. Não há regras para esta metade de 128 a 255, e estes caracteres da figura foram especialmente criados para o PC. Por causa da importância e popularidade do PC, Os caracteres ASCII estendidos são usados não só pela família PC, mas também foram adotados no conjunto de caracteres de muitos computadores, parentes distantes do PC. Estes caracteres são organizados em três grupos principais: o grupo de caracteres estrangeiros, caracteres de desenho e os caracteres científicos. 13 CAPÍTULO 3 Circuitos Combinacionais 0 1 2 3 4 5 6 7 8 9 10 11 12 13 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 32 33 34 35 36 37 38 39 40 41 42 43 44 45 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 0E 0F 10 11 12 13 14 ¶ 15 § 16 17 18 19 1A 1B 1C 1D 1E 1F 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F - 64 65 66 67 68 69 70 71 72 73 74 75 76 77 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D @ A B C D E F G H I J K L M 96 97 98 99 100 101 102 103 104 105 106 107 108 109 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F N O P Q R S T U V W X Y Z [ \ ] ^ _ 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F $ ' 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 { | } ~ 128 129 130 131 132 133 134 135 136 137 138 139 140 141 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D Ç ü é â ä à å ç ê ë è ï î ì 160 161 162 163 164 165 166 167 168 169 170 171 172 173 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F Ä Å É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 ƒ á í ó ú ñ Ñ ª ° ¿ ¬ ½ ¼ ¡ 192 193 194 195 196 197 198 199 200 201 202 203 204 205 C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD 224 225 226 227 228 229 230 231 232 233 234 235 236 237 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED AE « AF » B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF Caracteres ASCII comuns Os caracteres convencionais da escrita possuem códigos de 32 a 127. Embora pareça que não há muito a falar sobre estes caracteres há diversos detalhes que podem ser extraídos com o intuito do entendimento. A tabela deixa bem claro que há uma separação entre letras maiúsculas e minúsculas, que A não é a mesma coisa que a. Então, quando se usa um programa que ordene em ordem alfabética o a aparecerá depois que o A ou o Z, por exemplo. Caracteres de controle ASCII 14 CAPÍTULO 3 Circuitos Combinacionais Os primeiros 32 códigos no conjunto de caracteres ASCII, códigos de 0 a 31, têm um uso especial que não tem nada a ver com a aparência dos caracteres mostrados. Eles são utilizados para funções especiais de impressão e em protocolos de comunicação. Eles podem por exemplo ser utilizados para informar o final de uma linha ou final de uma página, etc. A tabela a seguir mostra estes caracteres de controle e seu significado. Código Decimal 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 Código Hexa 00 01 02 03 04 04 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F Tecla de Controle ^@ ^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 ^[ ^/ ^] ^^ ^- Nome Descrição Significado NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DEL DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US null character start of header start of text end of text end of transmission enquire acknowledge bell backspace horizontal tab line feed vertical tab form feed (new page) carriage return shift out shift in delete device control 1 device control 2 device control 3 device control 4 No acknowledge syncronize end of text block cancel end of medium subtstitute escape file separator group separator record separator unit separator caractere nulo início de cabeçalho início de texto fim de texto fim de transmissão caractere de consulta confirmação alarme ou chamada retrocesso tabulação horizontal alimentação de linha tabulação vertical alimentação de formulário retorno do carro mudança para números mudança para letras caractere de supressão controle de dispositivo 1 controle de dispositivo 2 controle de dispositivo 3 controle de dispositivo 4 confirmação negada sincronismo fim de bloco de texto cancelamento fim de meio de dados substituição escape, diferenciação separador de arquivo separador de grupo separador de registro separador de unidade 15 CAPÍTULO 3 Circuitos Combinacionais 3.4 Decodificadores e Codificadores Estes termos diferenciam-se por uma questão de referência dos circuitos combinacionais. O termo decodificador significa obter informação a partir de um código. O termo codificador significa gerar um código a partir de uma informação. O exemplo a seguir ilustra a diferença. Inglês Alemão decodificador Tradutor (informação) codificador O tradutor fez o papel de um decodificador para a pessoa que entende alemão, logo esse elemento irá encará-lo como um decodificador, pois, está passando uma mensagem qualquer de um código desconhecido (o inglês) para um código conhecido (o alemão). Porém para a pessoa do idioma inglês o tradutor faz o papel de um codificador, pois está transformando uma linguagem conhecida sua para uma outra. Estas mesmas observações podem ser feitas quando deseja-se transformar as informações representadas em um determinado código para outro código. Por exemplo o teclado da calculadora converte um número em código decimal para uma número em código binário. Código 1 Conversor de código Código 2 Conversor de código = decodificador + codificador. Conversor de código BCD 8421 para 9876543210 Deseja-se encontrar o conversor que transforme as informações codificadas em BCD 8421 para 9876543210. A tabela a seguir ilustra o desejado. 16 CAPÍTULO 3 Circuitos Combinacionais decodif. código BCD 8421 ABCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 codif. inf. Decimal 9 S9 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 N.T. X N.T X N.T X N.T X N.T X N.T. X código 8 S8 0 0 0 0 0 0 0 0 1 0 X X X X X X 7 S7 0 0 0 0 0 0 0 1 0 0 X X X X X X 6 S6 0 0 0 0 0 0 1 0 0 0 X X X X X X 5 S5 0 0 0 0 0 1 0 0 0 0 X X X X X X 4 S4 0 0 0 0 1 0 0 0 0 0 X X X X X X 3 S3 0 0 0 1 0 0 0 0 0 0 X X X X X X 2 S2 0 0 1 0 0 0 0 0 0 0 X X X X X X 1 S1 0 1 0 0 0 0 0 0 0 0 X X X X X X 0 S0 1 0 0 0 0 0 0 0 0 0 X X X X X X Obs.: Não existe representação dos números (informação) 10, 11, 12, 13, 14 e 15 no código 9876543210 e nem no código BCD 8421, mas existe representação destes números quando da utilização de 4 dígitos binários. Assim a solução consiste em não permitir a ocorrência dos números de 10 até 15 e considerar o código 9876543210 irrelevante nestas condições, o que poderá resultar na simplificação das funções. Da tabela acima, fazendo-se as devidas simplificações (Mapas de Karnaugh) com os termos irrelevantes, teremos: S0 = A . B . C . D S1 = A . B .C . D S2 = B .C . D S3 = B .C . D S4 = B . C . D S5 = B . C . D S6 = B . C . D S7 = B . C . D S8 = A.D S9 = A.D E a conversão será dada pelo circuito a seguir: 17 CAPÍTULO 3 A B Circuitos Combinacionais C D S0 S1 S2 S4 S4 S5 S6 S7 S8 S9 Conversor BCD 8421 para Excesso 3 decodif. código codif. código inf. BCD 8421 ABCD Decimal 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 N.T. N.T N.T N.T N.T N.T. Excesso 3 S3 S2 S1 S0 0 0 0 0 0 1 1 1 1 1 X X X X X X 0 1 1 1 1 0 0 0 0 1 X X X X X X 1 0 0 1 1 0 0 1 1 0 X X X X X X 1 0 1 0 1 0 1 0 1 0 X X X X X X Funções simplificadas, utilizando-se as condições irrelevantes: 18 CAPÍTULO 3 Circuitos Combinacionais S0 = D S1 = C . D + C . D S2 = B . D + B . C + B . C . D S3 = A + B . D + B . C Tarefa! Desenhe os circuitos lógicos para o codificador e decodificador BCD8421 e exesso3. Exercícios. Realizar os seguintes conversores de código: • Excesso 3 para BCD 8421; • BCD 8421 para 2 entre 5; • BCD 8421 para Johnson; • BCD 8421 para Gray; • Gray para BCD 8421. 3.5. Conversor BCD 8421 para “Display” de 7 Segmentos Este conversor é comumente chamado decodificador BCD para 7 segmentos. O display de 7 segmentos permite à escrita de números de 0 a 9 e alguns símbolos que podem ser letras ou sinais. A seguir mostra-se uma unidade de display com a identificação dos segmentos. a f g e b c d Será suposto que para acender qualquer dos segmentos é necessário ativar o referido segmento. Assim tem-se dois tipos de display: Com cátodo comum - lógica positiva ou ativo alto: a g Com ânodo comum: 19 CAPÍTULO 3 Circuitos Combinacionais Se para acender qualquer um dos segmentos é necessário aplicar nível lógico 0 no referido segmento, tem-se então os displays com ânodo comum - lógica negativa ou ativo baixo. Vcc g a Implementação do conversor BCD para 7 segmentos Um conversor de código que passe de BCD 8421 para display de 7 segmentos é mostrado na tabela a seguir. Obs.: Display com cátodo comum. BCD 8421 ABCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 As expressões simplificadas são: a = A +C + B .D + B .D b = B +C .D +C .D c =C +B +D d = A + B . D + C . B + C . D + B .C . D e = B .D +C .D Decimal Código para 7 segmentos a b c d e f g 0 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 2 1 1 0 1 1 0 1 3 1 1 1 1 0 0 1 4 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 6 0 0 1 1 1 1 1 7 1 1 1 0 0 0 0 8 1 1 1 1 1 1 1 9 1 1 1 1 0 1 1 N.T. X X X X X X X N.T X X X X X X X N.T X X X X X X X N.T X X X X X X X N.T X X X X X X X N.T. X X X X X X X f = A +C .D +C .B + B .D g = A + B .C + B .C + C . D Como será o circuito? Tente realizá-lo! 20 CAPÍTULO 3 Circuitos Combinacionais 3.5 Multiplexadores e demultiplexadores Os circuitos multiplexadores (mux) possuem uma única saída a qual permite enviar as informações de uma de suas várias entradas, selecionadas por uma palavra binária de controle. Ou seja, a saída copia o estado da entrada selecionada. Um circuito elementar poderia ser comparado com uma chave de 1 pólo por N posições de saída. I1 I2 I3 I4 IN S Seleção Se desejarmos ligar a informação da entrada 2 na saída, por exemplo, basta selecionarmos a posição 2 na chave seletora. E assim por diante. Com um circuito combinacional, podemos implementar facilmente esta tarefa. Veja o exemplo de um Mux de 4 entradas abaixo. circuitos multiplex equivalentes Tabela verdade: Seleção AB 00 01 10 11 Saída S I0 I1 I2 I3 21 CAPÍTULO 3 Circuitos Combinacionais É possível ampliar a capacidade de multiplexação de mais entradas a partir de mux com poucas entradas. Veja abaixo: Isso permite disponibilizar multiplexadores padrão comerciais de 2, 4 , 8 ou 16 entradas e a partir deles ampliar a capacidade de multiplexação. Estes circuitos digitais são valiosos nos projetos de sistemas microprocessados pois são amplamente utilizados para acesso a bancos de memórias e dispositivos de entrada/saída. No item 3.6 vamos analisar um tipo desses para entender melhor sua operação. Demultiplexadores Naturalmente os Demultiplexadores (demux) são circuitos digitais que efetuam a operação inversa do multiplex, ou seja, possuem várias saídas as quais permitem receber as informações de uma única entrada, selecionadas por uma palavra binária de controle. Ou seja, a saída selecionada copia o estado da entrada. A mesma analogia de uma chave com um pólo e N posições pode ser usada: S1 S2 S3 S4 SN E Seleção 22 CAPÍTULO 3 Circuitos Combinacionais Um circuito demux de 4 saídas com sua tabela verdade pode ser vista a seguir. Pela sua operação eles também podem ser utilizados como decodificadores binários BCD para as N linhas de saída. Tabela verdade: Seleção AB 00 01 10 11 S0 E 0 0 0 Saída S1 S2 S3 0 0 0 E 0 0 0 E 0 0 0 E 23 CAPÍTULO 3 Circuitos Combinacionais 3.6 Circuitos comerciais Em regra geral, para o código BCD com 3 ou 4 variáveis de entrada , os circuitos comerciais utilizam a seqüência das variáveis notadas de A para o primeiro bit, B para o segundo, C para o terceiro e D para o quarto bit (DCBA) . Leve isso em consideração ao analisar as suas expressões lógicas. As Tabelas Verdade também usam a notação de L para o nível lógico 0 (L=Low =Baixo) e H para o nível lógico 1 (H=High=Alto). Por conta disso, as variáveis de entrada e/ou saída são caracterizadas de acordo com o nível lógico ativo para suas funções: nível Ativo Alto ou Ativo Baixo. Um exemplo disso é o CI 74138 que possui as saídas Y0 à Y7 e entradas G2A e G2B em ativo baixo ao contrário das entradas G1, A, B e C que são ativo Alto. Analise sua tabela verdade a seguir. Estas características estão relacionadas a 2 fatores: aplicação mais comum do CI e/ou conveniência na produção em escala industrial. a) Circuito Integrado TTL 74138 - Decodificador octal/decimal (3x8linhas) 24 CAPÍTULO 3 Circuitos Combinacionais b) Circuito Integrado TTL 7447 - Conversor BCD para 7 segmentos 25 CAPÍTULO 3 Circuitos Combinacionais c) Circuito Integrado TTL 74153 - Duplo Multiplexador com 4 entradas 26 CAPÍTULO 3 Circuitos Combinacionais d) Circuito Integrado TTL 74155 - Duplo Demultiplexador com 4 saídas 27 CAPÍTULO 3 Circuitos Combinacionais 3.7 Exercícios 1) a. Encontre a tabela verdade e expressão lógica do Circuito Integrado comercial TTL 7445 que possui o circuito lógico abaixo. Considere que a seqüência das variáveis de entradas é DCBA. b. Identifique as principais diferenças com o circuito da página 18 e da tabela verdade da página 17 desta apostila. 2) Implemente um circuito lógico que realize a conversão da palavra binária gerada no teclado de 4 números a seguir para o código BCD8421. A saída BCD deve conter o valor da tecla ou a soma do valor das teclas pressionadas. O teclado possui a seguinte funcionamento: Quando uma tecla é pressionada um nível lógico 28 CAPÍTULO 3 Circuitos Combinacionais 1 é colocado na linha (L1 ou L2) e coluna (C1 ou C2) correspondente. Quando as teclas estão soltas, as linhas e colunas respectivas apresentam o nível lógico 0. 1 0 L1 3 2 L2 C1 C2 3) Utilize o circuito conversor encontrado no exercício 2 e converta o sinal BCD para um jogo de diodos led que indiquem o número decimal correspondente da tecla ou soma das teclas pressionadas. Faça o diagrama elétrico completo a partir de circuito integrados comercias. Dica: Supondo que sua saída pode acionar um diodo led de baixa corrente, utilize o CI 74138. 4) Faça o mesmo exercício anterior utilizando agora como indicador, um display de 7 segmentos de anôdo comum. Dica: Use o CI 7447. 5) Faça um conversor de código que tenha como saída a conversão dos algarismos hexadecimais (0 a F) para o código ASCII normal (não estendido = 7 bits). 6) Supondo que voce possua um circuito que interpreta uma seqüência serial de bits (um após o outro), monte uma seqüência de bits usando o código ASCII estendido que realize a seguinte operação: - alimente uma folha, - escreva a mensagem: Uned-SJ - Alimente uma linha e retorne o cursor - Escreva a mensagem: 2005 - Alimente uma página e soe um alarme indicando o final da informação. 7) Encontre o circuito que realize a conversão do código Gray para o BCD8421 correspondente. 8) Idem 7 para a conversão do código Gray para o Decimal (9876543210). 9) Realize um multiplexador de 8 entradas a partir de CI´s 74153. 10) Realize um demultiplexador de 8 saídas a partir de CI´s 74155. 29