Todos os computadores podem se comunicar com o mundo exterior, enviando ou recebendo informações de diversas maneiras. No entanto, o modo comum, que todos entendem é dado por uma norma, chamada RS232 e que é aplicada à comunicação serial. Todos os computadores possuem uma porta serial e todas elas se comunicam segundo estas normas adotadas pela EIA (Electronics Industry Association) e que vamos analisar neste artigo.(1998)
Quando se deseja interligar dois computadores de modo que eles possam trocar informações uma das maneiras mais usadas é a que faz uso da porta serial mais conhecida como RS-232.
O nome RS232 vem do fato de que o modo como os dados são enviados e recebidos estão na norma EIA RS232, proposta inicialmente em 1969.
Esta norma estabelece os tipos de sinais que são usados na comunicação entre terminais de dados (DTE) e equipamentos de comunicações de dados ou modems (DCE), conforme mostra a figura 1
OS TIPOS DE SINAIS
Os sinais enviados estão na forma serial, conforme já explicamos, o que significa que os bits são enviados sequencialmente, um a um através de uma linha única de comunicações, conforme mostra a figura 2.
Na norma RS232, as tensões na faixa de +3 a +15 volts são reconhecidas como níveis baixos enquanto que as tensões de -3 a -15 volts são reconhecidas como níveis altos. Veja que a lógica negativa aplicada ao caso visa a obtenção de maior segurança na transmissão dos dados.
O circuito equivalente a um sistema de comunicação RS232 é mostrado na figura 3.
São definidos 25 sinais, mas na prática são usados menos de 10. Estes sinais são:
Pino 2 - Transmissão de dados de DTE para DCE
Pino 3 - Transmissão de dados de DCE para DTE
Pino 20 - DTR, o equipamento DTE está operando
Pino 6 - DSR - o equipamento DCE está operando
Pino 4 - RTS - pedido de DTE para iniciar o envio
Pino 5 - CTS - DCE está pronto para receber
Pino 8 - DCD - o DCE detecta a portadora
Pino 7 - Massa
Pino 1 - Terra de proteção
Na figura 4 temos a conexão lógica dos sinais RS-232-C que são mais usados na prática.
É interessante observar que em muitos casos, como a norma é usada para interligação direta, as características de equipamentos de fabricantes diferentes podem não casar e isso pode acarretar problemas de funcionamento.
CONECTOR
A conexão mecânica é feita por um conector DB-25 cuja parte fêmea é mostrada na figura 5 com a identificação dos pinos. Observe o sentido da contagem, se bem que na maioria dos tipos o número de cada pino está gravado no próprio soquete.
Com este conector podem ser usados diversos tipos de cabos como, por exemplo, cabo chato, fios trançados, cabo coaxial, conforme a distância que separa os dispositivos que devem ser interligados.
A TRANSMISSÃO
O modo mais comum de transmissão de sinais é o assíncrono (em que não há necessidade do receptor estar sincronizado com o receptor, pois ele é informado quando cada "pacote de dados" começa e termina) e que tem bits de start e stop.
Assim, conforme mostra a figura 6, o sinal é formado por bits individuais que são enviados um a um num "pacote" de tamanho definido no formado ASCII.
A quantidade de bits de cada pacote pode variar de 5 a 8 sendo enviados depois de um sinal de START que é reconhecido quando a linha, que está normalmente no nível 1 (negativa) passa para o nível 0 (positiva). No flanco descendente do sinal (passagem de 1 para 0) há o reconhecimento do aviso de início de transmissão de mensagem.
No final do pacote de bits de dados é também enviado um bit de paridade que serve para verificar se a informação chegou correta e depois um bit de STOP.
Se este foi o último pacote o nível da linha se mantém alto (1), mas se um novo pacote deve ser enviado temos nova transição do nível 1 para o zero que é reconhecida como START e o processo se repete.
Observe que o sincronismo deste modo de transmissão é feito com base no bit de START de cada pacote.
No entanto, este processo de transmissão traz alguns problemas quando se pretende uma velocidade muito alta.
Para altas velocidades, o formato usado é o mostrado na figura 7 em que temos um ou dois bytes de sincronismo.
No caso do código ASCII este byte é o 0010110, seguindo-se então dois bytes de dados. Como a transmissão deve ser contínua, bytes de sincronismo devem ser intercalados quando necessário.
PROTOCOLOS
Existem duas técnicas de protocolos de comunicação: a de protocolo por sinais e de protocolo por códigos.
No protocolo por sinais são empregados alguns dos sinais da própria norma RS-232 para que os dispositivos conectados podem ou não receber as informações. Podem ser empregados dois pares de sinais para esta finalidade como o DTR/DSR ou ainda o RTS/CTS.
No primeiro caso o sinal DTR ou RTS indica que o dispositivo DTE está conectado e pronto enquanto que o sinal DSR ou CTS indica que é o dispositivo DCE que está pronto.
No protocolo por códigos existem diversas técnicas possíveis todas baseadas em códigos. Uma delas é que a faz uso dos códigos XON (caractere DC3 no ASCII) e XOFF (caractere DC1 em ASCII) para que o receptor possa avisar se está ou não em condições de receber as informações.
O funcionamento deste protocolo pode ser descrito em detalhes da seguinte maneira: inicialmente partimos da condição que o receptor está pronto para receber informações, quando então o transmissor começa seu envio.
Quando a memória do receptor se aproxima do ponto de saturação o receptor envia ao transmissor um sinal XOFF para que ele pare de enviar as informações. Quando a memória esvazia, à medida que vai usando as informações, e chega a um nível que pode receber mais, um sinal XON é enviado ao transmissor. Com isso o receptor volta a operação enviando um novo trem de informações, conforme mostra a figura 8.
Também podemos encontrar em algumas aplicações o protocolo que usa os caracteres ASCII ETX e ACK. O funcionamento deste protocolo é o seguinte: partindo do momento em que o transmissor pode receber sinais, o transmissor envia uma série de pacotes que finaliza com o código ETX.
Quando o receptor termina de assimilar a informação enviada e está pronto para receber mais, ele envia ao transmissor o sinal ACK. Os pacotes de informação máxima adotados por este protocolo variam de 80 a 132 bytes.
UMA INTERFACE RS232 NA PRÁTICA
Hoje existem circuitos integrados VLSI disponíveis e que fazem parte de todos os computadores pessoais e que têm por finalidade serializar as informações paralelas que correm nos barramentos internos e que eventualmente devam ser transmitidas para o mundo exterior e também executar a função inversa: tornar paralelas as informações que chegam do mundo exterior na forma serial.
O circuito que executa estas funções e mais algumas outras como gerar as formas de onda correspondentes à velocidade de transmissão para sincronismo que o receptor recebe o nome de USART (Universal Synchronous/Asynchronous Receiver/Transmitter).
Na figura 9 temos um sistema de comunicação dupla que faz uso da USART 8251.
Um outro tipo de chip VLSI é que executa as mesmas funções é denominado UART (Universal Asyncrhronous Receiver/Transmitter) e que é muito usado nos modems.
Nos computadores mais antigos era usado um chip denominado 8250 para as placas de comunicação e multifunção sendo ainda encontrado em modems internos de baixas velocidades de equipamentos mais antigos.
Este chip controla também a velocidade de troca de informações dividindo a frequência de seu clock interno de 1,8432 MHz por valores determinados gravados num registrador do próprio chip. Registradores internos definem o tamanho da palavra, paridade e o número de bits de cada pacote.
No entanto, este chip logo foi substituído por outros de tecnologia mais avançada como o 16540 e depois o 16550 e o 16552 (Dual) a partir de 1987.
Estes chips de maior velocidade atendendo os modelos V.32bis e outros permitem que o computador continue fazendo seu processamento normal sem precisar parar para atender o modem. No entanto, para que este circuito funciona apropriadamente o software deve ser escrito de modo cuidadoso levando em conta as possibilidades dos buffers.
O FIM DAS UARTs
Nos computadores mais modernos os chips de UARTs já não mais são encontrados tendo suas funções exercidas pelos chips denominados ASICs (Application-Specific Integrated Circuits). Assim, dentro dos computadores existem chips que reúnem diversas funções dentre elas a de serializar dados que devem ser enviados ou ainda de tornar paralelos dados que devem ser recebidos.