Serial via USB 2.0. É realmente mais rápido que o serial padrão?

Serial via USB 2.0. É realmente mais rápido que o serial padrão?

Um membro da nossa colaboração científica projetou uma caixa de aquisição de dados com 4 canais a 1 kHz que sincroniza o tempo com GPS. Ele usa USB 2.0 para que a caixa se comunique com um computador, e a interface serial COM com taxa de transmissão de 115200 é usada para transferir dados para o computador no formato ASCII. O fabricante chama isso de “serial virtual” via USB 2.0. Conseqüentemente, todas as configurações como paridade, controle de fluxo de trabalho, etc... não importam na interface serial, mas apenas a taxa de transmissão deve ser definida como 115200 para que isso funcione.

Minha pergunta é:Este número 115200 realmente representa o número de bytes por segundo que podem ser transferidos ao máximo através desta porta, criando uma limitação do que a porta USB 2.0 pode fazer? Ou esse número realmente não importa e a taxa de transferência real é de cerca de480 Mbits/s como padrão USB 2.0?

Quais são os fatores que decidem isso?

Por que perguntar?A caixa atualmente usa comunicação serial unidirecional para entregar dados, o que causa problemas deperdendo bytes algumas vezes na sobrecarga do computador. A solução confiável seria tornar a conexão bidirecional com somas de verificação e solicitar pacotes e perguntar novamente quando os dados estiverem corrompidos. No entanto, se estivermos realmente limitados a 115 kB/s, isso significa que não podemos transferir 4 canais a 1 kHz.

Se precisar de alguma informação adicional, por favor pergunte.

Responder1

Serial via USB 2.0. É realmente mais rápido que serial?

Sua terminologia é desleixada.
"Serial sobre USB 2.0"pode referir-se ao uso de adaptadores USB para RS232 ou consultarCDC/ACM.
Sua última referência a"serial"presumivelmente é para RS-232.

Minha pergunta é: esse número 115200 realmente representa o número de bytes por segundo que podem ser transferidos ao máximo através desta porta, criando uma limitação do que a porta USB 2.0 pode fazer?

115200 é a taxa de transmissão, que (neste caso) é bits por segundo (e não bytes por segundo).
Como este é um canal assíncrono, cada caractere/byte é enquadrado individualmente com um bit de início e 1/1,5/2 bits de parada. Portanto, há uma sobrecarga de enquadramento de 25% (assumindo a configuração típica do 8N1).

USB é um barramento e pode lidar com mais de um canal de dados.
Os dados RS-232 assíncronos são empacotados para transmissão por USB síncrono e compartilham a largura de banda total de 480 Mbs do USB 2.0. (Embora o adaptador USB para RS232 típico use apenas USB 1.1.)

Eu testemunhei quatro canais RS-232 simultâneos de 115.200 baud transmitindo em uma única conexão USB 1.1 sem problemas.

Ou esse número realmente não importa e a taxa de transferência real é de cerca de 480 Mbits/s como padrão USB 2.0?

O número é importante porque é a taxa de transmissão configurada para aquele canal.

Quais são os fatores que decidem isso?

A taxa de transmissão máxima normalmente é limitada pelo hardware e pelo software de suporte.

Por que perguntar? A caixa atualmente usa comunicação serial unidirecional para entregar dados, o que às vezes causa problemas de perda de bytes devido à sobrecarga do computador.

A perda de dados parece ser um caso de saturação do buffer do sistema. Os dados chegam mais rápido do que são lidos/processados ​​pelo programa aplicativo. Nenhum controle de fluxo está sendo empregado no canal de dados para evitar a saturação.

informação relacionada