¿Usar UART Tx como salida digital?

5

¿Sería posible enviar una señal "verdadera" de 5 V desde la Tx de un dongle UART? ¿Como si fuera una salida digital?

Aquí está el adaptador UART Yo compré.

    
pregunta Sponge Bob

6 respuestas

7
  

¿Sería posible enviar una señal "verdadera" de 5 voltios desde la Tx de una llave UART? ¿Como si fuera una salida digital?

Condicional sí.

(1) El módulo al que se vinculó tiene niveles de salida TTL.
Supongamos que usa + 5V = alto y 0V = bajo (veo que tiene 3V3 y 5V mencionados en su PCB).

Esto significa que RXD estará a 5V en estado inactivo, un bit de inicio será 0V, los bits de datos serán +5 para la lógica 1 y 0V para la lógica 0 y los bits de sytop serán 5V.

Cuando no se envíen datos, V_RXD será 5V.

Si envía una señal de $ 00 (00000000 binario), el UART emitirá
 inicio + 8xdata + parada = 0 00000000 1
 El nivel de CC promedio para esta señal será de 1/10 x 5V = 0.5V.

Si reenvía $ 00 bytes sucesivos a la velocidad máxima del canal, la salida puede ser tan baja como 0.5V DC cuando se filtra adecuadamente. Dependiendo del hardware y la interfaz USB y la configuración de la PC y la fase de la luna, PUEDE obtener interacciones entre btes y ver el nivel de señal de 5V ocasional.

Si agrega un filtro de diodo RC + muy simple de modo que un RDX baja descargue la tapa inmediatamente pero la carga se realice a través de la resistencia, puede obtener una salida baja durante los períodos en que la línea TXD es alta por períodos limitados.  Si $ 00 bytes pueden enviarse de extremo a extremo sin interrupciones, un filtro RC + D puede tener una constante de tiempo de solo un poco más o menos. Si se producen máximos más largos, se necesita una constante de tiempo mayor.

Si un filtro RC + D se adapta a sus necesidades depende de la velocidad de datos que desee y del comportamiento del sistema. Si esto es para controlar algo que necesita una respuesta lenta, digamos que 1 minuto o más entre cambios y un cambio lento de bajo a alto es aceptable, entonces esto podría funcionar bien para usted.

(2) UART externo:

Un método mejor es agregar un UART externo en el extremo receptor y descodificar la señal serial a una palabra paralela. Esto te da 8 bits de apagado.

(3) Si quiere algo ya construido que hace lo que quiere, compre un puerto USB a puerto paralelo (puerto de impresora) : esto le da 8 (o más) líneas de control de encendido / apagado desde USB. Muchos en ebay. ¡Aquí hay uno por $ US2.66 compre ahora con envío gratis !!!!!!!!!!!!!!!! . Muchos más parecidos. Algunas personas han comentado que esto puede tener funcionalidad de impresora pero no funcionalidad de puerto paralelo. Si es así, todavía debería ser utilizable. En el peor de los casos, es posible que deba bloquear los datos en "tiempo de impresión".

Añadido:

TextosangradoagregadocomoresultadodeuncomentariodeCS:

  • UstedmencionóespecíficamenteelusodelalíneaTX,queesaloquerespondíinicialmente.
    Otroshanmencionadoelusodelíneasdecontroldeflujo(queaparentementenoestabandisponiblesensudispositivoynosemencionaronenelanuncio)yalgunossugirieroncomprarunconvertidorquetuvieraestasseñales.

    RecientementedetectéunconvertidorserialUSB-TTLenunsitiodesubastaslocalynotéquelosorificiosalolargodelosladosdelaplacateníanetiquetasdecontroldeflujo.Comosuunidadtieneorificiossimilares,PUEDEtambiéntenerunafuncionalidadsimilar.Entonces...

ObservelaparteinferiordesuconvertidordeUSBaTTL:puedetenerRTS/CTSyquizásotrasseñalesdisponibles.Siesasí,unoomásdeestospuedensercontroladoscomounasalida.

Verlafotodeabajo.Estaestuunidad.Observelosorificiosmarcadosconlíneasrojas.

La foto de abajo es una unidad vendida en un sitio de subastas local.
 De las 4 líneas marcadas con flechas, 2 serán salidas y dos serán entradas. Estos son controlables como parte de un puerto COM. Las suyas pueden tener estas líneas activas o pueden estar deshabilitadas. ¿Tiene una hoja de datos o un número de modelo detallado?

    
respondido por el Russell McMahon
4

No pensé que estuvieras loco por preguntar, a pesar de que la respuesta era claramente "imposible".

En su nueva pregunta: sí, probablemente pueda controlar el nivel del pin Tx, ya sea enviando nada o configurando la condición de "interrupción". (pero la condición de ruptura no está muy bien especificada, puede ser que algunos sistemas operativos o controladores lo interpreten como por un tiempo limitado. IME Windows y Linux NO entran en esta categoría).

Pero probablemente sea mucho más fácil establecer los niveles de los distintos pines de control. Cómo se hace esto depende de su lenguaje de programación y biblioteca.

Cuando usas un puerto serie estándar o un convertidor de USB a serie fuera de la estantería, obtienes salidas con polaridad RS232 (= invertida) y nivel (-10V / + 10V o algo así).

Probablemente sea más fácil usar un chip convertidor "sin protección", sin la palanca de cambio de nivel RS232. FTDIchip hace algunos, revise enlace

Los convertidores IME de usb a paralelo son inútiles para su propósito, ya que crean un puerto de impresora virtual, no un puerto paralelo virtual.

    
respondido por el Wouter van Ooijen
3

No creo que puedas mantener el pin TX alto o bajo en todo momento. Cada byte que envíe tendrá un bit de inicio (lógica baja) y un bit de parada (lógica alta). Lo mejor sería obtener un adaptador de usb a uart que tenga pines DTR y / o RTS. Estas líneas se pueden alternar fácilmente.

Sin embargo.

Esta respuesta es tan buena como tu pregunta, lo cual no es tan bueno en realidad, ya que no das muchos detalles. Si nos dice qué es exactamente lo que está tratando de hacer, qué hardware tiene (y así sucesivamente), podríamos darle un mejor consejo.

Mi primera pregunta sería esta: Si tiene un arduino y un módulo de relevo para ello, ¿por qué tiene que usar alguna forma indirecta para resolver su problema?

    
respondido por el Armandas
3

El CP2102 admite señales de control de flujo DTR y RTS. Se pueden usar como salidas controladas por USB.

Por el aspecto de la imagen de eBay que publicaste, los pines se enrutan a J2 o J3.

    
respondido por el Toby Jaffey
2

En realidad, es posible usar tx pin como digital: si no se transmite nada, la salida es de alto nivel. Y si usa la opción de ruptura para el puerto serie en cualquier lenguaje de programación, ponga tx pin en estado bajo.

    
respondido por el ilie321
0

Escribir 'ctrl barra espaciadora' en un terminal de puerto com parece enviar un buen pulso bajo activo en la línea TX de mi convertidor TTL.

    
respondido por el Anonymous

Lea otras preguntas en las etiquetas