• Leonardo Ritter

Hardware - A interface RS-232


Esta é a sequência do estudo das interfaces presentes no Super I/O, para que se tenha mais noção de como as interfaces de comunicação funcionavam antigamente e como elas funcionam atualmente. Este artigo é sobre a interface RS-232 que utiliza o conector DE9 (erroneamente chamado de DB9).

Popularmente conhecida como "porta serial" ela foi muito utilizada durante os anos 80 e 90 para conectar mouses, modems e outros dispositivos ao PC. Assim como as outras interfaces, ela caiu em desuso com a chegada da interface USB no final dos anos 90. Em pleno 2016 ainda eram fabricadas placas-mãe com conector DE9.

Abaixo, você vê uma comparação entre a interface RS-232 e outras populares:

A faixa de frequência em que o I²C opera se estende a alguns kHz. As primeiras versões trabalham na faixa dos 100 kHz, depois surgiu a de 400 kHz (Modo rápido), 1 MHz (Fast Mode Plus) e 3,4 Mhz (Ultra Fast Mode). A interface RS-232 possui apenas duas linhas para transferências de dados e a I²C possui uma linha de dados e outra de clock para conectar até 127 dispositivos. A interface SPI possui duas linhas de dados, uma de clock e a possibilidade de ter vários pinos para seleção de escravo. Tanto a I²C quanto a SPI você verá em artigos futuros. Aguarde!

Inicialmente, a interface serial foi definida com um conector DB25 de 25 pinos. Podemos diferencia-lo da porta paralela pela cor: a porta serial original DB25 possui cor azulada, já a popular porta paralela possui cor rosada. O conector serial DB25 passou a ficar obsoleto quando a IBM decidiu que apenas 9 pinos seriam necessários, fazendo com que o conector DE9 fosse utilizado. Desta forma, todas as fabricantes passaram a dar prioridade para esta versão da interface serial, abolindo aos poucos o conector original. Por este motivo, daremos ênfase apenas ao conector DE9 que, foi muito popular no mundo inteiro.

Abaixo, você vê a tabela de pinos deste conector:

Como o nome já diz, esta é uma comunicação serial. Há apenas um fio para envio e outro para recebimento de dados. A comunicação é do tipo Full-Duplex mas, sem controle de fluxo, o dispositivo emissor pode receber e enviar dados simultaneamente. A taxa de transferência é baixa devido a evitar interferências eletromagnéticas entre os fios do cabo. Na época em que o padrão foi definido, os engenheiros não tinham noção da vantagem da comunicação de dados em série, por isso não investiram muito nela e deram mais chances a barramentos paralelos. Veja mais sobre conexões paralelas e seriais neste link:

https://hardwarecentrallr.wixsite.com/hardcentral/single-post/2017/10/21/Hardware---Pares-diferenciais

Sempre que um controlador precisa mandar um dado, o emissor faz o pedido pela linha RTS (Request-To-Send) para saber se o receptor está podendo receber. Caso esteja, um sinal é mandado por outro fio, o CTS (Clear-To-Send).

O porta serial também pode ser utilizada para criar uma rede em anel, onde vários computadores trocam informações. Para que isso aconteça, cada computador deve ter duas portas seriais para que possa ser interligada várias máquinas uma na outra. A transferência de dados possui um sentido e caso uma delas seja desconectada, a conexão é interrompida e a rede em anel para de funcionar.

A porta serial transmite sequências de 8 bits (1 Byte) acompanhados de um bit de paridade "P" que é opcional e serve para garantir que o dado não chegue corrompido no receptor e o circuito ignore o erro. Por ser uma interface extremamente antiga, quando suas especificações foram definidas, a transmissão era apenas sequências de 7 bits pois, a tabela ASCII da época funcionava assim. Na porta serial, o Byte é transmitido invertido, ou seja, o bit menos significativo por primeiro. Para saber mais sobre bits e Bytes, clique aqui!

A transmissão é feita sempre no modo assíncrono, ou seja, não há uma linha de clock para sincronizar o emissor e o receptor de sinal. A comunicação é feita da mesma forma que na interface PS/2: Há um START bit sinalizando o início da transmissão e um STOP bit sinalizando o fim dessa transmissão. Veja no diagrama abaixo:

Na realidade, os bits de valor 0 (zero) são representados por uma tensão de +12 Volts e os bits de valor 1 (um) são representados por uma tensão de -12 Volts. A linha se mantém sempre em nível 1, ou seja, em -12 Volts e ao iniciar a transmissão a tensão é puxada para +12 Volts (nível 0 do START bit). O STOP bit é o contrário, ou seja, a tensão passa para -12 Volts.

O Super I/O (tanto o chip dedicado, quanto o Super I/O embutido no chipset) não fornecem as tensões de 12 e -12 Volts. Quem faz isso são CI's driver que recebem os dados da interface serial do Super I/O e geram os sinais elétricos padrão para a porta. Estes CI's driver recebem sinais de 12 Volts e -12 Volts do circuito de alimentação para poderem criar o sinal padrão. Veja o diagrama de três circuitos de porta serial abaixo:

Esquema elétrico da porta serial da placa-mãe Biostar IG41M-M7S Rev. 6.0

Esquema elétrico da porta serial da placa-mãe ECS Q57H AM Rev. 1.0

Esquema elétrico da porta serial da placa-mãe ECS H61H2-M12 Rev. 1.0

Observe que nas duas placas da ECS é utilizado o mesmo modelo de CI driver: o chip ST75185CT-S da ST Microelectronics. Na placa da Biostar é utilizado o CI ST75185CTR também da ST Microelectronics. Este CI driver deve estar próximo da porta serial. Veja as imagens de algumas placas abaixo:

Observe os drivers de cada porta DB9

