CÓDIGOS Código BCD 8421

Documentos relacionados
CODIFICADORES / DECODIFICADORES

Representação de Dados e Sistemas de Numeração

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Introdução à Informática

Compilação da linguagem Panda

Aula de hoje. Códigos numéricos. Códigos binários. Armazenamento de dados. Armazenamento de dados. Armazenamento de dados

Circuitos Digitais I. Notas de Aula. Sistemas de Representação. Bases e Códigos. Bases

Sistemas Digitais Representação Digital de Informação

ANEXO A. Prof. Erico Lisboa 53

Códigos, Portas Lógicas e Comportamento Elétrico

Circuitos Combinacionais. Arquitetura de Computadores I

Representação Digital da Informação II

Sistemas Digitais Representação Digital de Informação

Circuitos Digitais I. Notas de Aula. Sistemas de Representação. Bases e Códigos. Bases. É importante representar valores das informações que desejamos

Aula 04. Código BCD, Códigos Alfa-numéricos e Sistemas de Detecção de Erros

Lic. Engenharia Informática

Retôrno ao Padrão de Fabrica (Restore Default ) Habilitação do Buzzer. Saída da Habilitação sem Salvar. Configuração Através RS232

Sistemas Digitais (SD) Sistemas de Numeração e Códigos

SISTEMAS DIGITAIS (SD)

Mestrado Integrado Engª. Informática

Mestrado Integrado Engª. Informática

SISTEMAS DIGITAIS SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Estrutura da Memória e do Arquivo de Imagem

Mestr. Integr. Engª. Informática

004 CTRL-D 036 $ 068 D 100 da. 017 CTRL-Q Q 113 qopn

HARDWARE SISTEMA NUMÉRICO E CODIFICAÇÃO. Wagner de Oliveira

Fabio Bento

Circuitos Lógicos Aula 5

Circuitos Sequenciais I

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo - Códigos. Prof. Dr. Edison Spina. sobre o material do Prof. Dr. Marcos A. Simplicio Jr.

PCS 3115 Sistemas Digitais I Códigos Prof. Dr. Marcos A. Simplicio Jr.

Manual de Operação e Configuração

Circuitos Digitais 144L

SSC512 Elementos de Lógica Digital. Sistemas de Numeração. GE4 Bio

Circuitos Combinacionais

Eletrônica Digital Apresentação e Cap.1 PROF. EDUARDO G. BERTOGNA UTFPR / DAELN

Introdução à Computação: Sistemas de Numeração

Leitor de Código de Barras. Guia de configuração

7.1 Código Excesso de 3

SEBENTA INTRODUÇÃO Á ALGORITMIA

14/03/2011. A INFORMAÇÃO E SUA REPRESENTAÇÃO (Parte I)

Voyager 9520/40 Voyager GS9590 Eclipse 5145 Guia Rápido de Operação

Disciplina: Introdução à Engenharia da Computação

MATA49 Programação de Software Básico

INSTITUTO SUPERIOR TÉCNICO. Arquitectura de Computadores (ACom)

Organização e Arquitetura de Computadores I

Laboratório de Sistemas Processadores e Periféricos

Objetivo. Sistemas de Numeração e Códigos. Apresentar técnicas de representação e converção de números em diversos sistemas de numeração.

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Unidade III. Sistemas Numéricos e o Computador

Sistema Supervisório - IHM

Gráfico: Fluxo de Configuração Parte I Informação do Sistema: Restaurar Padrões: Versão de Firmware:...

Motores I Automação I Energia I Transmissão & Distribuição I Tintas. WEGBus SCA06. Manual do Usuário

Lic. Engenharia Informática

Revisão: técnicas simplificação

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA ELETRÔNICA DIGITAL - ET75C - Profª Elisabete N Moraes

Nível de Enlace. Nível de Enlace. Serviços. Serviços oferecidos os nível de rede

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Informática Básica aula 06

