码迷,mamicode.com
首页 > 其他好文 > 详细

DM8168 PWM驱动(寄存器设置)

时间:2014-06-16 12:30:42      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:dm8168   pwm   寄存器   设置   驱动   

DM8168的PWM是通过TIMx_OUT引脚输出的,需要对Timer进行配置才能有波形输出。

①对Timer的时钟进行配置,确保Timer能正常工作。

②设置寄存器之前关闭Timer。

③设置定时溢出后的装载值。

④设置比较值,该值决定PWM占空比。

⑤设置internal counter值。

⑥启动Timer。

启动DM8168过后,停在U-boot界面,使用U-boot的内存读写工具来进行调试。

一、修改CM_ALWON_TIMER_4_CLKCTRL,该寄存器信息如下:

bubuko.com,布布扣

是对Timer4 CLOCK的控制寄存器,详细信息:

bubuko.com,布布扣

使能Timer4让其正常工作的做法是将CM_ALWON_TIMER_4_CLKCTRL设为0x00000002,而它的上电默认值是0x00030000。

U-boot命令下输入:

TI8168_EVM#mw.l 0x4818157C 0x00000002  完成设置

二、关闭Timer

0x48044038  |  TCLR  |  Timer Control

U-boot命令下输入:

TI8168_EVM#mw.l 0x48044038 0  

三、下面一个表格展示了不同的设置不同的输出波形。

bubuko.com,布布扣

我们选择的是(TRG=10 & PT=1)倒数第二个选项,只要设置了一个装载值和比较值就可以确定占空比和周期。

设置装载值:

TI8168_EVM#mw.l 0x48044040 0xffffffe0

四、设置比较值:

TI8168_EVM#mw.l 0x4804404c 0xfffffff0 

bubuko.com,布布扣

PT=1选择翻转模式,TRG=2使得输出口在溢出和匹配时翻转,这样就有了连续的PWM。

五、设置internal counter与装载值保持一致:

TI8168_EVM#mw.l 0x4804403c 0xffffffe0  

六、启动:

TI8168_EVM#mw.l 0x48044038 0x1843    

0x1843是对TCLR控制寄存器的设置值,其中就包括对PT与TRG的设置,详细情况参考两千多页的大数据手册。

七、测试成功后,可以在Timer运行的状态下直接修改比较值改变占空比,比如:

TI8168_EVM#mw.l 0x4804404c 0xfffffff5



DM8168 PWM驱动(寄存器设置),布布扣,bubuko.com

DM8168 PWM驱动(寄存器设置)

标签:dm8168   pwm   寄存器   设置   驱动   

原文地址:http://blog.csdn.net/wu20093346/article/details/30090321

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!