[原创] 学习心得:PWM模块的学习和使用

zyc1   2011-4-18 00:59 楼主

最近在使用TI的stellaris的芯片,项目主要用来做系统的控制模块,M3的外设基本都用到了,后面一点点总结各个模块简单的用法,并附上之前搜集和学习的资料,方便大家学习特别适合新手的入门学习,共同进步吧,感觉自己也还属于菜鸟级的呢,同时也感谢所有分享资料的朋友 ,坛子里的学习氛围很好,大家继续努力,呵呵

正题:

(1)Stellaris系列的PWM特性

 

Stellaris系列ARM提供4PWM发生器模块和一个控制模块。每个PWM发生器模块包含1定时器16位递减或先递增后递减计数器)、2个比较器、1PWM 信号发生器、1个死区发生器,以及一个中断/ADC触发选择器。而控制模块决定了PWM信号的极性,以及将哪个信号传递到管脚。

􀁺

   4个PWM 信号发生器PWM_GEN_0,PWM_GEN_1,PWM_GEN_2,PWM_GEN_3,每个发生器可以产生2路pwm信号,所以可以产生8PWM信号;灵活的PWM产生方法;自带死区发生器;

     PWM发生器含两个比较器,用于监控计数器的值。当比较器的值与计数器的值相等时,比较器输出宽度为单时钟周期的高电平脉冲。在先递增后递减计数模式中,比较器在递增和递减计数时都要进行比较,因此必须通过计数器的方向信号来限定。

 

   (2)2种计数模式:

递减计数模式先递增后递减的计数模式,对应下面的pwm波形:(见下图);

 
 
(3)pwm模块就要对pwm模块进行初始化配置;

配置PWM时应遵循以下步骤
1
)使能所用的GPIO和pwm模块;

2)将相应的GPIO管脚配置为PWM功能

3)设置PWM模块时钟配置

4)调用PWMGenConfigure配置PWM
5
)调用PWMGenPeriodSetPWMPulseWidthSet设置周期和占空比

6)调用PWMOutputState使能PWM输出管脚

7)调用PWMGenEnable使能PWM模块

同时PWM提供了丰富的中断和触发源;
可以利通过ROM_PWMGenIntTrigEnable中的参数选择触发源;
其他的还可以输出反转PWM波形等等。
下面附上丰富的学习的入门的资料

 

[ 本帖最后由 zyc1 于 2011-4-19 22:42 编辑 ]
  • PWM1.JPG
  • PWM2.JPG

回复评论 (1)

回复 楼主 zyc1 的帖子

图片看不到
点赞  2011-4-18 13:32
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复