​Atmel SAM4S学习笔记(十一)——PWM概述

作者: liunian__92
上传时间为: 2014-12-22 12:21 AM

        和定时器一样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(定时/计数器)

全部评论 ()

创建讨论帖子

登录 后参与评论
系统提示