Quais são as diferenças entre USB e RS232?


29

Alguém pode me dizer por que as pessoas usam USB ou RS232. Ambas são portas seriais, certo? E eu entendo que o USB é muito mais rápido (especialmente o USB3.0), mas se as pessoas quisessem também, tenho certeza de que poderiam fazer um sucessor do RS232 com a mesma rapidez.

Então, quais são as vantagens e desvantagens de ambos?


4
O RS232 foi realmente projetado para ser uma interface para um modem. Isso é bastante claro com sinais chamados 'indicador de toque', etc. Foi usurpado para fornecer comunicação bidirecional simples de 3 fios (GND, TX, RX) para muitos dispositivos. O USB foi projetado como um sistema de interface de dispositivo extensível por protocolo. Dado o extensível, é muito mais complicado e requer uma pilha de software no lado do dispositivo e do host para implementar. O USB ainda tem um substituto para o RS232 chamado CDC.
Kenny

Respostas:


20

Quais são as diferenças entre USB e RS232?

Você encontrará muito mais do que eu posso lhe dizer aqui sobre as habilidades e desvantagens do RS232, iniciando com uma busca pelo RS232 e depois 'vagando pela web' e seguindo o tópico em que ele leva. Nenhuma página lhe dirá tudo, mas 10 ou 20 skims rápidos mostrarão o quanto foi útil e absolutamente terrível, tudo ao mesmo tempo.

  • O USB é concebido como uma interface totalmente padronizada e extensível em alta velocidade para cima entre 1 dispositivo de computação usando uma única porta e N periféricos usando uma porta cada, com todo o controle sendo realizado por sinais no fluxo de dados. O USB é formidável para fornecer interfaces de baixo nível. Interfaces "simples" são comuns, mas fornecem e ocultam um grau muito grande de complexidade relacionada.

  • O RS232 foi concebido como uma interface semi-padronizada de velocidade 1: 1 relativamente baixa entre 1 dispositivo de computação e 1 periférico por porta, com o controle de hardware sendo parte integrante da operação. O RS232 é relativamente fácil de fornecer interfaces físicas de baixo nível.


RS232

era (e até certo ponto ainda é) uma maneira flexível poderosa e muito útil de conectar um dispositivo de computação a periféricos.

No entanto, o [tm] [!!!] RS232 foi concebido como uma distância curta (alguns metros no máximo) em velocidade moderadamente baixa (9600 bps usual, até cerca de 100kbps em alguns casos, mais rápida em situações muito especializadas), um dispositivo por porta ( exceções que comprovem a regra).

A sinalização foi desequilibrada em relação ao terra, usando cerca de +/- 12V com a lógica um em dfata = -V e a lógica no controle = + V. Havia muitos muitos sinais de controle no conector original de 25 pinos, o que levou a uma vasta gama de usos e incompatibilidades fora do padrão. A versão posterior reduziu o conector para 9 pinos, com sinais de controle ainda suficientes para permitir que as pessoas desestabilizassem completamente as configurações.

Fazer com que o RS232 funcione entre um dispositivo terminal escolhido aleatoriamente e um computador ou similar PODE ter sido uma questão de conectar e usar, ou precisar de minutos horas ou dias de reprodução e, em alguns casos, simplesmente não funcionaria.

O RS232 NÃO fornece alimentação propriamente dita, embora muitas pessoas o usassem para alimentar equipamentos de muitas maneiras diferentes, nenhuma delas padrão. A observação das linhas de dados permitirá identificar sinais de dados. (Olhos rápidos e um cérebro que funciona com um número adequado de kbps ajudariam).

A transferência de dados é unidirecional em uma linha de transmissão e recebimento e usa enquadramento assíncrono.

O design é para conexão 1: 1 sem meios de multiponto em um arranjo 1: N sem arranjos não padrão.

USB

até USB2 é um sistema físico de 4 fios com duas linhas de energia e duas linhas de dados. Não há linhas de controle físico. O USB3 usa mais linhas e os detalhes são deixados para outra pergunta e resposta.

A velocidade inicial era de 12 Mbps, aumentada para 480 Mbps com USB2 e até 5 Gbps no modo "Superspeed" com USB3.

O controle e a configuração são todos feitos com software usando sinais de dados que são uma parte totalmente inseparável da interface. Observar o fluxo de dados com um osciloscópio não revelará o componente de dados real do sistema.

A transferência de dados usa sinalização de tensão diferencial balanceada 0 / + 5.

A transferência de dados é bidirecional, com a propriedade do "barramento" sendo parte integrante do protocolo.

A conexão é quase sempre fisicamente 1: 1, mas vários dispositivos lógicos podem ser acomodados na mesma porta. A conexão de N dispositivos físicos a uma porta upstream geralmente é realizada pelo uso de um "hub", mas isso é essencialmente uma manifestação visível de um arranjo 1: N interno, que é parte integrante do projeto.


Haverá alguns problemas interessantes de conectores :-):

USB2 / USB3 A partir daqui

insira a descrição da imagem aqui

Microconnector de super velocidade USB3 com compatibilidade com versões anteriores USB 2 daqui

insira a descrição da imagem aqui

USB3.COM - Conectores de cabo de super velocidade USB3 daqui

insira a descrição da imagem aqui


Wikipedia RS232

USB versus serial

Wikipedia USB

Perguntas frequentes sobre a velocidade de USB3

Wikipedia USB3

USB.ORG - super velocidade


1
Vale ressaltar que o RS232 é muito superior ao USB quando a instabilidade e a latência são importantes. Você não pode alimentar de forma confiável um sinal de pulso por segundo em um computador via USB. Você pode fazê-lo com o RS232
dfc

18

Uma porta USB é muito mais sofisticada do que uma porta serial RS-232.

Basicamente, um RS-232 tem um pino TX e um RX no qual um lado transmite e recebe dados (respectivamente), e o outro lado tem os mesmos dois cruzados, de modo que um TX se conecta ao outro RX e vice-versa (obviamente).

Existem outros pinos para controle, mas eles não são necessariamente usados. Sua principal função é o controle de retenção de buffer. O protocolo no RS-232 é bastante simples. Supõe-se que ambos os lados sejam inicialmente silenciosos (cada TX é baixo) e, quando um lado deseja transmitir um byte, executa um ou mais pulsos altos (os "bits iniciais"), envia cada bit do byte transmitido sequencialmente e depois termina com mais alguns pulsos ("bits de parada"). Opcionalmente, pode haver um bit de paridade. Supõe-se que ambos os lados tenham anteriormente a mesma configuração para os bits de início e parada e o tempo para o envio de cada bit (a taxa de transmissão).

Pode haver mais sinalização para correção de erros, mas isso não é necessário. Portanto, uma porta RS-232 pode ser feita facilmente usando pinos de E / S em qualquer microcontrolador, a única coisa que você precisará é de conversão de tensão, pois as linhas RS-232 são de 12V e os microcontroladores geralmente trabalham em 3,3V.

O USB usa um par de linhas diferenciais, nas quais um bit é elevado colocando uma diferença de tensão entre elas em uma direção e baixo colocando a mesma diferença na outra direção. Isso é muito mais eficaz para reduzir o ruído, por isso o USB pode percorrer distâncias maiores e ter larguras de banda muito maiores. Ambos os lados transmitem e recebem pelo mesmo par, e há um protocolo de dados complexo para detectar colisões, corrigir erros, descobrir características do dispositivo etc., sem mencionar o suporte na especificação para protocolos padrão específicos do dispositivo, como mouses, teclados, etc. Em resumo, para ter uma porta USB, você precisa de um IC dedicado ou de um firmware no seu microcontrolador que não seja nada trivial de escrever, especialmente se você deseja oferecer suporte a recursos específicos do dispositivo.


2
Boa resposta, mas você provavelmente deve remover a palavra 'par' da descrição do RS232, pois ela tende a ser usada mais no contexto da sinalização diferencial (ou seja, "par trançado").
Chris Stratton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.