Figura1.LógicaestándarRS-232ynivelesdevoltaje.Fuente: Wikipedia .
Figura2.TrazadodelosciloscopioesquemáticodenivelesdevoltajeparauncarácterASCII"K" (0x4B) con 1 bit de inicio, 8 bits de datos, 1 bit de parada. Tenga en cuenta que la inactividad es un voltaje negativo.
RS232 usa un voltaje negativo para la lógica 1 y un voltaje positivo para la lógica 0. El estado 'inactivo' es la lógica 1. Hasta donde puedo establecer, esta disposición es histórica y posiblemente porque los cables de cobre están expuestos a la humedad, como podría ser en aplicaciones de líneas telefónicas: es menos probable que se corroan si el voltaje es negativo. Ref. CodePainters .
Recibir
El circuito de recepción en este circuito utiliza el nivel de señal cero de alta lógica para activar Q4 y supone que todo lo demás debe ser una lógica 1. Esto no está de acuerdo con la especificación que trata cualquier cosa entre -3 V y +3 V como "indefinido". ¡Este circuito está haciendo trampa!
El circuito debe hacer dos cosas para convertir a un flujo de datos lógicos de 5 V:
- Fije la señal de 0 a 5 V. (R18 y D4 hacen esto)
- Invertir la lógica a la "lógica 1 = 5 V" convencional. (Q4 y R17 hacen esto).
El circuito probablemente funcionaría sin R27 pero puede ayudar a reducir la base en caso de pequeñas diferencias en el potencial entre las dos conexiones a tierra del dispositivo RS232.
Transmit
El circuito supone que el dispositivo en el otro extremo requiere una señal bipolar adecuada para que funcione correctamente. Sin el chip MAX232 no hay fuente de voltaje negativo a bordo. El problema se resuelve robando energía de la línea RX.
- Cuando la línea de RX esté inactiva, C9 se cargará negativamente a través de D3.
- TXD normalmente estará inactivo y en +5 V. Esto apagará Q3 y R14 tirará del pin 2 bajo, lo que dará la señal de inactividad al otro dispositivo. (Por lo tanto, obtendremos una inversión lógica nuevamente). Tenga en cuenta que el TX del otro dispositivo ahora está cargando C9, extrayendo la corriente a través de D4 y R18, así como reduciendo su propio RX bajo. Puede esperar que la tensión se colapse un poco.
- Cuando el TXD se baja, el Q3 tirará del pin 2 alto. Esto tenderá a descargar C9 y ejercerá mayor tensión en el circuito del pin 3.
El circuito funcionará en muchos casos, pero probablemente solo en distancias cortas. La inmunidad al ruido se reduce mucho en comparación con el estándar. Si el otro dispositivo hace trampa de una manera similar, la conexión puede no funcionar bien, en todo caso.
Tenga en cuenta también que si los datos recibidos consistían en datos con muy pocos "unos", puede que no haya suficiente potencia para mantener a C9 adecuadamente negativo y que los datos de TX no se reciban en el otro extremo. Esto sería improbable en una transmisión semidúplex, ya que siempre habría espacios vacíos.