Cursos / Eletrônica / Projeto de Sistemas RF / Aula

arrow_back Aula 04 - RS232 e Comunicação Serial

Transmissão Síncrona e Assíncrona

Você entendeu bem como é feita a transmissão utilizando dois fios? Esse tipo de transmissão é chamada de "transmissão síncrona". O fio por onde passam os bits é chamado de "fio de dados", ou "DATA", em inglês; e o outro fio é chamado de "temporizador", mas é bem mais conhecido pelo nome em inglês "CLOCK". Essa transmissão é denominada síncrona porque os bits estão sendo transmitidos pelo cabo de dados em sincronia com o CLOCK. Porém, essa não é a única forma de se transmitir os dados serialmente. Existe outra forma de transmitir os dados sem precisar de um CLOCK. Para isso, é necessário alguma maneira de informar o lado receptor que um dado vai ser transmitido, e outra para informar que a transmissão terminou. Observe a imagem a seguir:

Transmissão serial assíncrona.

Nessa imagem, mais uma vez a temperatura de 27 ºC é transmitida, mas observe que adicionamos dois bits ao pacote: um para informar o receptor que estamos prestes a enviar um dado, e outro para informar que o dado terminou. Eles são chamados de "bit de início" ou "START BIT" e "bit de término" ou "STOP BIT". O START BIT sempre tem o valor lógico "0", e o STOP BIT o valor lógico "1". Quando não desejamos transmitir, mantemos o valor lógico de "1" na linha, que é conhecido como "condição de parada" ou "STOP CONDITION". Assim que quisermos enviar mais um dado, transmitimos um bit "0" para alertar o receptor e, aí sim, começamos a transmitir o dado. No fim, mandamos um bit "1" para dizer que terminamos. E se quisermos transmitir mais um dado logo depois? Simples. Só transmitir de novo o "START BIT" e mandar outro dado. Entendeu? Observe o gráfico na atividade e tente extrair os Bytes sendo transmitidos de forma assíncrona.

Se liga!

A "condição de parada" na transmissão serial assíncrona não é definida como "1" à toa. Quando o sistema de telefonia surgiu, percebeu-se que mantendo a condição de parada como nivel lógico alto era a forma mais fácil de detectar falhas na linha: se não existisse tensão, signifcava que algo estava errado! É por isso que os telefones fixos fazem um "Tuuuuuuuuuuuuuuuuuuuuuu" quando tiramos do gancho antes de fazer uma ligação: ele está funcionando quando "dá linha"! E da mesma forma, quando ele está "mudo", você sabe que não vai conseguir fazer uma ligação porque ele não está funcionando.

Se liga!

Até agora só falamos da transmissão de pacotes de 8 bits de tamanho. O problema é que com 8 bits, o maior número decimal que podemos transmitir é 255. E se quisermos transmitir algo maior, como 2012, por exemplo? Nesse caso, temos que dividir o dado em conjunto de 8 bits e transmitir o dado parte por parte, e, então, remontar do outro lado. Exemplo: o numero 2012 em binário é "11111011100". A gente pode dividi-lo em 2 Bytes assim: "00000111 11011100". Se transmitirmos primeiro " 11011100" e depois " 00000111", podemos remontar o dado do lado do receptor e teremos novamente o dado 2012 em decimal. Mas, atenção! Os dados têm que ser montados da mesma forma do lado do receptor! Por exemplo, se montássemos os Bytes que representam 2012 de forma invertida, iria resultar no valor decimal 56327!

Versão 5.3 - Todos os Direitos reservados