¿Cómo implementar el puerto serie RS-232 de la señal de 2.5V IO?

0

Estoy jugando con un desarrollo Xilinx Spartan-3A (XC3S50A-TQ144C) y luego intenté implementar el puerto serie RS-232 siguiendo la guía aquí: enlace

Compré un puerto DB-9 y conecté RxD, TxD, GND del puerto DB-9 a tres pines de mi placa de desarrollo. (De coz GND es conectar a la GND de mi placa)

Intenté enviar una señal de un carácter cada segundo desde el pin a TxD. Revisé la señal con un alcance. La señal debe ser correcta.

Pero no puedo ver ningún carácter mostrado en mi terminal leyendo desde / dev / ttyS0 (Puerto serie en Linux).

El alcance muestra que la señal se envía utilizando + 2.5V y -2.5V respectivamente. Creo que el problema es que el puerto serie debe enviarse con al menos + 5V / -5V. ¿Cómo puedo modificar la placa (o construir un circuito amplificador) para enviar una señal en un voltaje más alto?

Tengo una captura de foto de mi alcance aquí:

    
pregunta wonghang

2 respuestas

2
  • Busque los voltajes para RS-232, su lógica de 2.5v no está cerca. La lógica de 5v y, a veces, de 3.3v puede funcionar hasta cierto punto, pero está fuera de especificación.

  • La serie RS232 está invertida (tradicionalmente en el chip traductor de nivel) desde el sentido de la serie de nivel lógico.

  • si conectó una salida RS 232 a su fpga sin un traductor de nivel, es probable que la haya dañado.

  • es poco probable que obtengas -2.5v de tu fpga, más bien esto suena como un error de medición o descripción.

En resumen necesitas un traductor de nivel.

    
respondido por el Chris Stratton
1

Chris tiene razón, si desea conectar su FPGA a un puerto serie de cualquier tipo, necesita tener un controlador RS232 adecuado como el MAX3232 o similar. Al igual que en Pantech Solutions :

    
respondido por el FarhadA

Lea otras preguntas en las etiquetas