Desplazamiento de DC DC de forma de onda de la palanca de cambios Sparkfun RS232

5

[actualizado con la forma de onda final y operativa al final de la pregunta]

He estado tratando de conectar algunos equipos automotrices con un Teensy 3.2 para comunicación en serie a 19200 baudios. Para establecer una interfaz entre RS232 y la lógica TTL, estoy usando esta palanca de cambios de Sparkfun .

Teensy está configurado para el usuario Serial2 para esa conexión. Y si conecto un CP2102 en Serial2, obtengo la comunicación serial correcta en 19200 baudios 8N1. Esto confirma que los pines son correctos y que el UART está funcionando.

La serie del dispositivo remoto llega sobre tres conductores; Tierra, Tx, Rx.

Conecto los tres al cambiador de nivel y encuentro esta forma de onda limpia y agradable a través de Ground y TX (RS232 Pin 2) que está etiquetada en Esquema del desplazador como RS-OUT >

CuandousoVcc=3v3deTeensy,veoestaformadeondaenlalíneaRx(JP2Posición4)>

Ymientrasmialcancepuededecodificarlosdatosenserie,miTeensynoreconocelosdatosenserie.

LaúnicacosaobviaquepuedovermaleseldesplazamientodeCC..

¿DeberíaestetipodeformadeondaTTLtrabajardirectamenteenunUART?¿DebosubirobajarparaobtenerlosnivelesTTLadecuados?

¿Lohecableadoincorrectamente?(EstecableRS232funcionacuandomeconectoaundongleUSB<>RS232yloconectoaunacomputadora).

Seguimiento

Sí,lohabíacableadoincorrectamente;LospinesDB9debíanserintercambiadosporTX/RX.

Conelcambiodevoltajecorrectoaplicadoenloslugarescorrectosdelapalancadecambios,losniveleslógicossonlosquedeberíanser.

Tengaencuentaquelacapturadepantallaanteriores5v/div.

Esteesunvistazomásdecercaa1v/div.

El teensy ahora está leyendo alegremente de esa señal TTL.

Nota al pie

El alcance es el Rigol DS1054Z, y está configurado para Cat5 Ethernet conectado a una Mac. Las capturas de pantalla son gracias a un proyecto de Python que instalé con $ pip install ds1054z[savescreen,discovery] . A continuación, obtener las capturas de pantalla es simplemente:

$ ds1054z save-screen 10.0.0.6
ds1054z-scope-display_2016-07-20_20-31-00.png

Se accede a la decodificación RS232 a través del botón [Matemáticas] cerca de los botones de selección de canal. Debe cambiar la opción [Polaridad] del decodificador al controlar el resultado TTL del circuito de cambio.

Addendum

Estaba alimentando esto con VCC = 5V, y produje niveles de lógica RX-I en consecuencia. Teensy está contento con 5V TTL, pero produce niveles lógicos de 3V3 para la salida.

5V VCC exige que TX-O sea manejado con una señal TTL de 5V. Las luces de TX y RX parpadearon muy bien, pero no se generó ninguna señal RS232 TX.

Al cambiar a VCC = 3V3, el cambiador detectó los niveles lógicos de TX correctamente y produjo la señal de transmisión RS232 esperada.

    
pregunta ohhorob

1 respuesta

0

El cambio de nivel con transistores y la eliminación de voltaje negativo es una configuración válida aunque a veces delicada.

No dará los voltajes correctos si no tiene el pin RS-IN conectado a un voltaje negativo (generalmente suministrado por la salida impulsada por RS-232 cuando está en modo inactivo y almacenado con el capacitor cuando se transmite desde el RS-232 lado) al medir el nivel de salida desplazada.

Si no hay un voltaje de bajada disponible, ofrecerá un bajo voltaje bastante débil.

Le sugiero que pruebe los voltajes con señales estáticas y mida el voltaje en el capacitor para ver que se está cargando a un voltaje negativo. También verifique que tenga conexiones a tierra válidas en ambos lados (y su alcance :-)).

Sus puntos de muestreo de alcance parecen estar a la deriva en las capturas de pantalla, no estoy seguro de si la decodificación será correcta pero está intentando.

Si es posible, intentaría usar 5V IO en el lado TTL ya que el circuito dejará caer al menos un Vce en el swing positivo en el lado RS-232. Con 3.3, la salida solo está dentro de los límites de + -3V. Sin embargo, si su salida de 3.3V TTL no alcanza un riel VCC de 5 V, puede encontrar que no apaga el transistor y no verá una buena tensión negativa en el pin RS-OUT.

    
respondido por el KalleMP

Lea otras preguntas en las etiquetas