Na maioria das vezes, o RS-232 e o UART se reúnem em teorias de comunicação serial. Ambos são iguais? Pelas minhas leituras, concluí que o UART é uma forma de hardware do protocolo RS-232. Estou correcto?
Na maioria das vezes, o RS-232 e o UART se reúnem em teorias de comunicação serial. Ambos são iguais? Pelas minhas leituras, concluí que o UART é uma forma de hardware do protocolo RS-232. Estou correcto?
Respostas:
Não, UART e RS-232 não são os mesmos.
O UART é responsável por enviar e receber uma sequência de bits. Na saída de um UART, esses bits geralmente são representados por tensões no nível lógico. Esses bits podem se tornar RS-232, RS-422, RS-485 ou talvez alguma especificação proprietária.
O RS-232 especifica os níveis de tensão . Observe que alguns desses níveis de tensão são negativos e também podem atingir ± 15V. Um balanço de tensão maior torna o RS-232 mais resistente a interferências (embora apenas em certa medida).
Um microcontrolador UART não pode gerar esses níveis de tensão sozinho. Isso é feito com a ajuda de um componente adicional: driver de linha RS-232. Um exemplo clássico de um driver de linha RS-232 é o MAX232 . Se você consultar a folha de dados, notará que este IC possui uma bomba de carga, que gera ± 10V de + 5V.
( fonte )
UART (ou USART) - Receptor / Transmissor Assíncrono Universal (Síncrono)
Esta é, essencialmente, uma interface de comunicação serial. A parte "universal" significa que pode ser configurada para suportar muitos protocolos seriais específicos diferentes. O termo é genérico e não representa um padrão específico. No mínimo, significa que possui TXuma RXlinha e uma , que envia um fluxo de dados serial e recebe um fluxo de dados serial.
RS-232 - Um padrão que define os sinais entre dois dispositivos, definindo os nomes dos sinais, sua finalidade, níveis de tensão, conectores e pinagens.
Este é um padrão de interface específico que permite a interoperabilidade do equipamento. Embora duas peças de hardware possam ter UARTs, você não sabe se elas se conectam sem danos ou se comunicam adequadamente, a menos que saiba que possuem os mesmos padrões de pinagem e tensão, ou incluem um conversor ou cabo com fio específico para a interconexão de esses dois dispositivos específicos. Para evitar a necessidade de conversores ou cabos especiais, os fabricantes podem optar por seguir o padrão RS-232. Você sabe, então, que um cabo RS-232 padrão conectará os dois.
No entanto, nem o UART nem o padrão RS-232 definem o que é enviado nas linhas TXe RX. Geralmente, quando as pessoas usam RS-232, elas usam uma codificação NRZ de 8 bits simples, com um bit de início e um bit de parada. A maioria dos equipamentos fabricados atualmente usa essa codificação, mas não há necessidade de fazê-lo. Você pode encontrar equipamentos mais antigos que incluem bits de paridade ou usam 7 ou 9 bits. O UART pode ser configurado para suportar esses vários protocolos em suas linhas TXe RX.
Normalmente, os UARTs não fazem interface diretamente com o RS-232. Você precisará converter a saída do UART para o padrão +/- 12V exigido pelo RS-232. Uma interface RS-232 completa normalmente envolve um UART e um conversor de nível RS-232. Além disso, o padrão RS-232 inclui a definição de vários outros pinos de sinalização além TXe RX, os quais você pode precisar usar dependendo do equipamento ao qual precisa se conectar. Eles também precisarão ser convertidos em nível, e seu UART pode ou não suportar esses sinais. Caso contrário, você terá que controlá-los diretamente com seu software / firmware.
Portanto, embora um UART possa ajudá-lo a implementar uma interface RS-232, não é uma interface RS-232 propriamente dita.
O UART funciona para converter dados paralelos das linhas de barramento do PC em dados seriais para transmissão via drivers de linha para dispositivos RS-232, RS-422 e RS-485 . O pino do relógio do chip UART é alimentado por uma fonte de relógio programável. A velocidade do relógio é determinada pela configuração da taxa de transmissão que o dispositivo usará. A velocidade do relógio é 16 X a taxa de transmissão. A colocação de uma sonda do osciloscópio no pino do relógio de um chip UART e a determinação da frequência e, em seguida, a divisão por 16 é uma maneira de determinar uma taxa de transmissão desconhecida.