SISTEMAS DE NUMERAÇÃO (Unidade 2)

Engenharia Civil. Representação da Informação. Introdução à Computação

Para essa conversão utiliza-se o valor posicional

Representação de Dados

Aplicações: Conversão de Códigos e Motor de Passo. Prof. Adilson Gonzaga

CIRCUITOS DIGITAIS. Apresentação da Disciplina Introdução aos Circuitos Digitais. Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau

Motores I Automação I Energia I Transmissão & Distribuição I Tintas WEGTP SCA06. Manual do Usuário

Exemplos de Aplicações

11 a EDIÇÃO SISTEMAS DIGITAIS

Manual de Referência de Código de Barras

Sistemas de Numeração

Tratamento de Caracteres

Sistemas de Numeração e Códigos

SSC304 Introdução à Programação Para Engenharias

Nível de Enlace. Nível de Enlace. Serviços. Serviços. Serviços. Serviços. Serviços oferecidos os nível de rede

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Arquitectura de Computadores (ACom)

Prof. Luís Caldas Sistemas de Numeração e Transformação de Base NUMERAÇÃO, BASE NUMÉRICA E TRANSFORMAÇÃO DE UMA BASE

Códigos. Códigos. Bits, Bytes & etc. 9/20/10

Representação da Informação

Ciência da Computação Circuitos Digitais Objetivos e Introdução

Fabio Bento

Circuito combinacional

Acrescenta um bit 1 ou um bit 0 às mensagem para que o número total de bits 1 seja par

01 Sistemas de numeração e códigos

Algoritmos e Estrutura de Dados Aula 04 Strings em Python parte 1

01 Sistemas de numeração e códigos. v0.2

Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários

Fundamentos de TI. Aula07_Representação de dados pelo Computador.doc 1

3. Transmissão de Sinais Digitais Transmissão de bits; Sincronismo. Redes de Comunicações/Computadores I. Secção de Redes de Comunicação de Dados

Manual de Referência de Código de Barras

Como funciona um computador eletrônico digital?

Revisão de Lógica Digital. Lógica Booleana Conversão A/D e D/A Circuitos digitais e Memória

REPRESENTAÇÃO BINÁRIA. Sistemas de Numeração e Álgebra de Boole SNA0001

TRANSMISSÃO DE DADOS PROTEGIDOS POR CÓDIGOS CORRETORES DE ERRO

Informática I. Aula 6. Aula 6-18/09/2006 1

Conceitos de Comunicação Serial Assíncrona

Pretende-se neste trabalho familiarizar o aluno com a interface RS-232 e a sua aplicação em aquisição de dados num ambiente laboratorial

ELETRÔNICA DIGITAL. Prof. Fabio Martins Domingues

Transcrição:

CÓDIGOS Uma grande parte dos sistemas digitais trabalha com os níveis lógicos (bits) representando informações que são codificadas em bits. Exemplo: computador trabalha com informações alfanuméricas; a calculadora com informações numéricas; a telefonia digital com canais de voz; cd laser com sinais sonoros. Estes sistemas não entendem a informação que processam na forma de letras, números, sinais sonoros,... e sim, na forma de bits, sendo necessário transformar estas informações na forma de códigos binários. Devido à diversidade de informações e ao desenvolvimento da eletrônica digital, vários códigos foram criados e consequentemente vários circuitos para a codificação e decodificação destas informações. Os codificadores e decodificadores são circuitos combinacionais dedicados: circuitos comuns em projetos de sistemas digitais devido às funções lógicas que executam, sendo encontrados prontos em circuitos integrados comerciais. Exemplos de códigos: Código BCD 8421 Também chamado simplesmente de BCD Binary Coded Decimal (Decimal Codificado em Binário), é composto por quatro bits, tendo cada bit um peso equivalente ao do sistema numérico binário: 1 para o primeiro bit à direita, que é chamado de bit menos significativo (LSB Least Significant Bit); 2 para o segundo bit à direita; 4 para o terceiro bit; 8 para o quarto bit à direita, que é chamado de bit mais significativo (MSB Most Significant Bit); Desta forma este código representa os números decimais de 0 a 9 no sistema binário. Decimal BCD 8 4 2 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 UTFPR Cornélio Procópio 1

