FPGA 串口接收不准确,有误码
FPGA 串口接收不准确,有误码
- FPGA 的Uart接收时,出现接收不正确的分析
- 波特率计数值= 时钟频率/波特率
FPGA 的Uart接收时,出现接收不正确的分析 波特率计数值= 时钟频率/波特率
- 协议:1位起始位,8位数据位,1位停止位;
FPGA的串口接收设计,由于:在串口传输8bit数据时需要10bit 才可以,在接收bit位时,将8bit数据接收完成后,还有1bit 的停止位,如果在接收时严格的等待结束位完成之后再去检测起始位的下降沿,或者是检测起始位的开始位,在这种情况下:如果发送端的时钟,或波特率有误差,会导致数据接收出现问题,原因在于由于波特率存在误差,每bit数据都会有误差,当10bit全部传输完成时,由于误差的不断积累,可能会错过起始位的检测(如果检测起始位的下降沿容错率更低)或者导致数据的bit 位接收错位,导致数据接收误码。
2.解决办法:
在 数据的第8bit位接收结束之后,可以检测几个时钟的结束位,然后去检测起始位。这样可以有效的减少接收误码的可能性。
推荐阅读
- FPGA|DDR3原理总结
- 这本SCI期刊2个月可接收,从5+到10+只用了三年,明年或超15分
- (一)Feign之支持文件上传和使用对象作为参数接收
- 驱动调试小结
- USB转串口|USB转四串口芯片CH9344
- Vue-props
- Android通过JNI操作串口
- Java|Java串口通信(RXTX)
- 微信小程序(踩过的坑) data中传数组 到java后端springmvc接收 -- 小程序
- FPGA开发--Quartus|FPGA开发--Quartus II常见警告说明及解决方案