Preview only show first 10 pages with watermark. For full document please download

Tecnologia Da Comunicação

Prof. Marcelo Saraiva Coelho

   EMBED


Share

Transcript

UNED DE CUBATÃO APOSTILA DE CURSO SUPERIOR DE TECNOLOGIA EM AUTOMAÇÃO E CONTROLE DE PROCESSOS INDUSTRIAIS CONTÍNUOS 5o MÓDULO MONTAGEM: PROFESSOR MARCELO S. COELHO Revisão 1 – JANEIRO/2008 INSTRUMENTAÇÃO DE SISTEMAS SUMÁRIO TRANSMISSÃO DIGITAL DE DADOS .......................................................................................... 1 MEIOS DE TRANSMISSÃO ......................................................................................................... 14 ERROS E DETECÇÃO DE ERROS ............................................................................................. 29 INTERFACE.................................................................................................................................. 36 PROTOCOLO ............................................................................................................................... 52 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Transmissão digital de dados O processo de transmissão de dados pode ser dividido em 5 componentes: Transmissor: Elemento que está originando a mensagem. Mensagem: Dado a ser enviado. Obs.: Na codificação da informação em um formato digital é comum precisarmos de vários bits. Por exemplo, usando o código ASCII, precisamos de 8 bits para transferir uma única letra. Canal de Transmissão: Meio físico por onde trafegará a mensagem. Obs.: A transmissão de dados digitais podem ser efetuadas em dois formatos: - Serial: apenas um canal para transmissão da informação. - Paralelo: vários canais para transmissão da informação. Protocolo de comunicação: Regras para que a comunicação seja estabelecida. Receptor: Elemento que está recebendo a mensagem. Figura 1. FORMATO DE TRANSMISSÃO DE DADOS PARALELO Na comunicação em paralelo, grupos de bits são transferidos simultaneamente (em geral, byte a byte) através de diversas linhas condutoras dos sinais. Desta forma, como Prof. Marcelo Saraiva Coelho 1 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação vários bits são transmitidos simultaneamente a cada ciclo, a taxa de transferência de dados é alta. No entanto, o processo de transferência em paralelo envolve um controle sofisticado e é razoavelmente complexo, o que o torna mais caro. Um dos problemas importantes diz respeito à propagação dos sinais no meio físico, isto é, no cabo de conexão entre o dispositivo e a interface. Figura 2. Transmissão paralela Essa propagação deve se fazer de modo que os sinais (os bits) correspondentes a cada byte cheguem simultaneamente à extremidade oposta do cabo, onde então serão reagrupados em bytes. Na transmissão Paralela, os bits que formam a unidade de informação devem ser enviados simultaneamente, isto é, ao mesmo tempo. Se desejo transmitir o caracter "K", todos os 8 bits ("01001011") deverão ser enviados ao mesmo tempo, como mostra a figura abaixo. Figura 3. Como os condutores que compõem o cabo usualmente terão pequenas diferenças físicas, a velocidade de propagação dos sinais digitais nos condutores poderá ser ligeiramente diferente nos diversos fios. Dependendo do comprimento do cabo, pode ocorrer que um determinado fio conduza sinal mais rápido (ou mais lento) que os demais fios e que desta forma um determinado bit x em cada byte se propague mais 2 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação rápido e chegue à extremidade do cabo antes que os outros n-1 bits do byte. Este fenômeno é chamado skew, e as conseqüências são catastróficas: os bits x chegariam fora de ordem (os bytes chegariam embaralhados) e a informação ficaria irrecuperável. Em decorrência desse problema, há limites para o comprimento do cabo que interliga um dispositivo ao computador, quando se usa o modo paralelo. As restrições citadas contribuem para que a utilização da comunicação em paralelo se limite a aplicações que demandem altas taxas de transferência, normalmente associadas a dispositivos mais velozes tais como unidades de disco, ou que demandem altas taxas de transferência, como CD-ROM, DVD, ou mesmo impressoras, e que se situem muito próximo do núcleo do computador. Em geral, o comprimento dos cabos paralelos é limitado a até um máximo de 1,5 metros. FORMATO DE TRANSMISSÃO DE DADOS SERIAL Na comunicação serial, os bits são transferidos um a um, através de um único par condutor. Os bytes a serem transmitidos são serializados, isto é, são "desmontados" bit a bit, e são individualmente transmitidos, um a um. Na outra extremidade do condutor, os bits são contados e quando formam 8 bits, são remontados, reconstituindo os bytes originais. Na transmissão serial os bits que formam as unidades de informação são transmitidos seqüencialmente, um após o outro, começando sempre pelo bit menos significativo (bms) e terminando no bit mais significativo (BMS). No exemplo a seguir, para transmitir a letra "K", cujo código ASCII é 01001011, enviamos primeiro o bit "1", depois o seguinte "1", o "0" e assim por diante até o último bit. Figura 4. Prof. Marcelo Saraiva Coelho 3 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Nesse modo, o controle é comparativamente muito mais simples que no modo paralelo e é de implementação mais barata. Como todos os bits são transferidos pelo mesmo meio físico (mesmo par de fios), as eventuais irregularidades afetam todos os bits igualmente. Portanto, a transmissão serial não é afetada por irregularidades do meio de transmissão e não há skew. No entanto, a transmissão serial é intrinsecamente mais lenta (de vez que apenas um bit é transmitido de cada vez). Figura 5. Como os bits são transmitidos seqüencialmente um a um, sua utilização é normalmente indicada apenas para periféricos mais lentos, como por exemplo, teclado, mouse, etc. ou quando o problema da distância for mandatório, como nas comunicações a distâncias médias (tal como em redes locais) ou longas (comunicações via linha telefônica usando modems). Comparativamente, a transmissão serial tem recebido aperfeiçoamentos importantes (seja de protocolo, de interface e de meio de transmissão) que vem permitindo o aumento da velocidade de transmissão por um único par de fios, cabo coaxial ou de fibra ótica. Como o aumento da velocidade de transmissão em interfaces paralelas ocasiona mais skew, a tendência tem sido no sentido do aperfeiçoamento das interfaces seriais que hoje permitem taxas de transferência muito altas com relativamente poucas restrições de distância. Em microcomputadores, a interface USB - Universal Serial Bus permite hoje ligar até 128 dispositivos a taxas muito altas (centenas de kbps). MODOS DE OPERAÇÃO DO CANAL DE COMUNICAÇÃO Existem três Modos de Operação possíveis para um Sistema de Comunicação: Simplex (transmissão unidirecional) Half - Duplex (transmissão bidirecional nãosimultânea) e Full - Duplex (transmissão bidirecional simultânea). No modo de operação Simplex, a comunicação só é permitida em um único sentido, a qualquer tempo; alguns exemplos: ligação entre uma Impressora e um Microcomputador; Sistema de TV e Rádio. No modo Half -Duplex, é permitida a 4 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação comunicação em qualquer sentido, mas nunca simultaneamente, exemplos: mensagens Fax; Sistema de Rádio em aeronaves comerciais. No modo Full - Duplex, é permitida a comunicação simultânea em qualquer sentido. Um exemplo bem característico é o Telefone. Figura 6. Velocidade de Transmissão A velocidade de uma transmissão digital de dados pode ser referenciada com relação a dois parâmetros: quanto ao Fluxo de Dados ou quanto à sinalização, ou representação, no Meio de Comunicação. Com relação ao Fluxo de Dados, adota-se o conceito de taxa de transferência de bits por unidade de tempo, independente de como esta se processe no Meio de Comunicação. É calculada como: VTx = NBitsTx [bps] ∆T VTx: Velocidade ou Taxa de Transmissão sendo, NbitsTx: Número de Bits Transmitidos ∆ T: Intervalo de Tempo da Transmissão em segundos bps: Unidade em bits por segundo Exemplo: uma transmissão de 12.000 bits em 10 segundos tem velocidade de 1.200 bps, pois VTx = 12.000 = 1.200bps 10 Prof. Marcelo Saraiva Coelho 5 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Esta definição de velocidade pode ser aplicada tanto às transmissões seriais quanto às paralelas. Com relação à velocidade referenciada à sinalização, considera-se que um bit de informação pode ser representado por algum tipo de sinalização (nível de tensão, freqüência, etc...), que é mantida por um fixo e uniforme período de tempo, chamado de Tempo de Bit. O número, então, dessas sinalizações em um segundo, é adotado como velocidade daquela transmissão e foi criada uma unidade especial, o baud, provavelmente em memória a Jean Marie Emile Baudot, funcionário do Telégrafo Francês, a quem se atribui a criação do código BAUDOT, usado em telegrafia. É comum a referência a este tipo de velocidade como "Taxa de baud" ou "Baud Rate" do Sistema. Este tipo de definição é utilizado apenas em transmissões seriais, devido à sua própria característica e origem histórica, ou seja, o Telégrafo. Vamos ver a seguir alguns exemplos para fixação do conceito. Figura 7. Exemplo: -Se Tb = 0,005 s, então a Taxa de Transmissão é: Taxa = 1/0,005s = 200 bauds ou 200 bps Aqui temos um exemplo onde existe um tipo de sinalização, no caso nível de tensão, para representar cada bit. O cálculo da velocidade é simples quando se conhece o Tempo de Bit - basta aplicar uma regra de três para se obter o resultado: Se um bit (ou uma sinalização) tem uma duração igual a Tb segundos, quantos bits (ou sinalizações) ocorrerão em 1 segundo? Basta inverter o Tempo de Bit para se obter o resultado. Neste caso é fácil verificar que a velocidade em bauds é igual à velocidade em bps, pois o número de sinalizações por segundo equivale ao de bits por segundo. Temos agora, na figura ao lado, uma transmissão onde cada nível lógico é associado a uma freqüência diferente, ou seja, continuamos a ter a relação de um tipo de 6 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação sinalização (neste caso freqüência) para cada bit. O cálculo de velocidade se faz como o anterior, basta inverter o Tempo de Bit, aqui a taxa em baud também é a mesma em bps. Observe entretanto que "sinalização" não é sinônimo de freqüência ou nível de tensão. Figura 8. Exemplo: -Se Tb = 0,005 s, então a Taxa de Transmissão é: Taxa = 1/0,005s = 200 bauds ou 200 bps Mesmo possuindo distintas definições, as unidades bps e baud são muitas vezes utilizadas como sinônimas por muitos autores e publicações da área, pois em muitos sistemas, como visto nos exemplos anteriores, o seu valor numérico coincide; porém, podem apresentar valores muito distintos entre si para um sistema onde se empregue algum método especial de transmissão que inclua compactação de dados ou codificação especial, em que uma sinalização na linha possa representar mais de um bit de informação. Assim sendo, é fácil imaginar que se possa conseguir, por exemplo, com uma taxa de transmissão de 2400 bauds, um fluxo de dados de 9600 bps. Como regra geral, utiliza-se a velocidade de transmissão medida em baud quando se está interessado em explicitar as características do sinal elétrico no meio de transmissão empregado, e utiliza-se o bps quando estamos mais interessados em explicitar o volume de dados enviados durante uma transmissão. Em nosso curso, como sempre utilizaremos sistemas onde cada bit é representado por um tipo de sinalização na linha, poderemos utilizar tanto uma unidade quanto a outra, sempre com a ressalva de que se trata de grandezas diferentes. Modos de Sincronismo Mesmo após definidos o tipo e velocidade de uma Transmissão Digital de Dados, um outro problema permanece: como que o Receptor pode estar sincronizado com o Prof. Marcelo Saraiva Coelho 7 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Transmissor, de modo a interpretar corretamente a seqüência de bits enviada por este último? Para entendermos melhor esse problema, observemos a figura ao lado, que mostra uma transmissão Serial sendo feita, no casos dos caracteres ASCII "G" e "k". Observe que, dependendo do bit com o qual o Receptor considera iniciada a recepção, podemos ter uma incorreta interpretação do trem de dados; esse problema é conhecido como falha ou erro de sincronismo. Para evitar essas falhas de sincronismo é necessário que tanto Transmissor quanto Receptor estejam de acordo quanto ao início e término de uma unidade de informação. Para tanto, duas técnicas ou métodos foram criados: o sincronismo e o assíncrono. Figura 9. Transmissão Assíncrona Este tipo de sincronismo é característico de transmissões seriais; nele se necessita que seja definido um dos estados de tensão da linha como sendo de repouso e outro estado definido como de atividade. Tais estados em telegrafia são chamados, respectivamente, de Marca e Espaço, nomenclatura que vamos adotar daqui para frente. Marca é normalmente associada ao estado lógico "1", e representada por uma tensão positiva ou nula, enquanto Espaço é associado com o estado lógico "O" e representado por um valor de tensão negativo. Essa definição é importante pois os circuitos de hardware sabem que irá se iniciar uma transmissão quando o estado da linha mudar de Marca para Espaço. 8 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 10. O método assíncrono consiste em acrescentar, para cada caracter a ser transmitido, um bit de Espaço no início da transmissão, caracterizando a transição da linha de repouso para atividade, e outro bit de Marca ao final da transmissão, para garantir a caracterização de uma transição de linha em atividade para repouso. Note que o sincronismo existe apenas durante a transmissão de cada unidade transmitida, ou caracter. Figura 11. O bit de espaço no início da transmissão é chamado de "Start Bit" , o bit de Marca ao final é chamado de "Stop Bit", sendo muito comum utilizarem-se 2 ou 1,5 Stop Bits em transmissões seriais. Se você achou estranhou utilizar 1,5 bit como Stop Bit, observe que, para os circuitos de hardware, o bit representa um nível de tensão e um tempo (tempo de bit) de permanência dessa tensão; assim sendo, 1, 1,5 ou 2 Stop Bits representam tempos que os circuitos de hardware devem aguardar para considerar terminada a decodificação dos bits anteriormente recebidos. Prof. Marcelo Saraiva Coelho 9 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 12. 10 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Transmissão Síncrona Este tipo de transmissão pode ser utilizado tanto em transmissões Seriais quanto Paralelas; ele exige a existência de um sinal especial, gerado normalmente pelo Transmissor, que garanta o sincronismo entre os circuitos de hardware do Receptor, esse sinal é chamado de relógio, ou "clock", ou simplesmente de sinal de Sincronismo, ou apenas "Sinc" para abreviar. Este sinal garante a interpretação correta dos bits e mantém o sincronismo ao longo de toda a transmissão e não apenas durante o envio de um caracter, como é o caso da transmissão assíncrona. Figura 13. Acima temos exemplos de transmissões Paralela e Serial síncronas. Observe que o sinal de sincronismo referencia o bit a ser decodificado. No caso das transmissões Seriais, costuma-se adotar ainda uma seqüência especial e bits chamada de moldura, ou "frame", antes da transmissão do pacote de dados propriamente dito, de modo a assegurar que os circuitos de hardware possam decodificar corretamente o pacote de dados pela simples identificação deste "frame". Prof. Marcelo Saraiva Coelho 11 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 14. Com relação às vantagens e desvantagens de um método sobre outro, é fácil verificar que a transmissão síncrona exige ao menos uma via a mais no meio de comunicação para o sinal de sincronismo, o que aumenta os custos; por outro lado, a transmissão assíncrona, feita à mesma velocidade de uma síncrona, tende a ser menos eficiente porque insere ao menos dois bits por caracter transmitido. Tanto uma técnica quanto outra podem ser encontradas em um ambiente de automação. Em nosso curso daremos ênfase a transmissões Seriais assíncronas. 12 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Exercitando Responda às seguintes questões: O sinal elétrico medido na saída de um microfone dinâmico é analógico ou digital? __________________________________________________________________ Podemos transmitir dados com 5,6 bits de comprimento pelo método Serial? Por quê? __________________________________________________________________ Cite uma aplicação de transmissão Paralela. __________________________________________________________________ Descreva o processo de transmissão Serial Assíncrona explicando a função dos Start e Stop Bits. __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ A leitura de dados numa memória RAM pela CPU pode ser considerado um exemplo de transmissão Paralela Síncrona? Por quê? __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ Numa transmissão Serial Assíncrona, onde o nível lógico "O" vale -5v e o nível "1" vale +5v, foram transferidos 500 caracteres ASCII de 8 bits em 0.5 segundo. Qual velocidade da transmissão? Se a transmissão fosse Síncrona, sem usar frames, os mesmos bytes serão transferidos em um tempo maior ou menor? Justifique. __________________________________________________________________ __________________________________________________________________ __________________________________________________________________ Prof. Marcelo Saraiva Coelho 13 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Meios de Transmissão Neste capítulo estudaremos alguns problemas e características relativas aos Meios de Comunicação. Como já visto, é pelo Meio físico que vai circular o sinal elétrico responsável pelo transporte da informação; conhecer as características e o comportamento do sinal elétrico é vital já que propriedades deste último, como Amplitude, Freqüência e Fase podem sofrer certas distorções que podem alterá-lo ou mascará-lo a ponto de "confundir" os circuitos de hardware, resultando em erros na comunicação. Tais distorções podem ser causadas pelo próprio Meio, devido a sua natureza intrínseca; conhecendo então o porquê delas, poderemos especificar melhor tanto os sinais quanto os materiais de modo a reduzi-las. Figura 15. Um outro tipo de perturbação que um sinal pode sofrer é conhecido como interferência eletromagnética. Ela ocorre devido ao fenômeno conhecido da Física chamado de Indução Eletromagnética. Trata-se do mesmo princípio que rege a geração de energia em um Gerador Elétrico e que faz um transformador funcionar, ou seja, uma corrente variável no tempo é capaz de produzir um campo magnético variável, um condutor que esteja imerso neste campo magnético variável sofre indução e apresenta uma tensão variável em suas extremidades. Se este condutor já estiver sendo percorrido por uma corrente, então a corrente que foi induzida é somada àquela, produzindo alteração de suas características. As interferências eletromagnética têm como origem fenômenos elétricos como raios, chaveamento de correntes em contatores, faiscamento de certos tipos de motores (aspiradores de pó, furadeiras, etc.) e transmissões de rádio. Sua influência pode ser reduzida pelo uso de blindagem eletromagnética, como malhas metálicas envolvendo o condutor, ou em muitas vezes pelo simples deslocamento físico do Meio em relação à fonte de interferência. 14 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Como o estudo das técnicas especiais para blindagem eletromagnética escapam ao escopo de nosso curso, estudaremos alguns tipos de distorções mais conhecidos e seus efeitos sobre o sinal elétrico que percorre um Meio de Transmissão. Vamos então analisar dois tipos mais comuns de distorção: em Amplitude e em Freqüência. Distorção em Amplitude: Imunidade a Ruídos Este tipo de distorção ocorre devido ao fato de que os ruídos elétricos externos acabam se somando à amplitude do sinal original que percorre o Meio. Um ruído elétrico pode ser causado por agentes externos, como nos casos de faiscamento em contatores, etc., ou por aquecimento nos circuitos de hardware; em todo caso é prudente conhecer bem o ambiente de trabalho antes de se fazer uma instalação. Para entender porque a Distorção em Amplitude atrapalha a comunicação, vamos estudar um exemplo simples. Sabemos que os circuitos digitais de hardware, para interpretação correta dos bits, trabalham com níveis bem definidos de tensão, em lógica TTL. Por exemplo, um sinal digital para ser reconhecido como nível lógico "1" deve estar entre 2,4 e 5,0 volts e para nível lógico "0" deve estar entre 0 e 8 volts, existindo portanto uma região onde as tensões maiores que 0,8v e menores que 2,4 v não serão decodificadas como nível lógico, o que caracteriza a existência de uma faixa de Imunidade a Ruídos, no caso TTL de 1,6v, em que qualquer ruído será desprezado, como pode ser visto na figura abaixo. Figura 16. Essa faixa, entretanto, pode ser insuficiente para evitar alguns transtornos. Um exemplo dos problemas que podem ocorrer com um sinal em um meio inadequado pode ser visto abaixo. Nela vemos que o sinal original, por interferência do ruído elétrico externo que se soma ao sinal elétrico original, causa uma interpretação errônea no circuito de recepção; neste caso a faixa de imunidade ao ruído não foi suficiente para garantir correta decodificação do sinal e, como o meio de comunicação Prof. Marcelo Saraiva Coelho 15 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação não é 100% imune às interferências do ambiente que o circunda, devemos procurar a tecnologia mais adequada às condições de trabalho. Figura 17. Distorção em Amplitude : Atenuação A atenuação de amplitude de um sinal ao longo do meio de comunicação é outro tipo de influência que deve ser considerada. Ela está relacionada com a perda de potência do sinal ao longo do Meio devido principalmente à sua resistência elétrica. É muito importante conhecê-la pois um sinal que sofreu uma grande atenuação de amplitude poderá não ser corretamente detectado, ou nem identificado, pelos circuitos de hardware. Uma forma de mensurar essa perda de potência é através de uma relação entre a potência elétrica entregue ao meio e a potência recebida. Foi criado, então, o conceito de Ganho de Potência, cuja unidade é o Bell (B). O Ganho de Potência em Bell é definido como: Gp = log Psaida em Bell Pentrada Gp: Ganho de Potência (B) Onde: Psaída: Potência de Saída (W) Pentrada: Potência de Entrada (w) 16 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação A experiência prática demostrou que a subunidade decibell é mais adequada, daí a definição ficar: Gp = 10 log Psaída em dB Pentrada Vamos então considerar três situações, chamando de x à relação Psaída , temos: Pentrada a) Quando Psaída = Pentrada então x = 1 e Gp = 0dB. Neste caso não existe nenhum Ganho, toda a potência entregue ao meio é devolvida, fica fácil verificar que o ganho Gp é igual a zero dB pois se x = 1, então, log(1) = 0. b) Quando Psaída > Pentrada temos x > 1 e Gp sempre positivo. Neste caso temos um Ganho de Potência, é o caso de amplificadores cuja potência de saída é sempre maior que a de entrada. Aqui o valor do ganho Gp é sempre positivo, pois se x > 0 então, por definição, log x > 0. c) Quando Psaída < Pentrada temos x < 1 e Gp sempre negativo. Neste caso temos Atenuação de Potência ao invés de Ganho, pois a potência de saída é menor que a de entrada. São os casos onde o valor de Gp é sempre negativo pois se x < 1 então por definição, log x < 0. Para evitar os valores negativos que ocorrem quando Psaída < Pentrada, costuma-se utilizar uma definição especial quando estamos lidando com Atenuação, como segue: A = 10 log Pentrada em Db Psaída Esta definição garante valores sempre positivos nos casos de Atenuação. Daqui deriva o conceito de coeficiente de Atenuação (α, dado em dB/km) de um cabo de comprimento L (em Km), como sendo: α= 10 Pentrada log em dB/ Km L Psaída Exemplo: Calcule a potência de um sinal de 1 W após 0,5 Km de fio com atenuação de 40 dB/Km. Solução: Substituindo na fórmula temos: 40 = Prof. Marcelo Saraiva Coelho 10 1 log 0,5 Psaída 17 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Continuando, 40 1 1 = log ⇒ 2 = log 20 Psaída Psaída aplicando a definição de logaritmo temos: 102 = 1 resultando em: Psaída Psaída = 0.01 W Considerando esse resultado concluímos que, ao final do cabo de 500m, obteremos um sinal com cerca de 1% da potência original. É comum para o cabo de comunicação, ao invés de seu coeficiente de atenuação, especificar-se a Resistência Elétrica por unidade de comprimento, normalmente em Ω/Km, juntamente com a Capacitância por Km; estes parâmetros costumam também servir de referência para a escolha de fios ou cabos na transmissão de dados. Distorção em freqüência Este tipo de distorção, também conhecido como distorção harmônica, ocorre porque o meio de transmissão não atenua da mesma forma sinais de freqüências diferentes que caminham por ele, facilitando ou dificultando o acesso de certas freqüências ao meio de comunicação. Um exemplo bem prático desse problema temos nos circuitos de áudio, onde se exige que um bom amplificador reproduza igualmente o som grave de um contrabaixo quanto o agudo de um clarinete, algo que só bons amplificadores conseguem. Aqui torna-se necessário aprender um novo conceito - o de Banda de Freqüência, ou Banda de Passagem. Chamamos de Banda de Passagem do Meio a faixa de freqüências à qual um sinal elétrico deve pertencer para atravessar o Meio sem ter atenuações apreciáveis de amplitude. Em termos práticos, representa a gama de freqüências que o Meio filtra sem distorção apreciável do sinal. Essa propriedade pode ser melhor entendida com uma representação gráfica, utilizando o plano cartesiano no chamado Diagrama de Bode. No Diagrama de Bode, o eixo das abcissas está graduado em freqüências numa escala logarítmica, e o eixo das ordenadas graduado com valores de Ganho de Potência (em decibéis). Vamos dar um exemplo: suponha que num laboratório tenhamos um gerador de sinal senoidal alimentando um circuito de áudio. 18 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Se formos variar a freqüência do gerador e medir, para cada valor de freqüência escolhido, as Potências de Entrada e de Saída com um Wattímetro, poderíamos obter a seguinte Tabela: Tabela 1. Freq. (Hz) 20 30 40 70 100 200 300 600 1K 2K 3K 4K Pe (mW) 10 10 10 10 10 10 10 10 10 10 10 10 Ps (mW) 1,2 2,5 3,2 5,0 6,3 6,5 6,3 5,0 4,0 1,5 0,4 0,06 Gp (dB) -9 -6 -5 -3 -2 - 1,9 -2 -3 -4 -8 -14 - 22 Com base nessa Tabela, poderíamos levantar o Diagrama de Bode, como visto a seguir. Figura 18. Do Diagrama pode-se observar que freqüências de sinal fora dos limites definidos pela Banda apresentam uma atenuação muito grande, enquanto que sinais de freqüências compreendidas entre os limites de 70Hz e 1KHz não sofrem atenuação apreciável essa é também chamada de Região de Resposta Plana; por exemplo, o circuito de telefone tem Resposta Plana na faixa de 300 Hz até 3000Hz. Para termos uma idéia de como uma distorção em freqüências modifica um sinal digital, vamos observar a figura abaixo. Nela temos um sinal digital transmitido a 2000bps por vários Meios de transmissão; cada um deles, de diferentes larguras de Banda muito estreita (500 Hz), produz uma distorção harmônica capaz de descaracterizar completamente o sinal. À medida que aumentamos a Banda, o sinal apresenta distorção cada vez menor, e podemos ver que uma Banda de 4000 Hz produz um sinal aceitável. Prof. Marcelo Saraiva Coelho 19 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Dessa experiência, podemos deduzir que um sinal digital, sendo transmitido a uma determinada velocidade, exige que o Meio de transmissão tenha uma Banda adequada, digamos mínima, para ser efetivamente transmitido, uma vez que Bandas menores implicarão em perdas de sinal ou distorção acentuada. É comum por isso mesmo especificar-se a Banda de um determinado meio de transmissão em bauds ou bps. Figura 19. Aqui vale uma observação a respeito de uma situação que poderá acontecer. Imaginem que um certo sistema de comunicação está utilizando um determinado cabo apropriado para a transmissão em curso e você precisa fazer uma extensão do sistema para alcançar outra sala, mas não dispõe de nenhum metro do dito cabo; você, então, decide testar com um fio de telefone, apesar do que você estudou sobre distorção e meios de transmissão, e, para sua surpresa, o sistema funciona com fio comum de telefone. O que ocorreu aqui? Observe que, dependendo da velocidade e distância envolvidas, as distorções introduzidas não foram suficientes para impedir a comunicação; é também possível que ocorram mais erros, o que tornaria o processo de comunicação mais lento devido à maior quantidade de retransmissões. Em todo 20 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação caso, apesar de se conseguir a transmissão, será uma solução muito mal elaborada, que, numa situação mais crítica, poderá comprometer a confiabilidade do sistema. Portanto, se você não estiver numa emergência, não faça isso!!! Após estudados alguns tipos de distorção, podemos entender por que é importante utilizar meios de transmissão adequados. Como os métodos de transmissão costumam ser padronizados ou bem conhecidos de fabricantes e usuários, existem alguns tipos mais utilizados em transmissão de dados ou redes de computadores que podem ser encontrados no comércio especializado. Evidentemente, sempre existirão fios e cabos especiais feitos sob encomenda, mas não constituem regra, dado o custo elevado. Visto que o meio de transmissão deve possuir características adequadas ao tipo de transmissão, é natural que alguns tipos de fios ou cabos sejam utilizados exclusivamente em transmissões Seriais, tais como Par Trançado, Coaxial e Fibra Óptica , que serão vistos a seguir; enquanto os cabos tipo "flat" ou multivias sejam característicos de transmissões Paralelas. Vamos conhecer alguns meios de transmissão para a comunicação Serial, que nos interessam mais de perto. CABO DE PAR TRANÇADO A figura abaixo mostra um tipo de fio muito utilizado em telefonia e em certas redes de computadores, chamado de Par Trançado. Constitui-se de uma dupla de condutores rígidos, envoltos em uma capa isolante, trançados um em torno do outro; existem também cabos com algumas dúzias de pares, conhecidos como do tipo "manga". Podemos também encontrar o Par trançado blindado, que utiliza uma malha metálica envolvendo os condutores para diminuir as influências de introdução eletromagnética. Figura 20. CABO COAXIAL Outro tipo comum de Meio de transmissão é o cabo coaxial. Possui esse nome pois é composto de um fio condutor sólido central, envolto por um isolante que é circundado por uma malha metálica que atua como blindagem eletromagnética com uma capa de Prof. Marcelo Saraiva Coelho 21 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação isolação externa. Pode ser encontrado com uma via interna (coaxial simples) ,ou mais de uma (coaxial composto). Figura 21. FIBRA ÓTICA Outro tipo muito utilizado principalmente em redes de computadores é a fibra óptica. É constituída por um núcleo de material cristalino condutor de luz, envolto em outro material chamado de casca, de índice de refração diferente do núcleo. O conjunto todo pode ser envolto em uma capa protetora com ou sem material protetor contra choque mecânico. Podemos encontrar cabos ópticos com mais de um núcleo. Figura 22. O princípio de funcionamento das fibras ópticas baseia-se na Lei de Snell ,conhecida na Física Óptica. Vamos considerar a figura acima - para ela, a Lei de Snell pode ser escrita como: sen α n 2 = onde : sen β n1 senα: Seno do ângulo de Incidência senβ: Seno do ângulo de Refração 22 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação n1: Índice de Refração do Meio 1 n2: Índice de Refração do Meio 2 Figura 23. No caso (a), um raio de luz penetrando o meio 1 sofre refração com ângulos dados pela Lei de Snell. No caso (b), uma vez que não ocorre refração para o Meio 2 e sim uma reflexão, o ângulo de Incidência é chamado de ângulo Crítico. O caso (c) mostra um raio incidindo em um ângulo acima do ângulo Crítico; neste caso o raio luminoso sofre reflexão total, retornando ao meio 1. A partir deste fato, as fibras são construídas de modo a ocasionar reflexão total do raio luminoso, como mostra a figura abaixo; o índice de refração do núcleo e da casca é tal que possibilita a entrada do raio luminoso de modo a confiná-lo dentro da fibra, por causa das sucessivas reflexões totais que sofre. Figura 24. Prof. Marcelo Saraiva Coelho 23 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Para a utilização das fibras ópticas em circuitos de comunicação de dados, são necessários circuitos de interface convenientes, que convertam o sinal digital em impulsos de luz; para isso, utilizam-se diodos emissores de luz (LEDs), da faixa do infravermelho, como emissores, e fotodiodos como receptores, existindo circuitos integrados especiais para estas funções. As fibras requerem também tipos especiais de conectores para emendas, terminação ou derivação entre cabos. A seguir temos um quadro comparativo e outro com algumas características dos Meios citados. Figura 25. Tabela 2. Características Médias Cabo Coaxial 2 Fibra Óptica sem blindagem (0,89mm ) (λ = 1550nm) Atenuação (db/Km) ~ 40 ~ 40 0,2 Taxa de Dados (Mbps) <1 3,1 ~ 10 > 100 80 ~ 200 50 ~ 80 não aplicável Impedância Característica (Ω) 24 Par trançado Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação MEIO DE TRANSMISSÃO SEM FIO – SISTEMAS WIRELESS Sistemas sem fio diferem de sistemas cabeados pelo uso da atmosfera como meio de transmissão de ondas eletromagnéticas. Trata-se de uma tecnologia centenária no uso de transmissão de sinais analógicos de áudio e vídeo, mas relativamente recente para transmissão de dados digitais. As ondas eletromagnéticas são caracterizadas por sua freqüência e comprimento de onda, sendo grandezas inversamente proporcionais. A figura mostra o espectro eletromagnético, onde relaciona os comprimentos de onda da radiação letromagnética com as suas respectivas designações como rádio/microondas, infra-vermelho, luz visível, ultra-violeta, raios X e raios gama. Figura 26. Para a transmissão de dados digitais sem fio encontramos aplicações com ondas nas freqüências de rádio, microondas e infra-vermelho. As ondas eletromagnéticas nas freqüências de rádio e microondas podem ser geradas por sinais de tensão e correntes alternadas aplicadas em antenas. Devido ao grande uso da radiofreqüência, o seu espectro é dividido em faixas com sua utilização regulamentada por órgãos governamentais, no caso do Brasil, a ANATEL. As faixas do espectro mais conhecidas são: MF (Medium Frequency): Radiodifusão em AM VHF(Very High Frequency): Radiodifusão em FM e TV UHF(Ultra High Frequency): Telefone Celular, TV, Redes A utilização de uma determinada freqüência deve ser licenciada junto a ANATEL que desta forma terá como controlar e impedir que outro usuário utilize esta mesma freqüência. Prof. Marcelo Saraiva Coelho 25 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 27. No entanto, em cada faixa do espectro, existem determinados intervalos de freqüências, chamados de ISM (Industrial, Science e Medical), para uso sem licenciamento, desde que sejam respeitados determinados limites de potência de transmissão. São elas: 902-907,5 MHz e 915-928 MHz ou 2400-2483,5 MHz e 57255850 MHz A figura mostra um sistema de aquisição de dados, comumente chamada de SCADA (Supervisory Control And Data Acquisition), onde uma estação central coleta e envia dados a unidades remotas, chamadas de UTRs via enlaces de rádio. Figura 28. Em cada unidade remota os dados são concentrados em controladores lógicos programáveis ou dispositivos microprocessados dedicados ao tipo de sistema supervisionado. A transmissão dos dados digitais é efetuada por enlaces sem fio usando rádio modem e um sistema irradiante composto de antena, cabeamento e conexões. A propagação dos sinais é efetuada com sinais de tensão senoidais, sendo a função do radio modem efetuar modificações nestes sinais , usando técnicas específicas, para codificar os dados digitais a serem transmitidos. No momento da recepção, cabe ao radio-modem decodificar o dado digital a partir do sinal senoidal recebido pela antena. 26 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Além de suas funções básicas, os rádios modem atuais permitem a configuração e diagnóstico local e remoto através de softwares dedicados. As tecnologias de comunicação sem fio estão invadindo todos os espaços e não será diferente no ambiente de automação de processo. Os sistemas sem-fio tem vantagens como mobilidade, sendo uma alternativa a locais com restrições de lançamento e distância de cabeamento, no entanto questões como segurança, confiabilidade e alimentação elétrica das unidades remotas devem ser consideradas. A tabela mostra algumas das várias soluções padronizadas para comunicações sem fio atualmente disponíveis no mercado que naturalmente serão utilizadas para controle de processos. Figura 29. Exercitando Qual é a Imunidade ao Ruído num sistema onde o valor lógico "0" é reconhecido como estando entre 0v e 1v, e o valor lógico "1" como entre 9,5 v e 12v? O que é distorção em amplitude? Cite um exemplo. Se um sinal de 50mW é injetado num cabo de 1Km de comprimento, cujo coeficiente de atenuação vale 20dB/Km, qual será a potência do sinal medida ao final deste? O que é Banda de Passagem? Considerando-se uma transmissão de dados, por que é importante conhecê-la? Prof. Marcelo Saraiva Coelho 27 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação 28 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Erros e Detecção de Erros Durante uma Transmissão Digital de Dados podemos considerar como Erro a perda ou distorção do sinal elétrico digital que acarrete no Receptor numa errônea interpretação dos bits enviados pelo Transmissor. O Erro pode ser causado por eventos transientes ou não - transientes. Eventos transientes possuem origem aleatória, são de difícil previsão, o que torna complexo ou mesmo impossível o controle de seus efeitos, alguns exemplos: interferência elétrica por tempestade (raio), ruído de chaveamento (centelhamento de comutadores), etc. Eventos não-transientes, ao contrário, são previsíveis e seus efeitos podem ser muitas vezes atenuados pela adoção de técnicas de supressão de ruído, blindagem de cabos, etc., alguns exemplos: radiointerferência, indução de corrente alternada, etc. Assim sendo, podemos aceitar o fato de que, apesar de todos os cuidados para evitar interferência no sinal elétrico digital, alguns Erros eventuais poderão ocorrer. Em alguns sistemas, como Telefonia, uma falha de 20% nos dados transmitidos pode tornar ainda uma mensagem inteligível; em outros casos, como controle de lançamento de foguetes, exigem-se sistemas livres de erros (error free). Para que nossa transmissão fique segura, ou mantenha os erros em níveis toleráveis, é necessária a criação de mecanismos capazes de detectar e/ ou corrigir tais erros. A correção de erros é um capítulo à parte da detecção dos mesmos.Para isso existem algumas técnicas que, devido a complexidade e aplicações específicas, não serão objeto de nosso estudo. Para nós basta saber que, se um erro foi detectado durante a transmissão de um pacote de dados ao menos uma retransmissão desse pacote deve ser efetuada. As técnicas de detecção de erro envolvem mais ou menos um grau de redundância: bits ou bytes são adicionados ao pacote de informação original com a finalidade de servirem de sinalizadores de erro. Estudaremos as técnicas da Paridade, Check Sum e CRC. Paridade de Caracter Neste método é calculado um bit adicional, chamado de Paridade, para cada caracter transmitido. O valor deste bit de Paridade (se "1" ou "0") é calculado conforme se deseje trabalhar com Paridade Par ou Ímpar, de acordo com a seguinte regra: Prof. Marcelo Saraiva Coelho 29 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação a) Paridade Par: escolhe-se o bit de modo que ocorra, no caracter considerado mais o próprio de paridade, uma quantidade par de bits "1". b) Paridade Ímpar: escolhe-se o bit de modo que ocorra., no caracter considerado mais o próprio de paridade, uma quantidade ímpar de bits"1". Figura 30. A tabela a seguir fornece alguns exemplos. Tabela 3. Bit de Paridade Bit de Paridade para Paridade Par Paridade Ímpar 0100 0001 0 1 u 0111 0101 1 0 8 0011 1000 1 0 $ 0010 0100 0 1 Caracter Código ASCII A A eficiência do método da paridade não é muito grande pois como ele se baseia num par de bits (1 e 0) para reportar uma relação também binária (par, ímpar), caso ocorra um número par de erros ou inversões acidentais, os erros não são detectados. A tabela abaixo contém uma série de exemplos demonstrando essa fragilidade. Na coluna Transmitido temos o byte e o correspondente bit de Paridade Par, na coluna Recebido, a simulação de um erro (inversão de bit). 30 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Tabela 4. Transmitido Recebido 0110 0000 0 0110 0000 0 0110 0000 0 1110 0000 0 0110 0000 0 1110 1000 0 0110 0000 0 1110 1010 0 Conclusão verificando o bit de Paridade Nenhuma inversão: no par de 1s, paridade certa. Uma inversão: no par de 1s, o erro é detectado. Duas inversões: no par de 1s, o erro não é detectado. Três inversões: no ímpar de 1s, o erro é detectado. Apesar da fragilidade, o método é muito utilizado pela simplicidade de cálculo. Em transmissões seriais assíncronas é muito utilizado acrescentando-se o bit de paridade após o BMS, como pode ser visto abaixo. Figura 31. O método da paridade é também muito utilizado em placas de memória RAM, para checar se o seu conteúdo foi adulterado ou não. Paridade de Bloco A paridade de bloco segue a mesma idéia da paridade de caracter, sendo, porém, que a operação é feita nos bits de um bloco de caracteres, cujo tamanho é escolhido conforme a conveniência, resultando num Caracter de Paridade. O Caracter de Paridade ainda é conhecido como BCC de "Block Check Caracter", ou caracter de verificação de bloco; abaixo temos um exemplo de cálculo e uma simulação de erro para verificar a eficiência. Prof. Marcelo Saraiva Coelho 31 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Tabela 5. Transmitido Recebido Mensagem Duplo erro em um Duplo erro em dois caracter caracteres J 0100 1010 0100 1010 0100 1010 u 0111 0101 0111 0101 0111 0011 F 0100 0110 0100 0000 0100 0000 G 0110 0111 0110 0111 0110 0111 0001 1110 0001 1110 0001 1110 0001 1000 0001 1110 (erro detectado) (erro não detectado) BCC calculado e enviado pelo Transmissor BCC calculado pelo Receptor para comparação com aquele enviado pelo Transmissor: Como pode ser visto, a eficiência do método também não é muito grande, estando sujeito a erros: o Receptor não conseguiu descobrir os erros duplos em dois caracteres. Podem-se unir os dois métodos já vistos, utilizando o Bit e o caracter de Paridade. Quando assim feito, os Bits de Paridade gerados são conhecidos com VRC, de "Vertical Redundancy Check", e o Caracter de Paridade como LRC, de "Longitudinal Redundancy Check" mas ainda assim continuaríamos com possíveis erros nãoidentificáveis. Tabela 6. Mensagem Bit de Paridade ou VRC J 0100 1010 1 u 0111 0101 1 F 0100 0110 1 g 0110 0111 1 0001 1110 0 Caracter de Paridade ou LRC Checksum - Verificação da Soma Este tipo de verificação é feito também sobre um bloco de dados, como o BCC, sobre o qual é feita uma soma binária comum entre todos os caracteres. O resultado dessa soma é utilizado como Caracter de Verificação, neste caso chamado de Checksum ou Soma de Cheque. 32 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Neste método, costuma-se truncar o tamanho do Checksum em bits da soma para um valor máximo, visto que por este método o tamanho em bits da soma, ou do Checksum, depende do tamanho do bloco somado. Figura 32. É um método eficaz para detectar os erros nos quais o método da paridade falha, mas não é perfeito para combinação de erros aleatórios, como a tabela abaixo nos mostra. Tabela 7. Transmitido Mensagem Recebido Duplo erro em Duplo erro em Erro simples em uma linha duas linhas duas linhas J 0100 1010 0100 1010 0100 1010 0100 1011 u 0111 0101 0111 0101 0111 0011 0111 0101 F 0100 0110 0100 0000 0100 0000 0100 0110 g 0110 0111 0110 0111 0110 0111 0110 0110 0110 1100 0110 1100 0110 1100 0110 1100 0110 0110 0110 0100 0110 1100 (detectável) (detectável) (não detectável) Checksum Tx Checksum Rx Como pode ser observado na tabela anterior, o Receptor calculando o CheckSum descobre erros duplos de bits mas falha para erros simples; o método também não descobre erros de seqüência, isto é, produz o mesmo valor não importa que byte seja enviado primeiro, e isto pode ser muito importante. Prof. Marcelo Saraiva Coelho 33 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação CRC - Verificação de Redundância Cíclica Esse método, como o anterior, fornece um caracter de verificação mais conhecido como CRC de "Cyclic Redundancy Character". Consiste em realizar uma operação de divisão sobre o bloco de dados com um divisor conhecido, utilizando-se o resto da operação como um Caracter de Verificação. A divisão é feita considerando-se como o Dividendo a seqüência de bits que será transmitida, sendo que o Divisor é convenientemente escolhido de modo a controlar o tamanho em bits do Resto da divisão. É muito comum a utilização de CRC de no máximo 16 bits, o que para a maior parte dos casos fornece uma boa segurança; entretanto, podem-se encontrar aplicações especiais que utilizam um CRC de 32 bits. Vamos considerar como exemplo o bloco de mensagem "JuFg" da tabela anterior, que será expresso como uma seqüência de bits: 01001010 01110101 01000110 01100111 J u F g que, em decimal, representa 1.249.199.719 Vamos escolher agora um divisor arbitrário, digamos 525; como resultado da divisão, temos um resto igual a 19, ou, em binário, 00010011, que seria então o nosso CRC. A escolha aleatória do Divisor pode comprometer a eficiência do método, tornando-o lento pelo volume de cálculos envolvidos ou mesmo inócuo contra certos erros; mas existem alguns valores de comprovada eficácia que são utilizados. A especificação desses Divisores é feita na forma de um polinômio: por exemplo, o valor 525, utilizado em nosso exemplo para ser representado como polinômio, primeiro seria convertido para binário, resultado 0010 0000 1101 para, em seguida, ser expresso na forma de um polinômio: ox11 + ox10 + 1x9 + ox8 + ox7 + ox6 + ox5 + ox4 + 1x3 + 1x2 + ox1 + 1x0 que, considerando apenas os termos não zeros, resulta em: x9 + x3 + x2 + x0 Existem dois destes polinômios mais utilizados; um é o especificado pelo CCITT (Comitê Consultaif Internacionale de Telegrafia et Telephonie, com sede em Genebra), 34 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação mais conhecido como CRC - CCITT, e outro conhecido como CRC - 16, vistos na tabela seguinte: Tabela 8. Nome do CRC Polinômio CRC - CCITT X16 + x12 + x5+ x1 CRC - 16 X18 + x15 + x2 + x1 O método do CRC oferece 100% de garantia na detecção dos erros citados anteriormente, além de outros tipos não citados como erro de inversão simultânea de 16 bits no bloco, sendo por isso mesmo amplamente empregado em sistemas de transmissão digital de dados. Exercitando Calcule o Bit de Paridade Par e o BCC para o grupo de caracteres: ALO MUNDO. Pesquise: Como calcular o BCC de dois caracteres em linguagem C. Faça um programa em linguagem C que calcule o CheckSum, tamanho truncado em 16 bits, para um conjunto de caracteres digitados via teclado. Pesquise: Como calcular o bit de Paridade Par de um caracter digitado no teclado, utilizando linguagem C. Prof. Marcelo Saraiva Coelho 35 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Interface Com a utilização da transmissão serial, surgiu também a necessidade de se estabelecerem conexões de longas distâncias entre computadores para o intercâmbio de dados. Tais conexões, entretanto, exigiram a instalação de várias linhas de comunicação exclusivas para esse fim, de abrangência tal que, de qualquer ponto de uma cidade, poder-se-iam utilizar tais serviços. Por outro lado, o serviço telefônico já possuía uma rede com tal abrangência e com as vantagens de ligações diretas nacionais ou internacionais sem auxílio de telefonista. Estudou-se então uma maneira pela qual a informação de um computador pudesse ser enviada através da linha telefônica, uma vez que o sinal elétrico da transmissão serial não possui as características necessárias para atravessar a rede telefônica, que é projetada para suportar apenas sinais elétricos analógicos provenientes dos captadores e bocais do telefone (Banda indo de 300Hz até 3300Hz). Como resultado desse estudo surgiu um novo aparelho, chamado Modem, que permite a transmissão da informação serial do computador através de um sinal compatível com as características elétricas da rede telefônica. O Modem se utiliza de certas técnicas de tratamento de sinal para permitir a ligação remota de dois computadores através da rede telefônica, técnicas que veremos a seguir. Figura 33. Modulação A técnica de Modulação consiste em executar uma modificação nas características de um sinal senoidal de acordo com a informação a ser transmitida. O sinal senoidal é chamado de Sinal Portador, ou "Onda Portadora", e o sinal da informação, de sinal 36 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Modulador; no caso da transmissão digital, o sinal modulador é simplesmente a informação binária. Um tipo de modulação bem simples é a chamada Modulação em Amplitude, vista na figura abaixo. Figura 34. Ela consiste em alterar a amplitude de uma Portadora de modo que, a um valor lógico, corresponda uma única amplitude de sinal. No exemplo, o lógico "1" corresponde a uma amplitude normal e ao lógico "0" corresponde uma amplitude zero. Um outro tipo de modulação é chamado Modulação em Freqüência. A figura abaixo, mostra o método conhecido por FSK - Frequency Shift keying, ou Deslocamento de Freqüência por Chaveamento. Neste método utilizamos duas freqüências (ou tons) para representação do sinal binário. No exemplo, escolheu-se uma freqüência baixa para representar o nível lógico "0" e uma freqüência alta para representar o nível lógico "1". Figura 35. Além destas, existe também uma terceira técnica chamada Modulação em Fase, além de outras técnicas mistas que associam dois tipos de modulação e que não serão objeto de nosso estudo por necessitarem de um embasamento técnico específico que não cabe aqui comentar. Prof. Marcelo Saraiva Coelho 37 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Uma vez que obtemos um sinal Modulado, é possível transmiti-lo agora por um meio onde a informação digital antes não poderia. Assim sendo, é necessário que no Receptor exista um modo de recuperar a informação a partir da onda Modulada recebida, e esse processo é chamado de Demodulação. Para cada técnica de Modulação, existe uma correspondente de Demodulação; isto deixa claro que um sinal Modulado em Freqüência não pode ser Demodulado utilizando-se a técnica para Amplitudes. Numa transmissão de dados, tanto Transmissor quanto Receptor devem estar de acordo quanto ao método de Modulação/ Demodulação escolhido. Codificação A técnica da Codificação Digital procura manter as características digitais do sinal, modificando-o o suficiente para viabilizar a sua transmissão por Meios de Banda mais estreita. As técnicas principais são as chamadas bipolares e bifases, ambas necessitam de um sinal extra como sincronismo, que normalmente fica fazendo parte do sinal enviado. Dentre as técnicas bipolares, existe o AMI - Alternate Mark Inversion, ou simplesmente Bipolar, pois este código utiliza três níveis de sinal: pulso positivo, pulso negativo e repouso. O processo de codificação consiste em emitir um pulso de polaridade invertida ao pulso anterior sempre que o valor lógico "1" aparecer, e o valor lógico "0" não produz alteração na linha - a figura a seguir mostra um exemplo da codificação AMI. Para o AMI, uma longa transmissão de "0" cria um espaço de tempo muito grande sem sinal algum. Esse fato pode dificultar o sincronismo; para contornar esse problema foi criado o código HDB - High Density Bipolar. O HDB codifica exatamente como o AMI, exceto que, quando da ocorrência do quarto bit "0" consecutivo, um pulso de polaridade idêntica ao anterior é emitido. 38 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 36. Os códigos bifases utilizam apenas dois níveis de sinal e alteram o momento subida ou descida (fase 0o e fase 180o respectivamente) do pulso. Os códigos bifases são mais imunes a ruído que os bipolares, mas ocupam uma banda de freqüência maior que estes últimos. A próxima figura apresenta três tipos de codificação bifásica. Um código bifase é o chamado Código Manchester, ou apenas Bifase, que consiste em utilizar a subida do pulso para cada lógico"1" e a descida para cada lógico "0". Derivado deste é o Código Bifase Diferencial, cuja fase é deslocada de 180o com relação à anterior, daí o nome diferencial, para o lógico "1" e mantida para o lógico "0". Um outro código bifase derivado do Manchester é chamado Código Miller, que apresenta características superiores às dos bifases e bipolares; consiste em realizar uma transição durante o bit "1" e uma transição entre dois "0" consecutivos. Figura 37. Modem Prof. Marcelo Saraiva Coelho 39 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Chamamos de Modem (Modulador /Demodulador) ao equipamento capaz de transmitir a informação serial proveniente do computador pela rede telefônica. Figura 38. Podemos dizer que a sua função principal é realizar uma modulação ou codificação, utilizando como sinal modulador a informação serial do computador. Devido portanto às várias técnicas de Modulação / Codificação existem também vários tipos de Modens; como um estudo detalhado foge ao propósito de nosso curso, vamos estudar apenas sua classificação e uso. O Modem que trabalha com Modulação de Portadora é chamado de Analógico ou Banda Larga (Broadband) pois pode ser construído tanto para ocupar a Banda do canal de telefonia (Modens para canal de voz) quanto ocupar uma Banda bem mais larga (Modens faixa larga), conforme a freqüência da portadora e método empregado de modulação. O Modem que utiliza Codificação Digital é chamado de Digital ou Banda Base (Baseband), visto que preserva a Banda original ou base do sinal digital binário, não modulando nenhuma portadora. Tanto os Modens Analógicos quanto Digitais podem ser classificados em Assíncronos, quando não necessitam de um sinal de sincronismo para a Demodulação / Decodificação; e Síncronos, quando se deve recuperar um sinal de sincronismo para a Demodulação / Decodificação. O Padrão RS 232 A necessidade de interligar Modens e Computadores deu origem a uma norma específica que foi gerada pela Eletronics Industry Association (EIA) dos Estados Unidos da América e que ficou mais conhecida pela sua terceira revisão (revisão C). 40 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação A norma EIA RS - 232C surgiu em 1969 e propôs padrões para o interfaceamento entre equipamentos de comunicação, ou Modens, chamados de DCE - Data Communication Equipamment , ou computadores, chamados de DTE - Data Terminal Equipament, trazendo uma descrição mecânica dos circuitos de interface, definindo as características elétricas dos sinais envolvidos além de uma descrição funcional dos sinais de interface. Figura 39. Em 1987, o padrão foi revisto gerando a norma RS - 232D, em que se acrescentaram três sinais adicionais para testes e o formato do conector; dada a pouca alteração, iremos nos referir apenas à norma RS - 232C. Figura 40. Apesar da RS - 232C não especificar o formato do conector, o tipo conhecido como DB-25, visto a cima, é utilizado amplamente. Descrição Mecânica dos Circuitos de Interface As definições mecânicas são poucas, inclusive a norma RS 232C não especificou o tipo de conector a ser utilizado, assinalando apenas que um conector fêmea deve ser utilizado no DCE e macho nos DTE, porém, a indústria e os usuários adotaram o conector DB - 25 como "padrão". Prof. Marcelo Saraiva Coelho 41 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação A norma também não fornece todas as características do meio físico, citando apenas a máxima capacitância para um cabo instalado como de 2500pF. São fornecidos, porém, os nomes para os circuitos de interface que na verdade correspondem aos sinais elétricos utilizados, além da correspondente numeração de cada um dos pinos do conector. O quadro abaixo fornece esses nomes apenas para os pinos utilizados, sua descrição em português e a numeração correspondente. A coluna de abreviações, apesar de não especificada na norma, foi incluída pois, devido à grande difusão das mesmas entre os usuários, tornaram-se uma espécie de "norma informal". Tabela 9. Pino Abr. Nome Descrição 1 GND Protective Ground Terra de Proteção (Chassis) 2 TD Transmited Data Dados Transmitidos 3 RD Received Data Dados Recebidos 4 RTS Request to Send Solicitação de Transmissão 5 CTS Clear to Send Pronto para Transmissão 6 DSR Data set Ready Modem (DCE) Operacional 7 --- Commom Referência de Tensão 8 DCD Received line Signal Detect Recebendo Portadora (Data Carrier Detect) 20 DTR Data Terminal Ready Terminal (DTE) Operacional 22 RI Ring Indicator Indicador de Chamada 23 DSR Data Signal Rate Detector Seleção de Velocidade Com respeito às abreviações, TD pode ainda ser encontrado como XMIT ou TxD, e RD como RCV ou RxD em algumas literaturas. 42 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Uma outra padronização proposta pelo CCITT, chamada de V24, abrange toda a RS 232, e define outros sinais adicionais. A recomendação CCITT V24 é muito utilizada em Teleprocessamento e Telecomunicações, de modo que não a utilizaremos em nosso curso; a tabela a seguir mostras os sinais adicionais. Tabela 10. Pino Abr. Descrição 15 TCK Sincronismo de Transmissão 17 RCK Sincronismo de Recepção 18 LAL Enlace Lógico Remoto 21 LDR Enlace Digital Remoto 24 TCKE Sincronismo Externo P/TX 25 TST Modem em Teste A norma RS 232 também classifica os sinais conforme sua função em: sinais de Dados (pinos 2 e 3) e sinais de Controle (pinos restantes). O fluxo dos sinais, se entrada ou saída, é convencionado pelo ponto de vista de um DTE; por exemplo, no pino 2 (TD), o fluxo é de saída do DTE (ou Dados Transmitidos do DTE) e surge no pino 2 (TD) do DCE como fluxo de entrada (ou Dados Transmitidos pelo DTE). O mesmo raciocínio deve ser aplicado para os outros sinais. Assim sendo, o cabo para ligação entre DTE - DCE deve conectar os pinos correspondentes entre si; a figura abaixo nos mostra um exemplo de como seria tal cabo. Prof. Marcelo Saraiva Coelho 43 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 41. Características Elétricas dos Sinais Com respeito à velocidade de transmissão, a norma apenas recomenda uma faixa de trabalho de zero até 20.000 bps; a norma previne contra o uso de cabos maiores que 50 pés (por volta de 1500m) a não ser que a capacitância total esteja abaixo de 2500pF. Com relação aos níveis de tensão, a norma estabelece uma representação bipolar dos estados lógicos, ou seja, polaridades diferentes para cada estado lógico "0" e "1", estabelecendo uma faixa máxima de 15v até - 15v. São estabelecidas faixas de tensão diferentes para sinais de entrada e sinais de saída, e também se o sinal é de controle ou de dados, conforme pode ser visto na figura a abaixo. Figura 42. 44 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Para os sinais de Dados, definiu-se Marca (lógico "1"), ou linha inativa, como uma tensão negativa. Para os sinais de controle, o estado lógico "1'" é representado por uma tensão positiva. Note também que os sinais de entrada possuem uma faixa de reconhecimento a partir de 3v ou - 3v e os de saída operam a partir de 5v ou - 5v. Essa diferença de 2 volts caracteriza uma certa margem de segurança contra atenuação do sinal entre DTE e DCE. Verifique que as faixas de 5v a 15v, - 5v a - 15v ou as de 3v a 15v e - 15v asseguram boa imunidade a ruídos. Devido aos valores de tensão utilizados pelo RS 232 serem diferentes daqueles obtidos em um Microcomputador (normalmente TTL), faz-se necessário o uso de conversores de linha tanto nas linhas de entrada quanto de saída (line drivers). Esses circuitos são facilmente encontrados e, juntamente com os circuitos integrados dedicados à transmissão serial, compõem um conjunto que auxilia tanto o projetista de hardware quanto o programador, executando muitas vezes a inversão de lógica entre sinais de controle e dados de modo transparente ao programador. É possível encontrar algumas interfaces que trabalham com níveis de tensão diferentes daqueles especificados pela norma, por exemplo, circuitos que consideram falso ("0") o sinal de entrada de controle que estiver abaixo de 3v (enquanto a norma recomenda abaixo de - 3v). Descrição Funcional dos Sinais de Interface Passaremos a descrever então a função de cada um dos sinais definidos na norma. Protective Ground (Terra de Proteção) - Pino 1 * Este pino deve ser conectado ao chassis do equipamento, o qual está normalmente ligado ao pino central dos conectores de alimentação AC. Commom (Referência de Tensão) - Pino 7 * Este é o sinal de zero volts, de onde as tensões nos outros pinos são referenciadas; ligar este pino ao pino 1 poderá causar dano ao equipamento ou mau funcionamento. Data Terminal Ready (Terminal Operacional) - DTR - Pino 20 Prof. Marcelo Saraiva Coelho 45 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação * Este sinal indica que o DTE está operacional e solicita que o Modem conecte-se à linha de comunicação e a mantenha. Durante uma Transmissão, a inibição do sinal DTR faz com que o Modem cancele a ligação estabelecida. Data Carrier Detect (Recebendo Portadora) - DCD - Pino 8 * Este sinal assegura ao DTE que o Modem está ligado a um Modem remoto; por essa razão o DCD é utilizado apenas no Modem que recebe, não no que transmite. Data Set Ready (Modem Operacional) - DSR - Pino 6 * Este sinal deve estar presente quando forem satisfeitas as condições: O Modem está conectado ao canal de comunicação ("fora-do-gancho"). O Modem discou, ou executou qualquer operação necessária para estabelecer a ligação. O Modem já recebeu freqüência de resposta do Modem remoto. Assim sendo, quando o DSR for ativado a transmissão de dados pelo DTE pode ser iniciada. Request to Send (Solicitação para Transmissão) - RTS - Pino 4 * Este sinal prepara o Modem para iniciar uma transmissão. Para os Modens em Half Duplex este sinal serve para avisar quando o DTE vai transmitir ou ficar recebendo, já que a linha não permite as duas coisas simultaneamente. Clear to Send (Modem pronto para Transmissão) - CTS - Pino 5 * Este sinal é fornecido pelo Modem significando que o DTE pode iniciar uma Transmissão. Em transmissões Half-Duplex, é utilizado pelo Modem quando este recebe RTS do DTE, para avisar que a linha está pronta. De outras é utilizado para controlar o fluxo da transmissão do DTE para o Modem. Transmited Data (Dados Transmitidos) - TD - Pino 2 * É o sinal que leva os dados seriais para serem enviados pelo Modem, deve permanecer em Marca sempre que estiver inativo. Observe pelo já exposto que o DTE só pode transmitir dados na presença dos sinais RTS, CTS, DSR e DTR. Received Data (Dados Recebidos) - RD - Pino 3 46 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação * O funcionamento deste sinal não depende de nenhum outro de controle, é sempre mantido em Marca pelo Modem quando não existe ligação com outro Modem ou durante uma transmissão de dados, durante uma comunicação Half-Duplex. Ring Indicator (Linha Chamando) - RI - Pino 22 * Este pino é ativado quando o Modem receber uma chamada ("telefone tocando") inclusive pulsando como o tom de chamada. Este sinal aparece não importando o estado do sinal DTR. Data Signal Rate Detector (Seleção de Velocidade) - DSRD - Pino 23 Se o Modem pode dispor de duas velocidade de transmissão, a maior delas é indicada pela ativação deste sinal. Muitas vezes, dependendo de prévio entendimento, o DTE pode solicitar ao Modem aumento ou diminuição de velocidade durante uma Transmissão. Simulação de chamada Vamos simular uma chamada Full-Duplex sendo atendida pelo Modem e estudar o intercâmbio de sinais que ocorrem entre o Microcomputador e o Modem. Nesta chamada, os sinais CTS / RTS estão sempre ativos pois não estamos fazendo operação Half-Duplex. Considere então as figuras seguintes: Partindo do estado inicial (a), temos uma chamada com RI = 1 ou pulsando em (b). Figura 43. O Micro então autoriza o Modem a atender a chamada fazendo DTR = 1 em (c); quando o Modem termina suas tarefas de conexão sinaliza com DSR = 1 (d). Prof. Marcelo Saraiva Coelho 47 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 44. Assim que se estabelece a ligação com o Modem remoto, temos DCD = 1 (e); isso feito, inicia-se a troca de dados pelos pinos 2 e 3 (f). Figura 45. Uma atenção especial devemos ter quando da programação de circuitos desconhecidos como UART - Universal Assícronous Receiver Transmiter ou USART Universal Sincronous Assíncronous Receiver Transmiter; deve-se, além de conhecer muito bem o hardware onde tal circuito está montado, examinar muito bem o manual do fabricante, procurando verificar como os sinais de controle de RS 232 estão sendo utilizados, pois pode ser que alguns sejam utilizados de forma não prevista na norma. Devido aos usos não previstos, vamos verificar como é utilizada a norma na interligação micro- a -micro. Microcomputadores e a RS 232 Apesar da norma RS 232 contemplar a interface entre DTE e DCE, a sua adoção pelos fabricantes de Microcomputadores como padrão para o canal serial assíncrono gerou um tipo especial de utilização, como as ligações assícronas, entre DTE / DTE (ou Micro - a - Micro); isso possibilitou a redução do número de sinais necessários e o uso de conectores de 9 pinos (DB - 9). 48 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 46. A tabela abaixo nos mostra tais sinais e sua correspondência com o conector D - 9. Tabela 11. No do Pino Abreviação Nome 1 DCD Data Carrier Detect 2 RD Received Data 3 TD Transmited Data 4 DTR Data Terminal Ready 5 --- Commom 6 DSR Data Set Ready 7 RTS Request to Send 8 CTS Clear to Send 9 RI Ring Indicator A ligação entre dois Microcomputadores (DTE - DTE) deve ser feita com cuidado, pois não é possível utilizar o mesmo cabo que liga DTE - DCE para ligação DTE - DTE. Note que, para a ligação entre Micros, o sinal TD (pino 2) presente no DTE de um lado deve atingir o RD (pino 3) do DTE do outro lado para que exista comunicação. Para isso é utilizado um cabo especial chamado "Modem Nulo", "Anulador de Modem", ou "Cross Over", visto na figura abaixo. Figura 47. Prof. Marcelo Saraiva Coelho 49 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Observe como os pinos 2 e 3 são ligados invertidos, já o sinal RTS - 1 alimenta CTS-2; RTS-2 sinaliza para CTS-1. Finalmente, DTR-1 ligado a DSR-2 e DCD-2; DTR-2 ligado a DSR-1, sendo que o pino 7 é o único ligado com seu correspondente, evidentemente. Figura 48. Essa ligação pode ser alterada dependendo dos equipamentos interligados; uma consulta prévia ao manual do fabricante é sempre aconselhável. Como por exemplo, temos a seguir o esquema para construir cabos de comunicação serial para micros compatíveis IBM PC/TX e AT, lembrando que o conector padrão no XT é o DB-25, e no AT , o DB - 9. Exercitando 1. Qual a diferença entre Modulação em Amplitude e Modulação em Freqüência? 2. O que distingue Modulação da Codificação Digital de um sinal? 3. O que é um Modem? Como se classificam? 4. Qual é o propósito da ELA RS - 232C? 5. Uma UART montada num DTE que interpreta, para os sinais de controle de entrada, níveis abaixo de + 3v como lógico "0", pode ser utilizada com um DCE que utiliza a norma RS 232 C? 6. Durante uma chamada, um Modem sinaliza para o DTE com RI = 1; qual é a sinalização que o Modem espera receber para atender a chamada? Qual é a condição dos sinais que deve ser mantida para que se inicie a recepção de dados? 50 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação 7. Um cabo que ligava dois DCEs foi utilizado para ligar dois DTEs, por que não foi possível a transmissão entre DTEs? O que deve ser feito? 8. Se você fosse o programador, qual sinal ativaria assim que um micro fosse ligado, o DTR ou RTS? Explique-se. 9. Durante uma recepção, em uma transmissão serial feita por meio da RS 232, você deseja interromper bruscamente o processo; qual sinal deve ser desativado, RI, RD, RTS, ou DTR? Explique-se. Prof. Marcelo Saraiva Coelho 51 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Protocolo Como estudado no início de nosso curso, protocolo é um conjunto de regras que visam disciplinar o processo de comunicação; suas funções dependem, portanto, das necessidades do sistema - escolhemos duas muito importantes: controle de fluxo e transferência de arquivos, para servirem de exemplo em nosso estudo de protocolos. Orientação a Caracter ou a Bit Os protocolos podem ser classificados quanto à forma de manipulação de dados em protocolos orientados a caracter e protocolos orientados a bit. Os primeiros consideram que a menor unidade de informação é o caracter (normalmente composto de 8 bits), trabalhando, assim, com caracteres ou blocos de caracteres; os orientados a bit não estão presos ao reconhecimento de caracteres - trabalham com bits ou padrões especiais de bits não necessariamente agrupados de 8 em 8. Uma diferença importante entre esses dois enfoques pode ser verificada quando se necessita realizar uma transferência de arquivo do tipo texto (.doc, .txt, ) e de arquivo do tipo binário (.exe, .com, .obj., .lib); enquanto os arquivos tipo texto costumam utilizar apenas caracteres ditos imprimíveis, como letras, números, símbolos, mais os de formatação de folha, como backspace, line, feed, etc., os arquivos binários não se restrigem apenas a esse conjunto, admitindo qualquer combinação de bits; assim sendo, um protocolo orientado a bit pode tanto manipular arquivos-textos quanto arquivos-binários, enquanto um protocolo orientado a caracter necessita de cuidados especiais para manipular arquivos binários. Controle de Fluxo - XON / XOFF Vamos iniciar estudando controle do fluxo de dados numa transmissão assíncrona. O protocolo que estudaremos é conhecido como XON / XOFF, é orientado a caracter e muito utilizado com Modens, Plotters, etc.; esse tipo de protocolo é também chamado de handshaking de software. Sua especificação é bem simples. Depois de iniciada uma transmissão de dados, o Receptor enviará ao Transmissor o código XOFF quando deseja uma pausa na transmissão de dados, e o código XON quando deseja que a mesma continue. A figura abaixo mostra o diagrama N-S simplificado de um programa de transmissão que utilize este protocolo. 52 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 49. Costuma-se atribuir o código ASCII equivalente a Control - Q (DC1 ou 11H) para XON e o valor Control - S (DC3 ou 13H) para XOFF. Um problema comum como o XON / XOFF pode ocorrer quando fazemos transmissão de arquivos de texto tipo documentos que utilizam caracteres especiais para indicar texto em negrito, sublinhado, etc., num sistema onde o receptor ecoa os caracteres recebidos pelo transmissor, como uma espécie de verificação contra erros. Caso o texto seja gerado no editor de texto Wordstar, modo documento, ao se utilizar de um trecho sublinhado, o Wordstar automaticamente insere o caracter 13H (coincidentemente o mesmo valor utilizado para XOFF!) para servir de controle no começo e no fim do trecho sublinhado, como pode ser visto na figura abaixo. Código ASCII do Texto Texto 0D 0A 64 69 66 69 63 69 6C 20 13 64 69 7A 65 72 difícil dizer 20 71 75 65 20 66 6F 69 20 62 6F 6E 69 74 6F 13 que foi bonito OD 0A 69 6E 75 74 69 6C 20 63 6F 6E 74 61 72 20 inútil contar 6F 20 71 75 65 20 70 65 72 64 1A 1A 1A 1A 1A 1A Prof. Marcelo Saraiva Coelho o que perdi 53 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Assim que for transmitido o caracter 13H, o Receptor o ecoa de volta ao Transmissor que, ao recebê-lo, interpreta-o como XOFF, parando de transmitir e aguardando então um XON para voltar a transmissão. Como o Receptor não enviou o caracter XOFF por sua iniciativa, foi apenas eco do que recebeu, não tem por que enviar XON e assim fica aguardando o transmissor. Conclusão: ambos aguardam que o outro transmita e assim a comunicação cessa! É a síndrome do "Esperando Godot", referência à peça teatral de Becket; para evitar essa situação basta desabilitar o eco. Transferência de arquivos Os produtos para transmissão assíncrona de arquivos costumam trabalhar com blocos de arquivo, e a necessidade dessa estratégia é fácil de reconhecer a partir da seguinte questão: Como deve ser feita a verificação de erros numa transmissão de arquivo: a cada byte ou apenas após a transmissão de todo o arquivo? É fácil verificar que nenhuma das duas condições é satisfatória: a verificação a cada byte seria certamente mais demorada, e a verificação apenas ao final da transmissão poderia ser ineficiente - caso um único byte chegue errado, deve ser retransmitido todo o arquivo. A solução intermediária é dividir o arquivo em blocos de tamanho conveniente, organizá-los apropriadamente de modo a ser fácil o reconhecimento do seu início ou do seu fim antes de enviá-los. Essa organização é feita com a ajuda de Campos de controle auxiliares, anexados ao bloco de dados de modo a facilitar o controle e a recuperação do arquivo original. A figura a seguir exemplifica esse processo de organização de blocos de dados através de Campo de controle. Figura 50. 54 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Assim sendo, na figura acima, a função do campo 1 pode ser a de identificar o início deste bloco de dados, os caracteres que fazem parte do Bloco de dados podem ser associados a um campo de dados; o campo 4 pode conter informações que ajudem na verificação de erros; o campo 2 pode conter o número seqüencial que ajude na recuperação posterior do arquivo, e assim por diante. Os campos associados ao Bloco de Dados caracterizam uma unidade de transmissão chamada Pacote; um exemplo de transmissão de Pacotes com quatro campos pode ser visto na figura a seguir: Figura 51. Conforme o Protocolo que estivermos estudando, podemos encontrar vários tipos de Campos, entretanto, alguns são freqüentemente utilizados em vários Protocolos, diferindo apenas quanto ao tamanho ou posição dentro de um Pacote. Vamos então considerar quatro tipos básicos de Campos: de Identificação, de Controle de Seqüência, de Dados e de Verificação de Erros, assinalando para cada um algumas características gerais. Campo de Identificação: * Caracterização: Este campo serve para a Identificação do Pacote, uma vez que podemos necessitar de Pacotes com funções especiais tais como Confirmação de Bloco, Bloco Recusado, etc., além de Bloco com Dados. * Tamanho: Costuma ser de um byte. * Posição no Pacote: Este Campo costuma ser o primeiro, devido à sua natureza. Prof. Marcelo Saraiva Coelho 55 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Campo de Controle de Seqüência * Caracterização: Trata-se de um contador que é incrementado a cada Pacote enviado pelo Transmissor para auxiliar o Receptor a detectar perda de Pacotes; esse contador é relativo, ou seja, supondo ser de um byte seu tamanho, a contagem será de 0 a 255 com retorno a zero novamente, repetindo-se indefinidamente. * Tamanho: Costuma ser de um byte ou menor. * Posição no Pacote: Pode ser após o Campo de Identificação e antes do Campo de Dados. Campo de Dados * Caracterização: Possui os dados propriamente ditos, muitas vezes separados por caracteres especiais para indicar início de bloco, fim de bloco ou fim de arquivo. * Tamanho: Pode ser de tamanho fixo ou variável; cada um tem vantagens e desvantagens. * Posição no Pacote: Costuma ser sempre após o Campo de Controle de Seqüência e antes do Campo de Verificação de Erros. Campo de Verificação de Erros * Caracterização: Utilizado para enviar o BCC ou CRC calculado sobre o Campo de Dados somente. * Tamanho: Costuma ser de dois bytes no caso de CRC e Checksum, e de um byte no caso de BCC. * Posição no Pacote: É normalmente colocado no final do Pacote. Uma observação vale aqui: conforme a natureza do Pacote, não se torna necessário utilizar todos os Campos acima descritos; por exemplo, num Pacote de Confirmação de Dados Recebidos, apenas o Campo de Identificação é o que interessa. Os campos podem ter apenas um byte de tamanho e neste caso utilizamos um conjunto de caracteres existentes na Tabela ASCII selecionados para este fim, descritos na tabela abaixo. 56 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Tabela 12. Abreviação Código ASCII Descrição Uso Comum Indica o início de um cabeçalho (header) ou Campo de Identificação. SOH 01H Start of Header STX 02H Start of Text ETX 03H End of Text EOT 04H End of Transmission ENQ 05H Enquiry ACK 06H ACKnowledge Indica o início do bloco de dados, e marca o fim do header. Indica o fim do bloco de dados. Indica fim de uma transmissão quando enviado no lugar de SOH. Quando se está estabelecendo uma ligação, pode significar "Você está me ouvindo?"; durante uma sessão pode significar pedido de identificação ou status atual. Utilizado quando é feita uma recepção livre de erros. DLE 10H Data Link Escape Utilizado quando se deseja utilizar caracteres com o significado de controle, não de dados. NAK 21H Not ACKnowledge Utilizado quando é feita uma recepção com erros. SYNchoronous idle Utilizado em sistemas síncronos que necessitam manter caracteres na linha, mesmo quando estiver em repouso (idle). End of Transmission Block Indica o final do bloco de dados e a existência de ao menos mais um bloco a ser transmitido. Às vezes é utilizado no lugar de ETX. SYN ETB 22H 23H Formato de Pacotes Como exemplo, vamos verificar como formar pacotes a partir do uso de tais caracteres. A tabela a seguir fornece alguns dos vários formatos possíveis para um Pacote, após a qual apresentamos um gráfico especial utilizado para representar esses - uma prática comum na documentação de um protocolo. Prof. Marcelo Saraiva Coelho 57 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 52. Diagrama de Pacotes possíveis Figura 53. Vamos verificar onde cada tipo de pacote poderia ser utilizado: O pacote tipo 1 pode servir para enviar ao receptor alguma identificação do Transmissor e, ao transmissor, alguma identificação do receptor , se necessário. O pacote 2 pode ser enviado antes da transmissão efetiva de dados, com o nome original do arquivo, no Campo de Dados, que será transmitido. 58 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação O pacote tipo 3 transmite dados e avisa que o arquivo ainda não terminou, pelo uso de ETB. O pacote tipo 4 é uma outra opção que pode ser utilizada ao invés do pacote 2. O pacote 5 pode ser utilizado para o último bloco de dados. Como o último bloco de dados pode ter tamanho menor que os demais, este pacote pode ser menor também. Caso isso seja um inconveniente, é bom utilizar ETB no final do bloco de dados, preencher com espaço os bytes restantes para completar o tamanho do Campo, e encerrar o mesmo com ETX. Sessão de Transmissão Outro ponto que define um Protocolo é a forma com que o mesmo processa a transmissão; em outras palavras, como o Protocolo conduz a Sessão de Transmissão. Pode-se dizer que uma Sessão de Transmissão genérica de arquivo possui três etapas principais: Abertura, Transmissão e Encerramento. Estas podem ser subdividas em outras conforme o interesse do projetista. Vamos analisar essas três etapas principais resumidamente: Abertura da Sessão O propósito desta etapa é o de estabelecer uma ligação (ou "link") entre Receptor e Transmissor, ou seja, deve conter todas as tarefas necessárias para a conexão física entre os dois. A tabela abaixo contém um exemplo de possíveis tarefas executadas durante uma Abertura de Sessão, supondo uma comunicação via Modem entre um terminal e um computador que exige senha para acesso. Tabela 13. Tarefas Descrição Obter número Busca o número a ser discado, solicitando-o ao operador ou ao banco de dados. Discar número Solicita e aguarda do Modem a ligação telefônica. Caso positivo, passa controle à tarefa seguinte. Transmite a senha e aguarda confirmação de acesso passando o controle à Sessão seguinte. Sessão de Transmissão Enviar senha Esta diz respeito ao envio do arquivo propriamente dito; neste caso, deve-se proceder à confirmação ou não de cada Bloco de dados recebido. Esta confirmação pode ser Prof. Marcelo Saraiva Coelho 59 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação realizada de duas formas distintas: confirmação por conjunto de Blocos ou Bloco-aBloco. A transmissão com confirmação por conjunto de blocos considera um certo número de Blocos, dentre o total, que formam uma espécie de "janela" de dados, como a figura abaixo mostra: Figura 54. Ao final da transmissão da janela , o Receptor envia a confirmação ou não dos blocos recebidos, após o que o Transmissor procede à retransmissão apenas dos blocos com erros, ou seja, a retransmissão só é feita para os blocos errados, e não para a janela toda. Este método exige maior habilidade do programador, pois o controle de seqüência de janelas é mais sofisticado. Figura 55. 60 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Na transmissão com confirmação bloco-a-bloco, o Receptor realiza uma confirmação a cada bloco recebido; assim, no caso de erro, realiza-se apenas a retransmissão do mesmo. Uma transmissão que utiliza este método é mais lenta que a anterior, porém, é mais fácil de implementar. Figura 56. Encerramento da Sessão Esta parte do Protocolo deve trabalhar com as tarefas pertinentes à desconexão ou lógica estabelecida, liberando os canais de comunicação, memória alocada, fechando arquivos e tarefas afins. Exemplo de Transmissão Vamos simular uma sessão de transmissão, utilizando os caracteres ASCII já vistos e os conceitos até agora estudados. Prof. Marcelo Saraiva Coelho 61 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Sessão de Abertura Esta parte do protocolo deve obter a certeza da ligação entre Transmissor e Receptor; no exemplo da figura abaixo, isto é obtido pelo envio do caracter ENQ pelo Transmissor até que se obtenha uma resposta positiva do Receptor, no caso um ACK. Este procedimento é chamado também de "sincronização", pois permite que ambos os lados do canal de comunicação preparem-se para o início da transmissão de dados propriamente dita. Figura 57. Sessão de Transmissão Uma vez estabelecida a ligação entre Tx e Rx, deixamos a sessão de Abertura e adentramos na sessão de Transmissão. A figura abaixo mostra um trecho dela, note que o protocolo utilizado é o de confirmação por bloco, observe também o procedimento de retransmissão de pacote com erro (pacote # 6). 62 Prof. Marcelo Saraiva Coelho REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Figura 58. Sessão de Encerramento Após certificar-se do recebimento correto do último bloco de dados, o transmissor encerra a sessão de dados, enviando uma série de EOT até que receba o ACK do receptor - a partir daqui encerra-se a transmissão. Figura 59. Prof. Marcelo Saraiva Coelho 63 REDES DE COMUNICAÇÃO INDUSTRIAL - Tecnologia da comunicação Exercitando 1. O que é protocolo orientado a byte ou a bit? 2. O que é Pacote num protocolo? 3. Descreva um possível uso dos caracteres ASCII: ETX, STX e ETB num protocolo. 4. Descreva as etapas principais de uma sessão de transmissão de arquivo. 5. Utilizando o diagrama N-S, mostre como seria um trecho de programa que utilizasse o protocolo de comunicação descrito nas figuras no item Exemplo de Transmissão, nesta apostila, para a sessão de abertura, de transmissão e de encerramento. 64 Prof. Marcelo Saraiva Coelho