设计一个串口,波特率是9600bit/s,FPGA本身有的时钟频率为100Mhz,那么uart的时钟周期该怎么做?
可以这样去思考:
(1)
9600bit/s波特率的周期为1/9600=104167ns
100Mhz周期为10ns,
需要分频计数:104167/10=10416(注意这里是约等于)
(2)
同样,直接用100Mhz/9600=10416次,结果是一样的
在一般情况下,这个结果还要除以16,也就是16倍分频,主要是为了能够稳定的采集到数据。
设计一个串口,波特率是9600bit/s,FPGA本身有的时钟频率为100Mhz,那么uart的时钟周期该怎么做?
可以这样去思考:
(1)
9600bit/s波特率的周期为1/9600=104167ns
100Mhz周期为10ns,
需要分频计数:104167/10=10416(注意这里是约等于)
(2)
同样,直接用100Mhz/9600=10416次,结果是一样的
在一般情况下,这个结果还要除以16,也就是16倍分频,主要是为了能够稳定的采集到数据。