免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 941 | 回复: 0
打印 上一主题 下一主题

总结整理PWM定时器资料 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 03:03 |只看该作者 |倒序浏览

细致看了下手上2440的BSP里的PWM驱动,和GPIO驱动一样,需要知道PWM寄存器的作用才好办事。总结下觉得有用的资料。

对于一个定时器来说,其时钟源输入频率一般不变,即TCFG0(定时器预分频值)和TCFG1(定时器分割值)的值设定后就不需要改变,这样对于PWM提供了一个稳定的时钟源。电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快。系统中PWM脉冲频率就由TCNTBn决定,PWM脉冲宽度值则由TCMPBn的值来决定,而占空比即为TCMPnTCNTn如果要使电机转速下降,即得到一个比较低的PWM脉宽输出值,可以减少TCMPBn的值;要使电机转速增加,即得到一个更高的PWM的输出值,可以增加TCMPBn的值。由于双缓冲器的特性,下一个PWM周期的TCMPBn值可以通过ISR(中断服务程序)或其他手段在当前PWM周期中低电平时的任何一点写入,即在程序中可以通过中断重新设定TCMPBn的值来改变电机的转速缓冲区TCMPBnTCNTBn的值不一定等于这个周期的TCMPnTCNTn的值,但一定是TCMPnTCNTn的下一个周期的值。

 

 

 

定时器的工作原理

1设定TCMPBnTCNTBn两个寄存器,它们表示定时器n的比较值,初始计数值;

2、启动定时器n通过设置TCONTCMPBnTCNTBn的值被装入TCMPnTCNTn在定时器n的工作频率下,TCNTn开始减1计数,其值可以通过TCNTOn寄存器读取;

3TCNTn的值等于TCMPn的值时,定时器n的输出管脚TOUTn反转;TCNTn继续减1计数;

4TCNTn的值到达0时,其输出管脚TOUTn再次反转,并触发定时器n的中断(如果中断使能);

5如果在TCON寄存器中将定时器n设为自动加载,则TCMPB0TCNTB0寄存器的值被自动装入TCMP0TCNT0中,开始下一个计数流程。

    定时器n的输出管脚TOUTn初始状态为高电平,当TCNTn的值等于TCMPn的值、TCNTn的值等于0时都会发生反转,

    也可以通过TCON寄存器设置其初始电平,这样TOUTn的输出就完全反相了,

    通过设置TCMPBnTCNTBn的值可以设置管脚TOUT输出信号的占空比,这就是所谓的可调制脉冲(PWM),所以这些定时器又被称为PWM定时器。

 

TCON

     TCON4个作用:

     1)第一次启动定时器时,将TCNTBnTCMPBn的值装入TCNTnTCMPn中;

     2)启动、停止定时器;

     3)设置自动重载;

     4)设置TOUTn是否反转;

     30】用于定时器0

     118】用于定时器1

     1512】用于定时器2

     1916】用于定时器3

     2220】用于定时器4,没有输出引脚反转位


     
0 0——停止定时器,   1——开启定时器;

      1 1——TCNTBnTCMPBn的值装入TCNTnTCMPn中;

      2 0——TOUTn不反转,   1——TOUTn反转;

      3 0——不自动加载,   1——自动加载;


在第一次使用定时器时,需要设置1”,使TCNTBn/TCMPBn的值装入TCNTnTCMPn中。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP