Acabo de describir un transmisor y receptor UART en VHDL. En la simulación todo parece estar bien. En FPGA, la interfaz de bucle invertido funciona bien: presiono un botón, el transmisor envía datos, el receptor recibe y muestra en la pantalla de 7 segmentos.
Con respecto a la comunicación entre la computadora portátil y el FPGA, estoy usando un cable USB < - > RS232. Al usar GtkTerm en linux y tera term en windows, puedo enviar datos fácilmente al FPGA. El problema es cuando trato de enviar datos desde FPGA a una computadora portátil: solo unos pocos bytes llegan a la computadora portátil y muchos de estos bytes están equivocados. Por ejemplo, envío EE EE EE EE EE EE EE, pero solo recibo EE CF 14.
No tengo idea de cuál es el problema: si es un software (¿tal vez haya configurado algo incorrecto o un problema con el controlador?); si es hardware (¿cable defectuoso?) o si es código (mi código VHDL es incorrecto).
¿Alguna idea sobre cómo resolver el problema?
p.s .: He probado algunos transmisores uart además del mío, también envían unos pocos bytes. p.s2 .: alguna información: 19200 baudios; 8 bits de datos, sin bit de paridad, 1 bit de parada
si se necesita el código: enlace