夏老师,我提个问题,怎样提高串口通信程序的可靠性。我个人设计一个串口接收的代码,工作在2M的波特率,总是实际接收的环境中受到干扰,出现某个数据丢失的情况。如果这个这个串口接收代码在FPGA内部环回测试,一点问题都没有哦,请夏老师出招!!!!!!!!!!!!!!!,附件是我设计的串口程序代码,实际系统CLK 是20MHZ,RST是高电平,请夏老师提意见,提出改进措施, 外部条件没法改了 uart-gen.rar (6.13 K)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
不好意思,班门弄斧了啊,我来谈下我的理解
1.在内部环路测试没有问题,逻辑应该基本是没有问题的。但是如果转成外部通讯的话,看一下数据输入和输出时候的同步性。
2.用逻辑分析仪或者chipscope抓一下错误的数据,看能不能找到错误发生的规律。
3.请关注一下波特率的设置:在内部测试的时候是不是和外面接收时候一样,注意到波特率和频率的关系。
4.将ucf里面io试着换一下,查一下io的驱动能力,还有io最好不要悬空,接弱上拉看看。