资源描述
单击此处编辑母版标题样式,单击此处编辑母版标题样式,脉冲宽度调制器,(PWM),LPC1700,系列,Cortex-M3,系列微控制器,目 录,PWM,简介,1,PWM,功能结构,2,PWM,基本操作,3,PWM,简介,|,概述,脉冲宽度调制(,PWM)是一种对模拟信号电平进行数字编码的方法。,通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信,号的电平进行编码。,广泛应用于机械、通信、功率控制等领域,。,例如普通直流电机控制、灯光亮度控制、,DC-DC,转换器等场合。,脉宽调制示意,单个,PWM,周期,PWM,简介,|,功能特性,LPC1700,的,PWM,基于标准定时器模块并继承了定时器所有特性。在,匹配寄存器基础之上,增加了,PWM,特性。,LPC1700,标准定时器或计数器功能;,主要特性:,定时器匹配控制功能;,两个输入捕获通道;,支持最多个单边沿,PWM,输出和最多个双边沿,PWM,输出。,标准定时器模块,PWM,功能模块,目 录,PWM,简介,1,PWM,功能结构,2,PWM,基本操作,3,PWM,功能结构,|,基本功能框图,中断清除,控制逻辑,比较器,匹,配,信,号,捕获值,匹 配 功 能 模 块,锁存使能寄存器,匹配控制寄存器,映射寄存器,06,匹配寄存器,06,捕获寄存器,01,捕获控制寄存器,捕获功能模块,时钟分频器,定时器,/,计数器,定时器,/,计数控制,定时,/,计数模块,PWM,控制模块,PWM,控制寄存器,中断控制模块,中断寄存器,时钟预分频器,定时器,/,计数器,PCAP1.0,PCAP1.1,PCLK,计数信号,预分频计数器,预分频寄存器,计数控制寄存器,BIT3.2,BIT1.0,定时器控制寄存器,计数复位或使能,PWM,功能结构,|,定时,/,计数模块,输入计数信号频率,=Fpclk/(,预分频值,+1),定时,/,计数模块用于对外部输入信号或内部,PCLK,信号进行计数,为匹配模块、捕获模块以及,PWM,发生提供时间值。功能结构如下:,0 x00000000,0 x00000001,0 x00000002,0 x00000003,0 x00000004,0 x00000005,0 x00000006,0 x00000007,选择计数信,号输入引脚,对输入,PCLK,信号预分频,选择计数模式,或定时模式,PWM,功能结构,|,捕获控制,捕获控制模块用于在指定的外部事件发生时,即引脚出现上跳沿、下跳沿或其组合时,捕获当前的时间值。功能结构如下:,捕获寄存器,0,捕获控制寄存器,捕获寄存器,1,定时器,/,计数器,PCAP1.0,PCAP1.1,捕获中断,0 x00001235,0 x00001239,0 x00001241,0 x00001243,精确纪录事件,发生的时刻,映像寄存器,0,匹配寄存器,0,映像寄存器,6,匹配寄存器,6,锁存使能寄存器,匹配控制寄存器,定时器,/,计数器,比,较,器,PWM,控制寄存器,0 x00001234,匹配中断,PWM,功能结构,|,匹配控制,匹配控制模块不仅设定定时间隔,同时也决定了生成的,PWM,波形频率和占空比。功能结构如下:,0 x00001234,0 x00001230,0 x00001231,0 x00001232,0 x00001233,0 x00001234,比,较,器,更新所有寄存器后,锁存可避免误操作,产生中断请求,匹配时:,1,、定时器复位;,2,、定时器停止,3,、产生中断,PWM,功能结构,|,中断控制模块,匹配事件,0,匹配事件,6,PWM1MCR0,PWM1MCR18,捕获事件,0,捕获事件,1,PWM1CCR0,PWM1CCR1,PWM1IR0,PWM1IR10,PWM1IR4,PWM1IR5,中断标志寄存器,NVIC,控制器,中断控制模块控制匹配事件和捕获事件发生时,是否产生中断。中断标志寄存器反映了事件发生的状态。,PWM,功能结构,|,单边沿,PWM,输出,定时器,/,计数器,匹配寄存器,0,匹配寄存器,X,通道,x,输出波形,初始输出高电平,匹配,x,时输出为低,单边沿,PWM,输出在一个,PWM,周期内仅输出一个下跳沿,最多可输出,6,路,PWM,信号。假定工作时钟为,24MHz,,需生成周期为,1KHz,占空比为,1/6,的,PWM,信号。工作原理如下:,每增加一个,PWM,输出,只需增加一个匹配寄存器,控制,PWM,周期,写入,24000,控制占空比,写入,4000,输出,PWM,波,匹配,0,时输出为高,在单个周期内输出,一个下降沿,PWM,功能结构,|,双边沿,PWM,输出,初始输出高电平,第一次匹配时输出为低,定时器,/,计数器,匹配寄存器,0,匹配寄存器,Y,输出波形,匹配寄存器,X,双边沿,PWM,输出在一个,PWM,周期内产生上跳沿和下跳沿,最多可输出,3,路,PWM,信号。假定工作时钟为,24MHz,,需生成周期为,1KHz,占空比为,1/6,的,PWM,信号。工作原理如下:,每增加一个,PWM,输出,需增加两个匹配寄存器,控制,PWM,周期,写入,24000,控制上,跳,沿位置,控制下,跳,沿位置,输出负脉冲,第二次匹配时输出为高,在单个周期内输出,两个边沿,PWM,功能结构,|,双边沿,PWM,输出,初始输出低电平,第一次匹配时输出为高,定时器,/,计数器,匹配寄存器,0,匹配寄存器,Y,输出波形,匹配寄存器,X,双边沿,PWM,输出在一个,PWM,周期内产生上跳沿和下跳沿。最多可输,出,3,路,PWM,信号。假定工作时钟为,24MHz,,需生成周期为,1KHz,,占空比为,1/6,的,PWM,信号。工作原理如下:,每增加一个,PWM,输出,需增加两个匹配寄存器,控制,PWM,周期,写入,24000,控制下,跳,沿位置,控制上,跳,沿位置,输出正脉冲,第二次匹配时输出为低,PWM,功能结构,|,两种,PWM,输出比较,PWM,通道,单边沿,PWM,双边沿,PWM,置位,复位,置位,X,复位,Y,匹配,0,匹配,1,匹配,0,匹配,1,匹配,0,匹配,2,匹配,1,匹配,2,匹配,0,匹配,3,匹配,2,匹配,3,匹配,0,匹配,4,匹配,3,匹配,4,匹配,0,匹配,5,匹配,4,匹配,5,匹配,0,匹配,6,匹配,5,匹配,6,PWM,触发器的置位和复位输出,单通道使用匹配寄存器数量,最大输出通道数,输出信号类型,单边沿,PWM,1,6,先高后低,双边沿,PWM,2,3,正,/,负脉冲,两种,PWM,输出比较,双边沿模式下尽可,能使用,PWM2,、,PWM4,、,PWM6,获得最多对数的,PWM,输出。,目 录,PWM,简介,1,PWM,功能结构,2,PWM,基本操作,3,PWM,基本操作,PWM,基本操作,1,电源、引脚配置,2,定时器配置,3,单边沿,PWM,配置,双边沿,PWM,配置,(5),选择引脚为,PCAP1.x,输出,(4),选择引脚为,PCAP1.x,输出,(3),选择引脚为,PWM1.x,输出,PWM,基本操作,|,电源、引脚配置,(1),开启,PWM,功率,/,时钟位,(2),选择引脚为,PWM1.x,输出,电源控制:,通过置位,PCONP.PWM1,位使能,PWM,时钟源。,引脚配置:,每个,PWM,输出通道可选择从多个引脚输出,如,PWM1.1,可选择从,P1.18,或,P1.20,输出。,PCONP|=1 6;,PINSEL4,PINSEL4=0 x2555;,PINSEL3,PINSEL3|=0 xa 24;,初始化代码如下:,PWM,基本操作,|,定时器配置,(1),设置中断向量,(2),复位内部计数器,(3),清零计数值,zyIsrSet(NVIC_PWM1,(unsigned long)PWM1_ISR,2);,PWM1TCR=0 x2;,PWM1TC=0;,PWM1PR=1;,PWM1MR0=Fpclk/50;,PWM1MCR=0 x3;,PWM1TCR=0 x1;,初始化代码如下:,(4),设置分频系数,(5),设置通道,0,的匹配值,(6),设置匹配时的动作,(7),启动定时器,如果某一种,PWM,通道不作为,PWM,输出,可设置定时器功能。,PWM,基本操作,|,PWM,配置,(1),设置,PWM,计数频率,(2),匹配时复位,PWMTC,PWM1PR =0 x09;,PWM1MCR|=0 x02;,PWM1PCR =(0 2)|,(1 4)|,(1 6)|,(1 10)|,(1 12)|,(1 14);,PWM1MR0=period;,初始化代码如下:,(3),PWM2,双边沿控制,配置,PWM,功能时,需要在单边沿和上边沿配置中作出选择。,(4),PWM4,双边沿控制,(5),PWM6,双边沿控制,(6),使能,PWM2,输出,(7),使能,PWM4,输出,(8),使能,PWM2,输出,(9),设置,PWM,周期,PWM,基本操作,|,单边沿,PWM,配置,当通道全部作为单边沿,PWM,输出时,最多可达,6,路输出。,初始化代码如下:,PWM1MR1=Fpclk/1000/1;,PWM1MR2=Fpclk/1000/2;,PWM1MR3=Fpclk/1000/3;,PWM1MR4=Fpclk/1000/4;,PWM1MR5=Fpclk/1000/5;,PWM1MR6=Fpclk/1000/6;,PWM1LER=0 x7f;,PWM1TCR=1 0|1 3;,(1),设置通道,1,输出占空比,(2),设置通道,2,输出占空比,(3),设置通道,3,输出占空比,(4),设置通道,4,输出占空比,(5),设置通道,5,输出占空比,(6),设置通道,6,输出占空比,(7),更新匹配寄存器值,(8),使能定时器和,PWM,功能,PWM,基本操作,|,双边沿,PWM,配置,(1),设置通道,1,上跳沿位置,(2),设置通道,1,下跳沿位置,PWM1MR1=(Fpclk/100)*1;,PWM1MR2=(Fpclk/100)*99;,PWM1MR3=(Fpclk/8)*3;,PWM1MR4=(Fpclk/8)*2;,PWM1MR5=(Fpclk/8)*3;,PWM1MR6=(Fpclk/8)*5;,PWM1LER=0 x7F;,PWM1TCR=0 x02;,PWM1TCR=0 x09;,初始化代码如下:,(3),设置通道,2,上跳沿位置,(4),设置通道,2,下跳沿位置,(5),设置通道,3,上跳沿位置,(6),设置通道,3,下跳沿位置,(7),更新,PWM,匹配寄存器,(8),复位内部计数器,(9),使能定时器和,PWM,功能,当通道全部作为双边沿,PWM,输出时,最多可达,3,路输出。,
展开阅读全文