• 大小: 1.87MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-11-19
  • 语言: 其他
  • 标签: DSP28335  

资源简介

这是一份基于DSP28335的直流电机双闭环调速系统程序,在CCS6.0上调试通过!

资源截图

代码片段和文件信息

#include “DSP2833x_Device.h“ 
#define DELAY_US(A)  DSP28x_usDelay(((((long double) A * 1000.0L) / (long double)CPU_RATE) - 9.0L) / 5.0L)
#define CPU_RATE    6.667L 
#define ADC_usDELAY  5000L
 void ADC_cal(void);
 extern void DSP28x_usDelay(Uint32 Count);
void En_ADCModeClk(void)  //开启ADC模块转换时钟
{
 EALLOW;
 SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
 EDIS;
}

void En_ADCHighSpeedClk(void)
{
 EALLOW;
 SysCtrlRegs.HISPCP.bit.HSPCLK = 3;
 EDIS;
}



//---------------------------------------------------------------------------
// InitAdc:
//---------------------------------------------------------------------------
// This function initializes ADC to a known state.
//
void Init_ADC(void)
{
    extern void DSP28x_usDelay(Uint32 Count);


    // *IMPORTANT*
// The ADC_cal function which  copies the ADC calibration values from TI reserved
// OTP into the ADCREFSEL and ADCOFFTRIM registers occurs automatically in the
// Boot ROM. If the boot ROM code is bypassed during the debug process the
// following function MUST be called for the ADC to function according
// to specification. The clocks to the ADC MUST be enabled before calling this
// function.
// See the device data manual and/or the ADC Reference
// Manual for more information.

    EALLOW;
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
ADC_cal();
EDIS;




    // To powerup the ADC the ADCENCLK bit should be set first to enable
    // clocks followed by powering up the bandgap reference circuitry and ADC core.
    // Before the first conversion is performed a 5ms delay must be observed
// after power up to give all analog circuits time to power up and settle

    // Please note that for the delay function below to operate correctly the
// CPU_CLOCK_SPEED define statement in the DSP2833x_Examples.h file must
// contain the correct CPU clock period in nanoseconds.

    AdcRegs.ADCTRL3.all = 0x00E0;  // Power up bandgap/reference/ADC circuits
    DELAY_US(ADC_usDELAY);         // Delay before converting ADC channels
}


void Confi_ADCMode(void)

 EALLOW;
 AdcRegs.ADCTRL3.bit.ADCCLKPS = 0;
 AdcRegs.ADCTRL3.bit.SMODE_SEL = 0;  //adc模数转换时钟设定
 
 //AdcRegs.ADCTRL1.bit.SUSMOD = 2;
 AdcRegs.ADCTRL1.bit.CONT_RUN = 0;  //continuous conversion mode
 AdcRegs.ADCTRL1.bit.SEQ_OVRD = 0;  //
 AdcRegs.ADCTRL1.bit.SEQ_CASC = 0;


 AdcRegs.ADCTRL2.bit.EPWM_SOCB_SEQ = 0;
 AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 0;
 AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1 = 0;   
 AdcRegs.ADCTRL2.bit.RST_SEQ2 = 0;
 AdcRegs.ADCTRL2.bit.SOC_SEQ2 = 0;
 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2 = 0;
 AdcRegs.ADCTRL2.bit.INT_MOD_SEQ2 = 0;
 AdcRegs.ADCTRL2.bit.EPWM_SOCB_SEQ2 = 0;   //无用位设置

 AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;
 AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;
 AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;
 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;

 AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0;

 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0;    //模拟量入口通道设置
 EDIS;
}


void C

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-05-23 21:06  DSP28335_Motor_loopControl\
     文件        3947  2012-03-22 10:08  DSP28335_Motor_loopControl\28335_RAM_lnk.cmd
     文件         705  2012-11-28 13:57  DSP28335_Motor_loopControl\DSP28335_ADC_text.c
     文件        3756  2013-01-11 16:32  DSP28335_Motor_loopControl\DSP28335_ECanb_text.c
     文件        4535  2012-11-23 14:40  DSP28335_Motor_loopControl\DSP28335_EPwm.c
     文件        1244  2012-11-19 14:02  DSP28335_Motor_loopControl\DSP28335_EPwmChopper.c
     文件        3249  2012-11-06 11:18  DSP28335_Motor_loopControl\DSP28335_Gpio.c
     目录           0  2013-05-23 21:07  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\
     文件        3072  2013-01-17 16:17  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\FILE.CDX
     文件        1264  2013-01-17 16:17  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\FILE.DBF
     文件        1477  2013-01-17 16:17  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\FILE.FPT
     文件      408064  2013-01-17 16:17  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\SYMBOL.CDX
     文件      341074  2013-01-17 16:17  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\SYMBOL.DBF
     文件      586042  2013-01-17 16:17  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.CS_\SYMBOL.FPT
     文件        7640  2013-05-29 09:48  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.paf2
     文件        1480  2013-01-15 10:14  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.pjt
     文件        6138  2013-05-29 09:48  DSP28335_Motor_loopControl\DSP28335_Motor_loopControl.sbl
     文件         617  2012-11-06 08:59  DSP28335_Motor_loopControl\DSP28335_SYSCLKCtrl.c
     文件        1308  2012-11-05 09:00  DSP28335_Motor_loopControl\DSP28335_TIME1_TEXT.C
     文件        1233  2012-11-20 16:35  DSP28335_Motor_loopControl\DSP28335_Timer0-1.c
     文件        5782  2013-01-17 16:16  DSP28335_Motor_loopControl\DSP28335_eCAN.c
     文件        3580  2012-11-23 14:35  DSP28335_Motor_loopControl\DSP28335_eCap.c
     文件        1434  2007-09-26 10:23  DSP28335_Motor_loopControl\DSP2833x_ADC_cal.asm
     文件       10491  2012-11-26 20:53  DSP28335_Motor_loopControl\DSP2833x_Adc.h
     文件        3277  2008-09-24 00:29  DSP28335_Motor_loopControl\DSP2833x_CodeStartBranch.asm
     文件        5905  2012-03-11 19:54  DSP28335_Motor_loopControl\DSP2833x_CpuTimers.h
     文件       13342  2012-03-09 20:04  DSP28335_Motor_loopControl\DSP2833x_DMA.h
     文件        6887  2012-03-11 09:15  DSP28335_Motor_loopControl\DSP2833x_DefaultISR.h
     文件        2701  2007-09-26 10:23  DSP28335_Motor_loopControl\DSP2833x_DevEmu.h
     文件        6050  2012-11-26 20:53  DSP28335_Motor_loopControl\DSP2833x_Device.h
     文件        1993  2007-09-26 10:23  DSP28335_Motor_loopControl\DSP2833x_Dma_defines.h
............此处省略87个文件信息

评论

共有 条评论