1787|0

1140

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

TMS320F2812实现SVPWM的完整程序 [复制链接]

//###########################################################################
//
// FILE:        DSP281x_Ev.c
//
// TITLE:        DSP281x Event Manager Initialization & Support Functions.
//
//###########################################################################
//
//  Ver | dd mmm yyyy | Who  | Description of changes
// =====|=============|======|===============================================
//  1.00| 11 Sep 2003 | L.H. | No change since previous version (v.58 Alpha)
//###########################################################################

#include "DSP281x_Device.h"     // DSP281x Headerfile Include File
#include "DSP281x_Examples.h"   // DSP281x Examples Include File

//---------------------------------------------------------------------------
// InitEv: 
//---------------------------------------------------------------------------
// This function initializes to a known state.
//
void InitEv(void)
{
    EALLOW;
   // Initalize EVA Timer1&Configure PWM1-PWM6
        //EvaRegs.T1PR = 625;            // period=625×2/25M ,PWM=20KHz
                EvaRegs.T1PR = 781;            // period=781×2/25M ,PWM=16KHz
                EvaRegs.T1CNT = 0;              // Timer1 counter

        //定时器控制寄存器A
                EvaRegs.GPTCONA.bit.TCMPOE=1;   // enable timer compare
                EvaRegs.GPTCONA.bit.T1PIN=0;    // timer compare output
        //计时器比较寄存器
    EvaRegs.T1CMPR=0;

                EvaRegs.EVAIMRA.bit.T1UFINT = 1;// enable Timer1 period interrupt
                                                                        //EVA中断屏蔽寄存器
                EvaRegs.EVAIFRA.bit.T1UFINT=1;  // clear Timer1 period interrupt flag
                                                                        //EVA中断标志寄存器
/****************************************************
  TMODE = continuous up/down count
  Input clock prescaler= X/1 (X=HSPCLK)=25MHz
  Timer enable ; Timer compare enable
*****************************************************/
                EvaRegs.T1CON.all = 0x0802;     //连续增减计数,X/1        定时器尚未打开        
    //Enable compare for PWM1-PWM6
                EvaRegs.CMPR1 = 781;
                EvaRegs.CMPR2 = 781;
                EvaRegs.CMPR3 = 781;

                EvaRegs.ACTRA.all = 0x0999;   // PWM1,2,3,4,5,6
                EvaRegs.DBTCONA.all = 0x0AEC; // 死区2.88us  9/(25/8) 
                EvaRegs.COMCONA.all = 0xa600; //使能比较操作,不使能全局比较输出
//******************  QEP初始化   ********************
       // EvbRegs.T4CON.all=0x1870;
        //        EvbRegs.T4CNT=0x0000;
        //        EvbRegs.T4PR=0xffff;

                EvaRegs.T2CON.all=0x1870;
                EvaRegs.T2CNT=0x0000;
                EvaRegs.T2PR=0xffff;

                EvaRegs.T1CON.bit.TENABLE=0;
//****************************************************
                EDIS;
}        
        
//===========================================================================
// No more.
//================

 

SVPWM_2812.rar (741.71 KB, 下载次数: 29)

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表