Académique Documents
Professionnel Documents
Culture Documents
Digitais
Circuitos Combinacionais de
Controle e Correo de Erros
Universidade Federal de
Uberlndia
Faculdade de Computao
Circuito
Circuito
Circuito
Circuito
Circuito
Circuito
para
para
para
para
para
para
o
o
o
o
o
o
Meio Somador;
Somador Completo;
Somador de 8 bits;
Meio Subtrator;
Subtrator Completo;
Subtrator de 8 bits.
Nesta Aula
Motivao do Problema de correo de
erros;
Mtodo de Paridade;
Cdigo de Hamming;
Circuito gerador de paridade;
Circuito verificador de paridade;
Circuitos para habilitar/desabilitar;
Gerador de cdigo de Hamming(7,4);
Verificador de cdigo de Hamming(7,4).
Prof. Dr. rer. nat . Daniel Duarte Abdala
Gerador de Paridade
A
A
A
CB
1
1
1
1
1
DB
BB
B
1 BB
DB
P ABCD
Motivao
A transmisso de informao em formato
digital (binrio) uma das operaes mais
frequentes em Sistemas Digitais;
Devido a interferncia externa, rudos,
atenuao de sinal, etc, o sinal pode ser
corrompido e, consequentemente, a
informao transmitida torna-se incorreta;
Deteco e correo de erros lida com
mecanismos para atenuar tais problemas.
Motivao
Joozinho
Godofredo
Prof. Dr. rer. nat . Daniel Duarte Abdala
Soluo
Enviar juntamente com a
informao, dados adicionais que
permitem a verificao e
possivelmente a correo de erros
de transmisso;
Mtodo de Paridade.
Mtodo de Paridade
Bit de paridade
Bit extra anexado ao conjunto de bits
do cdigo a ser transmitido
Paridade par e paridade impar;
Mtodo de Paridade
Paridade impar o bit extra assume
o valor 0 ou 1 de modo que o total
de bits 1 seja impar;
P0
0
P0
0
1110
0
1111
0
00
0
10
0
1110
0
1111
0
Exemplo
Deseja-se transmitir a mensagem
Gol do Verdao representada em
ASCII de um computador A para
outro B.
Quais seriam as cadeias de
caracteres a serem transmitidas
utilizando-se a paridade par?
10
Exemplo
Caractere
Cod. ASCII
ASCII com
par. par
0100 0111
0100 0111
0110 1111
0110 1111
0110 1100
0110 1100
0010 0000
1010 0000
0110 0100
1110 0100
0110 1111
0110 1111
0010 0000
1010 0000
0101 0110
0101 0110
0110 0101
0110 0101
0111 0010
0111 0010
0110 0100
1110 0100
0110 0001
1110 0001
0110 1111
0110 1111
11
12
Correo de Erros
Saber que h um erro bom;
Melhor ainda saber onde est o
erro;
Sabendo-se que bit ou bits esto
errados, como poderamos proceder
para corrigi-los?
13
Cdigo de Hamming
Cdigo linear binrio;
Permite identificar at dois erros de
transmisso e corrigir at um erro;
Baseia-se na ideia de que apenas
algumas combinaes de bits so
possveis;
14
Hamming(7,4)
No cdigo Hamming(7,4), 7 bits so usados
sendo 3 para paridade e 4 para dados;
Dado uma mensagem d1d2d3d4 formamos a
mensagem de Hamming(7,4) alocando para
cada uma das posies correspondentes as
potncias de 2 (1,2,4,8,16,...) os bits de
paridade, tal como mostrado na figura abaixo:
x1 x2 x3 x4 x5
P
x61Px27d1 P3 d2 d3 d4
15
16
Hamming(7,4)
Para computar os bits de paridade (p 1, p2 e
p3) adotamos o seguinte procedimento:
Observamos as posies das casas na
mensagem onde os bits de dados esto
alocados
001 010 011 100 101
110 111
P
1 P 2 d1 P 3 d2 d3 d 4
17
Hamming(7,4)
001
110
010
111
011
100
101
P 1 P 2 d 1 P 3 d2 d3 d4
Fazemos um ou-exclusivo com
todos os bits correspondentes a casa
a ser configurada, definida para 1
P1 = d 1 d 2 d 4 = x 3 x 5 x 7
P1 = d 1 d 3 d 4 = x 3 x 6 x 7
P1 = d2 d3 d4 = x5 x6 x7
Prof. Dr. rer. nat . Daniel Duarte Abdala
18
Hamming(7,4)
x
3
x
5
x
6
x
7
p
1
p
2
p
3
Hamming(7
,4)
0000000
1101001
0101010
1000011
1001100
0100101
1100110
0001111
19
Hamming(7,4)
x
3
x
5
x
6
x
7
p
1
p
2
p
3
Hamming(7
,4)
1110000
0011001
1011010
0110011
0111100
1010101
0010110
1111111
20
Exemplo
Considere a seguinte informao a ser
codificada usando Hamming(7,4)
110
Primeiramente, alocamos
12 os bits de dados
em suas posies correspondentes
x1 x2 x3 x4 x5
P
x61 Px27 1 P3 1 0 1
21
Exemplo
A seguir completamos a mensagem com
os bits de xparidade
x x x x
1
x16 0
x7 1 0 1 0 1
22
Exemplo
Converta a mensagem
011011
1Hamming(7,4)
para a informao original
em
binrio.
Considere que pode haver at 1
erro na mensagem.
23
paridade
(k)
mensagem (N =
n+k)
11
15
26
31
57
63
120
127
247
255
24
Taxa Dados/Controle
Indica quanta informao possvel
ser codificada com base no
tamanho total da mensagem
Tambm conhecida como taxa de
Hamming
bits de
bits
taxa
R = n/N
dados
totais
0,33
3
0,57
1
11
15
0,73
3
26
25
Pro Lar
Leitura: (Tocci) 2.9 (pgs. 38 40)
Exerccios: (Tocci): E={2.24
2.29 }
26
Extra!!!
27
ParityGen VHDL
28
ParityGen2 VHDL
29
ParityGen3 VHDL
30
Verificador de Paridade
A
Err
o
Err
o
31
Verificador de Paridade
P P
A
A
CB
1
1
1
1
1
DB
BB
1 BB
DB
CB
1
1
C
1 BB
1
1
1
DB
1 B
1
D
DB
BB
S ABCD P
32
Verificador de Paridade
33
ParityVerify VHDL
34
Ctr
35
Ctr
Dta
S
Ctr
36
Gerador Hamming(7,4)
x1 x2 x3 x4 x5
P
x61Px27d1 P3 d2 d3 d4
P1 = d 1 d 2 d 4 = x 3 x 5 x 7
P1 = d 1 d 3 d 4 = x 3 x 6 x 7
P1 = d2 d3 d4 = x5 x6 x7
37
Hamming(7,4)
x
3
x
5
x
6
x
7
p
1
p
2
p
3
Hamming(7
,4)
0000000
1101001
0101010
1000011
1001100
0100101
1100110
0001111
38
Hamming(7,4)
x
3
x
5
x
6
x
7
p
1
p
2
p
3
Hamming(7
,4)
1110000
0011001
1011010
0110011
0111100
1010101
0010110
1111111
39
Gerador Hamming(7,4)
40
Verificador Hamming(7,4)
x1 x2 x3 x4 x5
P
x61Px27d1 P3 d2 d3 d4
K1 = d1 d2 d4 = x3 x5 x7 P1
K2 = d1 d3 d4 = x3 x6 x7 P2
K3 = d2 d3 d4 = x5 x6 x7 P3
41
Verificador Hamming(7,4)
42
Pro Lar
Leitura (Tocci): 4.8 (pp. 127-129 )
43
Extra!!!
Ser considerado para fins de ajuste de notas;
Individual;
Desenvolva dois circuitos, um para gerao e outro
para verificao do cdigo Hamming(15,11)
Desenvolva o circuito para correo de erros do
cdigo de Hamming(7,4). Assuma que erros s
podero ocorrer nos bits de dados, caso um erro seja
detectado nos bits de paridade, sinalizar o reenvio
da mensagem (Sada ReSend). Caso a mensagem
no possua erros, sinalize a sada (Correct) em nvel
lgico 1.
44
Bibliografia Comentada
TOCCI, R. J., WIDMER, N. S., MOSS, G.
L. Sistemas Digitais Princpios e
Aplicaes. 11 Ed. Pearson Prentice
Hall, So Paulo, S.P., 2011, Brasil.
45