您好,请问我的液晶屏串口波特率是115200.在用fpga进行串口通信的时候,时钟应该设置在多少M?
2个回答
展开全部
我试过,时钟频率在50MHz以上就可以了。但是要注意,如果波特率发生器中的分频系数计算值不是整数的话,你只能取最接近的那个整数值作为分频系数。那么隔一段时间,就要将波特率发生器复位一下,否则误差积累会造成串口通信错误。
时钟频率高一些的话,这种误差会小一些,误差积累的时间会长一些。但只要有误差,就有可能出现误差积累造成的错误。
时钟频率高一些的话,这种误差会小一些,误差积累的时间会长一些。但只要有误差,就有可能出现误差积累造成的错误。
追问
我现在知道迪文屏内部波特率设在115200,那我采用50M时钟的时候,应该采用多少分频?我现在是用27分频。可是用这个系数分频发送可以,但是接收的时候,迪文屏送给fpga的串口数据,用这个分频后的时钟检测不到。。
你qq多少?可以加上聊下吗
我qq:1026450175
追答
你计算一下50MHz时钟下波特率发生器在115200bps的分频系数为多少,与整数27是否接近?如果差的太多,则误差太大。比较好的情况是:计算出来的分频系数与某个整数很接近;比较差的情况就是计算出来的分频系数的小数部分在0.5左右,这时误差最大。
如果50MHz时钟下波特率发生器在115200bps的分频系数与整数的误差过大,就需要改变时钟。可以改变外部时钟,也可以用FPGA内部的PLL调整时钟,使得波特率发生器的分频系数接近某个整数。
你用44.2368MHz或者22.1184MHz的晶振,就可以。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询