¿Podemos calcular la velocidad en baudios de la comunicación RS232 a partir de la señal de salida de TX?

10

¿Podemos calcular la velocidad de transmisión o velocidad de comunicación de la comunicación RS232 a partir de la señal de salida X?

La imagen de abajo es de una señal de salida de comunicación RS232. Tomé esta foto con 0xaa, y el período de tiempo entre máximos es de 100.us.

Escuché que la frecuencia del oscilador externo es de 8Mhz. ¿Podemos calcular la velocidad en baudios a partir de eso?

    
pregunta chiper

4 respuestas

20

Parece que tienes aproximadamente 2,4 bits por división, que son 250 µs. Eso pone cada bit de tiempo a 104 µs. Invirtiendo eso da 9.6 kBaud. Esa es una de las tasas de baudios estándar, por lo que suena bastante plausible.

    
respondido por el Olin Lathrop
12

Su alcance muestra el tiempo en \ $ 100 \: \ mu \ textrm {s} \ $. Puede ser que esté configurando los cursores o el uso automatizado de una función de medición en el alcance. Usted no dice De cualquier manera, estoy de acuerdo con el comentario de Olin de que esto está cerca de los 9600 bps, que es una tasa de bits común para las comunicaciones RS-232.

Sin embargo, su propio comentario sobre la velocidad del reloj externo, si fuera cierto, argumentaría que es poco probable que exista 9600 bps. \ $ 8 \: \ textrm {MHz} \ $ no se divide uniformemente a 9600 bps.

Algunos otros pensamientos:

  1. Si realmente es un ancho de bits \ $ 100 \: \ mu \ textrm {s} \ $, entonces han excedido la variación de precisión permitida de \ $ \ pm 2 \% \ $ para la tasa común de 9600 bps . (Si necesita ver los cálculos y pensamientos detrás de esta figura, vea esta página de Maxim .) Si la precisión del alcance que aceptamos es solo aproximada, entonces no puede exceder los requisitos de precisión. En cualquier caso, es una buena idea que sepa que existen.
  2. Esta señal claramente no está utilizando voltajes RS-232, sino que tal vez ~ \ $ 3.5 \: \ textrm {V} \ $ señalización.
  3. Esta señal utiliza un HI para MARK (en RS-232, un MARK es un voltaje negativo), por lo que debe ser una salida de nivel lógico de una señal micro y no RS-232.

Si quita el bit de INICIO requerido y la PARADA mínima de un bit, esto significa que probablemente haya al menos siete tiempos de bit restantes para los datos:

Loanteriorseinterpretaríacomoun0x2Aindependientementedelaendianidad,siestoyprestandoatención.

Sinembargo,esteseríaelgráficoparaochobitsdedatos:

En este caso, la interpretación sería 0xAA o bien 0x55, dependiendo de la naturaleza endiana de la secuencia. Así que esto podría representar su 0xAA (little endian, que creo que es más común).

Como puede ver, el transmisor y el receptor deben acordar a priori el número de bits de datos y la naturaleza de los mismos.

Los resultados del alcance podrían interpretarse como tamaños de palabra en serie incluso más largos. Los he visto antes (9, más comúnmente, como algunos IC solían admitirlo, pero incluso he visto 10 utilizados antes).

Sin acuerdo, es difícil estar seguro.

Como barra lateral:

Recuerdo los días en que los teletipos se movían de 5 bits a 6 bits (DTE de principios de la década de 1960) justo en el momento en que se creó RS-232 en 1960, ya que mi padre tenía un teletipo en su hogar en una oficina. Las comunicaciones RS-232 de seis bits realmente existieron por un período de tiempo.

La codificación ASCII se usó ampliamente a fines de la década de 1960 y principios de la de 1970 y es una codificación de 7 bits. Era muy común que las comunicaciones de datos RS-232 usaran 7 bits de datos.

Más tarde, cuando los circuitos integrados de comunicaciones y los microcontroladores entraron en el uso común y los tamaños de registro de 8 bits estuvieron disponibles en abundancia, el RS-232 se extendió a menudo para transmitir / recibir 8 bits a la vez.

Creo que la mayoría de las personas de hoy solo esperan que se use para comunicaciones de 8 bits. Pero ese no fue siempre el caso.

    
respondido por el jonk
0

Si esto es para un microcontrolador, no es posible determinar la velocidad en baudios de su oscilador, pero un cristal de 8 MHz es definitivamente capaz de crear 9600 baudios.

¿Puedes medir y decirme la hora exacta desde el primer mínimo hasta el último máximo? - El primer espacio me parece un poco apagado. Me parece que está usando un disparador, ¿puede moverlo un poco más alto porque si es un disparador de borde y está sentado en los picos, el osciloscopio posiblemente tenga problemas para disparar?

    
respondido por el Bilal
0

La determinación de la velocidad en baudios a partir de un rastreo de alcance es a veces, pero no siempre posible.

La velocidad en baudios es la inversa del período de bits, pero la señal puede permanecer en el mismo estado durante muchos períodos de bits, por lo que no siempre se puede determinar inequívocamente el período de bits desde el rastreo de alcance.

Suponiendo datos de 8 bits y sin paridad, su forma de onda podría representar un solo byte con un período de bits de ~ 100ns pero también podría representar dos bytes con un período de bits de aproximadamente 50ns.

    
respondido por el Peter Green

Lea otras preguntas en las etiquetas

Comentarios Recientes

¿Con qué frecuencia? Deberá examinar las frecuencias RX y TX. Supongamos que tenemos un bus de datos de 220 Baudios RS232. Piense en esas dos unidades de entrada: ¿qué byte está en cada una? Cada uno dice 220 dBM, eso es exactamente 120 MHz (el pitido de 80 MHz.) La relación entre los pitidos de 40 MHz y 160 MHz son todos negativos en el segundo que se evalúan las funciones derecha / izquierda. Por otro lado, el primer elemento de una matriz (que es la dirección de los bytes 0, 255, 1) de cada uno de los pulsos... Lees verder