基于ARM嵌入式的PWM信号发生器制作.doc
《基于ARM嵌入式的PWM信号发生器制作.doc》由会员分享,可在线阅读,更多相关《基于ARM嵌入式的PWM信号发生器制作.doc(25页珍藏版)》请在三一办公上搜索。
1、编号: 嵌入式系统设计 实训 (论文)说明书题 目: PWM信号发生器制作 院 (系): 应用科技学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2011 年 01月 19 摘 要脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。本课题设计PWM信号发生器,采用LPC2138中央控制单元,五个按键分别调节PWM信号的周期占空比等,利用示波器显示。模块化的设计和调试方法在整个课题研究过程中至关重要,事实上在任何设计
2、中也同样关键和有效。关键字:PWM;微处理器;LPC2138;按键;周期; AbstractThe Pulse Width Modulation (PWM), is English Width Modulation abbreviation of points, abbreviation Pulse Width Modulation is the use of the microprocessor digital output to analog circuits to control an effective technology, widely used in from measureme
3、nt, communication to power control and transform in many areas. This topic design PWM signal generator, using LPC2138 central control unit, five buttons respectively adjust PWM signal cycles 390v etc., using an oscilloscope display. Modular design and debug method in the whole subject research proce
4、ss is of vital importance to in fact in any design also key and effectively. Keywords:PWM;microprocessor; LPC2138; Button; cycle目 录引言11 设计任务22 硬件设计22.1 总体设计方案与系统构成22.2 LPC2138芯片22.2.1LPC2138管脚22.2.2LPC2138主要性能32.2.3LPC2138的应用42.3 PWM模块52.3.1PWM特性52.3.2PWM寄存器应用举例62.4 硬件电路图72.5 硬件电路PCB73 软件设计83.1 整体设计
5、83.2 初始化程序流程图93.2.1初始化程序流程图103.2.2初始化程序104 PWM信号发生器调试124.1 硬件电路检测124.2 功能调试125 数据测量和计算125.1 占空比计算125.2 信号频率误差计算136 改进方案13结论14谢 辞15参考文献16引言脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最
6、广泛应用的控制方式,也是人们研究的热点.由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。随着电子技术的发展,出现了多种PWM技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。 1 设计任务(1)输出三路及以上PW
7、M信号(2)PWM信号频率(周期)可调。(3)PWM信号相位差可调。(4)PWM信号频率误差100HZ。2 硬件设计2.1 总体设计方案与系统构成本次实训课题基于嵌入式ARM的PWM信号发生器。软件程序从下载口接入LPC2138嵌入式芯片,通过PWM专用的标准定时器还有匹配器以及一些控制电路来实训PWM的输出。电路系统构成框图如图2.1所示。图2.1电路系统构成2.2 LPC2138芯片本系统主要由嵌入式ARM芯片LPC2138构成,PWM信号由示波器显示。原理图见附录12.2.1LPC2138管脚管脚图如图2.2.1所示图2.2.1LPC2138管脚图2.2.2LPC2138主要性能(1)小
8、型LQFP64封装的16/32位ARM7TDMI-S微控制器。 (2)8/16/32kB片内静态RAM。 (3)片内Boot装载软件实现在系统/在应用中编程(ISP/IAP) 。扇区擦除或整片擦除的时间为400ms,1ms可编程256字节。 (4)EmbeddedICERT 和嵌入式跟踪接口可实时调试(利用片内 RealMonitor 软件)和高速跟踪执行代码。 (5)1个(LPC2132/2132)或 2 个(LPC2138)8 路 10 位 A/D 转换器共包含 16 个模拟输入,每个通道的转换时间低至2.44us。 (6)1个10位D/A转换器,可提供不同的模拟输出(LPC2132/21
9、38) 。 (7)2个32位定时器/计数器(带4路捕获和4路比较通道) 、PWM单元(6路输出)和看门狗。 (8)实时时钟具有独立的电源和时钟源,在节电模式下极大地降低了功耗。 (9)多个串行接口,包括2个16C550工业标准 UART、2个高速I2C接口(400 kbit/s) 、SPITM 和SSP(具有缓冲功能,数据长度可变) 。 (10)向量中断控制器。可配置优先级和向量地址。 (11)多达47个5V的通用I/O口(LQFP64封装) 。 (12)9个边沿或电平触发的外部中断引脚。 (13)通过片内PLL可实现最大为60MHz 的 CPU操作频率,PLL的稳定时间为100us。 (14
10、)片内晶振频率范围:130 MHz。 (15)2个低功耗模式:空闲和掉电。(16)可通过个别使能/禁止外部功能和降低外部时钟来优化功耗。 (17)通过外部中断将处理器从掉电模式中唤醒。 (18)单个电源供电,含有上电复位(POR)和掉电检测(BOD)电路:CPU操作电压范围:3.03.6 V (3.3 V+/ 10%),I/O口可承受5V的最大电压。2.2.3LPC2138的应用(1)工业控制(2)医疗系统(3)访问控制(4)POS机(5)通信网关(6)嵌入式软moderm(7)一般性应用2.3 PWM模块LPC2138的脉宽调制器建立在前一章的标准定时器0/1之上。应用可在PWM和匹配功能当
11、中进行选择。PWM基于标准的定时器模块并具有其所有特性。 不过LPC2131/2132/2138只将其PWM 功能输出到管脚。定时器对外设时钟(pclk)进行计数,可选择产生中断或基于7个匹配寄存器,在到达指定的定时值时执行其它动作。它还包括 4 个捕获输入,用于在输入信号发生跳变时捕获定时器值,并可选择在事件发生时产生中断。PWM功能是一个附加特性,建立在匹配寄存器事件基础之上2.3.1PWM特性1. 7个匹配寄存器,可实现6个单边沿控制或3个双边沿控制PWM输出,或这两种类型的混合输出:(1)连续操作,可选择在匹配时产生中断(2)匹配时停止定时器,可选择产生中断(3)匹配时复位定时器,可选
12、择产生中断2. 每个匹配寄存器对应一个外部输出,具有下列特性:(1)匹配时设置为低电平(2)匹配时设置为高电平(3)匹配时翻转(4)匹配时无动作3. 支持单边沿控制和/或双边沿控制的PWM 输出。单边沿控制PWM输出在每个周期开始时总是为高电平,除非输出保持恒定低电平。 双边沿控制PWM输出可在一个周期内的任何位置产生边沿。这样可同时产生正和负脉冲。4. 脉冲周期和宽度可以是任何的定时器计数值。这样可实现灵活的分辨率和重复速率的设定。所有PWM输出都以相同的重复率发生。5. 双边沿控制的PWM输出可编程为正脉冲或负脉冲。6. 匹配寄存器更新与脉冲输出同步,防止产生错误的脉冲。软件必须在新的匹配
13、值生效之前将它们释放。7. 如果不使能PWM模式,可作为一个标准定时器。8. 带可编程32位预分频器的32位定时器/计数器。9. 当输入信号跳变时4个捕获寄存器可取得定时器的瞬时值,也可选择使捕获事件产生中断。2.3.2PWM寄存器应用举例图2.3.2所示为一个用来说明 PWM 值与波形输出之间关系的例子。所示的波形是单个PWM周期,它演示了在下列条件下的PWM输出:(1)定时器配置为PWM模式(2)匹配寄存器0配置为在发生匹配事件时复位定时器/计数器(3)控制位PWMSEL2和PWMSEL4置位(4)匹配寄存器值如下:MR0=100 (PWM速率) MR1=41, MR2=78 (PWM2输
14、出)MR3=53, MR4=27 (PWM4输出)MR5=65 (PWM5输出)图2.3.2PWM输出波形2.4 硬件电路图电路输出三路PWM信号,分别从LPC2138的P0.7、P0.8、P0.9管脚输出。按键S1-S5分别控制PWM信号的周期,占空比以及是哪一路PWM信号输出。硬件电路图如图2.4所示:图2.4硬件电路图2.5 硬件电路PCBPWM信号发生器电路的PCB如图2.5所示: 图2.5硬件电路PCB3 软件设计系统的主程序主要完成输出3路PWM信号,并由按键来控制调节。3.1 整体设计由设计要求,可分析得出程序设计一共有以下几个模块:(1)初始化程序设计,主要是初始化LPC213
15、8芯片,设置P0.7、P0.8、P0.9为输出管脚。(2)PWM信号发生设计,初始化LPC2138后,要开启PWM的专用定时器,通过它的匹配功能来产生PWM信号。(3)变量控制,产生PWM信号后,要通过按键来调节PWM信号的周期和占空比。(4)屏幕显示,产生PWm信号,送至示波器显示。总体软件设计流程图如图3.1所示。扫描按键输出第1路PWM信号输出第2路PWM信号输出第3路PWM信号开始程序初始化设置PWM寄存器产生PWM信号扫描按键S1?按下1次S1?按下2次S1?按下3次S1?S2?S3?S4?S5?信号占空比增大信号占空比减小信号周期增大信号周期减小示波器显示 N Y N N N N
16、Y Y Y Y图3.1总体软件设计流程图3.2 初始化程序流程图3.2.1 初始化程序流程图初始化程序流程图如图3.2所示:开始按键S1-S5控制芯片P1.16-P1.20打开PWM2、PWM4、PWM6三路信号口设置PWM周期控制寄存器MR0设置PWM三路信号的上升沿寄存器MR1、MR3、MR5设置PWM三路信号的下降沿寄存器MR2、MR4、MR6设置锁存LER启动PWMTCR图3.2 初始化程序流程图3.2.2初始化程序初始化程序如下#include #define SW_1 (16)#define SW_2 (17)#define SW_3 (18)#define SW_4 (19)#d
17、efine SW_5 (20)IO1DIR &= (0 SW_1);/P1.16为输入管脚IO1DIR &= (0 SW_2); /P1.17为输入管脚IO1DIR &= (0 SW_3); /P1.18为输入管脚IO1DIR &= (0 SW_4); /P1.19为输入管脚IO1DIR &= (0 SW_5); /P1.20为输入管脚IO1SET |= (1 SW_1); /P1.16连接S1按键IO1SET |= (1 SW_2); /P1.17连接S2按键IO1SET |= (1 SW_3); /P1.18连接S3按键IO1SET |= (1 SW_4); /P1.19连接S4按键IO1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM 嵌入式 PWM 信号发生器 制作
链接地址:https://www.31ppt.com/p-4147979.html