1、嵌入式技术应用PMWPMW的基本原理的基本原理模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理学习目标一、PWM概述二、PWM寄存器描述三、S3C2440上PWM接口的使用模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理一、PWM概述脉宽调制(Pulse Width Modulation,PWM)是改变脉冲宽度的一种控制方法,现在大多数处理器都会有PWM输出接口,可以用PWM信号控制电动机转速和蜂鸣器
2、的鸣叫。PWM的优点是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小,噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。从模拟信号转向数字信号可以极大地延长通信的距离。下面以“正弦波的一半的波形”为例来讲解一下PWM的基本原理,按照时间将这个正弦波分成七等份,每一份都用面积相等、幅度相同的脉冲模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理来表示,最后得到一系列离散脉冲序列,这一离散脉冲序列的作用等价于正弦波。PWM的最大优点就是可以用离散的数字信号来代替模拟信号,
3、而且能够取得同样的电路效果。模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理二、PWM寄存器描述在讲解PWM接口的使用之前,先介绍一下PWM相关的寄存器:设置配置寄存器TCFG0的7:0这8位为249,就是设置定时器0和定时器1的预分频值为249。TCFG0位描述初始值保留31:240 x00死区长度23:16这8位决定了死区长度0 x00预分频器115:8这8位决定了时间定时器2、3、4的预分频器的值0 x00预分频器07:0这8位决定了时间定时器0、1的预分频器的值0 x00模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关
4、之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理设置配置寄存器TCFG1的3:0位为0010,就是设置分频值为8:模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理还需要设置控制寄存器TCON:注意:手动升级位必须在下一次写的时候置0,简单地说就是启动定时器之后,把这一位清0。TCON位描述初始值死区使能位4死区操作:0禁制,1使能一般不用这个功能,除非用于大电流的电动机0自动加载位3 0=不自动1=白动加载0输出翻转位2 0=不翻转1=翻转TOUT00手动升级位(注意)1 0=无操作1=升级TCNTB0&
5、TCMPB00启动停止位0 0=停止1=开始0模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理三、S3C2440上PWM接口的使用通过査阅S3C2440芯片的datasheet,可以得知S3C2440A有5个16位的定时器。定时器0、1、2、3有脉宽调制PWM功能;定时器4有一个无输出引脚的内部定时器;定时器0有一个用于大电流设备的死区生成器,其内部连接图如下图所示。模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理以TOUT0作为PWM的输出来讲解PWM定时器的使
6、用,开启PWM定时器0的步骤如下:1)设置TOUT0为输出。2)通过TCFG0和TCFG1设置定时器0的预分频值和分频值。3)设置比较缓存寄存器TCMPB0和计数缓存寄存器TCNTB0的值。4)开启定时器0的自动重载(设置TCON的第3位为1)。5)开启手动更新TCNTB0&TCMPB0功能(设置TCON的第1位为1)。6)启动定时器0(设置TCON的第0位为1)。7)清除定时器0的手动更新TCNTB0&TCMPB0功能(设置TCON的第1位为0)。模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理设置配置寄存器T
7、CFG0的7:0这8位为249,设置配置寄存器TCFG1的3:0位为0010,即8分频,另外TQ2440开发板的PCLK为50MHz,所以可以计算出定时器0的时钟频率。PWM信号的周期计算如下图所示。如果将TCNTB0设为25000,那么可以计算出PWM周期。TCLK=PCLK/(预分频值预分频值+1)/(分频值分频值)=50MHz/(249+1)/8=25kHzTPWM=TCNTB0*(1/TCLK)=25000*(1/25000)s=1s模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理也就是说,TCNTB0与定时器0的时钟频率TCLK共同决定了PWM信号的周期,而TCMPB0决定了占空比。模块三:嵌入式网关之驱动程序编写模块三:嵌入式网关之驱动程序编写知识点:知识点:PMW PMW的基本原理的基本原理谢谢关注!