资源简介
这是一份基于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个文件信息
- 上一篇:TensorFlow Tutorial
- 下一篇:vivado时序菜鸟学习
相关资源
- 采用双闭环控制提高PWM的电源纹波抑
- 基于双闭环模糊PID控制器的开关电源
- BUCK--BOOST双闭环电压电流设计PPT
- 基于stm32f1系列的直流电机调速
- 采用LCL滤波器的并网逆变器双闭环入
- STM32 PID电机闭环控制参考代码
- BLDC开环程序、双闭环程序
- v-m双闭环直流调速系统设计.doc
- 永磁同步电机无位置传感器DSP28335代码
- 三机架冷连轧机直流调速系统的设计
- TIDSP28335CAN中文使用手册.pdf
- DSP28335的PMSM的SVPWM电机代码
- dsp28335各外设
- DSP28335串口二阶BOOT源码
- DSPIC无刷直流电机调速控制及其实验研
- DSP28335中文手册
- 运动控制系统课程设计—— 转速、电
- 用于DSP28335的编程例程 主要是用于有
- DSP28335TI例程
- 基于AT89C51单片机控制的双闭环直流调
- ucos ii 在DSP28335上的移植
- dsp28335数据手册 中文版
- 双闭环不可逆直流调速系统设计
- ucos2.52在DSP28335上的移植程序,RAM版
- 直流电机双闭环控制
- 基于DSP28335的SVPWM,CCS6.0
- 电力拖动自动控制系统课程设计
- dsp28335官方例程
- DSP28335 SYS/BIOS
- 转速电流双闭环直流调速系统设计与
评论
共有 条评论