您的位置:首页 > 其它

DM8168 PWM驱动(寄存器设置)

2014-06-11 19:59 330 查看
DM8168的PWM是通过TIMx_OUT引脚输出的,需要对Timer进行配置才能有波形输出。

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

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

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

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

⑤设置internal counter值。

⑥启动Timer。

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

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



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



使能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

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



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

设置装载值:

TI8168_EVM#mw.l 0x48044040 0xffffffe0

四、设置比较值:

TI8168_EVM#mw.l 0x4804404c 0xfffffff0



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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: