Chinaunix首页 | 论坛 | 博客
  • 博客访问: 607295
  • 博文数量: 107
  • 博客积分: 713
  • 博客等级: 上士
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-05 00:14
个人简介

呵呵

文章分类

全部博文(107)

文章存档

2015年(2)

2014年(17)

2013年(29)

2012年(52)

2011年(7)

分类: LINUX

2013-11-21 18:15:20

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) |
给主人留下些什么吧!~~