Prévia do material em texto
COMUNICAÇÃO DE
DADOS
Unidade 4
Interfaces de comunicação
e algoritmos de detecção
Diretor Executivo
DAVID LIRA STEPHEN BARROS
Gerente Editorial
ALESSANDRA FERREIRA
Projeto Gráfico
TIAGO DA ROCHA
Autoria
JÉSSICA LAISA DIAS DA SILVA
MYLLENA SILVA DE FREITAS MORAIS
4 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
A
U
TO
RI
A
Jéssica Laisa Dias da Silva
Olá. Tenho graduação em Sistema da Informação e mes-
trado em Sistema e Computação na Universidade Federal do Rio
Grande do Norte (UFRN). Tenho experiência na área de Informá-
tica na Educação, com ênfase em Mineração de Dados Educa-
cionais. Realizo trabalhos e pesquisas voltados ao universo dos
jogos digitais inseridos no contexto educacional. Atualmente,
realizo pesquisas no contexto de disseminação do pensamento
computacional para crianças e jovens. As áreas de interesse de
estudo são: Educação, Engenharia de Software, Mineração de
Dados, Pensamento Computacional, Jogos Digitais Educativos e
Gerenciamento de Projeto. Sou apaixonada pelo que faço e ado-
ro transmitir minha experiência de vida àqueles que estão ini-
ciando em suas profissões. Por isso fui convidada pela Editora
Telesapiens a integrar seu elenco de autores independentes. Es-
tou muito feliz em poder ajudar você nesta fase de muito estudo
e trabalho. Conte comigo!
Myllena Silva de Freitas Morais
Olá. Sou formada em Licenciatura da Computação pela
Universidade Estadual da Paraíba (UEPB). Sou especialista em
Tecnologias Educacionais e Educação a distância pelo Instituto
Federal do Rio do Rio Grande do Norte (IFRN). Atualmente, sou
professora da Educação Básica, lecionando a disciplina de Pensa-
mento Computacional. Sou grata por compartilhar a experiência
de transmitir conhecimento para vocês que estão construindo
a vida de profissionais. Sou apaixonada pelo que faço e adoro
transmitir minha experiência de vida àqueles que estão inician-
5COMUNICAÇÃO DE DADOS
U
ni
da
de
4
do em suas profissões. Por isso fui convidada pela Editora Tele-
sapiens a integrar seu elenco de autores independentes. Estou
muito feliz em poder ajudar você nesta fase de muito estudo e
trabalho. Conte comigo!
6 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
ÍC
O
N
ES
Esses ícones irão aparecer em sua trilha de aprendizagem toda vez que:
OBJETIVO
Para o início do
desenvolvimento
de uma nova
competência. DEFINIÇÃO
Houver necessidade
de apresentar um
novo conceito.
NOTA
Quando necessárias
observações ou
complementações
para o seu
conhecimento.
IMPORTANTE
As observações
escritas tiveram que
ser priorizadas para
você.
EXPLICANDO
MELHOR
Algo precisa ser
melhor explicado ou
detalhado.
VOCÊ SABIA?
Curiosidades e
indagações lúdicas
sobre o tema em
estudo, se forem
necessárias.
SAIBA MAIS
Textos, referências
bibliográficas
e links para
aprofundamento do
seu conhecimento.
ACESSE
Se for preciso acessar
um ou mais sites
para fazer download,
assistir vídeos, ler
textos, ouvir podcast.
REFLITA
Se houver a
necessidade de
chamar a atenção
sobre algo a
ser refletido ou
discutido.
RESUMINDO
Quando for preciso
fazer um resumo
acumulativo das
últimas abordagens.
ATIVIDADES
Quando alguma
atividade de
autoaprendizagem
for aplicada. TESTANDO
Quando uma
competência for
concluída e questões
forem explicadas.
7COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Interfaces rs-232 e v.35 e a interface de comunicação serial
rs-232 ........................................................................................ 11
Porta Serial RS-232 ............................................................................................11
Interface V.35 .......................................................................................16
Conectores DB-25 ...............................................................................17
Pinagem RS-232 de 9 pinos ..............................................................20
Porta RS-485 ......................................................................................................21
Diferença entre as portas serial RS-232 e RS-485 ........................ 23
Paridade de caractere e paridade combinada ..................... 26
Paridade simples e bidirecional ......................................................................26
Código de verificação de paridade simples ................................................. 29
Paridade bidimensional ....................................................................................33
Polinômio gerador crc ............................................................ 42
Verificação de redundância cíclica .................................................................42
Verificação CRC ....................................................................................45
Conceito do registrador de deslocamento CRC ........................................... 46
Implementação de algoritmo CRC-8 ..............................................................50
Medição de erros na transmissão de dados ......................... 55
Tipos de erros ....................................................................................................55
Erro de bit .............................................................................................55
Erro em rajada .....................................................................................56
Redundância ........................................................................................58
Detecção x Correção .........................................................................................59
Correção antecipada de erros x retransmissão ........................... 59
Código de erros ..................................................................................60
Erros de precisão ...............................................................................................61
SU
M
Á
RI
O
8 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Erros de desvio ....................................................................................61
Erros aleatórios ...................................................................................61
Erros sistemáticos ...............................................................................63
Medição de taxa de erro de bits (BER) .......................................................... 64
Fatores que afetam a taxa de erro de bit, BER .............................. 65
9COMUNICAÇÃO DE DADOS
U
ni
da
de
4
A
PR
ES
EN
TA
ÇÃ
O
Nesta unidade, iremos continuar os nossos estudos sobre
as interfaces RS-232 e RS-485, destacando os conectores que são
utilizados e a identificação da sua pinagem. Outro ponto impor-
tante dos nossos estudos será entender o conceito de paridade
simples e bidimensional, conhecidas também como paridade de
caractere e paridade combinada. É preciso entender, nos estu-
dos, sobre paridade simples em relação ao seu código de veri-
ficação, assim como entender o processo eficiente da paridade
bidimensional. Nos nossos estudos, veremos sobre o polinômio
gerador CRC, destacando sobre como acontece a redundância cí-
clica, o conceito de registrador de deslocamento CRC e como ele
se aplica no algoritmo CRC-8. Outro ponto bastante importante
nesta unidade está na medição de erros que acontecem na trans-
missão de dados, verificando os tipos de erros e como realizar a
medição deles. Sendo assim, ao longo desta unidade letiva, você
vai mergulhar neste universo da comunicação de dados!
10 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
O
BJ
ET
IV
O
S
Olá. Seja muito bem-vindo à Unidade 4. Nosso objetivo é
auxiliar você no desenvolvimento das seguintes competências
profissionais até o término desta etapa de estudos:
1. Identificar e compreender os tipos de interfaces RS-232
e v35, bem como a Interface de comunicação serial RS-
232.
2. Discernir sobre as diferenças entre paridade de carac-
tere e paridade combinada no contexto da comunica-ção de dados.
3. Aplicar o conceito de polinômio gerador CRC na comu-
nicação de dados.
4. Entender e avaliar os modos de medição de erros na
transmissão de dados.
11COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Interfaces rs-232 e v.35 e a
interface de comunicação
serial rs-232
OBJETIVO
Ao término deste capítulo, você será capaz de
entender sobre a porta serial RS-232, entendendo a
estrutura da interface V.35, os tipos de conectores
DB-25 e suas pinagens. Veremos também sobre a
porta RS-485. E então? Motivado para desenvolver
esta competência? Então, vamos lá. Avante!
Porta Serial RS-232
O padrão de interface RS-232 foi criado pela EIA – Electronic
Industries Association para ser utilizado entre dois dispositivos
como um intercâmbio binário serial de dados. Inicialmente, esse
padrão foi desenvolvido com o objetivo de padronizar a maneira
como os computadores eram conectados com telefones de linha.
Esse tipo de padrão pode realizar a conexão de até 20 sinais,
porém, deixa o usuário livre para definir esse total.
O RS-232 é uma interface serial considerada popular, e faz
a conexão dos computadores aos dispositivos periféricos, como,
por exemplo, os modems. O protocolo RS-232 trabalha transmi-
tindo dados de fios utilizando níveis de sinal que são diferentes
do 5V mais padrão e seu uso minimiza a interferência dos sinais.
Esse tipo de protocolo utiliza a transmissão de dados as-
síncrona, por meio de uma taxa constante que está sincronizada
com o nível do sinal de pulso de início. A interface RS-232 permite
que sejam realizadas transmissões confiáveis com distâncias de
no máximo 20 metros.
12 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Para realizar a transmissão com a interface padrão RS-232,
são necessários três fios:
• Enviar dados.
• Receber dados.
• Sinal terra.
As demais linhas tanto podem ser ligadas de forma perma-
nente como desligadas permanentemente. A transmissão é con-
siderada bipolar, fazendo uso de duas tensões, dentro da mar-
gem de 5 a 25 volts, com polaridade oposta. A Figura 1 apresenta
um exemplo da Porta RS-232.
Figura 1: Porta RS-232
Fonte: Pixabay
Em relação ao padrão de comunicação, a palavra “assín-
crona” é bastante utilizada e é formada por um bit de início. Os
bits de dados podem ser entre sete e oito, um bit opcional de
paridade, e podendo ter um ou dois bits de parada. Em relação
à taxa de transmissão referente à palavra enviada, irá depender
do dispositivo.
13COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Geralmente, na porta RS-232 a taxa de transmissão pode
chegar a ser 150x o tamanho da potência de 2, e sua variação
pode ser entre 0 e 7. O conector RS-232 padrão é formado por 25
pinos, sendo que, desses, 21 são utilizados no padrão completo.
Quando um terminal de computador é conectado de forma
direta a um computador, ele não faz uso de muitos dos sinais
do modem, sendo possível vincular os pinos sobressalentes
caso esses não sejam necessários. Na figura a seguir, é possível
visualizar um modelo de conector DB-25, bastante utilizado nos
computadores mais modernos.
Figura 2: Conector DB-25
Fonte: Pixabay
A especificação da conformidade com RS-232 estabelece a
compatibilidade existente entre os níveis de sinais de dois dispo-
sitivos e se eles estiverem utilizando esse tipo de conector, então
será permitida a conexão. Isso quer dizer que a conformidade
com a interface RS-232 não necessariamente significa capacida-
de de se comunicar e também de reconhecer a presença do ou-
tro.
14 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
IMPORTANTE
A comunicação serial RS-232 vem hoje em dia
sendo substituída pelas portas USB, utilizada
para comunicação local. Isso porque a porta USB
é considerada mais rápida, possuindo conectores
bem mais simples de serem utilizados, assim como
um melhor suporte de software. Dessa forma,
várias placas-mãe passarão a ser produzidas já
sem circuitos RS-232.
Figura 3: Portas USB
Fonte: Freepik
Apesar de seu uso ter sido substituído pelos USB na maioria
dos computadores, ainda é possível encontrar alguns periféricos
que fazem uso dele, por exemplo, caixas registradoras e fitas
magnéticas para serem utilizadas em ambientes industriais. Nes-
se caso, os computadores ainda são produzidos com esse tipo
de porta.
Para quem já faz uso das portas USB e precisa utilizar
algum periférico que seja porta RS-232, existem hoje em dia
15COMUNICAÇÃO DE DADOS
U
ni
da
de
4
conversores que podem ser utilizados em computadores em que
suas placas-mãe não possua essa interface.
Em relação a sistemas embargados, a porta RS-232 ainda
está sendo utilizada. O mesmo acontece com os microcontrolados,
porque ela apresenta simplicidade tanto para o software quanto
para o hardware.
Nesse tipo de padrão de comunicação por meio do RS-232,
o envio dos caracteres acontece um a um e são enviados com um
conjunto de bits. Para que seja realizado o envio de apenas um
caractere, faz-se necessário em torno de 10 bits.
Esse padrão é utilizado para definir os níveis elétricos que
fazem correspondência com o nível lógico um e ao nível lógico
zero, assim como das velocidades de transmissão padrão e os
seus modelos de conectores.
Como mencionado, o RS-232 deve ser utilizado para cone-
xões curtas. Os sinais irão variar entre 3 e 15 volts, tanto positivo
quanto negativos, e os valores que se apresentam mais próximos
de zero não são considerados sinais válidos. A voltagem negativa
é representada pelo nível lógico um.
IMPORTANTE
Chamamos de marca a condição em que o sinal se
apresenta, e ON é o significado para que ele esteja
ligado.
O nível lógico zero é considerado positivo, o espaço é a con-
dição de sinal, sendo a função OFF a representação de desligado.
São consideradas comumente as seguintes voltagens: +-10, +-12
e +-15. Isso leva a entender o porquê de ser preciso utilizar con-
versores para ligar uma porta serial RS-232 a alguma porta série
TTL.
16 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Na serial RS-232, as voltagens possuem como referência o
terra (GND), isso porque ela não é balanceada. Utilizar circuitos
desbalanceados faz com que o RS-232 esteja propício a proble-
mas, pelo fato de apresentar diferenças em relação à potência
existente entre os sinais de terra que envolvem os dois circuitos.
VOCÊ SABIA?
As primeiras aplicações relacionadas a porta serial
se deram por meio do uso delas para a comunicação
entre o computador e o modem. Dessa forma, o
conector DB-9 herdou a nomenclatura que foi
utilizada nessa comunicação com o modem.
O RS-232 faz o gerenciamento do fluxo de comunicação
existente entre o DTE e o DCE através do uso de pinagens seriais
do modelo DB-9 ou DB-25. Esses tipos de conectores D-sub
podem tanto terminar com uma pinagem considerada fêmea
RS-232 ou então com pinos de conector macho DB-25, ou o
conector DB-9. Veremos mais à frente que cada pino que tenha
uma pinagem de conector serial 9 ou com pinagem 25 apresenta
função distinta.
Interface V.35
A interface V.35 foi criada pela CCITT, sendo uma interface
para transmissões de linha de 48 kbps. Era utilizada para todo
tipo de velocidades de linha que estejam acima de 20 kbps. Essa
interface foi descontinuada no ano de 1988 e substituída pelas
recomendações V.10 e V.11.
A V.35 é considerada uma mistura de interfaces entre o sinal
balanceado e terra comum. As linhas de controle, que incluem –
DTR, DSR, DCD, RTS e CTS – são consideradas interfaces de terra
comum formado por fio único, sendo compatíveis funções com
sinais de nível RS-232. Tanto os sinais de dados como os sinais de
clock são balanceados, sinais do tipo RS-422.
17COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Conectores DB-25
Nem todo conector que seja D-sub contendo 25 pinos
possui uma interface compatível com o padrão serial RS-232-C.
Dessa forma, existem fabricantes de computadores que fazem
a opção tanto por sinais como por tensões que estejam fora do
padrão em relação a determinados pinos referentes à pinagemda porta COM do computador.
Figura 4: DB25
Fonte: Wikimedia Commons
Cada um desses pinos tem um significado específico. Veja-
mos a seguir o que cada um deles representa (ALBINI, 2017):
Pin 1: GND − Shield Ground
18 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Pin 2: TxD – Representa os dados transmitidos; tem a função
de carregá-los do terminal de dados até o conjunto de dados
Pin 3: RxD – Representa os dados recebidos; tem a função
de carregar os dados do conjunto de dados até o terminal de
dados
Pin 4: RTS Representa pedido de envio; o terminal de
dados realiza a sinalização ao conjunto de dados, informando
para se preparar para realizar a transmissão de dados
Pin 5: CTS Representa limpar para enviar; conjunto de
dados utilizado para sinalizar ao terminal de dados sua prontidão
para receber dados
Pin 6: DSR Conjunto de dados está pronto; o DCE está
em condições de receber e enviar dados
Pin 7: GND – Representa o terra do sistema; apresenta
como referência a tensão zero
Pin 8: CD Representa detecção de portadora; o Data Set
faz a sinalização para o terminal de dados em relação à portadora
detectada que está vindo de outro dispositivo
Pin 9: Reservado
Pin 10: Reservado
Pin 11: STF Seleciona o canal de transmissão
Pin 12: S.CD Detecta a portadora secundária
Pin 13: S.CTS Secundário está liberado para o envio
Pin 14: S.TXD Representa dados de transmissão
secundária
19COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Pin 15: TCK Sincronizar o elemento do sinal de
transmissão
Pin 16: S.RXD Representa os dados de recebimento
secundários
Pin 17: RCK Sincroniza o elemento do sinal do receptor
Pin 18: LL Representa controle de loop local
Pin 19: S.RTS Representa a solicitação secundária de
envio
Pin 20: DTR Representa da Remote Loop Control
Pin 22: RI Representa o indicador de toque; o Data Set
faz a sinalização ao Data Terminal em relação a uma condição de
toque detectada
Pin 23: DSR Representa seletor de taxa de sinal de dados
Pin 24: XCK Sincroniza o elemento de sinal de transmissão
Pin 25: TI Representa o indicador de teste
O RTS e o CTS, no momento da comunicação assíncrona,
ficam ativados durante toda a sessão. Porém, caso o DTE esteja
conectado a uma linha considerada multiponto, uma estação de
cada vez que irá transmitir os dados. Dessa forma, o uso do RTS
será único, apenas para ligar ou desligar a operadora do modem.
Quando o RTS está pronto para realizar a transmissão,
acontece o aumento da estação, e o aumento do CTS (isso pode
levar em torno de alguns milissegundos). Quando o CTS está no
modo ativo, o DTE está transmitindo. Quando a transmissão for
finalizada, haverá o descarte do RTS por parte da estação, e o
modem também fará o descarte do CTS e da portadora.
20 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Pinagem RS-232 de 9 pinos
Uma versão simplificada da pinagem RS-232 refere-
se à conexão serial de pinagem de 9 pinos que é utilizada em
computadores pessoais, como demonstrado na figura a seguir:
Figura 5: Pinagem RS-232 de 9 pinos
Fonte: Albini (2017, p. 50).
Cada um dos pinos é representado da seguinte forma
(ALBINI, 2017):
Pin 1: DCD Detecta a portadora de dados
Pin 2: RxD Recebe os dados
Pin 3: TxD Transmite os dados
Pin 4: DTR Representa o terminal de dados pronto
Pin 5: 0V/COM – Representa o 0V ou sistema de aterramento
Pin 6: DSR Representa o conjunto de dados pronto
Pin 7: RTS Representa o pedido de envio
Pin 8: CTS Libera para enviar
21COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Pin 9: RI Representa o indicador de toque
As interfaces RS-232 e a USB são utilizadas com mais
frequência para o tipo de comunicação serial. Elas apresentam
algumas limitações, especialmente em relação às distâncias.
Porta RS-485
A interface serial RS-485 é utilizada de forma ampla na
indústria. Essa interface possui várias vantagens em relação à
interface RS-232. Por meio da topologia multiponto, eles permitem
a conexão em diversos receptores e também em transmissores.
A transmissão de dados acontece utilizando sinais diferenciais
que darão maior consistência.
Com o RS-485, é possível realizar dois tipos de comunicação:
• As interfaces que possuem dois contatos podem ope-
rar em modo half-duplex, ou seja, enviar e receber da-
dos de uma vez exclusivamente.
• A interface RS-485 pode possuir também 4 contatos.
Nesse caso, é possível funcionar de maneira full-duplex.
Sempre que for utilizado dessa maneira, os dados po-
derão ser transmitidos e recebidos de maneira simul-
tânea.
Se uma aplicação está sendo realizada a partir de vários
dispositivos que estão localizados em lugares diferentes, ou
então se o sistema tem na sua composição diversas unidades, em
que cada uma dessas unidades apresenta determinada função,
é possível que seja necessário existir um meio de comunicação
entre eles.
22 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Figura 6: Padrão RS-485
Fonte: Freepik
O padrão RS-485 foi criado no de 1983, sendo capaz de
desenvolver uma estrutura vigorosa de comunicação multiponto
que passou a ser bastante utilizada, especialmente na indústria
especialista em controle de sistemas. Nesse tipo de interface, a
representação dos sinais acontece por meio de níveis de tensão
com o terra como referência.
A estrutura do RS-485 é da seguinte maneira: existe um fio
de transmissão e outro fio responsável pela recepção, contendo
23COMUNICAÇÃO DE DADOS
U
ni
da
de
4
ainda o fio terra que serve de referência dos níveis de tensão,
sendo bastante útil para comunicação ponto a ponto com baixa
velocidade para transmitir dados.
Há uma necessidade de existir entre os dispositivos um ter-
ra comum, havendo limitações em relação ao comprimento do
cabo em apenas algumas poucas dezenas de metros.
Em relação à construção da rede de comunicação na inter-
face RS-485, esta é formada por transceptores que são conecta-
dos por meio de um par trançado, ou seja, dois fios trançados.
IMPORTANTE
A transmissão de dados diferencial (balanceada) é
considerada o princípio básico da interface RS-485.
Isso quer dizer que um sinal será transportado por
meio de dois fios. Dessa forma, um fio do par irá
ter a função de transmitir o sinal original e o outro,
de transportar sua cópia inversa.
O resultado dessa transmissão diferencial de sinal será uma
possível diferença existente entre os fios. Dessa forma, poderá
garantir uma resistência alta em relação à interferência do modo
comum. Outro fator é que o par trançado poderá ser blindado,
garantindo a proteção dos dados que estão sendo transmitidos.
Assim, permite que seja realizado o envio de dados há longas
distâncias mantendo a velocidade alta de uma forma relativa,
podendo alcançar de 100 kbits/s a 4.000 pés.
Diferença entre as portas serial RS-232
e RS-485
As duas portas são padrões de transmissão elétrica bastan-
te antigos, antes até do que os computadores pessoais. Elas são
utilizadas em interfaces para existir a comunicação entre os peri-
24 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
féricos e os computadores. Vejamos a seguir algumas diferenças
entre esses protocolos.
Tabela 1: Diferença entre RS-232 e RS-485
Características RS-232 RS-485
Diferencial/Balanceada Não Sim
Quantidade de controladores 1 31
Quantidade de receptores 1 31
Modo de operação Half-duplex/full-duplex Half-duplex
Topologia Ponto a ponto Multiponto
Distância máxima 20 m 1200m
Taxa máquina a 12m 20kbps 35Mbps
Taxa máquina a 1.200m - 100kbps
25COMUNICAÇÃO DE DADOS
U
ni
da
de
4
RESUMINDO
E então? Gostou do que lhe mostramos? Entendeu
a importância de estudar sobre a comunicação de
dados? Agora, só para termos certeza de que você
realmente entendeu o tema de estudo deste capí-
tulo, vamos resumir tudo o que vimos. Você deve
ter aprendido que o padrão de interface RS-232 foi
criado pela EIA – Electronic Industries Association
para ser utilizada entre dois dispositivos como um
intercâmbio binário serial de dados. Esse tipo de
protocolo utiliza a transmissão de dadosassíncro-
na, por meio de uma taxa constante que está sin-
cronizada com o nível do sinal de pulso de início. A
transmissão é considerada bipolar, fazendo uso de
duas tensões, dentro da margem de 5 a 25 volts,
com polaridade oposta. Na serial RS-232, as volta-
gens possuem como referência o terra (GND), isso
porque ela não é balanceada. Vimos que o V.35 é
considerado uma mistura de interfaces entre o si-
nal balanceado e o terra comum. Uma versão sim-
plificada da pinagem RS-232 refere-se à conexão
serial de pinagem de 9 pinos que é utilizada em
computadores pessoais. Sobre a estrutura do RS-
485, existe um fio de transmissão e outro fio res-
ponsável pela recepção, contendo ainda o fio terra,
que serve de referência dos níveis de tensão, sen-
do bastante útil para comunicação ponto a ponto
com baixa velocidade para transmitir dados.
26 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Paridade de caractere e
paridade combinada
OBJETIVO
Ao término deste capítulo, você será capaz de
entender as diferenças entre as paridades de
caractere e comparativa descritas como simples e
bidirecional. Veremos como se descreve o código
de verificação da paridade simples e a estrutura
da paridade bidirecional. E então? Motivado para
desenvolver esta competência? Então, vamos lá.
Avante!
Paridade simples e bidirecional
É possível que durante a transmissão de dados aconteça
eventualmente algumas ações que venham a modificar o sinal,
vindo a causar ruído térmico ou até interferências elétricas acar-
retando possíveis erros no quadro de bits.
Nesse sentido, apesar de que em alguns sistemas esse
fator seja difícil de acontecer, caso dos enlaces ópticos, é preciso
utilizar sempre alguns mecanismos que possam detectar esses
erros, operando junto a uma ação que seja utilizada para corrigi-
los (PETERSON; DAVIE, 2004).
Para Young (2006, p. 379), “uma forma de superar os efei-
tos de ruído e interferência no sistema de transmissão de dados,
além de aumentar a potência transmitida, é detectar a ocorrên-
cia de erros e obter uma retransmissão”.
Sendo assim, os métodos que realizam a detecção de erros
fazem uso do acréscimo de bits que são redundantes, proces-
sados dentro de uma lógica e unindo a mensagem que será en-
viada. O sistema receptor quando receber a mensagem enviada
fará uso de um algoritmo que, por meio desses dados adicionais,
27COMUNICAÇÃO DE DADOS
U
ni
da
de
4
irá identificar caso exista algum erro corrompendo a mensagem
ou se ela foi recebida na íntegra (PETERSON; DAVIE, 2004).
DEFINIÇÃO
Retransmitir uma mensagem significa enviar uma
notificação direcionada ao sistema emissor, fazen-
do a identificação e a solicitação de que a parte que
foi corrompida seja retransmitida.
Caso o enlace em questão tenha passado pelo processo de
instalação e de configuração dentro dos limites do sistema, e os
erros que vieram a surgir tenham sido apenas um acontecimento
esporádico, então serão grandes as chances de que a cópia que
será reenviada seja recebida de maneira correta, totalmente livre
de qualquer tipo de erro.
Figura 7: Envio de informação correta
28 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Fonte: Freepik
Para Tenenbaum (2003, p. 205-206):
Em canais altamente confiáveis, como os de fibra, é
mais econômico utilizar um código de detecção de
erros e simplesmente retransmitir o bloco defeituoso
ocasional. Porém em canais com enlaces sem fio que
geram muitos erros, é melhor adicionar a cada bloco
redundância suficiente para que o receptor seja capaz
de descobrir qual era o bloco original, em vez de
confiar em uma retransmissão, que pode ela própria
conter erros.
Sendo assim, utilizar códigos que irão realizar a correção
dos erros é mais indicado em sistemas de comunicação em
que os erros aconteçam com mais probabilidade, pois, mesmo
que esses códigos façam uso de maiores quantidade de bits,
tanto de redundância como de processamento, se houver uma
comparação com os códigos detectados, existirá a necessidade
de retransmissão de forma contínua e isso poderia iniciar uma
latência alta, deixando o sistema inviável.
Figura 8: Mensagem corrompida
29COMUNICAÇÃO DE DADOS
U
ni
da
de
4Fonte: Freepik
De acordo com Tenenbaum (2003), os códigos detectores
de erro, unidos aos mecanismos ARQ (implementa controle de
erros em protocolos de comunicação), possuem os melhores
desempenhos de enlaces cabeados. Isso porque esse tipo de
sistema apresenta taxas de erro baixas. Assim, a necessidade
de retransmissão da mensagem que tiver sido corrompida seria
bem baixa.
Rochol (2012, p. 254) afirma que “existem duas grandes
classes de técnicas de detecção de erros: as técnicas baseadas
em paridade e as técnicas baseadas em códigos cíclicos”.
Código de verificação de paridade
simples
O contexto histórico apresenta que uma das primeiras
técnicas criadas para trabalhar com sistemas de comunicação de
30 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
dados (SCD) foi a técnica de paridade. Porém, pelo fato de ser
uma técnica simples, é bastante utilizada também nos protocolos
de comunicação com base em caractere. Alguns protocolos são o
BSC-1 e BSC-3, desenvolvidos pela empresa IBM (ROCHOL, 2012).
O método de paridade unidimensional tem como base o
acréscimo de um bit de redundância único a determinado bloco
que seja composto por n bits. A escolha e a adição desse bit de-
vem acontecer de maneira que venha a obter resultado par refe-
rente à soma da quantidade de caracteres 1, se o sistema estiver
operando em paridade par, e se o sistema estiver operando em
paridade ímpar o resultado será ímpar.
O entendimento de erro se dá em relação ao nível de
consistência que existe tanto no ruído como na interferência
presentes no canal, fazendo com que seja consideravelmente
alto, chegando a causar distorção no sinal recebido, fazendo com
que um ou vários bits sejam invertidos.
Sobre isso, Kurose e Ross (2006, p. 333) afirmam que:
A operação do receptor também é simples com único
bit paridade. O receptor precisa apenas contar quan-
tos ‘1’ há nos d +1 bits recebidos. Se, utilizando o es-
quema de paridade par, for encontrado um número
ímpar de bits e valor 1, o receptor saberá que ocorreu
pelo menos um erro de bit. Mais precisamente, ele
saberá que ocorreu algum número ímpar de erros de
bit.
A paridade unidimensional é um método considerado
bastante simples, tendo a capacidade de detectar todos os erros
que se encontram em determinado bloco, isso quando esses
erros ocorrem em quantidades ímpares. Entretanto, ele também
se baseia em código que é considerado relativamente fraco, isso
porque, caso exista algum erro que venha a causar inversão
31COMUNICAÇÃO DE DADOS
U
ni
da
de
4
na quantidade par de bits, o receptor não conseguirá detectar.
Desse modo, em sistemas em que a quantidade de erros possa
ser muito grande, a probabilidade de ele realizar a detecção seria
muito baixa, 0,5% aproximadamente, não sendo muito aceitável
(TENENBAUM, 2003).
O processo de paridade nesse código acontece da seguinte
maneira: uma palavra de dados contendo k bits passa por um
processo de transformação para uma palavra de código contendo
n bits, descrita na seguinte fórmula:
N = k+1
O bit de paridade refere-se ao bit extra, sendo selecionado
com a função de tornar par a quantidade total de bits 1s encon-
trados na palavra de código. Existem implementações que defi-
nem um número ímpar como de bits 1s, porém, usaremos como
par.
Em relação à distância de Hamming mínima definida para
essa categoria, é dada pela seguinte fórmula:
dmín = 2
32 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Isso quer dizer que esse código de detecção de erros de bit,
que verifica um só bit, não tem capacidade de corrigir erros.
DEFINIÇÃO
A distância de Hamming é bastante utilizada na
correção de erros e representa o número de pon-
tos em que duas partes correspondentes de dados
poderão ser diferentes.
A figura a seguir apresenta a estrutura de um codificador
no emissore um decodificador no receptor. O codificador utiliza
um gerador que seleciona uma cópia de uma palavra de dados
contendo 4 bits (a0, a1, a2 e a3) e assim gera um bit de paridade r0.
Tanto os bits da palavra de dados como o bit de paridade realizam
a criação de uma palavra de código contendo 5 bits. Esse bit de
paridade que será adicionado se torna par o número de bits 1s
referente à palavra de código (FOROUZAN, 2010).
Figura 9: Codificador e decodificador para paridade simples
Fonte: Forouzan (2010, p. 279).
33COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Esse processo normalmente é realizado adicionando-se 4
bits referentes à palavra de dados, e o resultado gerado será o bit
de paridade, ou seja, acontece da seguinte forma:
r0 = a3 + a2 + a1 + a0
Forouzan (2010, p. 278) explica que, “se o número de 1s for
par, o resultado será 0; se o número de 1s for ímpar, o resultado
será 1. Em ambos os casos, o número total de 1s na palavra de
códigos é par”.
O emissor fará o envio à palavra de código, e esta poderá
ser corrompida durante o processo da transmissão. O receptor
irá receber uma palavra de 5 bits. Ainda no receptor, o verificador
irá fazer o mesmo processo que o gerador no emissor, mudando
apenas um fator em relação à adição, pois esta é realizada em
todos os 5 bits.
O resultado desse processo é conhecido como síndrome,
sendo de apenas 1 bit. Quando a síndrome for igual a 0, o número
de 1s na palavra será um valor par, no contrário será 1.
A síndrome será enviada para o analisador de lógica
de decisão. Caso a síndrome seja 0, irá significar que não foi
encontrado erro na palavra de código que foi recebida. Forouzan
(2010, p. 279) explica que “a parte de dados da palavra de
código recebida é aceita como uma palavra de dados válida; se a
síndrome for 1, a parte de dados da palavra de código recebida é
descartada. A palavra de dados não é criada”.
Paridade bidimensional
O método de paridade bidimensional é considerado mais
eficiente. Ele também é um método simples, derivado da parida-
34 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
de de único bloco, porém, possui eficiência melhor porque con-
segue detectar mais erros.
A lógica estrutural do método bidimensional pode ser
melhor descrita por Tenenbaum (2003, p. 209), que afirma que:
As disparidades poderão ser consideravelmente me-
lhoradas se cada bloco for enviado como uma matriz
retangular com n bits de largura e k bits de altura [...]
Um bit de paridade é calculado separadamente para
cada coluna e afixado à matriz como sua última linha.
Em seguida a matriz é transmitida uma linha de cada
vez.
Na figura a seguir, podemos visualizar uma demonstração
simples sobre como acontece a paridade bidimensional demons-
trada por meio de uma matriz, na qual acontece o processamen-
to dos bits de paridade, que faz referência ao bloco de verificação
fixado na linha final da matriz.
Figura 10: Matriz da paridade bidimensional
35COMUNICAÇÃO DE DADOS
U
ni
da
de
4
36 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Fonte: Tenenbaum (2003, p. 210).
De maneira prática, percebemos que inicialmente é reali-
zado o processamento do bit de paridade adicionado sempre ao
final de cada pacote, o que irá gerar a última coluna, conhecida
como VRC – verificação de redundância vertical.
Logo depois serão realizados os cálculos dos bits de parida-
de para cada coluna, fazendo a inclusão da coluna VRC. Eles irão
integrar um pacote último de verificação, que é conhecido na
maioria das vezes como LRC – verificação de redundância longi-
tudinal, ou apenas paridade horizontal. Após esses procedimen-
tos, os dados estão codificados e prontos para serem enviados
(YOUNG, 2006).
No método de paridade bidimensional, organiza-se a pala-
vra de dados dentro de uma tabela contendo linhas e colunas.
37COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Na figura a seguir, podemos perceber que os dados que serão
enviados (5 bytes de 7 bits) foram colocados em linhas separadas.
A cada linha e coluna, realiza-se o cálculo de 1 bit de verificação
de paridade.
Toda a tabela é enviada para o receptor, que deve encontrar
a síndrome determinada para cada linha e para cada coluna. A
verificação desse método detecta até três erros que tenham
ocorrido em qualquer lugar da tabela. Porém, erros que venham
a afetar 4 bits poderão ficar sem ser detectados.
Figura 11: Código de verificação de paridade bidimensional
38 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Fonte: Forouzan (2010, p. 281).
É possível que sempre em códigos referentes a tratamento
de erros encontrem-se limitações e peculiaridades, e o mesmo
acontece com o método de paridade bidimensional. Por mais
que ele seja um tipo de método que esteja entre os códigos
detectores, ele tem um limite de capacidade de correção em
relação à degradação atingindo um bit único.
Figura 12: Erro em apenas um bit
Fonte: Kurose e Ross (2006, p. 334).
Como podemos visualizar na Figura 12, se o erro ocorrer
em apenas um dos bits do bloco, o método conseguirá mapeá-
lo. Dessa forma, Young (2006, p. 381) afirma que “a interseção
da fila e da coluna com erro de paridade é a localização do bit
incorreto. Obtém se a correção simplesmente invertendo o bit
com problemas”.
De acordo com Kurose e Ross (2006, p. 333), tratando sobre
a adulteração de bits, por causa da inserção de erros causados
pelo ruído no canal de transmissão, “medições demonstraram
39COMUNICAÇÃO DE DADOS
U
ni
da
de
4
que, em vez de acontecerem independentemente, os erros
frequentemente se aglomeram em ‘rajadas’”.
Nesse sentido, os códigos que têm como base a paridade
bidimensional têm a capacidade de detectar os erros, porém, não
conseguem corrigi-los, em caso de combinação de erro duplo em
algum pacote.
Verificando um bloco inteiro, levando em consideração n
como a quantidade de bits presente em sentido horizontal, isso
quer dizer sobre o tamanho referente ao pacote de bits, ainda
será possível ao método detectar os erros em uma rajada única
de tamanho n. Sendo assim, devemos interpretar que a estrutura
que o sistema receptor irá receber desse bloco, por meio de uma
matriz, irá verificar um possível surto dessa proporção que iria
alterar apenas um bit por coluna (TENENBAUM, 2003; YOUNG,
2006).
Porém, caso o tamanho da rajada seja maior que n, isso iria
comprometer a possibilidade de detecção do sistema, porque o
bloco estaria em condições de acontecer erros duplos tanto nas
linhas como nas colunas, aumentando a possibilidade de não
serem detectados (TENENBAUM, 2003; YOUNG, 2006).
40 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
SAIBA MAIS
No vídeo “6.2 Técnicas de Detecção e Correção
de Erros: paridade, checksum, CRC - Redes de
Computadores”, podemos entender mais sobre as
técnicas utilizadas para detectar erros e realizar a
correção na transmissão dos dados, especialmente
compreender sobre as técnicas de paridade e a CRC
que estudamos nesta unidade. Acesse clicando no
QR-Code:
Podemos citar como algumas desvantagens da paridade
bidimensional, os seguintes pontos:
• Em alguns casos, apenas um número ímpar de erros de
bit poderá ser detectado e corrigido; mas um número
par de erros só pode ser detectado, mas não corrigido.
• Em alguns casos, esse método não é capaz de detectar
nenhum erro de bit.
https://www.youtube.com/watch?v=SYPGZPNlkAs
41COMUNICAÇÃO DE DADOS
U
ni
da
de
4
RESUMINDO
Chegamos ao final de mais um objeto de aprendi-
zagem. E então? Conseguiu aprender tudo que foi
proposto nesse ponto? Nesta unidade, é essencial
entender que os métodos que realizam a detecção
de erros fazem uso do acréscimo de bits que são
redundantes, processados dentro de uma lógica e
unindo a mensagem que será enviada. Retransmi-
tir uma mensagem significa enviar uma notificação
direcionada ao sistema emissor, fazendo a identi-
ficação e a solicitação de que a parte que foi cor-
rompida seja retransmitida. Utilizar códigos que
irão realizar a correção dos erros é mais indicado
para sistemasde comunicação em que os erros
acontecem com mais probabilidade. Vimos que o
método de paridade unidimensional tem como ba-
se o acréscimo de um bit de redundância único a
determinado bloco que seja composto por n bits. O
processo de paridade nesse código acontece quan-
do uma palavra de dados contendo k bits passa por
um processo de transformação para uma palavra
de código contendo n bits. O método de paridade
bidimensional é considerado mais eficiente. No
método de paridade bidimensional, organiza-se a
palavra de dados dentro de uma tabela contendo
linhas e colunas. A cada linha e coluna realiza-se o
cálculo de 1 bit de verificação de paridade. Os códi-
gos que têm como base a paridade bidimensional
têm a capacidade de detectar os erros, porém, não
conseguem corrigi-los, em caso de combinação de
erro duplo em algum pacote.
42 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Polinômio gerador crc
OBJETIVO
Ao término deste capítulo, você será capaz de en-
tender sobre o polinômio gerador CRC e o conceito
do registrador de deslocamento, além de conhecer
um exemplo de implementação do CRC-8. E então?
Motivado para desenvolver esta competência? En-
tão, vamos lá. Avante!
Verificação de redundância cíclica
A verificação de redundância cíclica – CRC, no inglês Cyclic
Redundancy Check, é um algoritmo de soma de verificação para
detectar inconsistência de dados, por exemplo, erros de bit
durante a transmissão de dados. Uma soma de verificação,
calculada pelo CRC, é anexada aos dados para ajudar o receptor
a detectar tais erros.
O CRC é baseado na divisão. Os dados de entrada reais são
interpretados como um longo fluxo de bits binários (dividente),
que é dividido por outro número binário fixo (divisor). O restante
dessa divisão é o valor da soma de verificação.
No entanto, a realidade é um pouco mais complicada. Os
números binários (dividente e divisor) não são tratados como
valores inteiros normais, mas como polinomiais binários em que
os bits reais são usados como coeficientes.
NOTA
Os dados de entrada 0x25 = 0010 0101 são con-
siderados como 0*x 7 + 0*x 6 + 1*x 5 + 0*x 4 +
0*x 3 + 1* x 2 + 0*x 1 + 1* x 0
43COMUNICAÇÃO DE DADOS
U
ni
da
de
4
A divisão de polinômios difere da divisão inteira. A aritmética
subjacente utilizada para o cálculo do CRC é baseada na operação
XOR (Exclusive-OR), a tabela verdade XOR é descrita como:
Tabela 2: Tabela verdade XOR
XORXOR 0 1
0 0 1
1 1 0
Fonte: Elaborada pelas autoras (2023).
Algumas interpretações necessárias são:
• O dividente são os dados de entrada completos (inter-
pretados como fluxo binário).
• O divisor, também chamado de polinômio gerador, é
definido estaticamente pelo algoritmo CRC utilizado.
CRC-n usando um polinômio gerador definido fixo com
(n+1) bits.
• O valor da soma de verificação CRC é definido como
dividendo % divisor.
Para cálculo manual, n bits zero são anexados aos dados
de entrada antes que o cálculo CRC real (divisão polinomial) seja
computado. No exemplo a seguir, é possível analisar a execução
de um cálculo CRC.
44 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
NOTA
Os dados de entrada são o byte 0xC2 = b 11000010.
Como polinômio gerador (=divisor), vamos usar b
100011101.
O divisor tem 9 bits (portanto, esse é um polinômio
CRC-8), então acrescente 8 bits zero ao padrão de
entrada.
Alinhe o ‘1’ inicial do divisor com o primeiro ‘1’ do
dividente e execute uma divisão passo a passo
semelhante à escola, usando a operação XOR para
cada bit:
ABCDEFGHIJKLMNOP
11000010 00000000
100011101
----------
010011001
100011101
----------
000101111
100011101 (*)
----------
001100101
100011101
----------
010001001
100011101
----------
0 00001111 = 0x0F
ABCDEFGHIJKLMNOP
O valor CRC real é 0x0F.
Observações úteis:
45COMUNICAÇÃO DE DADOS
U
ni
da
de
4
• Em cada passo, o primeiro ‘1’ do divisor está sempre
alinhado com o primeiro ‘1’ do divisor. Isso implica que
o divisor não se move apenas 1 bit à direita por pas-
so, mas às vezes também vários passos (por exemplo,
como na linha (*)).
• Os algoritmos param se o divisor zerar cada bit dos da-
dos de entrada reais (sem bytes de preenchimento): os
dados de entrada variam da coluna A a H, inclusive. Na
última etapa, a coluna H e todas as colunas anteriores
contêm 0, então o algoritmo para.
• O restante (= CRC) é o valor ‘abaixo’ dos bits zero de
preenchimento (coluna I a P). Como adicionamos n by-
tes de preenchimento, o valor CRC real também possui
n bits.
• Apenas o restante em cada etapa é de interesse, o re-
sultado real da divisão (quociente) não é, portanto, ras-
treado.
Verificação CRC
O restante é o valor CRC que é transmitido junto com os
dados de entrada para o receptor. O receptor pode verificar os
dados recebidos calculando o CRC e comparando o valor CRC
calculado com o recebido. Ou, mais comumente usado, o valor
CRC é anexado diretamente aos dados reais.
Em seguida, o receptor calcula o CRC sobre todos os dados
(entrada com valor CRC anexado): se o valor CRC for 0, provavel-
mente nenhum erro de bit ocorreu durante a transmissão. Veja-
mos a verificação de acordo com o último caso, no exemplo de
verificação.
46 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
NOTA
Os dados de transmissão reais (dados de entrada
+ CRC) seriam b 11000010 00001111. Observe que
usamos um CRC de 8 bits, portanto, o valor real
do CRC também tem 8 bits. O polinômio gerador
é definido estaticamente pelo algoritmo CRC
utilizado e por isso é conhecido pelo receptor.
ABCDEFGHIJKLMNOP
11000010 00001111
100011101 .......
----------.......
010011001.......
100011101 .....
----------......
000101111......
100011101 ..
----------...
001100100...
100011101
----------.
010001110.
100011101
----------
000000000 -> Restante é 0, dados ok!
ABCDEFGHIJKLMNOP
Conceito do registrador de
deslocamento CRC
Já entendemos como calcular o valor da soma de verificação
CRC manualmente, veremos a seguir como implementá-lo. O
fluxo de dados de entrada geralmente é bastante longo (mais de
1 bit), portanto, não é possível realizar uma divisão simples como
47COMUNICAÇÃO DE DADOS
U
ni
da
de
4
“Dados de entrada % gerador de polinômio”. A computação deve
ser realizada passo a passo e aqui o conceito de registrador de
deslocamento entra em jogo.
Um registrador de deslocamento tem uma largura fixa
e pode deslocar seu conteúdo em um bit, removendo o bit na
borda direita ou esquerda e deslocando um novo bit na posição
liberada.
O CRC usa um registrador de deslocamento à esquerda:
quando deslocado, o bit mais significativo sai do registrador, o bit
na posição MSB-1 move uma posição à esquerda para a posição
MSB, o bit na posição MSB-2 para MSB-1 e assim por diante. A
posição do bit menos significativo é livre: aqui o próximo bit do
fluxo de entrada é deslocado.
MSB LSB
--- --- --- -- -- ---
<-- | | | |.... | | <-- (deslocamento nos bits da mensagem
de entrada)
--- --- --- -- -- ---
O processo de cálculo do CRC usando um registrador de
deslocamento é o seguinte:
• Inicialize o registrador com 0.
• Mudança no fluxo de entrada bit a bit. Se o MSB exibi-
do for ‘1’, XOR o valor do registro com o polinômio do
gerador.
• Se todos os bits de entrada forem manipulados, o regis-
trador de deslocamento CRC conterá o valor CRC.
48 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Vejamos como visualizar o procedimento com os dados do
exemplo anterior:
Exemplo de registrador de deslocamento CRC-8: Dados
de entrada = 0xC2 = b11000010 (com 8 bits zero anexados:
b1100001000000000), polinômio = b100011101
NOTA
1. Registro CRC-8 inicializado com 0.
--- --- --- --- --- --- --- ---
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | <-- b1100001000000000
--- --- --- --- --- --- --- ---
2. Registro de deslocamento à esquerda em uma
posição. MSB é 0, entãonada acontece, mude para
o próximo byte do fluxo de entrada.
--- --- --- --- --- --- --- ---
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | <-- b100001000000000
--- --- --- --- --- --- --- ---
3. Repita essas etapas. Todas as etapas são
deixadas de fora até que haja um 1 no MSB (nada
de interessante acontece), então o estado se
parece com:
--- --- --- --- --- --- --- ---
| 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | <-- b00000000
--- --- --- --- --- --- --- ---
4. Registrador de deslocamento à esquerda. MSB
1 aparece:
--- --- --- --- --- --- --- ---
1 <- | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | <-- b0000000
--- --- --- --- --- --- --- ---
Portanto, XOR o registro CRC (com MSB salta-
do) b110000100 com polinômio b100011101 =
b010011001 = 0x99. O MSB é descartado, então o
novo valor do registrador CRC é 010011001:
49COMUNICAÇÃO DE DADOS
U
ni
da
de
4
--- --- --- --- --- --- --- ---
| 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | <-- b0000000
--- --- --- --- --- --- --- ---
5. Registro de deslocamento à esquerda. MSB 1
aparece: b100110010 ^ b100011101 = b000101111
= 0x2F:
--- --- --- --- --- --- --- ---
| 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | <-- b000000
--- --- --- --- --- --- --- ---
6. Desloque o registro para a esquerda até que 1
esteja na posição MSB:
--- --- --- --- --- --- --- ---
| 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | <-- b0000
--- --- --- --- --- --- --- ---
7. Registrador de deslocamento à esquerda. MSB 1
aparece: b101111000 ^ b100011101 = b001100101
= 0x65:
--- --- --- --- --- --- --- ---
| 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | <-- b000
--- --- --- --- --- --- --- ---
8. Desloque o registro para a esquerda até que 1
esteja na posição MSB:
--- --- --- --- --- --- --- ---
| 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | <-- b00
--- --- --- --- --- --- --- ---
9. Registrador de deslocamento à esquerda. MSB 1
aparece: b110010100 ^ b100011101 = b010001001
= 0x89:
--- --- --- --- --- --- --- ---
| 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | <-- b0
--- --- --- --- --- --- --- ---
50 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
10. Registrador de deslocamento à esquerda. MSB
1 aparece: b10001001 ̂ b100011101 = b000001111
= 0x0F:
--- --- --- --- --- --- --- ---
| 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | <-- <vazio>
--- --- --- --- --- --- --- ---
Todos os bits de entrada são processados, o
algoritmo para. O registrador de deslocamento
contém agora o valor CRC que é 0x0F.
Implementação de algoritmo
CRC-8
Existem diferentes algoritmos e implementações para
calcular valores de checksum CRC-8. Neste capitulo, será utilizado
o C#, através de algoritmos simples.
Um algoritmo CRC-8 usa, na verdade, um polinômio gerador
de 9 bits, mas seria complicado rastrear um valor tão desalinhado
em um algoritmo. Felizmente, conforme descrito no capítulo
anterior, o bit mais significativo pode ser descartado. Primeiro,
é sempre 1. Segundo, porque o divisor está sempre alinhado de
tal maneira que esse ‘1’ inicial se alinha com o próximo ‘1’ do
divisor, e o resultado XOR para esse bit é sempre 0. Isso significa
que deixamos para fora o MSB ‘1’, então podemos usar o gerador
polinomial b 1 00011101 = 0x1D como o polinômio de exemplo a
partir de agora.
Vemos na figura a seguir uma implementação que seja
o mais próxima possível da abordagem do registrador de
deslocamento:
public static byte Compute_CRC8_Simple_OneByte_
ShiftReg( byte byteVal)
51COMUNICAÇÃO DE DADOS
U
ni
da
de
4
{
const byte generator = 0x1D;
byte crc = 0; /* registro init crc com 0 */
/* acrescenta 8 bits zero ao byte de entrada */
byte [] inputstream = new byte [] { byteVal, 0x00 };
/* manipula cada bit do fluxo de entrada iterando sobre
cada bit de cada byte de entrada */
foreach ( byte b no fluxo de entrada)
{
for ( int i = 7; i >= 0; i--)
{
/* checkse MSB estiver definido */
if ((crc & 0x80) != 0)
{ /* MSB definido, desloque-o para fora do registrador
*/
crc = ( byte )(crc << 1);
/* deslocamento no próximo bit do fluxo de entrada:
* Se for 1, defina LSB de crc como 1.
* Se for 0, defina LSB de crc como 0. */
crc = (( byte )(b & (1 << i )) != 0) ? ( byte )(crc | 0x01)
: ( byte )(crc & 0xFE);
/* Executa a ‘divisão’ fazendo XOR no registrador
crc com o polinômio gerador */
52 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
crc = ( byte )(crc ^ generator);
}
senão
{ /* MSB não definido, desloque-o e desloque-o
para o próximo bit do fluxo de entrada. Igual ao anterior, apenas
sem divisão */
crc = ( byte )(crc << 1);
crc = (( byte )(b & (1 << i)) != 0) ? ( byte )(crc | 0x01)
: ( byte )(crc & 0xFE);
}
}
}
return crc;
}
A implementação anterior pode ser complicada. Para
simplificar, devem ser realizados os seguintes passos:
• Os primeiros 8 deslocamentos à esquerda são inúteis
porque o valor CRC é inicializado com 0, portanto, ne-
nhuma operação XOR é executada. Isso significa que
podemos inicializar o valor CRC diretamente com o byte
de entrada.
• Portanto, apenas ‘0’ são deixados no fluxo de entra-
da (os zeros anexados). Eles não precisam ser expli-
citamente deslocados, pois o operador C# leftshift <<
preenche o LSB com ‘0’ por padrão.
53COMUNICAÇÃO DE DADOS
U
ni
da
de
4
• Isso implica que a matriz inputstream não é mais
necessária.
A aplicação dessas simplificações resulta na seguinte
implementação:
public static byte Compute_CRC8_Simple_OneByte( byte
byteVal)
{
const byte generator = 0x1D;
byte crc = byteVal; /* init crc diretamente com o byte de
entrada em vez de 0, evita 8 bitshifts inúteis até que o byte de
entrada esteja no registrador crc */ for
( int i = 0; i < 8; i++)
{
if ((crc & 0x80) != 0)
{ /* conjunto de bit mais significativo, desloca o registrador
crc e executa a operação XOR, levando em consideração o 9º bit
definido não salvo */
crc = ( byte )((crc << 1) ^ generator);
}
senão
{ /* bit mais significativo não definido, vá para o próximo
bit */
crc <<= 1;
54 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
}
}
return crc;
}
O fato de que o valor crc é deslocado à esquerda por um
_antes_ de ser ‘xored’ com o divisor deve ficar claro: é devido
ao motivo já discutido que o bit MSB do polinômio gerador não
é armazenado / não é usado pelo algoritmo também como é
resultado.
RESUMINDO
Concluímos mais um ponto de aprendizagem im-
portante. Você deve ter aprendido que a verifica-
ção de redundância cíclica – CRC é um algoritmo
de soma de verificação para detectar inconsistên-
cia de dados, por exemplo, erros de bit durante a
transmissão de dados. O CRC é baseado na divi-
são. Os dados de entrada reais são interpretados
como um longo fluxo de bits binários (dividente),
que é dividido por outro número binário fixo (divi-
sor). O restante dessa divisão é o valor da soma de
verificação. Vimos que, para cálculo manual, n bits
zero são anexados aos dados de entrada antes que
o cálculo CRC real (divisão polinomial) seja compu-
tado. Vimos que o receptor pode verificar os dados
recebidos calculando o CRC e comparando o valor
CRC calculado com o recebido. Estudamos que
um registrador de deslocamento tem uma largu-
ra fixa e pode deslocar seu conteúdo em um bit,
removendo o bit na borda direita ou esquerda e
deslocando um novo bit na posição liberada. Um
algoritmo CRC-8 usa um polinômio gerador de 9
bits, mas seria complicado rastrear um valor tão
desalinhado em um algoritmo.
55COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Mediçãode erros na
transmissão de dados
OBJETIVO
Ao término deste capítulo, você será capaz de en-
tender sobre os tipos de erros, a diferença entre
detecção e correção e estudar sobre a medição de
taxa de erros. E então? Motivado para desenvolver
esta competência? Então, vamos lá. Avante!
Tipos de erros
Sempre que uma cadeia de bits navega em uma rede de
computadores de um ponto a outro, é possível que possa existir
algum tipo de alteração causada por interferências, e ela irá
causar modificações em relação às características do sinal.
IMPORTANTE
É preciso entender que um erro de bit se trata
do 0 passando a ser 1 e um 1 que passa a ser 0
(FOROUZAN, 2010).
Considera-se erro em rajada quando acontece de vários
bits terem sido corrompidos. Veremos esse tipo de erro mais à
frente.
NOTA
Em uma transmissão apresentando taxa de 1.200bps,
se existisse uma rajada contendo 1/100 s de ruídos
impulsivos, poderia causar alteração dos 12 bits de
informação ou uma grande parte deles.
Vejamos alguns tipos de erros de bit a seguir.
Erro de bit
56 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
DEFINIÇÃO
Definimos o erro de bit quando apenas 1 bit de
alguma unidade de dados, como um pacote ou
caractere, sofreu alteração de 1 para 0 ou de 0
para 1 (FOROUZAN, 2010).
Digamos que exista um grupo em que cada 8 bits corres-
pondam a um caractere ASCII, tendo um bit 0 sendo adicionado à
esquerda. Na figura a seguir, podemos visualizar o efeito causa-
do do erro de bit em uma unidade de dados, em que foi enviado
o caractere 00000010 (ASCIISTX), que significa o início de texto,
porém, o caractere recebido foi 00001010 (ASCII LF), que significa
avanço de linha (FOROUZAN, 2010).
Figura 13: Erro de bit
Fonte: Forouzan (2010, p. 268).
Nas transmissões de dados seriais, os tipos de erros de
bit acontecem com uma probabilidade baixa de ocorrência.
Fourozan (2010, p. 268) dá um exemplo dizendo:
Imagine que dados são enviados a 1 Mbps. Isso signifi-
ca que a duração de cada bit é de apenas 1/1.000.000
s, ou seja, 1 µs. Para que ocorra um erro em um úni-
co bit, o ruído deve ter uma duração de 1µs, o que é
muito raro na prática; normalmente os ruídos duram
muito mais que isso.
Erro em rajada
57COMUNICAÇÃO DE DADOS
U
ni
da
de
4
O tipo erro em rajada acontece quando 2 ou mais bits foram
corrompidos em uma unidade de dados, como demonstrado na
figura a seguir. Nela vemos o efeito causado por um erro em
rajada em uma unidade de dados.
Na figura, é demonstrado que foram enviados os seguin-
tes bits: 0100010001000011, porém os bits recebidos foram:
0101110101100011. É importante observar que não significa que
esse tipo de erro aconteça em bits consecutivos. A medição da ra-
jada acontece a partir do primeiro bit até o último, isso quer dizer
que alguns bits que estejam entre os bits corrompidos podem ter
sido enviados corretamente.
Figura 14: Erro em rajada com comprimento 8
Fonte: Forouzan (2010, p. 268).
Ocorrência de erros em rajada é mais provável acontecer
do que erro de bit. Isso porque na maioria das vezes o tempo
do ruído é maior que o tempo de bit, ou seja, quando os dados
são afetados pelo ruído, eles afetam diretamente um conjunto
de bits. A quantidade de bits que são afetados vai depender da
taxa de transmissão de dados e também da duração do ruído.
58 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
NOTA
Se estiver acontecendo o envio de dados a kbps,
poderá acontecer um ruído de 1/100 e isso irá
afetar 10 bits. Já caso o envio seja de 1Mbps, esse
mesmo ruído poderá chegar a afetar 10.000 bits.
Redundância
A redundância é considerada o conceito mais importante
nos estudos da detecção e correção de erros, isso porque para
conseguir detectar ou realizar a correção de erros é preciso fazer
o envio extra de alguns bits redundantes que serão enviados
junto aos dados.
Esses bits são acrescentados pelo próprio emissor para
depois serem retirados pelo receptor. A presença desses bits de
redundância irá possibilitar que o receptor consiga detectar e
corrigir os bits que foram corrompidos.
59COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Detecção x Correção
IMPORTANTE
É preciso compreender que é mais difícil corrigir
erros durante a transmissão de dados do que
detectá-los. Quando estamos detectando um erro,
é verdade que está sendo apenas verificado se
houve ou não algum erro. Ou seja, irá gerar como
resposta um sim ou não. Não há interesse até
mesmo na quantidade de erro, pois apenas um já
irá provocar um efeito igual a blocos de bits, que é
justamente a mensagem corrompida.
Já na correção de erros, faz-se necessária a exati-
dão do número de erros corrompidos e, além dis-
so, saber a sua localização na mensagem. Nesse
caso, são fatores essenciais tanto o número de er-
ros como o tamanho da mensagem. Se for preciso
corrigir um erro em uma unidade de dados que te-
nha 8 bits, será preciso que sejam consideradas 28
possibilidades. Daí já podemos pensar que quanto
maior for a quantidade de erros encontrados em
uma unidade, maior será o trabalho de corrigi-los.
Correção antecipada de erros x
retransmissão
Existem dois principais métodos de correção de erros, são
eles: correção antecipada de erros e correção por retransmissão
(FOROUZAN, 2010).
• Na correção antecipada de erros, o receptor busca adi-
vinhar a mensagem através do uso de bits redundantes.
Isso só será possível se o número de erros for pequeno.
60 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
• Na correção de erros por retransmissão, o receptor
irá detectar a ocorrência de um erro e solicitar ao
emissor que a mensagem seja reenviada. Esse reenvio
irá acontecer repetidas vezes até que a mensagem
chegue ao receptor sem nenhum erro. Nesse tipo de
correção, é possível que existam erros que não sejam
identificados.
Código de erros
A implementação da redundância pode acontecer através
de diversos métodos de codificação. O emissor faz a adição de
bits redundantes por meio de um processo que cria uma relação
entre os bits de dados reais e os bits redundantes. O papel do
receptor é verificar essa relação entre os conjuntos e assim
detectar ou corrigir erros.
Em qualquer tipo de esquema de codificação, tanto a razão
existente entre os bits de redundância como os bits de dados
reais, assim como a eficiência desse processo, são considerados
fatores essenciais e determinantes. Os códigos de erros podem
ser divididos em: códigos de blocos e códigos convolucionais.
Figura 15: Estrutura de um codificador e decodificador
Fonte: Forouzan (2010, p. 270).
61COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Erros de precisão
É possível melhorar a precisão sabendo como os erros
ocorrem e como corrigi-los. Vamos entender sobre as fontes de
erro de medição e como monitorar termos de erro.
Erros de desvio
Os erros de desvio ocorrem por causa da alteração do de-
sempenho do instrumento ou do sistema de teste após ter sido
concluída uma calibração. As principais causas de erros de des-
vio são por características de expansão térmica de cabos de in-
terconexão dentro do conjunto de teste e estabilidade de conver-
são do conversor de frequência de micro-ondas, e sua remoção
pode acontecer por recalibração.
O intervalo de tempo durante o qual uma calibração
permanece precisa irá depender da taxa de desvio que o sistema
de teste sofre em seu ambiente de teste. Para minimizar o desvio,
é possível fornecer uma temperatura ambiente estável.
Erros aleatórios
Erros aleatórios não são previsíveis e não podem ser remo-
vidos através de correção de erros. Porém, há coisas que podem
ser feitas para minimizar seu impacto na precisão da medição.
Vejamos as três principais fontes de erros aleatórios.
• Erros de ruído do instrumento: ruído são perturbações
elétricas indesejadas geradas nos componentes do
analisador. Esses distúrbios incluem:
Ruído de baixo nível, por causa do piso de ruído de banda
larga do receptor.
62 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Ruído de alto nível oudos dados de rastreamento, por
causa do piso de ruído e ao ruído de fase da fonte LO
existente dentro do conjunto de teste.
É possível reduzir os erros de ruído realizando um ou mais
dos seguintes procedimentos:
Aumentar a potência da fonte para o dispositivo que está
sendo medido; esse procedimento apenas causa redução
do ruído de baixo nível.
Limitar a largura de banda de FI.
Aplicar várias médias de varredura de medição.
• Erros de repetibilidade de troca: os interruptores de RF
mecânicos são utilizados no analisador com a função
de alternar as configurações do atenuador da fonte.
Muitas vezes, ao serem ativados os interruptores de RF
mecânicos, os contatos fecham de modo diferente de
quando foram ativados antes. Sempre que isso ocorre,
pode afetar de maneira adversa a precisão de uma me-
dição. Para reduzir os efeitos de erros de repetibilidade
de comutação, basta evitar a comutação das configura-
ções do atenuador no decorrer de uma medição crítica.
• Erros de repetibilidade do conector: o desgaste do co-
nector provoca alterações no desempenho elétrico.
Para reduzir os erros de repetibilidade do conector de-
vem ser realizadas boas práticas de métodos de cuida-
do do conector.
63COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Erros sistemáticos
Os erros sistemáticos são causados tanto por imperfeições
no analisador quanto pela configuração do teste. Esses erros são:
• Repetíveis, dessa forma, são previsíveis, além de serem
considerados invariantes no tempo.
• Caracterizados durante o processo de calibração e re-
duzidos matematicamente durante as medições.
• Completamente removidos. Há sempre alguns erros
residuais devido às limitações durante o processo de
calibração. Os erros sistemáticos residuais existentes
após a calibração da medição geram imperfeições em:
• Padrões de calibração.
• Interface do conector.
• Cabos de interconexão.
• Instrumentação.
As medições de reflexão geram os seguintes três erros
sistemáticos:
• Diretividade.
• Correspondência de origem.
• Rastreamento de reflexão de resposta de frequência.
As medições de transmissão geram os três erros sistemá-
ticos:
• Isolamento.
• Carregamento de correspondência.
• Rastreamento de transmissão de resposta de frequên-
cia.
64 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
Medição de taxa de erro de bits
(BER)
Taxa de erro de bit, BER, é um parâmetro-chave para medir
o desempenho de um canal de dados com ou sem fio. Ao trans-
mitir dados de um ponto a outro, o parâmetro-chave é definido
com base em quantos erros irão aparecer nos dados presentes
na extremidade remota.
Como taxa de erro de bit, o BER é aplicável a tudo, des-
de links de fibra óptica até ADSL, Wi-Fi, comunicações celulares,
links de IoT e muito mais. Mesmo que os links de dados possam
utilizar tipos muito diferentes de tecnologia, os fundamentos da
avaliação da taxa de erro de bit são exatamente os mesmos.
DEFINIÇÃO
Uma taxa de erro de bit é definida como a taxa
na qual os erros ocorrem em um sistema de
transmissão. Isso pode ser traduzido diretamente
no número de erros que ocorrem em uma string de
determinado número de bits.
A definição de taxa de erro de bit é representada pela
seguinte fórmula:
PARA = Erros/Número Total de Bits
Se o meio entre o transmissor e o receptor for bom e a
relação sinal/ruído for alta, a taxa de erro de bit será muito pe-
quena, chegando até a ser insignificante e sem efeito perceptível
no sistema geral, chance de que a taxa de erro de bit precise ser
considerada.
As razões principais para existir a degradação de um canal
de dados e da BER é o caminho de propagação. Ambos os efeitos
têm um elemento aleatório para eles: o ruído segue uma função
65COMUNICAÇÃO DE DADOS
U
ni
da
de
4
de probabilidade Gaussiana e o modelo de propagação segue um
modelo de Rayleigh. Isso significa que a análise das características
do canal é normalmente realizada usando-se técnicas de análise
estatística.
Fatores que afetam a taxa de erro de
bit, BER
Pode ser visto usando Eb / No, que a taxa de erro de bit, BER,
pode ser afetada por vários fatores. Manipulando as variáveis
que podem ser controladas, é possível otimizar um sistema para
fornecer os níveis de desempenho necessários. Isso normalmente
é realizado nos estágios de projeto de um sistema de transmissão
de dados, para que os parâmetros de desempenho possam ser
ajustados nos estágios iniciais do conceito de projeto.
• Interferência: os níveis de interferência presentes em
um sistema são geralmente definidos por fatores exter-
nos e não podem ser alterados pelo projeto do sistema.
No entanto, é possível definir a largura de banda do sis-
tema. Ao reduzir a largura de banda, o nível de interfe-
rência pode ser reduzido. No entanto, reduzir a largura
de banda limita a taxa de transferência de dados que
pode ser alcançada.
• Aumento da potência do transmissor: também é possí-
vel aumentar o nível de potência do sistema para que
a potência por bit seja aumentada. Isso deve ser equili-
brado com fatores como os níveis de interferência para
outros usuários e o impacto do aumento da saída de
energia no tamanho do amplificador de potência e con-
sumo geral de energia e duração da bateria etc.
• Redução da largura de banda: outra abordagem que
pode ser adotada para reduzir a taxa de erro de bit é
66 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
reduzir a largura de banda. Níveis mais baixos de ruído
serão recebidos e, portanto, a relação sinal-ruído me-
lhorará. Mais uma vez, isso resulta em uma redução da
taxa de transferência de dados atingível.
• Modulação de ordem inferior: esquemas de modulação
de ordem inferior podem ser usados, mas isso ocorre à
custa da taxa de transferência de dados.
É necessário balancear todos os fatores disponíveis para
atingir uma taxa de erro de bit satisfatória. Normalmente, não é
possível atender a todos os requisitos e algumas compensações
são necessárias. No entanto, mesmo com uma taxa de erro de
bit abaixo do que é idealmente necessário, outras compensações
podem ser feitas em termos dos níveis de correção de erro que
são introduzidos nos dados que estão sendo transmitidos.
Embora mais dados redundantes tenham que ser enviados
com níveis mais altos de correção de erros, isso pode ajudar
a mascarar os efeitos de quaisquer erros de bit que ocorram,
melhorando assim a taxa geral de erros de bit.
A taxa de erro de bit, o parâmetro BER, é frequentemente
citada para muitos sistemas de comunicação e é um parâmetro-
chave usado para determinar quais parâmetros de link devem
ser usados, desde a potência até o tipo de modulação.
67COMUNICAÇÃO DE DADOS
U
ni
da
de
4
RESUMINDO
E então? Como foi seu aprendizado nesse capítulo?
Conseguiu atingir os objetivos de aprendizagem
proposto? Nesta unidade, você deve ter aprendido
que sempre é possível existir alterações causadas
por interferências, e elas irão acarretar modifica-
ções em relação às características do sinal. Apren-
demos que o erro de bit acontece quando apenas 1
bit de alguma unidade de dados, como um pacote
ou caractere, sofreu alteração de 1 para 0 ou de 0
para 1. O tipo erro em rajada acontece quando 2
ou mais bits foram corrompidos em uma unidade
de dados. É importante observar que esse tipo de
erro não significa que aconteça em bits consecuti-
vos. Para conseguir detectar ou realizar a correção
de erros, é preciso fazer o envio extra de alguns bits
redundantes que serão enviados junto aos dados.
Esses bits são acrescentados pelo próprio emissor
para depois serem retirados pelo receptor. Vimos
que, quando estamos detectando um erro, é ver-
dade que está sendo apenas verificado se houve
ou não algum erro. Já na correção de erros, faz-se
necessária a exatidão do número de erros cor-
rompidos e, além disso, saber a sua localização
na mensagem. Vimos que existem dois principais
métodos de correção de erros, são eles: correção
antecipada de erros e correção por retransmissão.
Oemissor faz a adição de bits redundantes através
de um processo que cria uma relação entre os bits
de dados reais e os bits redundantes. O papel do
receptor é verificar essa relação entre os conjuntos
e assim detectar ou corrigir erros. Estudamos que
os erros de desvio ocorrem por causa da alteração
do desempenho do instrumento ou do sistema de
teste após ter sido concluída uma calibração. Er-
ros aleatórios não são previsíveis e não podem ser
removidos através de correção de erros. Os erros
sistemáticos são causados tanto por imperfeições
68 COMUNICAÇÃO DE DADOS
U
ni
da
de
4
no analisador quanto pela configuração do teste.
Por fim, vimos que a taxa de erro de bit, BER, é um
parâmetro-chave para medir o desempenho de
um canal de dados com ou sem fio. Uma taxa de
erro de bit é definida como a taxa na qual os erros
ocorrem em um sistema de transmissão. Isso pode
ser traduzido diretamente no número de erros que
ocorrem em uma string de determinado número
de bits.
69COMUNICAÇÃO DE DADOS
U
ni
da
de
4
RE
FE
RÊ
N
CI
A
S
ALBINI, L. C. P.; BANNACK, A. Redes Sem Fio. [s.l.]:[s.n.], 2017.
FOROUZAN, B. A. Comunicação de dados e redes de
computadores. 4. ed. Porto Alegre: AMGH. [s.l.]:[s.n.], 2010. 1134
p.
KUROSE, J. F.; ROSS, K. W. Redes de computadores e a internet:
uma abordagem top-down. 3. ed. São Paulo: Pearson, 2006.
PETERSON, L. L.; DAVIE, B. S. Redes de computadores: uma
abordagem de sistemas. 1. ed. Rio de Janeiro: Elsevier, 2004.
ROCHOL, J. Comunicação de dados. 1. ed. Porto alegre: Bookman,
2012.
TANENBAUM, A. S. Redes de computadores. 1. ed. Rio de Janeiro:
Elsevier, 2003.
YOUNG, P. H. Técnicas de comunicação eletrônica. 5. ed. São
Paulo: Pearson, 2006.
Interfaces rs-232 e v.35 e a interface de comunicação serial rs-232
Porta Serial RS-232
Interface V.35
Conectores DB-25
Pinagem RS-232 de 9 pinos
Porta RS-485
Diferença entre as portas serial RS-232 e RS-485
Paridade de caractere e paridade combinada
Paridade simples e bidirecional
Código de verificação de paridade simples
Paridade bidimensional
Polinômio gerador crc
Verificação de redundância cíclica
Verificação CRC
Conceito do registrador de deslocamento CRC
Implementação de algoritmo CRC-8
Medição de erros na transmissão de dados
Tipos de erros
Erro de bit
Erro em rajada
Redundância
Detecção x Correção
Correção antecipada de erros x retransmissão
Código de erros
Erros de precisão
Erros de desvio
Erros aleatórios
Erros sistemáticos
Medição de taxa de erro de bits (BER)
Fatores que afetam a taxa de erro de bit, BER