第一篇:DSP学习小结
根据一学期以来对DSP这门课程的学习,学到了很多DSP相关的知识。了解了如何根据实际需求选择DSP芯片,也知道了C54x的会变和链接过程,还掌握了C54x的寻址方式,尤其是直接和简介寻址。在参考技术手册时也能读懂C54x的汇编和C例程,了解C54x的终端系统和片内外设的控制方式。
DSP是Demand-Side Platform的缩写,即需求方平台。这一概念起源于网络广告发达的欧美,是伴随着互联网和广告业的飞速发展新兴起的网络广告领域。它是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,源源超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
DSP核心特征:一个真正意义的DSP,必须拥有两个核心特征,一是拥有强大的RTB(Real-Time Bidding)的基础设施和能力,二是拥有先进的用户定向(AudienceTargeting)技术。
DSP系统的设计还没有非常好的正规设计方法。在设计DSP系统之前,首先必须根据应用系统的目标确定系统的性能指标、信号处理 的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。第二步是根据系统的要求进行高级语言的模拟。
在完成第二步之后,接下来就可以设计实时DSP系统,实时DSP系统的设计包括硬件设计和软件设计两个方面。
系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。
DSP优点是对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;VLSI可以分时复用,共享处理器;方便调整处理器的系数实现自适应滤波;可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存储等;可用于频率非常低的信号。
DSP缺点是需要模数转换;受采样频率的限制,处理频率范围有限;数字系统由耗电的有源器件构成,没有无源设备可靠。但是其优点远远超过缺点。
目前,中国的DSP才刚刚起步,发展正方兴未艾。但严格意义上符合DSP两大核心特征的公司,更是非常之少,整个国内网络展示广告领域对于DSP的理解都远远没有达到普及的程度。
第二篇:DSP学习总结
DSP学习总结
根据一学期以来对DSP这门课程的学习,学到了很多DSP相关的知识。了解了如何根据实际需求选择DSP芯片,也知道了C54x的汇编和链接过程,还掌握了C54x的寻址方式。对于老师的授课方法也有一定的见解。
开始学DSP的时候比较着急,因为也感觉什么都不会,不知道从哪里下手。手上的资料只有书,后来去图书馆看了两本,一本是《DSP原理与开发》,除了有详细的理论说明之外,还会在每个章节之后配上一个例程,缺点就是错误也不少,估计时间太仓促,校对没做好。另一本书是清华大学出版社的《TMS320C28X系列DSP的CPU与外设》,是从TI的英文的技术手册翻译过来的,分上、下两册,可以作为工具书,很实用,缺点是没有例子。书看了一两遍,觉得还是一头雾水。后来有相应的实验开课,慢慢对DSP有点了解了,刚开始都不知道怎么建PROJECT,后来问了同学,然后再看TI的例程,仿照它的程序框架,边看例程,边对着实验指导书,看得主要是如何初始化,需要对每个外设进行哪些寄存器的初始化,寄存器为什么这样设置,程序如何进中断,如何出中断等等。边看书边做实验,效率会高很多,也就能慢慢理解了。
对于刚学DSP的新手我觉得掌握一些初级知识就差不多了。
第一步:硬件入门。1.先学习DSP的硬件基础:了解CPU结构、中断、EMIF、HPI、GPIO、SPI、Timer、供电方式、时钟;2.了解DSP互连的存储器:SDRAM、FLASH、FIFO、双口RAM、SDSRAM等不需深入研究;3.了解CPLD/FPGA的硬件结构、连接原理、VerilogHDL编程语言需深入研究;4.了解DSP Bootloader不需深入研究;5.了解DSP和外部通信的接口:PCI、USB、LAN、UART等,有时间可以看看DM642的VideoPort
第二步:工具入门。1.学习数字电路、模拟电路、电路分析的知识;2.学好一种PCB绘制软件如Protel DXP2006;3.学习信号完整性、学习传输线理论,特性阻抗知识;
关于老师上课的方式我认为:1.太多的理论知识枯燥乏味,因为有实验课,我觉得老师可以根据实验要做的内容在课堂上深入讲解,这样在讲述的同时能让同学们认真听,认真记以便于实验课程的顺利完成,比纯理论效果会好点。2.课上应该多讲解一些例子,由浅而深,我觉得上课关键是调动同学的积极性,能吸引学生的很多是夹杂着现实生活中的事,中国的DSP才刚刚起步,发展正方兴未艾,严格意义上符合DSP两大核心特征的公司,更是非常之少,整个国内网络展示广告领域对于DSP的理解都远远没有达到普及的程度,有很大的发展潜力,让同学们意识到学习DSP是有用的。
第三篇:Dsp学习笔记
GPIO作为通用I/O口使用
a)EALLOW;//防止私自写或覆盖寄存器的内容,加了这句,接下来可以操作寄存器了 b)GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;// GPIO0复用为普通I/O功能 c)GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;// 1,设置为输出;0设置为输入 d)EDIS;//加了这句,接下来不可以操作寄存器
注:EALLOW,EDIS总是成对出现中断过程(代码以配置SCIB模块的接收中断为例,LSPCLK是37.5MHz)
中断共分三级,1,外设级;2,PIE级;3,CPU级;外设级的中断标志必须手动清零;PIE级和CPU级的中断标志位由硬件自动清零。中断响应例程:
第一步,配置中断源,即允许产生什么类型点中断。例如,定时器中断,串口中断,外部中断等。ScibRegs.SCICTL2.bit.RXBKINTENA =1;允许接收中断
第二步,配置PIE(外部中断扩展)
a)InitPieCtrl();//初始化Pie控制
b)InitPieVectTable();//初始化Pie向量表控制
c)EALLOW;
d)PieVectTable.SCIRXINTB=&scibreceive;//指定中断服务程序地址e)EDIS;
f)PieCtrlRegs.PIECTRL.bit.ENPIE=1;//使能从PIECTRL中读取中断向量 g)PieCtrlRegs.PIEIER9.bit.INTx3=1;//使能SCIB的接收中断
h)IER |= M_INT9;//允许外部中断
i)EINT;
j)ERTM;
第三步,中断响应
在中断服务程序里,必须用PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;//清楚中断已响应标识,再写自己等程序代码串口配置
InitScibGpio();scib_echoback_init();AD转换
InitAdc();//允许ADC时钟,带隙和参考电路上电,核中模拟电路上电
AdcRegs.ADCTRL2.all = 0x2000;//ADC模块开始转换
程序在FLASH运行时,需要加如下两句代码:(不知道具体原因)
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);InitFlash();
第四篇:C64X DSP EDMA小结及实例详解(ZZ)
C64X DSP EDMA小结及实例详解(ZZ)
by-2008-8-1 16:51:29
标签(TAG):EDMADSP
C64X DSP EDMA小结
(1)EDMA概要
①EDMA数据传输有两种发起方式:
CPU发起的EMDA数据传输(非同步方式):需要传输时,CPU设置ESR寄存器的相应位为1,从而触发一个EDMA事件的产生,事件对应的通道参数被送往地址硬件并且完成相应的处理,这种非同步方式的实时数据传输无需设定EER寄存器;
事件触发方式EDMA数据传输(同步方式):ER寄存器保存外设发送过来的事件,一旦CPU设置EER寄存器的相应位为1后,ER中的事件才会提交给事件编码器(Event Encoder),并且进一步引起相关的传输参数的发送给地址产生硬件;如果EER中对应于某事件的位没有置1,则ER寄存器中的事件将保留,一旦置1则触发EDMA的传输,这种特性可以应用到EDMA Chain传输,需要EER和CCER结合使用;
(2)EDMA数据传输类型:
EDMA有两种类型的数据传输:1D和2D的(OPT.2DS和OPT.DDS标示源地址和目的地址的数据传输类型,即有4种组合方式);数据的维数表明了数据的组成方式:
①1D数据
数据组成是“块->帧->元素”;一个块中的每帧数据是独立处理(即可以理解亦为2D数据,但是第二维永远是1),每次处理是一个元素,因此一帧中的数据元素可以是在同一个内存地址、连续的地址或者是与同一帧中的前面的数据元素地址具有一定偏移(Offset,由ELEIDX通道参数指定)的某地址;不同帧之间的内存地址偏移由FRMIDX通道参数指定(两帧的第一个元素之间的偏移或者后一帧的第一个元素的地址与前一帧的最后一个元素地址的偏移,具体依赖于通道参数FS的设定);每帧的数据元素个数可以不同,由通道参数ELECNT指定,传完一帧数据后由ELERLD重新载入块中的下一帧的数据元素个数ELECNT;块中的帧的个数由通道参数FRMCNT指定;
1D数据传输有两种同步方式:OPT.FS=0,元素同步方式;OPT.FS=1,帧同步方式;
元素同步时,一次同步事件引起一帧中的一个元素的传输,每传输一次ELECNT递减1;当同步事件触发时,ELECNT=1表明是一帧的最后一个数据元素,此时EDMA控制器除了完成最后这个元素的传输外,还需要重新载入ELECNT(通过ELERLD)并且FRMCNT递减1;ELEIDX表示元素之间的偏移,FRMIDX表示一帧的最后一个元素和下一帧的第一个元素之间的偏移;如果OPT.LINK=1时,传输完成中断产生(FRMCNT=0)就重新从PRAM中载入当前通道的其他参数;
帧同步时,一次同步事件引起一帧数据的传输,FRMIDX表示两帧的第一个元素
之间的偏移;
② 2D数据
数据组成为“块->数组->元素”,同一数组中的元素是连续存放的,因此ELEIDX无意义;数组中的元素素引表示2D的第一维,块中的数组索引表示2D的第二维;FRMIDX的值依赖于OPT.FS的设定;
OPT.FS=0:表示一次同步事件传输一个数组,此时FRMIDX是数组首地址之间的偏移;每传完一个数组,FRMCNT递减1;当OPT.LINK=1并且FRMCNT递减至0时,从PRAM的中重新载入当前通道的其他参数;
OPT.FS=1:表示一次同步事件传输一个块;FRMIDX表示前一个数组的最后一个元素的地址与后一个数组的第一个元素的地址之间的偏移;如果OPT.LINK等于1,则当整块数据传完时,重新从PRAM中为当前通道载入新的参数;
(3)EDMA传输过程的源/目的地址的修改
在每次同步事件触发EDMA数据传输,并且传输完成后,需要对源/目的地址进行更新;地址的更新方式由SUM/DUM进行设定,并且和2DS、2DD以及FS是密切相关的;
(4)数据元素大小和对齐方式
源/目的地址是在元素大小的边界对齐的,因此要注意指向源/目的地址的指针的类型需要和OPT.ESIZE匹配;
(5)FRMCNT和ELEMCNT的更新
QUESTION:每次进行计数更新时,ELERLD的值哪里来的?
(6)EDMA Linking Transfer
当传输完成时(根据当前通道参数设定已经传完所有数据了,具体条件如下表所示),并且OPT.LINK=1,EDMA控制器会根据通道参数LINK(非OPT.LINK,16bits)从PaRAM中的其他位置(以24个字节对齐,因为通道参数为6WORD)重新载入当前传输通道的参数;可以链接到一个空的通道参数集(NULL Parameter)来停止EDMA传输,也可以自链接(用于循环缓冲处理或者重复的数据传输);Linking过程中不对相关寄存器作判定;
(7)EDMA中断
C64X DSP的EDMA控制器的所有64个通道只产生一种中断:EDMA_INT。如果需要让第n个EDMA通道(或者QDMA请求)可以在传输完成时可以产生中断通知CPU的话,应该如下设定:
OPT.TCINT=1:表示启用传输完成中断
OPT.TCC=n:在传输完成时,CIPR[TCC]=1,用于标记对应通道的传输完成,即便对应的CIER位没有启动,传输完成事件还是会在CIPR记录,即挂起的含义所在;
OPT.CIER[n]=1:表示立即允许挂起的第n个通道传输完成事件触发EDMA_INT中断发送给CPU;
其中,TCC用于表示的通道的位数不够时,可以扩展使用TCCM(即TCCM:TCC),CIPR和CIER均由两个寄存器组成:CIPRL+CIPRH以及CIERL+CIERH。
中断服务例程ISR读取CIPR,确定哪一个通道完成了数据传输,进行相应的处理。ISR在进行处理之前需要清除CIPR中确定了通道的位(写入1到相关位清除,写入0不起作用),目的是记录以后的传输完成事件的发生。在中断服务例程对某通道的传输完成中断进行服务后,因为期间有可能有其他通道传输完成了,也已经设置了CIPR中的相应位,或者也有可能本来有好几个中断挂起了并
且现在触发了,因此中断服务例程必须检查所有的CIPR并全部完成中断服务才行。当CIPR[n]&CIER[n]=1时,则设置对应的IFR为1,防止在退出ISR时丢失中断并且使得可以多次调用ISR。中断服务例程的一个任务是清除CIPR和CIER中的与通道对应的位。
C64X DSP除了传输完成中断外,还有交替性传输完成中断,即在传输过程中完成一个传输子过程(如传完一个数据元素、传完一个帧/数组数据;2D帧同步传输没有交替性传输完成中断)给CPU发送一个中断,相应的设定由OPT.ATINT、OPT.ATCC设定,处理过程和传输完成中断雷同,区别只是在传输还没全部完成的过程中进行中断处理而已。
这是使用BIOS和CSL LIB 作EDMA简单例子.在CCS BIOS 中需要作 中断--EDMA--edmaHwi 的设置.Spru234 和 spra636a 都是有用的参考
解释见注释.void main()
{
initEdma();//Edma 初始化
initHwi();//中断初始化
EDMA_setChannel(hEdma);//开始EDMA传送
while(1){}
}
void initEdma(void)
{
EDMA_Config gEdmaConfig;//EDMA设置表
hEdma = EDMA_open(EDMA_CHA_ANY, EDMA_OPEN_RESET);//
gXmtTCC = EDMA_intAlloc(-1);//分配一个可用的TCC
....//根据实际需要填写EDMA设置表
EDMA_config(hEdma, &gEdmaConfig);设置EDMA通道
hEdmaReload = EDMA_allocTable(-1);//得到EDMA重载标实
EDMA_config(hEdmaReload, &gEdmaConfig);// 设置EDMA重载通道 EDMA_link(hEdma, hEdmaReload);//设置EDMA重载
EDMA_link(hEdmaReload, hEdmaReload);//设置EDMA重载
EDMA_intClear(gXmtTCC);// 清除可能的EDMA中断
EDMA_intEnable(gXmtTCC);// 打开EDMA中断
EDMA_intHook(gXmtTCC, edmaHwi);//通知系统edmaHwi是中断服务者 }
void edmaHwi(int tcc)//中断服务
{
。。//准备数据
EDMA_setChannel(hEdma);//再次开始EDMA传送 }
第五篇:基于DSP开关电源
基于DSP的开关电源
摘要
本文以TMs320LF2407A为控制核心,介绍了一种基于DSP的大功率开关电源的设计方案。该电源采用半桥式逆变电路拓扑结构,应用脉宽调制和软件PID调节技术实现了电压的稳定输出。最后,给出了试验结果。试验表明,该电源具有良好的性能,完全满足技术规定要求。关键字:DSP;开关电源;PID调节
ABSTRACT In this paper,setting TMs320LF2407A as the control center, it describes a DSP-based high-power switching power source design.The power supply uses a half-bridge inverter circuit topology, applications and software PID regulator pulse width modulation technology to achieve a stable output voltage.Finally, the experimental results was given.The experimental results show that the power supply has a good performance, fully meeting the technical requirements.Key Words: DSP;Switching power supply;PID
0 引 言
信息时代离不开电子设备,随着电子技术的高速发展,电子设备的种类与日俱增,与人们的工作、生活的关系也日益密切。任何电子设备又都离不开可靠的供电电源,它们对电源供电质量的要求也越来越高。
目前,开关电源以具有小型、轻量和高效的特点而被广泛应用于电子设备中,是当今电子信息产业飞速发展不可缺少的一种电源。与之相应,在微电子技术发展的带动下,DSP芯片的发展日新月异,因此基于DSP芯片的开关电源拥有着广阔的前景,也是开关电源今后的发展趋势。电源的总体方案设计
本文所设计的开关电源的基本组成原理框图如图1所示,主要由功率主电路、DSP控制回路以及其它辅助电路组成。
开关电源的主要优点在“高频”上。通常滤波电感、电容和变压器在电源装置的体积和重量中占很大比例。从“电路”和“电机学”的有关知识可知,提高开关频率可以减小滤波器的参数,并使变压器小型化,从而有效地降低电源装置的体积和重量。以带有铁芯的变压器为例,分析如下:
图1.开关电源基本原理
设铁芯中的磁通按正弦规律变化,即φ= φMsinωt,则:
eLWdWcostEMcost dt(1)式中,EM= ωWφ M=2πfWφM,在正弦情况下,EM=√2E,φM=BMS,故:
E2fWM4.44fWBMS 2(2)式中,f为铁芯电路的电源频率;W 为铁芯电路线圈匝数;BM为铁芯的磁感应强度;S为铁芯线圈截面积。
从公式可以看出电源频率越高,铁芯截面积可以设计得越小,如果能把频率从50 Hz提高到50 kHz,即提高了一千倍,则变压器所需截面积可以缩小一千倍,这样可以大大减小电源的体积。
综合电源的体积、开关损耗以及系统抗干扰能力等多方面因素的考虑,本开关电源的开关频率设定为30 kHZ。系统的硬件设计 2.1 功率主电路
本电源功率主回路采用“AC-DC-AC—DC”变换的结构,主要由输入电网EMI滤波器、输人整流滤波电路、高频逆变电路、高频变压器、输出整流滤波电路等几部分组成,如图2所示。
图2.功率主电路原理图
图3.功军主回路的电压波形变化
本开关电源采用半桥式功率逆变电路。如图2所示,输入市电经EMI滤波器滤波,大大减少了交流电源输入的电磁干扰,并同时防止开关电源产生的谐波串扰到输入电源端。再经过桥式整流电路、滤波电路变成直流电压加在P、N两点问。P、N之间接人一个小容量、高耐压的无感电容,起到高频滤波的作用。半桥式功率变换电路与全桥式功率变换电路类似,只是其中两个功率开关器件改由两个容量相等的电容CA1和CA2代替。在实际应用中为了提高电容的容量以及耐压程度,CA1和CA2往往采用的是由多个等值电容并联组成的电容组。C A1、CA2 的容量选值应在电源体积和重量允许的条件下尽可能的大,以减小输出电压的纹波系数和低频振荡。CA1 和CA2 在这里同时起到了静态时分压的作用,使Ua =Uin/2。
在本电源的设计中,采用IGBT来作为功率开关器件。它既具有MOSFET的通断速度快、输入阻抗高、驱动电路简单及驱动功率小等优点,又具有GTR的容量大和阻断电压高的优点。
在IGBT的集射极间并接RC吸收网络,降低开关应力,减小IGBT关断产生的尖峰电压;并联二极管DQ实现续流的作用。二次整流采用全波整流电路,通过后续的LC滤波电路,消除高频纹波,减小输出直流电压的低频振荡。LC滤波电路中的电容由多个高耐压、大容量的电容并联组成,以提高电源的可靠性,使输出直流电压更加平稳。2.2 控制电路
控制电路部分实际上是一个实时检测和控制系统,包括对开关电源输出端电压、电流和IGBT温度的检测,对收集信息的分析和运算处理,对电源工作参数的设置和显示等。其控制过程主要是通过采集开关电源的相关参数,送入DSP芯片进行预定的分析和计算,得出相应的控制数据,通过改变输出PWM波的占空比,送到逆变桥开关器件的控制端,从而控制输出电压和电流。
控制电路主要包括DSP控制器最小系统、驱动电路、辅助电源电路、采样电路和保护电路。
(1)DSP控制器最小系统
DSP控制器是其中控制电路的核心采用TMS32OLF2407A DSP芯片,它是美国TEXAS INSTU—MENTS(TI)公司的最新成员。TMS30LF2407A基于C2xLP内核,和以前C2xx系列成员相比,该芯片具有处理性能更好(30MIPS)、外设集成度更高、程序存储器更大、A/D转换速度更快等特点,是电机数字化控制的升级产品,特别适用于电机以及逆变器的控制。DSP控制器最小系统包括时钟电路、复位电路以及键盘显示电路。时钟电路通过15 MHz的外接晶振提供;复位电路直接通过开关按键复位;由4×4的矩阵式键盘和SPRT12864M LCD构成了电源系统的人机交换界面。
(2)驱动放大电路
IGBT的驱动电路采用脉冲变压器和TC4422组成,其电路原理图如图4所示:
图4.IGBT驱动电路原理图
由于TMS320LF2407A的驱动功率较小,不能胜任驱动开关管稳定工作的要求,因此需要加上驱动放大电路,以增大驱动电流功率,提高电源系统的可靠性。如图4所示,采用两片TCA422组成驱动放大电路。
TC4421/4422是Microchip公司生产的9A高速MOsFET/IGBT驱动器,其中TC4421是反向输出,TC4422是同向输出,输出级均为图腾柱结构。
TC4421/4422具有以下特点:
①输出峰值电流大:9 A;
② 电源范围宽:4.5 V~18 V;
③连续输出电流大:最大2 A;
④快速的上升时间和下降时间:30 ns(负载4700pF),180 ns(负载47000 pF);
⑤传输延迟时间短:30 ns(典型);
⑥供电电流小:逻辑“1”输入~200μA(典型),逻辑“0”输入~55 μA(典型);
⑦输出阻抗低:1.4 Ω(典型);
⑧闭锁保护:可承受1.5 A的输出反向电流;
⑨输入端可承受高达5 V的反向电压;
⑩能够由TTL或CMOS电平(3 V~18 V)直接驱动,并且输人端采用有300 mV滞回的施密特触发电路。
当TMS320LF2407A输出的PWM1为高电平,PWM2为低电平时,经过TCA422驱动放大后输出,在脉冲变压器一次侧所流过的电流从PWMA流向PWMB,如图4中箭头所示,电压方向为上正下负。
根据变压器的同名端和接线方式,则开关管Q1的栅极电压为正,Q2的栅极电压为负。因此,此时是驱动QM1导通。反之若是PWM1为高电平,PWM2为低电平时,则是驱动Q2导通。四只二极管DQ1 ~DQ2的作用是消除反电动势对TCA422的影响。
(3)辅助电源电路
本开关电源电路设计过程中所需要的几路工作电源如下:
① TMS320LF2407 DSP所需电源:I/O 电源(3.3 V),PLL(PHSAELOCKED LOOP)电源(3.3 V),FIASH编程电压(5 V),模拟电路电源电压(3.3 V);②TCA422芯片所需电源:电源端电压范围4.5~18 V(选择15 V);③采样电路中所用运算放大器的工作电源为15 V。
因此,整个控制电路需要提供15 V、5 V和3.3 V三种制式的电压。设计中选用深圳安时捷公司的HAw 5-220524 AC/DC模块将220 V、50 Hz的交流电转换成24 V直流电,然后采用三端稳压器7815和7805获得15 V和5 V的电压。TMS320LF2407A所需的3.3 V由5 V通过TPS7333QD电压芯片得到。(4)采样电路
电压采样电路由三端稳压器TL431和光电耦合器PC817之问的配合来构成。电路设计如图5所示,TL431与PC817一次侧的LED串联,TL431阴极流过的电流就是LED的电流。输出电压Ud经分压网络后到参考电压UR与TL431中的2.5 V基准电压Uref进行比较,在阴极上形成误差电压,使LED的工作电流 If发生变化,再通过光耦将变化的电流信号转换为电压信号送人LF2407A的ADCIN00引脚。
图5.电压采样电路原理图
由于TMS320LF2407A的工作电压为3.3 V,因此输入DSP的模拟信号也不能超过3.3 V。为防止输入信号电压过高造成A/D输入通道的硬件损坏,我们对每一路A/D通道设计了保护电路,如图5所示,Cu2,CU3 起滤波作用,可以将系统不需要的高频和低频噪声滤除掉,提高系统信号处理的精度和稳定性。
另外,采用稳压管限制输入电压幅值,同时输入电压通过二极管与3.3 V电源相连,以吸收瞬间的电压尖峰。
当电压超过3.3 V时,二极管导通,电压尖峰的能量被与电源并联的众多滤波电容和去耦电容吸收。并联电阻Ru4的目的是给TL431提供偏置电流,保证TL431至少有1 mA的电流流过。Cu1 和RU3作为反馈网络的补偿元件,用以优化系统的频率特性。
电流采样的原理与电压采样类似,只是在电路中要通过电流传感器将电流信号转换为电压信号,然后再进行采集。
(5)保护电路
为保证系统中功率转换电路及逆变电路能安全可靠工作,TMs320LF2407A提供了PDPINTA,各种故障信号经或门CD4075B综合后,经光电隔离、反相及电平转换后输入到PDPINTA引脚,有任何故障时,CD4075B输出高电平,PDPINTA引脚相应被拉为低电平,此时DSP所有PWM输出管脚全部呈现高阻状态,即封锁PWM输出。整个过程不需要程序干预,由硬件实现。这对实现各种故障信号的快速处理非常有用。在故障发生后,只有在人为干预消除故障,重启系统后才能继续工作。系统的软件实现
为了构建DSP控制器软件框架,使程序易于编写、查错、测试、维护、修改、更新和扩充,在软件设计中采用了模块化设计,将整个软件划分为初始化模块、ADC信号采集模块、PID运算处理模块、PWM波生成模块、液晶显示模块以及按键扫描模块。各模块间的流程如图6所示。
图6.功能模块流程图
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中断发生,则转人中断服务程序,对采样的数据进行分析、处理和传输。以电压采样为例,其具体的流程图如图7所示。
图7.程序流程图
3.3 PID运算模块
本系统借助DSP强大的运算功能,通过编程实现了软件PID调节。由于本系统软件中采用的是增量式PID算法,因此需要得到控制量的增量△un,式(3)为增量式PID算法的离散化形式:
unKp(enen1)KienKd[en2en1en2]
(3)
开关电源在进入稳态后,偏差是很小的。如果偏差e在一个很小的范围内波动,控制器对这样微小的偏差计算后,将会输出一个微小的控制量,使输出的控制值在一个很小的范围内,不断改变自己的方向,频繁动作,发生振荡,这既影响输出控制器,也对负载不利。
为了避免控制动作过于频繁,消除由于频繁动作所引起的系统振荡,在PID算法的设计中设定了一个输出允许带eo。当采集到的偏差|en|≤eo时,不改变控制量,使充电过程能够稳定地进行;只有当|en| >eo 时才对输出控制量进行调节。PID控制模块的程序流程如图8所示:
图8.PID运算程序流程图
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,即设置死区时间。
图9.带死区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的数据传输,实时显示开关电源的运行状态。结论
本文介绍的基于DSP的大功率高频开关电源,充分发挥了DSP强大功能,可以对开关电源进行多方面控制,并且能够简化器件,降低成本,减少功耗,提高设备的可靠性。
参考文献
[1]何希才.新型开关电源的设计与应用[J].北京:科学出版社,2001 [2]刘和平,严利平,张学锋等.TMS320LF240xDSP结构、原理及应用[J].北京:航空航天大学出版社,2002 [3] 陈伟,马金平,杜志江,李永利.基于DSP的PWM型开关电源的设计[J].微计算机信息,2006,12(5):238-240 [4]周志敏,周纪海.开关电源实用技术——设计与应用[J].北京:人民邮电出版社,2003 [5] 毛晓波.交流采样技术及其DSP实现方法.微计算机信息[J].2005,11(5):36-39