文件名称:基于DSP2812的PWM方案设计.doc
文件大小:33KB
文件格式:DOC
更新时间:2022-12-25 15:53:37
文档资料
基于DSP2812的PWM方案设计 摘 要:本文研究了基于dsp2812的pwm方案,实现了由dsp控制的pwm波形输出,并通过软件 编程得到占空比不同的pwm脉冲序列,完成了pwm信号到模拟信号的数模转换(d/a)功能 。实验结果表明,应用dsp的pwm输出,具有极强的可控性,并且pwm经过简单的变换电路 就可以实现dac,这不仅能提高dac调制信号的精度,还将大大降低数模转换设备成本。 关键词:tms320f2812;脉宽调制(pwm);数模转换 中图分类号:tm461 脉宽调制(pwm:pulse width modulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术 ,广泛应用于测量、通信和功率控制与变换的许多领域。目前,虽然pwm控制技术的实现 方法的研究已经取得了一系列成果,但这些方法仍存在缺陷,如产生pwm波形的速率和精 度不高、可控性不强等等。此外,在电子和自动化技术的应用中,单片机和dac是经常需 要同时使用的,然而许多单片机内部并没有集成dac,即使有些单片机内部集成了dac精 度也往往不高,在高精度的应用中还需外接dac,这样增加了成本。正是由于dac芯片价 格相对昂贵,使得其广泛应用受到限制。基于此,本文研究采用具有高运算精度(32位 )和强大系统处理能力的tms320f2812芯片,对pwm输出波形进行深入的研究,并将pwm波 形通过低通滤波器实现dac的功能。 1 pwm调制算法的研究 对于任意波形的实现,可以在一个周期内,对信号进行等间距采样,只要采样频率足够 高,就可以根据采样点对信号重新进行刻画的。所以当采样频率取得足够高的时候,可 以将任意相邻两个采样点之间用直线连接起来,通过与三角载波的比较,输出pwm波,从 而生成所需要的信号。下面将具体介绍实现的过程,采用规则采样法使每个脉冲的中点 与三角波的中心重合,使得计算大为简化。 图1 图2 如图1所示,a,b为相邻的两采样点。tc为采样周期。若取载波周期 ,n为整数,g为三角载波的幅值,k为直流电压幅值,则相邻采样点间有n个三角载波。 取第n个三角波作分析(1 n n),设等腰三角形的中心线与信号线的交点为d点,过d点 做一条跟横轴平行的直线与等腰三角载波相交于e点和f点,由图2可知,取te,tf作为控 制时刻,根据等腰三角形的比例计算得到脉冲的宽度δ为: (1) 根据面积相等原则,a,b点与横坐标轴组成的面积应该等于响应的脉冲部分的面积,可 以推导出: ,即三角载波的幅值是等于直流电压的幅值。从公式(1)中各个变量均可确定,即可以 根据各个变量求得pwm脉冲的宽度。 1.1 系统pwm软件实现 利用tms320lf2812来生成任意波形脉冲的基本思想是利用dsp的事件管理器中的全比较单 元、通用定时器、死区发生单元以及输出逻辑来生成pwm波,经复用的i/o引脚输出。ds p设置在连续增/减计数方式工作时,产生对称的pwm脉冲输出。在这种计数方式下,计数 器的值由初始值开始增加,当达到txpr值时,开始递减,直到变成0后又重新增加。在计 数器跳变的过程中,计数器的值与比较寄存器cmprx的值作比较,当计数器的值与比较寄 存器的值相等时对应的方波输出发生电平转换。在一个定时器周期内,输出方波将发生 2次翻转,从而形成一个脉冲。根据公式(1),写入dsp cmpr的值应该为: 系统软件部分分为初始化模块和运行模块,包括主程序、系统初始化子程序、定时器中 断服务程序、gpio端口配置子程序。具体程序流程如下: 1.2 硬件电路 图6 定时器功能框图 本研究中,由通用定时器t1产生pwm输出,定时器功能框图如图6所示。tms320f2812作为 控制器,用于处理采集到的数据和发送控制命令。由ccs环境下的c程序设置相关寄存器 ,产生不同占空比的pwm输出。用仿真器将pc机与系统硬件电路建立通信。tms320f2812 控制器首先采集t1pwm波形,然后将产生的pwm信号送入示波器,观察并分析。改变通用 定时器比较寄存器的值,可以以改变pwm信号的占空比。在本设计中,选取正弦波形的等 间距抽样值作为比较寄存器值,不仅可以得到随机的pwm输出,而且pwm调制信号通过低 通滤波器后仍可恢复正弦波。在系统运行中,驱动保护电路检测当前系统的运行状态, 如果系统中出现过流或欠压状况,pwm信号驱动器(ir2131)启动内部保护电路,锁存后 继pwm信号输出,同时通过fault引脚拉低tms320f2812控制器的pdpinta引脚电压,启动 dsp控制器的电源驱动保护。这时所有ev模块的输出引脚将被硬件置为高阻态,从而保护 控制系统。 1.3 pwm输出实验结果及分析 在硬件电路的基础上,示波器接到pwm输出引脚,通过软件编程得到图7