Crc(cyclic redundance code)
1
Detecção de Erros
Errar é humano. Perdoar não é a política da empresa (As 100 melhores leis de Murphy)
Autor: Constantino Seixas Filho UFMG – Departamento de Engenharia Eletrônica
1
Detecção de Erros
Erros de transmissão de dados podem ter diversas causas: Ruído Distorções • • • • • Branco Impulsivo Atenuação em amplitude Retardo de fase Deslocamento de freqüência
Ruídos em geral ocorrem em rajadas (bursts): Imagine uma rajada de 10 ms sobre uma comunicação de 9600 bps: 96 bits de dados serão atingidos. A natureza de erros em rajada é muito importante para a detecção de erros.
Técnicas Primitivas de detecção: Paridade simples ou paridade vertical ou TRC (Transverse Redundancy Check)
A cada caracter adicionamos um bit de paridade. Paridade par Paridade ímpar O número total de 1’s na palavra considerando-se o bit de paridade é par. O número total de 1’s na palavra considerando-se o bit de paridade é ímpar.
Seja o caracter: 01001100 Vamos calcular o bit de paridade ímpar: 0 1 0 0 1 1 0 0 0
Determine a expressão para cálculo do bit de paridade ímpar em uma palavra de 8 bits:
Pi =
Determine a expressão para cálculo do bit de paridade par em uma palavra de 8 bits:
Pp =
2
CRC – UFMG - Constantino Seixas Filho
Vamos calcular a eficiência de utilização de bits para este código:
e=
8 8+1
= 88.8%
Em geral este bit é calculado pelo hardware de transmissão de dados (USART) e é recebido, verificado e retirado pelo hardware de recepção. Qual a capacidade de detecção de erros deste algoritmo ? Apenas erros em um número ímpar de bits são detectados.
Exemplo1:
Caracter transmitido: 0 1 0 0 1 1 0 0 0
Caracter recebido: 0 1 1 0 1 1 0 0 0
A paridade calculada na recepção é 1 o que contraria o valor do último bit da palavra e o erro é detectado.
Exemplo2:
Caracter transmitido: 0 1 0 0 1 1 0 0 0
Caracter recebido: 0 1 1 0 1 0 0 0 0
Existem dois bits trocados. O valor do bit de paridade calculado na