HPA2801型功率放大器与TMS320F28335的PWM接口设计

发表时间:2021/7/1   来源:《科学与技术》2021年3月7期   作者:雷海丽,权红艳,宋亚民,韩伟
[导读] 本文介绍了TMS28335与HPA2801功率放大器的接口设计,详细介绍PWM波形的产生原理以及软件设置,
        雷海丽,权红艳,宋亚民,韩伟
        西安应用光学研究所,陕西西安 710065
        摘要:本文介绍了TMS28335与HPA2801功率放大器的接口设计,详细介绍PWM波形的产生原理以及软件设置,由于该功率模块中设有死区控制,避免了通过软件进行死区计算的繁琐,实现简单,系统可扩展性强,通过在CCS 环境下编程、调试, 得到了满意的实验结果, 验证了该接口设计的正确性。
        关键词:伺服控制  功率放大器  电平转换
        一:引言
        脉冲宽度调制(PWM)简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,通过改变输出方波的占空比来改变等效的输出电压,通过改变周期来控制其输出频率,广泛应用于测量、通讯、功率控制与变换等许多领域。
        TMS320F28335 高性能DSP处理器的EVA模块可以生成ePWM波形【2】,ePWM的使用有很多种用法,有时间基准同步输入和输出、多路ePWM波形的多路同步触发或异步控制、死区设置、以及事件触发等功能,还有寄存器映射和之间的相互交叉设计以及参数的计算,对初级使用者很容易混淆,本文介绍了一种简单的产生ePWM波型的设置计算与编程,该方案已成功应用到多个控制系统中,使用方便,易于理解。
        二:TMS28335的PWM介绍
        TMS320F28335【6】 是一款高性能、多功能、高性价比32 位浮点DSP。该器件最高可在150MHz 主频下工作,片上集成丰富的外设,其中包括16 路ePWM 输出,两个ePWMxA和ePWMxB,根据需要可以如下配置:1:两个独立单边操作的ePWM输出2:两个独立双边对称操作的PWM输出3:一个独立的双边不对称操作的PWM输出。还可以设置信号之间的同步,而且每个ePWM都有两个ADC转换启动信号,可以启动ADC的排序器,触发中断等功能,在此不做描述。
        三:TTL型功放HPA2810的介绍以及与TMS28335的硬件接口设计
        本系统中采用两个独立单边操作的ePWM输出,以ePWM3A输出为例来具体描述如何产生PWM波形,以及通过HPA2810功率放大器来控制直流电机完成伺服控制功能。HPA2810型功率放大器是一种直流电机驱动控制隔离型的脉宽调制功率放大模块,输入为TTL调宽方波(0V—5V方波),具有禁止功能,输入信号与输出信号隔离,调宽方波频率<=22KHZ,最大连续输出电流为30A。SN74LVC8T245为一电压电平转换芯片,将DSP输出的3.3VPWM波形转换为5V的TTL电平,原理如下图所示。
        
        
        其中,C1、C2为退藕电容,C3包括22uf/50V的钽电容并0.1uf的瓷介电容,其电容耐压值为50V;C4包括100uf/100V的钽电容并0.1uf的瓷介电容,其电容耐压值为100V。
        四:软件接口设计以及实现
        1:PWM产生原理:通过对ePWM模块的相关寄存器进行初始化的设置,计算出所要求设定的PWM频率值,在递增递减的计数模式下产生占空比为50%的对称波形,分别实现对系统的控制。这种方式可以完成0%-100%占空比的调节,其中CMPA用作比较,当计数器增加到CMPA的值时,PWM输出高电平,当递减到CMPA的值时,输出低电平,当CMPA=0时,PWM输出一直为高电平,占空比为0%,当CMPA=TBPRD时,PWM输出低电平,占空比为100%,达到了满偏的目的。所以在实际控制中,通过改变比较器A的值来达到控制的目的。
        2: 主要寄存器介绍
        时间基准子模块用于确定ePWM时间基准计数器(TBCLK)的频率或周期,设定时间基准计数模式,如递增、递减或递增、递减计数模式。
        1)时间基准控制寄存器(TBCTL):用于计数模式(CTRMODE)、时间基准时钟预分频位(CLKDIV)、高速时间基准时钟预分频(HSPCLKDIV)、同步输出以及有关相位的设置(在此没有用到)。
        2)系统时钟(SYSCLKOUT=150M)的预定标处理将得到时间基准时钟TBCLK, 由该时钟决定每秒时间递增的步数,预定标处理包括TBCTL[HSCLKDIV]=1和TBCTL[CLKDIV]=0,TBCLK=SYSCLKOUT/((2*HSPCLKDIV*2(CLKDIV))=75M。
        3)时间基准周期寄存器(TBPDR)和时间基准计数器共同控制PWM的频率:T周期(递增递减计数模式时)=2*(a1+1)/TBCLK,其中a1为软件描述中的周期值。(此处设PWM的频率为7.5KHz,所以a1= TBCLK*T-1=0X1388)。                                     
        4)计数比较寄存器CMPA:该寄存器值不断与时间基准计数器(TBCTR)相比较,相等时会切换EPWMxA的信号。
        5)计数比较控制寄存器(CMPCTL):一些映射寄存器的状态及加载方式,在此不作描述,按默认值设置。
        6)递增递减计数:时间基准计数器从0递增到周期值(TBPRD),当达到周期值时,时基计数器开始递减直到0,此时再递增重复运行,这种方式用于产生对称波形。产生PWM波形如下图所示。
        
        3 软件设计实现
        在这里设置系统时钟(sysclock)为150M, PWM波形使用高速时钟来实现,此处高速时钟设为75M,HISPCP寄存器用来配置高速外设时钟(HSPCLK)与系统时钟(SYSCLKOUT)之间的关系,各部分软件实现功能如下。
          SysCtrlRegs.HISPCP.all = 0x0001;   //      sysclock/2
        1)IO口的设置:PWM输出信号与GPIO信号公用,所以使用时需进行IO口的设置。
        void InitGpio(void)
        {
        EALLOW;
        GpioCtrlRegs.GPAPUD.bit.GPIO4 = 0; // Enable pull-up on GPIO4 (EPWM3A)
        GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1;  // Configure GPIO4 as EPWM3A
        EDIS;
        }
        2):寄存器的初始化设置
        InitEPwm3(unsigned int a1, unsigned int a2)
        {   
        EPwm3Regs.TBPRD =a1;// 0x1388/2(7.5k);       // 周期的设置     
        EPwm3Regs.TBCTR = 0x0000;                 // Clear counter   
        EPwm3Regs.CMPA.half.CMPA =a2;             //比较器A
EPwm3Regs.TBCTL.bit.CTRMODE=TB_COUNT_UPDOWN;//设置计数模式
        EPwm3Regs.TBCTL.bit.HSPCLKDIV =1;       // 高速时间基准时钟预分频器
        EPwm3Regs.TBCTL.bit.CLKDIV = 0;          //时间基准时钟预分频器
        ………….
        }
        结论:利用此方法由TMS320F28335 生成的PWM 波已经应用在多个车载伺服控制系统中,运行效果良好,输出的PWM 波形输出正常,频率幅值误差都在允许范围内,证明该方法稳定可靠、准确性高,可在伺服控制领域中推广。
        
        
        
参考文献:
[1]李旭,谢运祥.PWM技术实现方法综述[J].电源技术应用,2005,2.
[2]赵富强,刘永强,林伟斌.基于DSP的任意波形PWM调制技术[J].微计算机信息,2007,20:148-149.
[3]王庆宝.简述电力有源滤波器及PWM控制技术[J].黑龙江科技信息,2007,20:85.
[4]  孙立志. PWM与数字化电动机控制技术应用[M]. 北京:中国电力出版社,2008.
[5]张燕宾. SPWM变频调速应用技术[M]. 3版. 北京:机械工业出版社,2005.
[6] 刘陵顺. TMS320F28335DSP原理及开发编程[M]. 北京:北京航空航天大学出版社,2011.
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: