微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教FPGA上用Verilog编写的RS232串口收发模块问题

请教FPGA上用Verilog编写的RS232串口收发模块问题

时间:10-02 整理:3721RD 点击:
最近用verilog写了一个在FPGA上通过RS232接口接收PC机发过来的数据然后将接收到的数据转发回去的代码。结果在板子上运行的时候发现,当PC机端用串口调试助手每次只发送一个字节的16进制数据或一个字符时,能够收到FPGA返回的正确数据(手动单次发送和周期性自动发送都没问题)。但若每次发送多个字节16进制数据或字符串时,则接收到的数据不正确。请问各位大侠知道可能是什么原因吗?感激不尽!

还没有发完就下一次发送时间又开始了,发送的时间间隔小于一次发送数据所需要的时间

你有收发缓冲FIFO吗?

我也想了解这个,M



    我也感觉可能是两次发送之间没有间隔,停止位之后紧跟着起始位造成的。在考虑这样的话是否有可能导致波特率发生器计数的控制信号在同一个时刻产生两次变化,以致发生错误。



    这个没有设置FIFO,在这个实验中,接收和发送速率是匹配的,接收完一个字节后发送该字节的同时就可以接收下一个字节,感觉貌似不用FIFO。



    谢谢您的建议,我来试试,捕捉一下实际的波形看看~

貌似我以前也遇到这个问题,求解。

同问

小编,能提供个代码吗,我也想调试一下。

这个我完成了,没有出现你的问题



   同学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top