Observe nos diagramas e nas imagens das placas que na porta serial sempre há terminações capacitivas entre o CI driver e o conector DE9. Lembrando que, uma terminação capacitiva é um capacitor em paralelo com a linha de dados e o neutro.

Apesar de ser obsoleta em várias áreas, a RS-232 voltou a ser popular em microcontroladores, já que possui implementação muitos simples. Equipamentos industriais ainda vem com esta interface, dispositivos como switches (para interligar redes de computador) e até nobreaks mais sofisticados também possuem um conector DE9 servindo como "porta de acesso" para configuração. Até mesmo projetores DLP podem vir com uma porta serial. Na grande maioria dos casos, o chip que controla a interface RS-232 requer um CI Driver similar aos utilizados em placas-mãe para gerar os sinais de 12 Volts e -12 Volts.

A taxa de transferência máxima da porta serial é dada em bits por segundo. Em circuitos mais primitivos atingiam 300 bps e atualmente chegam a 115.200 bps. Por ter taxa de transferência mais baixa, os cabos podiam ser mais compridos, podendo atingir até 15 metros, bem diferente da porta paralela que tinha maior desempenho e será estudada no próximo capítulo.

O protocolo utilizado inicialmente na porta serial era chamado de 7E1 (7 bits de dados; Even = paridade par e 1 stop bit) que após alguns anos foi substituído pelo 8N1 (8 = 1 Byte de dados; N = nenhuma paridade e 1 stop bit).

O controlador da porta serial é chamado de UART (Universal Asynchronous Receiver and Transmitter - Receptor e Transmissor Assíncrono Universal). Este circuito tem a finalidade de pegar os dados recebidos em paralelo e organizá-los em série para que sejam enviados pela porta serial. Ao receber dados pela porta serial, o UART pega os dados em série e organiza-os em paralelo para que sejam enviados ao processador. Caso a transmissão para o processador fosse em série também, tudo ia ficar mais lento, pois como já foi dito, a interface serial antigamente sofria vários problemas de desempenho devido a falta de planejamento.

A cada 8 bits que o UART precisava mandar ao processador, ele gerava uma interrupção de hardware utilizando seu endereço IRQ (Interrupt Request). Com o tempo foi adicionado um buffer de memória com arquitetura FIFO (First In, First Out - Primeiro a Entrar, Primeiro a Sair) com 4 bytes para que fosse armazenado 32 bits, fazendo com que o UART só chama-se o processador quando o buffer estivesse cheio, reduzindo assim o número de interrupções e aumentando significativamente o desempenho. Atualmente há UARTs com um buffer de 8, 16 e até mesmo 32 Bytes.

Para cada porta serial presente no computador há um UART, e para cada UART há um endereço de identificação atribuído pelo sistema operacional. Cada porta serial possui um "rótulo", denominado "COM" que significa Communications. Nos anos 80 e 90, por mais que a porta serial fosse lenta ela ainda era bastante utilizada, fazendo com que, em alguns casos, várias portas tivessem que ser utilizadas, gerando alguns inconvenientes que explicarei abaixo.

Dispositivos que utilizavam a porta serial não eram plug and play, portanto, para desconectar um dispositivo e conectar outro a porta deveríamos reiniciar o computador para que fosse descarregado o driver do dispositivo da memória RAM e carregado o driver do outro dispositivo que foi conectado a aquela porta. Todo esse processo geraria transtornos, o que fez a Microsoft fazer uma pequena alteração no MS-DOS 3.3. Essa alteração fez com que o sistema operacional conseguisse endereçar até quatro portas seriais.

A porta serial COM1 utilizava o endereço 3F8h, a porta COM2 o endereço 2F8h e os outros dois endereços adicionados ao MS-DOS eram o 3E8h para a COM3 e o 2E8h para a COM4. Versões do Windows que foram lançadas depois do MS-DOS já conseguiam endereçar inúmeras portas seriais.

Essa adição de endereços gerou um esgotamento de endereços IRQ que seguiam o padrão do PC original, com apenas 8 linhas de interrupção de hardware que já vinham sendo ocupadas por outros circuitos e por 2 portas seriais. Isso fez com que as portas seriais COM1 e COM3 fossem atribuídas ao endereço IRQ4 e as portas seriais COM2 e COM4 fossem atribuídas ao endereço IRQ3. Desta forma, se duas portas com o mesmo IRQ gerarem um interrupção de hardware ao mesmo tempo, o processador não saberá qual das duas o chamou, gerando assim um conflito. Resumindo: por mais que 4 portas seriais estejam disponíveis, apenas duas portas com endereços IRQ diferentes podem ser utilizadas simultaneamente. Isso também vale para sistemas operacionais que consigam endereçar várias portas seriais, como é o caso das versões seguintes ao MS-DOS.

Nos Chips Super I/O, além da interface serial conectada ao UART há também a conexão com um IF (Infravermelho), que também transmite os dados de forma serial e depende de um UART para funcionar, o que fez as fabricantes o conectarem junto ao circuito controlador da porta serial.

Caso tenha ficado com dúvidas ou achou que falta alguma coisa, mande suas palavras nos comentários do Facebook ou para hardwarecentrallr@gmail.com. Se gostou é só curtir e compartilhar! Ajude a divulgar a página!

FONTES e CRÉDITOS

Texto, imagens e gráficos: Leonardo Ritter

Fontes: Passeidireto.com; Pinouts.ru; Hardware.com; Wikipedia (somente artigos com fontes verificadas!)

Última atualização: 17 de Junho de 2018.


429 visualizações

© 2020 Hardware Central Tecnologia Entretenimento e Comunicação do Brasil Ltda. Todos os direitos reservados.

Wix Editor / Revisão da web page: 3.1/2020 (16/07/20)