微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于DSP的大功率开关电源的设计方案

基于DSP的大功率开关电源的设计方案

时间:10-10 来源: 点击:

。整个过程不需要程序干预,由硬件实现。这对实现各种故障信号的快速处理非常有用。在故障发生后,只有在人为干预消除故障,重启系统后才能继续工作。

  3 系统的软件实现

  为了构建DSP控制器软件框架,使程序易于编写、查错、测试、维护、修改、更新和扩充,在软件设计中采用了模块化设计,将整个软件划分为初始化模块、ADC信号采集模块、PID运算处理模块、PWM波生成模块、液晶显示模块以及按键扫描模块。各模块问的流程如图7所示。

图7 软件模块流程图

  3.1 初始化模块

  系统初始化子程序是系统上电后首先执行的一段代码,其功能是保证主程序能够按照预定的方式正确执行。系统的初始化包括所有DSP的基本输入输出单元的初始设置、LCD初始化和外扩单元的检测等。

  3.2 ADC采样模块

  TMS320LF2407A芯片内部集成了10位精度的带内置采样/保持的模数转换模块(ADC)。根据系统的技术要求,10位ADC的精度可以满足电压的分辨率、电流的分辨率的控制要求,因此本设计直接利用DSP芯片内部集成的ADC就可满足控制精度。另外,该10位ADC是高速ADC,最小转换时间可达到500 ns,也满足控制对采样周期要求。

  ADC采样模块首先对ADC进行初始化,确定ADC通道的级联方式,采样时间窗口预定标,转换时钟预定标等。然后启动ADC采样,定义三个数组依次存放电压、电流和温度的采样结果,对每一个信号采样8次,经过移位还原后存储到相应的数组中,共得到3组数据。如果预定的ADC中断发生,则转人中断服务程序,对采样的数据进行分析、处理和传输。以电压采样为例,其具体的流程图如图8所示。

图8 电压采样程序流程图

  3.3 PID运算模块

  本系统借助DSP强大的运算功能,通过编程实现了软件PID调节。由于本系统软件中采用的是增量式PID算法,因此需要得到控制量的增量△un ,式(3)为增量式PID算法的离散化形式:

  开关电源在进入稳态后,偏差是很小的。如果偏差e在一个很小的范围内波动,控制器对这样微小的偏差计算后,将会输出一个微小的控制量,使输出的控制值在一个很小的范围内,不断改变自己的方向,频繁动作,发生振荡,这既影响输出控制器,也对负载不利。

  为了避免控制动作过于频繁,消除由于频繁动作所引起的系统振荡,在PID算法的设计中设定了一个输出允许带eo。当采集到的偏差|en|≤eo时,不改变控制量,使充电过程能够稳定地进行;只有当|en| >eo 时才对输出控制量进行调节。PID控制模块的程序流程如图9所示:

图9 PID运算程序流程图

  3.4 PWM 生成模块

  TMS320LF2407A内部包括两个事件管理器模块EVA和EVB,每个事件管理器模块包括通用定时器GP、比较单元、捕获单元以及正交编码脉冲电路。通过TMS320LF2407A事件管理模块中的比较单元可以产生带死区的PWM波,与PWM 波产生相关的寄存器有:比较寄存器CMPRx、定时器周期寄存器Tx—PR、定时器控制寄存器TxCON、定时器增/减计数器TxCNT、比较控制寄存器COMCONA/B、死区控制寄存器DBTCONA/B。

  PWM波的生成需对TMS320LF2407A的事件管理模块中的寄存器进行配置。由于选用的是PWM1/2,因此配置事件管理寄存器组A,根据需要生成带死区PWM波的设置步骤为:

  (1)设置并装载比较方式寄存器ACTRA,即设置PWM波的输出方式;

  (2)设置T1CON寄存器,设定定时器1工作模式,使能比较操作;

  (3)设置并装载定时器1周期寄存器T1PR,即规定PWM 波形的周期;

  (4)定义CMPR1寄存器,它决定了输出PWM 波的占空比,CMPR1中的值是通过计算采样值而得到的;

  (5)设置比较控制寄存器COMCONA,使能PD—PINTA 中断;

  (6)设置并装载死区寄存器DBTCONA,即设置死区时间。

图10所示为带死区PWM波的生成原理

  3.5 键盘扫描及LCD显示模块

  按键扫描执行模块的作用是判断用户的输入,对不同的输入做出相应的响应。本开关电源设计采用16个压电式按键组成的矩阵式键盘构成系统的输入界面。16个按键的矩阵式键盘需要DSP的8个I/O口,这里选用IOPA0~IOPA3作为行线,IOPF0~IOPF3作为列线。由于TMS320LF2407A都是复用的I/O口,因此需要对MCRA和MCRC寄存器进行设置使上述8个I/O口作为一般I/O端口使用。按键扫描执行模块采用的是中断扫描的方式,只有在键盘有键按下时才会通过外部引脚产生中断申请,DSP相应中断,进人中断服务程序进行键盘扫描并作相应的处理。

LCD显示模块需要DSP提供11个I/O口进行控制,包括8位数据线和3位控制线,数据线选用IOPB0~IOPB7,控制线选用IOPFO IOPF2,通过对PBDATDIR和PFDATDIR寄存器的设置实现DSP与LCD的数据传输,实时显

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top