comunicaciones seriales y voltajes de encendido / apagado

1

Estoy escribiendo un programa en C para hablar con un módem a través de un puerto serie rs-232. Unix admite 6 patillas en la línea serie, incluyendo TXD (Datos transmitidos), RXD (Datos recibidos), DCD (Detección de portador de datos), DTR (Listo para terminal de datos), CTS (Borrar para enviar) y RTS (Solicitud de envío) . Ahora de acuerdo con la siguiente documentación, RS-232 viene en 3 sabores diferentes (A, B y C), cada uno de los cuales define un rango de voltaje diferente para los niveles de encendido y apagado. La variedad más utilizada es RS-232C, que define un bit de marca (activado) como un voltaje entre -3V y -12V y un bit de espacio (apagado) como un voltaje entre + 3V y + 12V

enlace

¿Por qué se define un bit de encendido con un voltaje negativo y un bit de apagado se define con un voltaje positivo? ¿No debería ser revertido?

    
pregunta JohnMerlino

2 respuestas

1

AFAIK los estándares A, B y C son actualizaciones, no especifican diferentes niveles de voltaje.

¿Por qué esos niveles extraños, invertidos? Las características eléctricas del RS232 son MUY antiguas, y fueron elegidas originalmente para impulsar terminales electromecánicos (teletipos). Esos niveles eran apropiados para esa tecnología.

Después de eso, ¿por qué cambiar? Por el mismo motivo, todavía tenemos una distribución de teclado que fue diseñada para evitar la escritura rápida ...

    
respondido por el Wouter van Ooijen
0

En RS232, un voltaje de "espaciado" válido (bit de datos 0) es de +3 a +15 cuando está conectado y es tolerante a +25 cuando está en circuito abierto. Los niveles de voltaje de "marcado" (bit de datos 1) son de -3 a -15 y -25. Los controladores y los receptores toleran un corto a otra señal. La señal no pasará entonces, pero los controladores & Los receptores deben recuperarse una vez que se rectifique el corto. Referencia sugerida

Dado que -3 a +3 es la señal no humana, muchos receptores usan un punto medio sesgado desde 0.0V a 1) evitan que una entrada conectada a tierra emita un parloteo 2) o sesgue a un punto medio como + 2.5V para permitir señales de voltaje 0 y 5.

RS232 también define una velocidad de giro máxima (dV / dt) que generalmente se ignora, de lo contrario no se permitirían valores de baudios altos.

De acuerdo con @Wouter van Ooijen. Funcionó entonces y muchas tecnologías son evolutivas, no revolucionarias.

Algunas reflexiones adicionales.
Algunos términos RS232 se remontan al telégrafo anterior .

Los términos para la condición de señal de "Espacio" (Bit de datos 0) y "Marca" (Bit de datos 1) indican cuando una cinta de papel estaba "marcada" o no. Pronto esto se cambió a señales de audio en su lugar.

La condición de "interrupción" de RS232 (Todos los bits de datos 0 y el bit de parada 0) corresponde a un operador de telégrafo que "rompe" el circuito. Detrás del día, todos los operadores, compartieron un cable de señal. Cuando no estaban enviando, dejaron el teclado en una posición cerrada, creando un voltaje inactivo. Cualquier operador señaló "break" para anunciar un mensaje siguiente. Al tocar el teclado, el circuito creó momentáneamente los dits y dahs del código Morse.

Siguiendo con el teletipo, sospecho se necesitaba un voltaje +/- doble para impulsar los mecanismos cerrados y abiertos. Pero el concepto de "interrupción" para anunciar un mensaje entrante persistió. (Esto no explica por qué es + V significa 0 y -V significa 1 frente al revés).

    
respondido por el chux

Lea otras preguntas en las etiquetas