第6章时钟与定时器概论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 系统时钟与定时器 6.1 ARM时钟体系 一、时钟 S3C2410的时钟源可以是外接晶振,由内部电路产生的时钟源,也可以是外部提供的时钟源 选择:外部引脚OM[3..2]选择 OM[3..2]=00 晶振为主时钟源和USB时钟源 OM[3..2]=01 晶振为主时钟源,外部时钟为USB时钟 OM[3..2]=10 外部时钟为主时钟源,晶振为USB时钟源 OM[3..2]=11 外部时钟为主时钟源和USB时钟源 二、芯片内部使用的时钟 整个 芯片使用三个时钟: FCLK=用于CPU核 HCLK=用于AHB(Advanced High performance Bus)总线上的设备,如:CPU,中断控制器,DMA等高性能模块之间的连接 PCLK=用于APB (Advanced Peripheral Bus)总线上的设备,如PWM定时器,ACD,UART等低带宽设备之间的连接 问题:CPU频率为多少?晶振频率是多少? 回答:2410CPU 核电压1.8V 主频200MHZ 电压2.0V 主频266MHZ ★实际使用中,为了降低电磁干扰,2410外接晶振频率都很低,系统板主频12MHZ ★需要使用PLL提高系统时钟 三、PLL(锁相环) 锁相环是相位误差控制系统,它由鉴相器(PFD)和压控振荡器(VCO)组成 四、时钟控制寄存器 2410中对时钟的控制是通过三个寄存器进行管理的 1、LOCKTIME寄存器 功能:设置MPLL启动时间 地址:0x4c000000 位【23:12】用于UPLL 位【11:0】用于MPLL 一般使用默认值即可,默认值:0x00FFFFFF 启动时间150us 2、MPLLCON寄存器(Main pll Control) 地址:0x4c000004 功能:用于设置锁相环输出MPLL与Fin的倍频系数 MPLLCON寄存器 位【19:12】值为MDIV 位【9:4】值为PDIV 位【1:0】值为SDIV 例: Fin=12MHZ,设定M=161,P=3,S=1,则Mpll时钟频率为多少? Mpll =(161+8)*12*1000000/5*2=202.8MHz 对应程序: 例: #define rMPLLCON (*(volatile unsigned *)0x4c000004) rMPLLCON=(0xa112)|(0x34)|0x1 说明:FCLK时钟频率与Mpll 时钟频率相同 3、CLKDIVN 寄存器(clock divider control) 地址:0x4c0000014 功能:设置FCLK,HCLK,PCLK三者的比例 通常设置FCLK:HCLK:PCLK=1:2:4 位[2]:1 表示FCLK:HCLK:PCLK=1:4:4 0 保留 位[1]: HCLK的分频系数 0 表示HCLK=FCLK 1表示HCLK=FCLK/2 位[0]: PCLK的分频系数 0 表示PCLK=HCLK 1 表示PCLK=HCLK/2 因此, CLKDIV寄存器值通常设定为0X03 例:设置分频比为1:2:4 #define rclkdivn (*(volatile unsigned *)0; rclkdivn=(11)|1; 文件名称 : 2410addr.h ;* 文件功能 : 该文件定义地址寄存器。 #define rLOCKTIME (*(volatile unsigned *)0x4c000000) //PLL lock time counter #define rMPLLCON (*(volatile unsigned *)0x4c000004) //MPLL Control #define rCLKDIVN (*(volatile unsigned *)0x4c000014) //Clock divider control 为了设置FCLK:HCLK:PCLK=1:2:4,在主程序TARGET.c中引用上述函数 // File Name : TARGET.c void Target_Init(void) { MMU

文档评论(0)

x5511160 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档