1、GSC3280 UART波特率计算公式
波特率因子=工作时钟频率/(8*波特率)。 /*UART0~5 */
波特率因子=工作时钟频率/(16*波特率)。 /*UART6~7 */
2、UART工作时钟频率
由手册第四章第五节可知,UART0,UART1,UART2,UART6,UART7工作时钟由pclk分频得到,UART3,UART4,UART5由hclk分频得到。pclk又是由hclk分频得到。hclk又是由pll_clk分频得到。所以要得到
GSC3280 PLL时钟可以由SYSCTL_PLL_FREQ读取,读取这个寄存器,然后根据计算公式,就能算出pll_clk,pll_clk 再分成hclk,pclk,通过SYSCTL_CLK_AHB,SYSCTL_CLK_APB寄存器分频得到,其中pclk由hclk分频得到。
PLL时钟频率计算公式:
* 其中Freq_ref_clk为外接晶振时钟,为12M,即12 000 000
3、波特率计算公式
UART0,UART1,UART2的分频系数DLL可以由如下计算公式得到
dll=pll_rate/((SYSCTL_CLKDIV_AHB+1)*(SYSCTL_CLKDIV_APB+1)*(SYSCTL_CLKDIV_UART)*8*baud); /*+1是因为分频数比寄存器值大1,比如是1,则是2分频,
SYSCTL_CLKDIV_UART是系统控制器的分频器*/
UART6,UART7的分频系数DLL可以由如下计算公式得到
dll=pll_rate/((SYSCTL_CLKDIV_AHB+1)*(SYSCTL_CLKDIV_APB+1)*(SYSCTL_CLKDIV_UART)*16*baud);
UART3,UART4,UART5的分频系数DLL可以由如下计算公式得到
dll=pll_rate/((SYSCTL_CLKDIV_AHB+1)*(SYSCTL_CLKDIV_UART)*8*baud);
阅读(3676) | 评论(0) | 转发(0) |