我用的是Xilinx的Virtex5 ML505开发板,因为xps还不大会用,所以先写了一个verilog代码来实现uart。我参考了云创工作室的那本关于FPGA的书,时钟是用33M分频得到波特率9600的16倍,要计数214.8次,根据书上写的是计数前214次为0,第215次为1这样不会有任何问题。
但是在实际的过程中,PC机上在串口专家发送框中打50个数,点击一次发送,但是结果板子没有接收到50个,而一个一个键入直到50个是可以的。我问别人,别人说的是波特率这样产生不对,久了累计误差会导致错误。
问题是:想实现这种批量传数怎么办?要怎么实现?
看了一些资料波特率都是这样产生的,就是没有碰到跟我一样的问题。求解答。万分感激。。 |