TA的每日心情 | 慵懒 2016-10-17 12:07 |
---|
签到天数: 306 天 连续签到: 1 天 [LV.8]以坛为家I
|
和定时器一样PWM的功能也是十分强大的,数据手册都写了一百页左右,这篇文章只是简单的介绍一下SAM4S系列的PWM,具体的功能强参考数据手册。
PWM宏单元可以独立控制4个通道。每个通道控制输出两个互补的方波。使用者可以配置输出波形的特性(周期、占空比等)。每个通道选择并使用一个由时钟发生器产生的时钟。时钟发生器提供的时钟是由PWM主时钟(MCK)分频得到的。除了可以配置占空比寄存器之外,每个通道还有一个寄存器来配置产生的波形。
下面看一下图11-1 PWM的框架图来看一下时钟等一些功能。
图11-1: PWM框架图
每个通道都使用两个外部I/O口引脚提供互补输出。引脚的使用如图11-2所示
11-2引脚说明
PWM的引脚与PIO复用,用户必须首先对PIO控制器进行编程,将PWM所需的引脚配制成外设功能。如果需要四个通道,则只需为PWM分配4个I/O即可。PWM工作起来不需要持续的时钟输入。用户使用PWM之前需要通过PMC允许PWM时钟,如果不再配置PWM可以停止时钟。若使用PWM中断,首先在中断控制器中设置,中断号为31。
下图是PWM的clock Generator(图11-3:PWM时钟发生器)
图11-3:PWM时钟发生器
主要分为三部分:
一个是module n counter提供11种时钟:fMCK, fMCK/2, fMCK/4, fMCK/8, fMCK/16, fMCK/32, fMCK/64, fMCK/128, fMCK/256, fMCK/512, fMCK/1024
另两个是线性分频器A、线性分频器B:(1,1/2,1/3,……1/255)提供两个独立的时钟CLKA和CLKB。
复位PWM控制器之后,DIVA(B)和PREA(B)被置零,也就是CLKA和CLKB会被关闭。
如下图所示是PWM的框架图
图11-4:PWM 通道Block Diagram
SAM4S的PWM的寄存器也多达六七十个,其中包括时钟寄存器、允许寄存器、禁止寄存器、中断允许、中断禁止等等众多的寄存器,功能还是很强大的,具体的学习还是查看数据手册吧,这里只是简单的介绍一下atmel SAM4S的PWM。
Atmel SAM4S Xplained pro学习笔记(一)-- 开发套件介绍
Atmel SAM4S 学习笔记(二)-- 开发环境搭建
Atmel SAM4S 学习笔记(三)-- 示例代码分析
Atmel SAM4S学习笔记(四)——ASF详解
Atmel SAM4S学习笔记(五)——GPIO
Atmel SAM4S学习笔记(六)--CHIPID(芯片编号)
Atmel SAM4S学习笔记(七)——实时定时器 (RTT)
Atmel SAM4S学习笔记(八)——RTC(实时时钟)
Atmel SAM4S学习笔记(九)--SysTick(系统定时器)
Atmel SAM4S学习笔记(十)——Timer Counter(定时/计数器) |
|