Códigos, Portas Lógicas e Comportamento Elétrico Prof. Ohara Kerusauskas Rayel Disciplina de Eletrônica Digital - ET75C Curitiba, PR 26 de março de 2015 1 / 32
Códigos Código: Números, letras ou palavras representados por um grupo especial de símbolos Na aula passada vimos vários tipos de código. Quais eram e o que representavam? 2 / 32
Códigos Código: Números, letras ou palavras representados por um grupo especial de símbolos Na aula passada vimos vários tipos de código. Quais eram e o que representavam? Decimal, Binário, Octal e Hexadecimal! Representam quantidades numéricas. Como nosso foco em digital são os números binários, veremos os principais códigos que utilizam apenas 1 s e 0 s 2 / 32
Código Gray Sistemas digitais operam em altas velocidades, reagindo a variações que ocorrem em suas entradas Exemplo de situação em que uma representação binária é drasticamente alterada? 3 / 32
Código Gray Sistemas digitais operam em altas velocidades, reagindo a variações que ocorrem em suas entradas Exemplo de situação em que uma representação binária é drasticamente alterada? A própria contagem binária! Exemplo, contador de 0 a 7. Quando chega em 111 (7), ao somarmos um, o contador vai para 000 (0), ou seja, TODOS os bits se alteraram ao mesmo tempo! 3 / 32
Código Gray Sistemas digitais operam em altas velocidades, reagindo a variações que ocorrem em suas entradas Exemplo de situação em que uma representação binária é drasticamente alterada? 4 / 32
Código Gray Sistemas digitais operam em altas velocidades, reagindo a variações que ocorrem em suas entradas Exemplo de situação em que uma representação binária é drasticamente alterada? A própria contagem binária! Exemplo, contador de 0 a 7. Quando chega em 111 (7), ao somarmos um, o contador vai para 000 (0), ou seja, TODOS os bits se alteraram ao mesmo tempo! 4 / 32
Código Gray Para minimizar as alterações a cada passo de contagem binária, criou-se o Código Gray Apenas 1 bit se altera a cada passo de contagem, minimizando a probabilidade de erro na interpretação B 2 B 1 B 0 G 2 G 1 G 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 5 / 32
Lógica de codificação Código Gray B2 B1 B0 Diferente? Diferente? G2 G1 G0 6 / 32
Códigos Binários Código: Letras, números ou palavras representados por um conjunto de bits Exemplos de códigos? 7 / 32
Códigos Binários Código: Letras, números ou palavras representados por um conjunto de bits Exemplos de códigos? Código Morse A própria representação de números decimais através de 0 s e 1 s 7 / 32
Código BCD Frequente necessidade de conversão entre binário e decimal nos sistemas digitais Conversões podem ser longas e complicadas para números grandes Código BCD: combina características dos sistemas decimal e binário Cada dígito decimal é representado por seu equivalente binário Quantos são então os bits necessários para representar cada dígito? 8 / 32
Código BCD Frequente necessidade de conversão entre binário e decimal nos sistemas digitais Conversões podem ser longas e complicadas para números grandes Código BCD: combina características dos sistemas decimal e binário Cada dígito decimal é representado por seu equivalente binário Quantos são então os bits necessários para representar cada dígito? Resposta: 4, pois o maior dígito a ser representado é o 9, que em binário é 1001. 8 / 32
Exercício Sabendo que cada dígito decimal é representado por seu equivalente binário, como se escreve o número 1596 em BCD? Resposta: 9 / 32
Exercício Sabendo que cada dígito decimal é representado por seu equivalente binário, como se escreve o número 1596 em BCD? Resposta: 1 0001 5 0101 9 1001 6 0110 Logo, 1596 10 = 0001010110010110 BCD 9 / 32
Exercício Converta agora o número BCD 011111000001 Resposta: 10 / 32
Exercício Converta agora o número BCD 011111000001 Resposta: 0111 7 1100 12 - Não existe!!! 0001 1 Logo, 11111000001 não é um número BCD e não pode ser convertido para decimal! 10 / 32
Vantagens e Desvantagens Quais a principal vantagem e a principal desvantagem do código BCD? 11 / 32
Vantagens e Desvantagens Quais a principal vantagem e a principal desvantagem do código BCD? Vantagem: facilidade de conversão para números longos Desvantagem: ineficiência no uso de bits, já que nem todos as combinações de bits possíveis são utilizadas, como foi o caso do 12 no último exercício Exemplo da ineficiência: 137 10 10001001 2 000100110111 12 bits para representar um número que é representado por 8 bits em binário 11 / 32
Códigos Alfanuméricos Além de dados numéricos, os sistemas precisam manipular informações não numéricas, como letras e símbolos Mais utilizado é o ASCII (American Standard for Information Interchange) Possui 7 bits para representar cada símbolo, portanto quantas letras e números estão representadas? 12 / 32
Códigos Alfanuméricos Além de dados numéricos, os sistemas precisam manipular informações não numéricas, como letras e símbolos Mais utilizado é o ASCII (American Standard for Information Interchange) Possui 7 bits para representar cada símbolo, portanto quantas letras e números estão representadas? Resposta: 128. Suficiente para representar os caracteres de um teclado padrão. 12 / 32
b7 b6 BITS b5 b4 b3 b2 b1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 NUL Tabela ASCII 0 0 0 CONTROL 0 0 1 SOH 1 1 2 STX 2 2 3 ETX 3 3 4 EOT 4 4 5 ENQ 5 5 6 ACK 6 6 7 BEL 7 7 8 BS 8 10 9 HT 9 11 10 LF A 12 11 VT B 13 12 FF C 14 13 CR D 15 14 SO E 16 15 SI F 17 16 DLE 1 10 20 17 DC1 11 21 18 DC2 12 22 19 DC3 13 23 20 DC4 14 24 21 NAK 15 25 22 SYN 16 26 23 ETB 17 27 24 CAN 18 30 25 EM 19 31 26 SUB 1A 32 27 ESC 1B 33 28 FS 1C 34 29 GS 1D 35 30 RS 1E 36 31 US 1F 37 LEGEND: 0 1 0 0 SYMBOLS 1 NUMBERS 32 SP 20 40 33! 21 41 34 22 42 35 # 23 43 36 $ 24 44 37 % 25 45 38 & 26 46 39 27 47 40 ( 28 50 41 ) 29 51 42 * 2A 52 43 + 2B 53 44, 2C 54 45 2D 55 46. 2E 56 47 / 2F 57 dec CHAR hex oct 48 0 1 30 60 49 1 31 61 50 2 32 62 51 3 33 63 52 4 34 64 53 5 35 65 54 6 36 66 55 7 37 67 56 8 38 70 57 9 39 71 58 : 3A 72 59 ; 3B 73 60 < 3C 74 61 = 3D 75 62 > 3E 76 63? 3F 77 1 64 0 0 1 0 UPPER CASE @ 40 100 65 A 41 101 66 B 42 102 67 C 43 103 68 D 44 104 69 E 45 105 70 F 46 106 71 G 47 107 72 H 48 110 73 I 49 111 74 J 4A 112 75 K 4B 113 76 L 4C 114 77 M 4D 115 78 N 4E 116 79 O 4F 117 80 P 1 50 120 81 Q 51 121 82 R 52 122 83 S 53 123 84 T 54 124 85 U 55 125 86 V 56 126 87 W 57 127 88 X 58 130 89 Y 59 131 90 Z 5A 132 91 [ 5B 133 92 \ 5C 134 93 ] 5D 135 94 ˆ 5E 136 95 5F 137 1 96 1 0 1 1 LOWER CASE 60 140 97 a 61 141 98 b 62 142 99 c 63 143 100 d 64 144 101 e 65 145 102 f 66 146 103 g 67 147 104 h 68 150 105 i 69 151 106 j 6A 152 107 k 6B 153 108 l 6C 154 109 m 6D 155 110 n 6E 156 111 o 6F 157 1 112 p 70 160 113 q 71 161 114 r 72 162 115 s 73 163 116 t 74 164 117 u 75 165 118 v 76 166 119 w 77 167 120 x 78 170 121 y 79 171 122 z 7A 172 123 { 7B 173 124 7C 174 125 } 7D 175 126 7E 176 127 DEL 7F 177 Victor Eijkhout Dept. of Comp. Sci. University of Tennessee Knoxville TN 37996, USA 13 / 32
Exercício Como seria armazenada a seguinte linha de código em ASCII, em um sistema endereçado a cada 8 bits? i f (x>3) 14 / 32
Exercício Como seria armazenada a seguinte linha de código em ASCII, em um sistema endereçado a cada 8 bits? i f (x>3) Resposta: i (0x69); f (0x66); espaço (0x20); ( (0x28); x (0x78); > (0x3E); 3 (0x33); ) (0x29) Resposta: i (01101001); f (01100110); espaço (00100000); ( (00101000); x (01111000); > (00111110); 3 (00110011); ) (00101001) Resposta: 8 bytes (64 bits)! Teste no PC! 14 / 32
Problema 128 caractereres não são o suficiente para representar todos os alfabetos existentes no mundo Existe o código ASCII estendido, que utiliza 8 bits, e portanto possui mais 128 caracteres É utilizado para caracteres que não existem no inglês, como letras acentuadas Porém, não possui um padrão mundial, o que gera conflitos quando um mesmo arquivo é aberto em computadores de idiomas diferentes Unicode surgiu para resolver o problema 15 / 32
Operações sobre números binários Como vimos na aula passada, todos os equipamentos eletrônicos digitais utilizam números binários para representar quantidades Para manipular estes números, existem apenas 3 operações básicas: AND (E), OR (OU) e NOT (NÃO) A partir destas três, qualquer outra operação pode ser realizada Para realizar estas operações dentro do hardware, precisamos de circuitos específicos que realizem estas operações. É isto que veremos a seguir 16 / 32
Porta OR (OU) Deve retornar verdadeiro (nível ALTO) quando uma OU outra entrada é verdadeira Exemplo: 0+1 = 1; 1+1 = 1; 1+0 = 1. Único caso 0 0+0 = 0 Exercício: qual a forma de onda de saída? 17 / 32
Porta OR (OU) Deve retornar verdadeiro (nível ALTO) quando uma OU outra entrada é verdadeira Exemplo: 0+1 = 1; 1+1 = 1; 1+0 = 1. Único caso 0 0+0 = 0 Exercício: qual a forma de onda de saída? 17 / 32
Porta E (AND) Deve retornar verdadeiro somente quando TODAS as entradas são verdadeiras Exemplo: 0 1 = 0; 1 0 = 0; 0 0 = 0. Único caso 1 1 1 = 1 Exercício: qual a forma de onda de saída? 18 / 32
Porta E (AND) Deve retornar verdadeiro somente quando TODAS as entradas são verdadeiras Exemplo: 0 1 = 0; 1 0 = 0; 0 0 = 0. Único caso 1 1 1 = 1 Exercício: qual a forma de onda de saída? 18 / 32
Porta NÃO (NOT) Deve retornar o valor inverso ao da entrada Exemplo: 0 = 1; 1 = 0 Exercício: qual a forma de onda de saída? 19 / 32
Porta NÃO (NOT) Deve retornar o valor inverso ao da entrada Exemplo: 0 = 1; 1 = 0 Exercício: qual a forma de onda de saída? 19 / 32
Porta NOR (Não-OU) Deve retornar verdadeiro somente quando todas as entradas forem falsas (comportamento inverso da OU) Exercício: qual a forma de onda de saída? 20 / 32
Porta NOR (Não-OU) Deve retornar verdadeiro somente quando todas as entradas forem falsas (comportamento inverso da OU) Exercício: qual a forma de onda de saída? 20 / 32
Porta NAND (Não-E) Deve retornar falso somente quando todas as entradas forem verdadeiras (comportamento inverso da E) Exercício: qual a forma de onda de saída? 21 / 32
Porta NAND (Não-E) Deve retornar falso somente quando todas as entradas forem verdadeiras (comportamento inverso da E) Exercício: qual a forma de onda de saída? 21 / 32
Porta XOR (OU-Exclusivo) Deve retornar verdadeiro quando as entradas forem diferentes Exemplo: 0 1 = 1; 1 0 = 1; 0 0 = 0; 1 1 = 0 Exercício: qual a forma de onda de saída? 22 / 32
Porta XOR (OU-Exclusivo) Deve retornar verdadeiro quando as entradas forem diferentes Exemplo: 0 1 = 1; 1 0 = 1; 0 0 = 0; 1 1 = 0 Exercício: qual a forma de onda de saída? 22 / 32
Porta XNOR (Não-OU-Exclusivo) Deve retornar verdadeiro quando as entradas forem iguais (comportamento inverso da XOR) Exercício: qual a forma de onda de saída? 23 / 32
Porta XNOR (Não-OU-Exclusivo) Deve retornar verdadeiro quando as entradas forem iguais (comportamento inverso da XOR) Exercício: qual a forma de onda de saída? 23 / 32
Portas Lógicas na Prática Portas lógicas são utilizadas na prática através de circuitos integrados Estes circuitos normalmente contém um conjunto de portas do mesmo tipo VCC 14 13 12 11 10 9 8 1 2 3 4 5 6 7 GND 24 / 32
Características de CI s digitais CI s são uma coleção de resistores, diodos e transistores fabricados em uma única peça de material semicondutor (silício) Encapsulamento DIP (Dual-in-line package) - Mais comum para uso em laboratório Encapsulamento SMD (Surface-mount device) é o mais comum em produtos eletrônicos avançados 25 / 32
Família TTL A família de CI s bipolares (feitas com transistores bipolares Transistor-Transistor Logic - TTL) Prefixo dos CI s sempre possui 74, 74S, 74LS, 74AS, 74ALS. A mais usada é 74LS, por ser de baixa potência Faixa de tensão de operação: V CC deve ser conectado em +5V. 26 / 32
Família TTL LS00 VCC 20 kω 8 kω 120 Ω A B 12 kω 4 kω Y 1.5 kω 3 kω GND 27 / 32
Família CMOS A família de CI s unipolares (feitas com MOSFETs Complementary Metal-Oxide-Semiconductor - CMOS) Prefixo dos CI s sempre possui 40, 74C, 74HC, 74HCT, 74AC, 74ACT. A mais usada é a 74HC, por ser compatível com TTL. Faixa de tensão de operação: V CC deve ser conectado em +5V a +18V. Mais usado é 5V para que possa ser conectado a dispositivos TTL. 28 / 32
Família CMOS 29 / 32
Níveis Elétricos LVTTL e LVCMOS - versões low-voltage TTL e CMOS. Operam a 3,3V, economizando potência 30 / 32
Exercícios Exercícios para estudo: refazer os realizados em sala de aula, além dos seguintes exercícios do livro Sistemas digitais: princípios e aplicações": 2-1, 2-2, 2-4, 2-5, 2-6, 2-8, 2-10, 2-11, 2-15, 2-16, 2-18, 2-20, 2-34, 2-35, 3-1, 3-2, 3-3, 3-5, 3-6, 3-11, 3-17 e 3-18. 31 / 32
Próxima Aula: Teoremas da Álgebra Booleana! 32 / 32