8 1 0 0 0 9 1 0 0 1 Ao invés de se converter um número formado por diversos dígitos para o sistema binário, os sistemas digitais que utilizam este código podem converter cada dígito do número para o código BCD. 1920394819 2 = 1110010011101101110011001000011 2 1920394819 10 = 0000 1001 0010 0011 1001 0100 1000 0001 1001 1 9 2 3 9 4 8 1 9 Código BCH O código Binary Coded Hexadecimal (Hexadecimal Codificado em Binário) é análogo ao código BCD com a diferença de representar os algarismos do sistema hexadecimal através das combinações possíveis com quatro bits. Decimal BCH 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 A 1 0 1 0 B 1 0 1 1 C 1 1 0 0 D 1 1 0 1 E 1 1 1 0 F 1 1 1 1 Código ASCII Um exemplo de código binário é o código ASCII American Standard Code for Information Interchange (Código Americano Padrão para a Troca de Informações), que foi criado para padronizar a troca de informações ou dados entre os computadores, seus periféricos (teclado, monitor,...) e é utilizado também em alguns sistemas de comunicação de dados. É composto por sete bits para codificar várias informações diferentes como números, letras, símbolos especiais, sinais de UTFPR Cornélio Procópio 2

controle de transmissão, sinais de controle de formatação e sinais de controle de dispositivos. B 7 0 0 0 0 1 1 1 1 B 6 0 0 1 1 0 0 1 1 B 5 0 1 0 1 0 1 0 1 B 4 B 3 B 2 B 1 Hex 0 1 2 3 4 5 6 7 0 0 0 0 0 NUL DLE Sp 0 @ P p 0 0 0 1 1 SOH DC1! 1 A Q a q 0 0 1 0 2 STX DC2 2 B R b r 0 0 1 1 3 ETC DC3 # 3 C S c s 0 1 0 0 4 EOT DC4 $ 4 D T d t 0 1 0 1 5 ENQ NAK % 5 E U e u 0 1 1 0 6 ACK SYN & 6 F V f v 0 1 1 1 7 Bel ETB 7 G W g w 1 0 0 0 8 BS CAN ( 8 H X h x 1 0 0 1 9 HT EM ) 9 I Y i y 1 0 1 0 A LF SUB * : J Z j z 1 0 1 1 B VT Esc + ; K [ k { 1 1 0 0 C LF FS, < L \ l 1 1 0 1 D CR GS - = M ] m } 1 1 1 0 E SO RS. > N ^ n ~ 1 1 1 1 F SI US /? O _ o Del Código: Significado: NUL (Null char) caracter nulo SOH (Start of Header) começo do cabeçalho de transmissão STX (Start of Text) início do texto ETX (End of Text) fim do texto EOT (End of Transmission) fim da transmissão ENQ (Enquiry) questionamento ACK (Acknowledgment) reconhecimento Bel (Bell) campainha BS (Backspace) retorno do carro HT (Horizontal Tab) tabulação horizontal LF (Line Feed) alimentação da linha VT (Vertical Tab) tabulação vertical FF (Form Feed) alimentação de papel CR (Carriage Return) enter SO (Shift Out) shift UTFPR Cornélio Procópio 3

