Podemos calcular a taxa de transmissão da comunicação RS232 a partir do sinal de saída TX?


10

Podemos calcular a taxa de transmissão ou a velocidade de comunicação da comunicação RS232 a partir do sinal de saída X?

A imagem abaixo é de um sinal de saída de comunicação RS232. Tirei essa foto com 0xaa, e o período entre altas é 100.us.

Ouvi dizer que a frequência do oscilador externo é 8Mhz. Podemos calcular a taxa de transmissão disso?

Rastreio do osciloscópio mostrando sinal RS232


9
Eu acho que um EE deveria saber disso F=1/T.
Eugene Sh.

2
Eu esperava que essa fosse uma pergunta sobre a detecção da taxa de transmissão sem o conhecimento dos dados para facilitar a configuração, mas isso? @EugeneSh. é mais do que certo - conhecer a definição de frequência é um conhecimento básico quando se trabalha com eletrônica.
NieDzejkob 12/09

1
Dica: se você ficar confuso com algo assim, faça com que sua máquina de desenvolvimento envie seu melhor palpite sobre o que você pensa que está vendo e veja como isso se parece no escopo em comparação. Se estiver errado, refine seu palpite para aproximá-los.
Chris Stratton

Sigrok é open source, certo? Como as pessoas pensam que a "frequência de adivinhação" funciona?
Mckenzm 14/08/19

Respostas:


21

Parece que você tem cerca de 2,4 bits por divisão, que são 250 µs. Isso coloca cada bit de tempo em 104 µs. Inversão que produz 9,6 kBaud. Essa é uma das taxas de transmissão padrão, então isso parece bastante plausível.


12

100μs


8MHz

Alguns outros pensamentos:

  1. 100μs±2%
  2. 3.5V
  3. Este sinal usa um HI para MARK (no RS-232, um MARK é uma tensão negativa), portanto deve ser uma saída de nível lógico de uma micro e não de sinalização RS-232.

Se você retirar o bit START necessário e o STOP mínimo de um bit, significa que provavelmente existem pelo menos sete bits restantes para os dados:

insira a descrição da imagem aqui

O exemplo acima seria interpretado como 0x2A, independentemente de endianness, se eu estiver prestando atenção.

No entanto, este seria o gráfico para oito bits de dados:

insira a descrição da imagem aqui

Nesse caso, a interpretação seria 0xAA ou 0x55, dependendo da natureza endian do fluxo. Portanto, isso pode representar seu 0xAA (little endian, que eu acredito que seja mais comum).

Como você pode ver, o transmissor e o receptor devem concordar a priori sobre o número de bits de dados e a natureza endia deles.

Os resultados do escopo podem ser interpretados como tamanhos de palavras seriais ainda mais longos. Eu já os vi antes (9, mais comumente, como alguns CIs costumavam suportar, mas eu já vi 10 usados ​​antes).

Sem acordo, é difícil ter certeza.


Como barra lateral:

Lembro-me dos dias em que os teletipos estavam passando de 5 bits para 6 bits (DTE do início da década de 1960) na época em que o RS-232 foi criado em 1960, pois meu pai tinha esse tipo de teletipo em casa, em um escritório doméstico. As comunicações RS-232 de seis bits realmente existiram por um período de tempo.

A codificação ASCII foi amplamente usada no final dos anos 60 e início dos anos 70 e é uma codificação de 7 bits. Era muito comum que as comunicações de dados RS-232 usassem 7 bits de dados.

Posteriormente, quando ICs de comunicação e microcontroladores passaram a ser utilizados em comum e os tamanhos de registradores de 8 bits estavam disponíveis em abundância, o RS-232 era frequentemente estendido para transmitir / receber 8 bits por vez.

Acho que a maioria das pessoas hoje espera que seja usada para comunicações de 8 bits. Mas esse nem sempre foi o caso.


Eu acho que os dados também podem ser os dois bytes 0x98 0xE6 às 19.200, discriminados como s00011001Ss01100111S [s = start S = stop]. Alguns caracteres como "A" [0x41] geram padrões de bits que não podem ser criados por nenhuma outra taxa de transmissão (provavelmente por que Hayes escolheu "A" como o primeiro caractere para a sequência de treinamento de autobaud), mas o padrão acima representaria um valor válido de dois sequência de bytes a 19.200 baud.
Supercat

Eu costumava ser o orgulhoso proprietário de uma impressora mecânica de teletipo. Era totalmente mecânico e rodava a 60 baud. Bem inteiramente mecânico se você não contar solenóides e um motor síncrono. O bit de partida soltou uma embreagem e uma roda seletora começou a girar e as coisas aconteceram em seguida para posicionar a cabeça de impressão e disparar o martelo. Foi tão legal de assistir. Tinha que deixar para trás no Reino Unido quando vim para o Canadá. Era muito pesado para transportar.
Trevor_G

Mas, com certeza, essa é uma das principais razões pelas quais o rs232 teve tensões e correntes extremas. Não havia nada no meio, apenas o cabo RS232 -> solenóide.
Trevor_G

@supercat Sim. Também poderia ser dividido no tempo. Essas variações estão começando a chegar ao ponto em que um livro é necessário. Mas seu ponto de vista é certamente aceito.
11137

1
@Trevor Eu nunca tinha um, mas costumava usar o KSR-35 (uma máquina mecânica baseada em came muito impressionante) e as unidades ASR-33 / KSR-33 mais baratas e mais baratas. O que meu pai tinha em nossa casa (antes de morrer em um acidente de trânsito) não era nenhum deles, mas era um dispositivo de código de 6 bits anterior, semelhante em tamanho ao ASR-33.
11137

0

Se for para um microcontrolador, não é possível determinar a taxa de transmissão do seu oscilador, mas um cristal de 8MHz é definitivamente capaz de criar 9600 bauds.

Você pode medir e me dizer o tempo exato desde a primeira baixa até a última alta? - O primeiro espaço parece um pouco para mim. Parece-me que você está usando um gatilho, você pode movê-lo um pouco mais alto, porque se for um gatilho de ponta e sentado nos picos, o osciloscópio provavelmente terá problemas ao disparar.


Se você amostrar o sinal e medir a menor largura encontrada, é trivial calcular a taxa. Mais cedo ou mais tarde, um bit de início deve ser seguido por um '1'.
Mckenzm 14/08/19

0

Determinar a taxa de transmissão a partir de um rastreamento de escopo às vezes, mas nem sempre é possível.

A taxa de transmissão é o inverso do período de bits, mas o sinal pode permanecer no mesmo estado por muitos períodos de bits, portanto, nem sempre é possível determinar inequivocamente o período de bits a partir do rastreamento do escopo.

Assumindo dados de 8 bits e sem paridade, sua forma de onda pode representar um único byte com um período de ~ 100ns, mas também pode representar dois bytes com um período de aproximadamente 50ns.

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.