- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM开发之定时加速PWM及看门狗
ARM开发步步深入之定时加速
作者:373061200(CrazyARM)
来自:
实验目的:通过使用MPLL提高系统时钟,启动定时器产生中断来点亮LED灯,启动Watchdog定时器,如果程序跑飞,借助Watchdog重新运行程序,借此掌握S3C2410的时钟管理、PWM及看门狗定时器。实验环境及说明:恒颐S3C2410开发板H2410。实验思路:开发板上电启动后,自动将NandFlash开始的4K数据复制到SRAM中,然后跳转到0地址开始执行。然后来设置MPLL来改变FCLK、HCLK、PCLK的值,初始化存储控制器来使用SDRAM。初始化LED灯管脚、定时中断控制器和看门狗,使能定时中断控制器和看门狗。之后进入main函数死循环等待中断的发生,每隔设定的时间触发定时中断,调用定时中断处理函数点亮/熄灭LED灯。若程序跑飞,触发看门狗重启。知识掌握:系统时钟、PWM定时器和Watchdog定时器一、系统时钟:S3C2410的时钟控制逻辑为整个芯片提供了三种时钟。★FCLK用于CPU核;HCLK用于AHB总线上设备---CPU核、存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块;PCLK用于APB总线上设备---Watchdog、IIS、I2C、PWM定时器、MMC接口、ADC、UART、GPIO、RTC和SPI。★AHB(Advanced High performance Bus)---主要用于高性能模块间的连接;APB(Advanced Peripheral Bus)---主要用于低带宽的周边外设之间的连接。★开发板时钟频率为12MHz,主要是为了降低电磁干扰和板间布线要求,需要通过PLL提高系统时钟。S3C2410包括MPLL(用于FCLK、HCLK、PLCK)和UPLL(用于USB设备),他们的设置方法类似。开发板上电→FCLK=Fin(外部输入时钟)→设置MPLL相关寄存器→等待(Lock Time:长短由寄存器LOCKTIME设定)→MPLL输出稳定,CPU工作在新的时钟FCLK下。★设置MPLL需要设置下面几个重要寄存器:●LOCKTIME寄存器(LOCK TIME COUNT)用于设置lock time的长度,初始值0x00FFFFFF。●MPLLCON(Main PLL Control)寄存器用于设置FCLK与Fin的倍数,初始值0x0005C080。●CLKDIVN(CLOCK DIVIDER CONTROL)寄存器用于设置FCLK、HCLK、PCLK三者的比例。二、PWM(pulse width modulation)定时器★S3C2410共有5个16位的定时器,其中定时器0、1、2、3有PWM功能,因为它们都有一个输出引脚,可以通过定时器来控制引脚周期性的高、低电平变化;定时器4木有输出引脚就不有PWM功能了。★PLCK是定时部件的时钟源,先通过2个8位预分频器(定时器0、1共用第一个定时器,2、3、4共用第二个),输出进入第二级分频(输出2/4/8/16分频或者外部时钟TCLK0/TCLK1)。这两次预分频都是通过设置TCFG0寄存器完成的。每个定时器工作在哪种频率下可以通过TCFG1寄存器来选择的。★定时器的使用主要涉及以下寄存器:●TCFG0寄存器:位[7:0],位[15:8]分别用于控制预分频器0,1;它们的值为0~255。经过分频器出来的时钟频率:PLCK/(TCFG0[7:0]+1或TCFG0[15:8]+1)。●TCFG1寄存器:设定相应定时器为经过分频器出来的时钟频率的几分频。定时器工作频率= PLCK/(TCFG0[7:0]或TCFG0[15:8]+1)/几分频。●TCNTBn/TCMPBn寄存器:这两个寄存器都只用到位[15:0]。TCNTBn中保存定时器的初始计数值,TCMPBn中保存比较值。它们的在启动定时器时,被传到定时器内部寄存器TCNTn,TCMPn中。●TCNTOn寄存器:n为0~4,内部寄存器TCNTn在其工作时钟下不断减1计数,可以通过读取TCNTOn寄存器得知其值。●TCON寄存器:它的功能如下:第一次启动定时器时,手动将TCNTBn/TCMPBn寄存器的值装入内部寄存器TCNTn,TCMPn中;启动,停止定时器;决定在定时器计数到达0时是否自动装入初值;决定定时器的管脚TOUTn的输出电平是否反转。三、Watchdog定时器:其使用和PWM定时器很类此。★PLCK先经过8位预分频器后再被分成4种频率(16/32/64/128分频)。使用看门狗定时器的一个最主要目的当然是让它给你看门了。程序正常执行时,必须不断重新设置WTCNT寄存器使其不为0,这样可以保证系统不被重启,称为“喂狗”;
您可能关注的文档
最近下载
- 《可爱的中国》新疆地方教材(小学版)教案 第二单元 美丽的新疆.pdf VIP
- 第5课 新疆是个好地方 《可爱的中国》新疆地方教材(小学版)教案.doc
- 数字普惠金融发展白皮书2019.pdf
- 《山丹丹开花红艳艳》双簧管独奏钢琴伴奏谱201107制谱.doc
- 译林版三起2024秋三年级英语上册Unit3 Are you Su Hai大单元教学设计.pdf
- 部编版语文一年级上册教学反思.pdf VIP
- 摩登家庭台词剧本第一季第一集中英双语左右对照.pdf
- 《可爱的中国》新疆地方教材(小学版)第5课--新疆是个好地方PPT课件.pptx
- (中文版) AWS D1.6 D1.6M-2007 不锈钢焊接规范.pdf
- 2022年最新材料检测报告 SGS 亚克力ROHS10项中文版(2).pdf
文档评论(0)