SI (Shift In) shift DLE (Data Link Escape) queda do link de dados DC1 (XON) (Device Control 1) dispositivo de controle 1 DC2 (Device Control 2) dispositivo de controle 2 DC3 (XOFF) (Device Control 3) dispositivo de controle 3 DC4 (Device Control 4) dispositivo de controle 4 NAK (Negative Acknowledgement) reconhecimento negado SYN (Synchronous Idle) sincronismo ETB (End of Trans. Block) fim do bloco de transmissão CAN (Cancel) cancelar EM (End of Medium) fim da mídia SUB (Substitute) substituto Esc (Escape) tecla Esc FS (File Separator) separador de arquivo GS (Group Separator) separador de grupo RS (Request to Send)(Record Separator) solicitação de envio US (Unit Separator) separador de unidade Sp (Space) espaço Exemplos: - pressionando-se a tecla F do teclado de um microcomputador internamente é gerado o código B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 = 1000110; - pressionando-se a tecla f do teclado de um microcomputador internamente é gerado o código B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 = 1100110; - tecla 3 : B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 = 0110011; - tecla espaço: B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 = 0100000; - tecla shift: B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 = 0001110 ou 0001111; A tabela acima apresenta a primeira versão para o código ASCII, utilizando 7 bits, o que possibilita representar 128 caracteres ou símbolos diferentes. Como os circuitos digitais armazenam bits em quantidades equivalentes à potência de dois, as versões atuais do código ASCII apresentam geralmente 8 bits, possibilitando representar 256 caracteres ou símbolos diferentes. Uma limitação envolvendo o ASCII consiste no fato de que este código foi criado com base nos idiomas de países ocidentais, não sendo possível seu uso para os idiomas de alguns países europeus e de outras regiões, cujos alfabetos contém caracteres que não estão inclusos nos 256 caracteres do ASCII. Para evitar esta limitação, a Organização de Padrões Internacionais (ISO - International Standards Organization) criou um novo padrão de codificação de caracteres denominado Latin 1, que incluí caracteres Europeus excluídos do grupo de caracteres ASCII. A Microsoft incrementou o Latin 1, criando um novo padrão: o ANSI (American National Standard Institute Instituto de Padrões Nacional Americano). Mas o ANSI UTFPR Cornélio Procópio 4

ainda é uma codificação de caracteres de 8 bits, representando no máximo 256 caracteres diferentes, sendo que muitos idiomas possuem centenas de símbolos (particularmente idiomas de países asiáticos como a China, Coréia e Japão). A Microsoft, em colaboração com outras companhias como a Apple Computer e IBM, criou um consórcio sem fins lucrativos denominado Unicode, definindo um novo padrão de codificação para grupos de caracteres internacionais. O Unicode surgiu juntamente com projetos em progresso do ISO, e o resultado é o padrão Unicode para a codificação de caracteres, o qual utiliza 16 bits para a sua codificação, fornecendo 65.536 caracteres diferentes quantidade mais do que suficiente para representar os caracteres de todos os idiomas, até mesmo os mais arcaicos, como o sânscrito e hieróglifos egípcios, incluindo também marcas de pontuação, símbolos matemáticos e símbolos gráficos. Código de paridade Em virtude de transientes, ruídos e outras perturbações, erros de 1 bit às vezes ocorrem quando um dado na forma digital é transmitido por linhas telefônicas ou outros meios de transmissão de dados. Uma maneira de detectar estes erros é incluir um ou mais bits com os bits dos dados a serem transmitidos, de modo que estes bits adicionais sejam gerados a partir de uma combinação dos bits dos dados. Um modo de se efetuar este tipo de transmissão de dados é adicionar um bit de paridade - bit adicional que indicará se o número de bits 1 dos dados será par ou ímpar. Ex.: bit de paridade = 0 número par de bits 1 1 número ímpar de bits 1 bit de paridade informação 01001 11000 01100 00000 Na transmissão de dados, o circuito transmissor deve possuir um gerador de paridade e o circuito receptor um verificador de paridade, trabalhando como um codificador e decodificador. Cabe observar que o bit de paridade não faz parte da informação em si, sendo parte somente do processo de transmissão. Assim, ao invés de se transmitir somente os bits dos dados, se transmite um bit a mais (no exemplo acima a informação a ser transmitida é constituída por quatro bits mas são transmitidos cinco bits). UTFPR Cornélio Procópio 5

