• E-mail: contato@mecaweb.com.br
img img

Eletrônica

Basica

Porta Serial



Introdução


A comunicação serial é utilizada largamente e tem grande importância na automação, pois grande parte dos equipamentos ainda utilizam essa tecnologia para comunicação seja através do padrão RS-232 (que será abordado nesse documento), como de muitos outros que transmitem seus dados serialmente como RS-485, Ethernet, USB entre vários outros. Certamente o uso mais comum entre estudantes é a comunicação serial com micro-controladores.

A comunicação é feita através da transmissão de informação bit a bit seqüencialmente, normalmente caracteres ASCII, através de uma única via (fio), na grande maioria dos padrões existem vias de transmissão e recepção chamados de RX e TX.

O padrão mais utilizado (conhecido) para transmissão serial é o RS232 que utiliza tensões diferenciais tipicamente de +12V,-12V, mas outras podem ser admitidas como +-5 e +-15,o fato de ser diferencial facilita a transmissão de dados por grandes distancias (evitando ruídos). Na comunicação serial a transmissão pode ser síncrona ou assíncrona, vamos abordar a transmissão assíncrona que é amplamente utilizada.


Transmissão Assíncrona


A transmissão assíncrona tem como característica o envio seqüencial dos bits da seguinte forma ao longo do tempo:



Onde:
Start bit: Indica o inicio da transmissão
Dados: São os dados a serem transmitidos, geralmente 8 bits mas podem ser 5 e 7
Bit de paridade: é opcional e é utilizado para verificação de erro.
Stop bit: Indica o fim da transmissão, pode ser 1, 1.5 ou 2 bits

A forma de onda típica do sinal RS-232 pode ser observado no exemplo da imagem, onde o dado (0x3B) é transmitido bit a bit.


Dados


Os dados transmitidos geralmente são de 8 bits e a grande maioria dos fabricante segue o padrão ASCII e utiliza seus caracteres para formar os protocolos, a tabela ASCII não estendida utiliza a numeração de 0 a 127, ou seja, 7 bits já seriam suficientes para o envio dos caracteres mas a versão estendida da tabela ASCII usa a seqüência de codificação de 0 a 255 o que completa os 8 Bits, a tabela ASCII pode ser vista abaixo:


Paridade


O bit de paridade é um método simples de verificar se houve erro na transmissão dos dados os tipos mais comuns de paridade são: par, impar e nenhuma. No caso de nenhuma, o bit não será utilizado e não será feito checagem de erro, no caso da paridade par ou impar a transmissão serial ira definir o bit de paridade de forma que a transmissão tenha um numero par ou impar de bits de lógica alta. Exemplo:

Se desejarmos transmitir o caractere "A" cujo seu valor é "65", ou seja, em binário "01000001", e a paridade for par o bit de paridade será "0" para manter a quantidade par de números "1", já se a paridade escolhida for impar o bit de paridade será "1" fazendo assim que a transmissão tenha um numero impar de números "1".

Desta forma o bit de paridade auxilia a comunicação serial em busca de erros, o receptor verifica se o bit de paridade realmente corresponde ao que deveria ser, e se estiver equivocado o dado é pode ser considerado inconsistente.

Velocidade


A velocidade de transmissão serial é expressa como "bps" (bits-per-second) ou "baud" (baud rate) isso representa quantos bits podem ser transmitidos por segundo.

Exemplo:

    9600 bps ou 9,6 kbps
    19200 bps ou 19,2 kbps
    115200 bps ou 115,2 kbps

Ambas os dispositivos que forem se comunicar devem estar configurados exatamente iguais, com a mesma velocidade, paridade e configuração de stop bit, caso contrário a comunicação não será possível.

Podem ser empregados três sistemas de comunicação

Simplex: Onde apenas um terminal transmite e o outro recebe.

Half Duplex: Também apenas um terminal transmite de cada vez, mas ambos podem fazê-lo.

Full Duplex: É possível transmitir e receber ao mesmo tempo.

A porta serial do PC trabalha de modo assíncrono e segue a seguinte pinagem:



A comunicação é efetuada entre dois dispositivos ligando os respectivos sinais de entrada e saída segundo o diagrama abaixo, ou seja ligando o pino de recepção RX ao pino de transmissão TX do outro dispositivo e vice-versa, isso faz com que o sinal transmitido por um dispositivo chegue ao receptor do outro, possibilitando a comunicação.



Adequação de Sinal


Para efetuar a comunicação entre o PC e outro dispositivo devemos verificar o tipo de padrão de cada um, por exemplo, a interface serial do microcomputador possui o padrão RS-232, já um micro-controlador como os da família 8051, PIC ou AVR utilizam sinal TTL, assim é necessário a adequação do sinal, para tal utilizamos por exemplo o CI MAX232 para converter o sinal TTL (0V – 5V) para o padrão RS232 ( -12V + 12V), o circuito segue abaixo:



Os Pinos 14 e 13 são as I/O convertidas para RS-232 e os pinos 11 e 12 I/O TTL.

Existe a ainda a opção de transformar o próprio PC em transmissor e receptor, para efetuar testes sem a necessidade de um segundo dispositivo,chamamos esse tipo de dispositivo de "loopback".


O conector tipico para o padrão RS-232 é o DB-9, no caso da porta serial do PC ele é do tipo macho.



Uma outra técnica bastante útil nos projetos envolvendo micro-controladores é o uso de conversores serial TTL para USB, como o circuito abaixo, esse tipo de circuito permite a conexão via serial em computadores mais modernos que já não possuem mais a conexão RS-232 típica com o conector DB9, porem a funcionalidade é exatamente a mesma, a conexão do micro-controlador é feita através dos pinos 1 e 5.



Para maiores informações de como se comunicar através da porta serial do PC faça o download do exemplo de programação da porta serial utilizando o software Dev C++ e descubra como comunicar dispositivos utilizando essa tecnologia.

Verifique também a seção programação !