Post on 27-Jun-2015
Circuitos Digitais/Códigos
Numéricos
Circuitos Digitais/O que são circuitos digitais
Circuitos digitais são circuitos electrónicos que baseiam o seu funcionamento na lógica binária, em que toda a informação é guardada e processada sob a forma de zeros (0) e uns (1).
Esta representação é conseguida usando dois níveis discretos de Tensão eléctrica.
Estes níveis são frequentemente representados por L e H (do inglês low - baixo - e high - alto -, respectivamente).
Os computadores, telemóveis, Leitores de DVD, são alguns exemplos de aparelhos que baseiam a totalidade, ou parte, do seu funcionamento em circuitos digitais.
Origem do Nome A palavra digital deriva de dígito, que por sua
vez procede do latim digitus, significando dedo. Desde que a humanidade desenvolveu o processo
de contagem, os dedos foram os instrumentos mais simples e eficientes para contar pequenos valores.
O sistema de numeração indo-arábico, o mais usado actualmente, é um sistema de base dez, pois são dez os dedos das duas mãos dos seres humanos.
Muitos outros sistemas de numeração usam a base decimal, pois serviam para simbolizar a contagem com os dedos.
Normalmente com os dedos só é possível contar valores inteiros.
Por causa dessa característica, a palavra digital também é usada para se referir a qualquer objecto que trabalha com valores discretos.
Ou seja, entre dois valores considerados aceitáveis existe uma quantidade finita de valores aceitáveis.
Digital não é sinónimo de electrónico: por exemplo, o computador electrónico pode ser chamado de digital porque trabalha com o sistema binário, que é simbolizado por uma sequência finita de zeros e uns, qualquer que seja o tipo de dados.
Hoje em dia, porém, não se consegue desvincular a palavra "digital" do sistema informático e de tecnologias ligadas à computação, como, por exemplo, "transmissão digital".
Introdução A electrónica digital trabalha com
diversos códigos de acordo com necessidades específicas.
Códigos numéricos são códigos que trabalham unicamente com valores numéricos na sua composição.
Código 9876543210
O código 9876543210 é um código binário que converte cada dígito decimal num conjunto de 10 bits, onde o valor 1 assume a posição correspondente ao número decimal, e o restante é completado com o valor 0.
Decimal
9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1 0
2 0 0 0 0 0 0 0 1 0 0
3 0 0 0 0 0 0 1 0 0 0
4 0 0 0 0 0 1 0 0 0 0
5 0 0 0 0 1 0 0 0 0 0
6 0 0 0 1 0 0 0 0 0 0
7 0 0 1 0 0 0 0 0 0 0
8 0 1 0 0 0 0 0 0 0 0
9 1 0 0 0 0 0 0 0 0 0
Código BCD 8421 O código BCD 8421 (de
Binary-coded decimal 8421) é um sistema de codificação de números decimais em binários de quatro bits.
Os valores 8421 são respectivamente os valores de 2 elevado ao valor de sua posição (3,2,1,0).
Este código assume apenas 10 dígitos, variando de 0 a 9.
Decimal
23 (8)
22 (4)
21 (2)
20 (1)
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Observe, entretanto, que existem apenas dez códigos válidos. Os números binários de 4 bits representando os números decimais desde 10 até 15 são inválidos no sistema BCD. Para representar um número decimal em notação BCD substitui-se cada dígito decimal pelo código de 4 bits apropriados.
Por exemplo, o inteiro decimal 834 em BCD é 1000 0011 0100. Cada dígito decimal é representado pelo seu código BCD 8421 equivalente. Um espaço é deixado entre cada grupo de 4 bits para evitar confusão do formato BCD com o código binário puro. Este método de representação também se aplica as fracções decimais.
Por exemplo, a fracção decimal 0,764 é “0.0111 0110 0100” em BCD. Novamente, cada dígito decimal é representado pelo seu código equivalente 8421, com um espaço entre cada grupo.
Uma vantagem do código BCD é que as dez combinações do código BCD são fáceis de lembrar. Conforme se começa a trabalhar com números binários regularmente, os números BCD tornam-se tão fáceis e automáticos como números decimais. Por esta razão, por simples inspecção da representação BCD de um número decimal pode-se efectuar a conversão quase tão rápido como se já estivesse na forma decimal.
Como exemplo, converter o número BCD no seu equivalente decimal.0110 0010 1000.1001 0101 0100 = 628,954
O código BCD simplifica a interface Homem-máquina, mas é menos eficiente que o código binário puro. Usam-se mais bits para representar um dado número decimal em BCD que em notação binária pura.
Por exemplo, o número decimal 83 é escrito como 1000 0011. Em código binário puro, usam-se apenas 7 bits para representar o número 83. Em BCD, usam-se 8 bits. O código BCD é ineficiente, pois, para cada bit numa palavra de dado, há usualmente alguma circuitaria digital associada. A circuitaria extra associada com o código BCD custa mais, aumenta a complexidade do equipamento e consome mais energia. Operações aritméticas com números BCD também consomem mais tempo e são mais complexas que aquelas com números binários puros. Com quatro bits de informação binária, você pode representar um total de 24 = 16estados diferentes ou os números decimais equivalentes desde o 0 até o 15. No sistema BCD, seis destes estados (10-15) são desperdiçados.
Quando o sistema numérico BCD é usado, alguma eficiência é perdida, mas aumenta-se o entendimento entre o equipamento digital e o operador humano.
Conversão Binário para BCD
A conversão de decimal para BCD é simples e direta. Entretanto, a conversão de binário para BCD não é direta. Uma conversão intermediária deve ser realizada primeiro. Por exemplo, o número 1011.01 é convertido no seu equivalente BCD.
Primeiro o número binário é convertido para decimal.1011.012 = (1x23)+(0x22)+(1x21)+(1x20)+(0x2-1)+(1x2-2) =8+0+2+1+0+0,25 = 11,2510
Então o resultado decimal é convertido para BCD. 11,2510 = 0001 0001.0010 01012
Para converter de BCD para binário, as operações anteriores são invertidas. Por exemplo, o número BCD 1001 0110.0110 0010 0101 é convertido no seu equivalente binário.
1 - o número BCD é convertido para decimal. 1001 0110.0110 0010 0101 = 96,6252 - o resultado decimal é convertido para binário
Inteiro Resto Posição Fração Inteiro Posição
96 ÷ 2 = 48 0 -> LSB 0,625 x 2 = 1,25 = 0,25 1 <- MSB
48 ÷ 2 = 24 0 0,250 x 2 = 0,50 = 0,50 0
24 ÷ 2 = 12 0 0,500 x 2 = 1,00 = 0 0 <- LSB
12 ÷ 2 = 06 0
06 ÷ 2 = 03 0
03 ÷ 2 = 01 1
01 ÷ 2 = 00 1 <- MSB
9610 = 11000002 0,62510 = 0.1012
96,62510 = 9610 + 0,62510= 11000002 + 0.1012 = 1100000.1012
Conversão Binário para BCD
Como o número decimal intermediário contém uma parte inteira e uma parte decimal, cada parte é convertida como visto anteriormente.
A soma binária (inteiro mais fracção) 1100000.101 é equivalente ao número BCD 1001 0110.0110 0010 0101.
Vários códigos binários são chamados códigos alfanuméricos pois eles são usados para representar caracteres assim como números.
Código ASCII O "American Standart Code
for Information Interchange" comumente referido como ASCII, é uma forma especial de código binário que é largamente utilizado em microprocessadores e equipamentos de comunicação de dados.
Um novo nome para este código que está se tornando popular é "American National Standart Code for Information" (ANSCII). Entretanto, utilizaremos o termo consagrado, ASCII. É um código binário que usado em transferência de dados entre microprocessadores e seus dispositivos periféricos, e em comunicação de dados por rádio e telefone. Com 7 bits pode-se representar um total de 27 = 128 caracteres diferentes. Estes caracteres compreendem números decimais de 0 até 9, letras maiúsculas e minúsculas do alfabeto, mais alguns outros caracteres especiais usados para pontuação e controle de dados.
Também chamado ASCII completo, ou ASCII estendido. O código ASCII é mostrado nas tabelas abaixo.NULL Null DLE Data Link Escape
SOH Start of Heading DC1 Device Control 1
STX Start of Text DC2 Device Control 2
ETX End of Text DC3 Device Control 3
EOT End of Transmission DC4 Device Control 4
ENQ Enquiry NAK Negative Acknowledge
ACK Acknowledge SYN Synchronous Idle
BEL Bell (audible signal) ETB End Transmission Block
BS Backspace CAN Cancel
HT Horizontal Tabulação(punched card skip)
EM End of Medium
SUB Substitute
LF Line Feed ESC Escape
VT Vertical Tabulation FS File Separator
FF Form Feed GS Group Separato
CR Carriage Return RS Record Separator
SO Shift Out US Unit Separator
SI Shift In DEL Delete
SP Space (blank)
coluna
bits 0 1 2 3 4 5 6 7
linha
7654321
000 001 010 011 100 101 110 111
0 0000 NUL DLE SP 0 @ P ` p
1 0001 SOH DC1 ! 1 A Q a q
2 0010 STX DC2 " 2 B R b r
3 0011 ETX DC3 # 3 C S c s
4 0100 EOT DC4 $ 4 D T d t
5 0101 ENQ NAK % 5 E U e u
6 0110 ACK SYN & 6 F V f v
7 0111 BEL ETB ' 7 G W g w
8 1000 BS CAN ( 8 H X h x
9 1001 HT EM ) 9 I Y i y
10 1010 LF SUB * : J Z j z
11 1011 VT ESC + ; K [ k {
12 1100 FF FS , < L \ l |
13 1101 CR GS - = M ] m }
14 1110 SO RS . > N ^ n ~
15 1111 SI US / ? O _ o DEL
O código ASCII para cada número, letra ou função de controle é constituído de um grupo de 4 bits e outro de 3 bits. tabela abaixo mostra a arrumação destes dois grupos e a sequência numérica.
O grupo de 4 bits está a direita e o bit 1 é o LSB. Observar como estes grupos são arranjados em linhas e colunas na tabela ASCII .
Para determinar o código ASCII para um dado número, letra ou controle, localiza-se na tabela o dado desejado. Então usa-se os códigos de 3 e 4 bits associados com a coluna e com a linha, respectivamente, na qual o item está localizado.
Por exemplo, o código ASCII para a letra L é 1001100. Ele é localizado na coluna 4, linha 12. O grupo de 3 bits é 100, enquanto o grupo de 4 bits é 1100.
Conversão em ASCII
4 bits
7 6 5 4 3 2 1
3 bits
No código ASCII de 7 bits, um oitavo bit é geralmente usado como um bit de paridade para determinar se o dado (caracter) foi transmitido correctamente. O valor deste bit é determinado pelo tipo de paridade desejado. Paridade par significa que a soma de todos os uns, incluindo o bit de paridade, é um número par.
Por exemplo, se G é o caracter transmitido o código ASCII é 1000111. Desde que quatro uns estão no código, o bit de paridade é 0. O código de 8 bits seria escrito 01000111.
Paridade ímpar significa que a soma de todos os bits um, é um número ímpar. Se o código ASCII para G for transmitido com paridade ímpar, a representação binária seria 11000111.
Conversão em ASCII
Códigos BCD de 4 bits Existem diversos códigos
BCDs que assumem valores diferentes de acordo com alguma variação em seu cálculo.
Entre eles podemos destacar o BCD 7421, BCD 2421 e o BCD 5211.
Decimal
BCD8421
Excesso-3ou Código de
Stibitz
BCD 2421Código
Aiken
BCD84−2−
1
IBM 702 IBM 705
IBM 7080 IBM 1401
8421
0 0000 0011 0000 0000 1010
1 0001 0100 0001 0111 0001
2 0010 0101 0010 0110 0010
3 0011 0110 0011 0101 0011
4 0100 0111 0100 0100 0100
5 0101 1000 1011 1011 0101
6 0110 1001 1100 1010 0110
7 0111 1010 1101 1001 0111
8 1000 1011 1110 1000 1000
9 1001 1100 1111 1111 1001
Código de Excesso 3 Código Excesso-3
(XS-3) é um código binário decimal, chamado também de código de Excesso-N, que segue o mesmo princípio de conversão do número decimal para binário, incrementando 3 unidades ao resultado binário.Decima
lBinári
oDecima
lBinári
o
0 0011 9 1100
1 0100 8 1011
2 0101 7 1010
3 0110 6 1001
4 0111 5 1000
Para convertermos um número como 127 utilizamos (0100, 0101, 1010).
Código Gray O código Gray é um
sistema de código binário onde de um número para outro apenas um bit varia.
Este sistema de codificação surgiu quando os circuitos lógicos digitais se realizavam com válvulas termiónicas e dispositivos electromecânicos.
Os contadores necessitavam de potências muito elevadas e geravam ruído quando vários bits modificavam-se simultaneamente.
Código Gray O uso do código Gray
garantiu que qualquer mudança variaria apenas um bit.
Actualmente o código Gray é utilizado em sistemas sequenciais através do uso dos Mapas de Karnaugh, já que o princípio do desenho de buscar transições mais simples e rápidas segue vigente, apesar dos problemas de ruído e potência terem sido reduzidos.
Código de 5 bits Código 2 entre
5 O código 2
entre 5 possui sempre dois bits iguais a 1 dentro de seus bits, o que permite detectar erros de transmissão.
Dígito Codificação 0 00011 1 11000 2 10100 3 01100 4 10010 5 01010 6 00110 7 10001 8 01001 9 00101 10 011111
Código Johnson O Código Johnson (Johnson-Mobius) é um código especial utilizado na construção do Contador de Johnson.
Este código constitui-se em um código binário e cíclico (como o código Gray) cuja capacidade de codificação é dada por 2n, sendo n o número de bits.
Para codificar os dígitos decimais são necessários 5 bits:
Dígitodecim
al
CódigoJohnso
n
Dígitodecim
al
CódigoJohnso
n
0 00000 5 11111
1 00001 6 11110
2 00011 7 11100
3 00111 8 11000
4 01111 9 10000Este código permite a simplicidade de criação de contadores, e por isto é utilizado em sistemas digitais de alta velocidade.
Proporciona uma maior protecção contra erros mas é menos eficiente em memória do que o código binário decimal.
Resumo A electrónica digital trabalha com diversos
códigos de acordo com necessidades específicas.
Códigos numéricos são códigos que trabalham unicamente com valores numéricos em sua composição.
O Código 9876543210 é um código binário que converte cada dígito decimal em um conjunto de 10 bits, onde o valor 1 assume a posição correspondente ao número decimal, e o restante é completado com o valor 0.
O código BCD 8421 (de Binary-coded decimal 8421) é um sistema de codificação de números decimais em binários de quatro bits.
Resumo Os valores 8421 são
respectivamente os valores de 2 elevado ao valor de sua posição (3,2,1,0).
Este código assume apenas 10 dígitos, variando de 0 a 9.
Existem diversos códigos BCDs que assumem valores diferentes de acordo com alguma variação em seu cálculo.
Entre eles podemos destacar o BCD 7421, BCD 2421 e o BCD 5211.
Resumo Código Excesso-3 (XS-3) é um código
binário decimal, chamado também de código de Excesso-N, que segue o mesmo princípio de conversão do número decimal para binário, incrementando 3 unidades ao resultado binário.
O código Gray é um sistema de código binário onde de um número para outro apenas um bit varia.
Este sistema de codificação surgiu quando os circuitos lógicos digitais se realizavam com válvulas termiónicas e dispositivos electromecânicos.
Resumo O código 2 entre 5 possui sempre dois
bits iguais a 1 dentro de seus bits. O Código Johnson (Johnson-Mobius) é um
código especial utilizado na construção do Contador de Johnson.
Este código constitui-se em um código binário e cíclico (como o código Gray) cuja capacidade de codificação é dada por 2n, sendo n o número de bits.
Para codificar os dígitos decimais são necessários 5 bits.