O gerador de paridade pode criar um bit de paridade de valor 0 para um número par e 1 para um número ímpar de bits 1 da informação, respectivamente. Este tipo de geração de paridade é chamada de geração de paridade par. No caso contrário, quando é gerado 1 para um número par e 0 para um número ímpar de bits 1, é chamada geração de paridade ímpar. bit de informação paridade 01001 paridade par 11001 paridade ímpar Um circuito gerador e verificador de paridade é o ou exclusivo (exclusive or). Abaixo é mostrado um gerador de paridade par e um verificador. Para gerar a paridade ímpar basta inverter a saída da porta lógica ou exclusivo na saída do gerador de paridade ( ). A última porta lógica indica se os sinais do gerador e verificador são iguais, fornecendo 0 caso a transmissão seja efetuada com sucesso e 1 caso ocorram erros na transmissão. E 0 E 1 E 2 E 3 S 2 gerador de paridade verificador de paridade = S 2 : 0 S 2 : 1 Código de Hamming Código para a detecção e correção de erros, geralmente utilizado em comunicações para as transmissões de dados binários, em que o grau de correção de erros seja importante. Desenvolvido por Richard Hamming na década de 1940 nos Bell Labs para implementar o computador Bell Model V dispositivo eletromecânico baseado em relés, que possuía o modo de entrada de dados efetuado por cartões perfurados, os quais geravam constantemente erros de leitura. O algoritmo Hamming Code foi publicado em1950. O princípio básico do código de Hamming baseia-se na geração de uma combinação de bits de paridade entre os bits de dados a serem transmitidos em um UTFPR Cornélio Procópio 6

determinado meio, gerando o bit stuffing. Os bits de paridade são gerados a cada par dos bits de dados, indicando o posicionamento do bit transmitido com erro de acordo com o diagrama abaixo: Bits a serem transmitidos: b0, b1 e b2; Bits do código de Hamming: p0, p1,p2 e p3; Transmissão final: b0 b1 b2 p0 p1 p2 p3. b0 p0 p1 p3 p2 b1 b2 Do esquema geral acima, caso exista um erro na transmissão de um bit, três bits de paridade serão gerados indicando o erro e os valores de p0, p1 e p2 indicam a posição do bit errado. Como exemplo, a transmissão dos bits 110: p 3 =1 Dados b0=1 b1=1 b2=0 p 0 =1 p 1 =0 p 2 =0 UTFPR Cornélio Procópio 7

1 1 0 1 0 1 0 Bits transmitidos: 1101001 Se um erro aparecer na transmissão do bit b1, mudando seu valor de 1 para 0, o circuito receptor receberá os seguintes bits: 1011001. O bit de paridade p3 indicará o erro na transmissão e os bits p0 e p2 indicarão a posição do erro (o bit errado). Codificadores Os codificadores são circuitos lógicos dedicados que convertem informações alfanuméricas ou de controle para um código determinado. A maior aplicação dos codificadores está na conversão de dados de um sistema de interface com o usuário, como o teclado, para o código com o qual o respectivo sistema digital trabalha. Codificador Decimal - BCD dados bits de paridade 0 1 E 9 E 8 E 7 E 6 E 5 E 4 E 3 Codificador Decimal BCD S 3 (MSB) S 2 S 0 (LSB) E 2 E 1 E 0 UTFPR Cornélio Procópio 8

E 9 E 8 E 7 E 6 E 5 E 4 E 3 E 2 E 1 E 0 S 3 S 2 S 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 S 3 = E 8 + E 9 S 2 = E 4 + E 5 + E 6 + E 7 = E 2 + E 3 + E 6 + E 7 S 0 = E 1 + E 3 + E 5 + E 7 + E 9 E 9 E 8 E 7 E 6 E 5 E 4 E 3 E 2 E 1 E 0 S 3 (MSB) S 2 S 0 (LSB) UTFPR Cornélio Procópio 9