FPGA 串口波特率和时钟周期的换算问题

前面说到了UART,也就是串口发送模块,串口发送模块两个主要组件之一即为波特率时钟生成模块,这里需要

计算出系统时钟计数值与波特率之间的关系:

FPGA主板频率是50Mhz,T=20ns

    

 9600波特率指的是9600bps,9600bit/s

然后周期是1/速率 = 1/9600 = 1.0416666667*10^(-4)=104167ns

波特率分频计数值:104167/System_clk_period=104167/20=5208

计数值与波特率之间的关系如表 1 所示 

baud_set 波特率 波特率周期 波特率分频计数值 50M 系统时钟计数值
0 9600 104167ns 104167/ System_clk_period 5208-1
1 19200 52083ns 52083/ System_clk_period 2604-1
2 38400 26041ns 26041/ System_clk_period 1302-1211
3 57600 17361ns 17361/ System_clk_period 868-1
4 115200 8680ns 8680/ System_clk_period 434-1

转自:https://blog.csdn.net/liqiang9410/article/details/76682599

猜你喜欢

转载自blog.csdn.net/superyan0/article/details/89334742