├── DSP2833x ├── cmd │ ├── 28332_RAM_lnk.cmd │ ├── 28334_RAM_lnk.cmd │ ├── 28335_RAM_lnk.cmd │ ├── DSP2833x_Headers_BIOS.cmd │ ├── DSP2833x_Headers_nonBIOS.cmd │ ├── F28332.cmd │ ├── F28334.cmd │ └── F28335.cmd ├── gel │ ├── DSP2833x_DualMap_EPWM.gel │ ├── DSP2833x_Peripheral.gel │ ├── ccsv4 │ │ ├── f28232.gel │ │ ├── f28234.gel │ │ ├── f28235.gel │ │ ├── f28332.gel │ │ ├── f28334.gel │ │ └── f28335.gel │ ├── f28232.gel │ ├── f28234.gel │ ├── f28235.gel │ ├── f28332.gel │ ├── f28334.gel │ └── f28335.gel ├── include │ ├── DSP2833x_Adc.h │ ├── DSP2833x_CpuTimers.h │ ├── DSP2833x_DMA.h │ ├── DSP2833x_DefaultIsr.h │ ├── DSP2833x_DevEmu.h │ ├── DSP2833x_Device.h │ ├── DSP2833x_Dma_defines.h │ ├── DSP2833x_ECan.h │ ├── DSP2833x_ECap.h │ ├── DSP2833x_EPwm.h │ ├── DSP2833x_EPwm_defines.h │ ├── DSP2833x_EQep.h │ ├── DSP2833x_Examples.h │ ├── DSP2833x_GlobalPrototypes.h │ ├── DSP2833x_Gpio.h │ ├── DSP2833x_I2c.h │ ├── DSP2833x_I2c_defines.h │ ├── DSP2833x_Mcbsp.h │ ├── DSP2833x_PieCtrl.h │ ├── DSP2833x_PieVect.h │ ├── DSP2833x_SWPrioritizedIsrLevels.h │ ├── DSP2833x_Sci.h │ ├── DSP2833x_Spi.h │ ├── DSP2833x_SysCtrl.h │ ├── DSP2833x_XIntrupt.h │ ├── DSP2833x_Xintf.h │ ├── IQmathLib.h │ ├── SFO.h │ └── SFO_V5.h ├── lib │ ├── IQmath.lib │ ├── IQmath_fpu32.lib │ ├── SFO_TI_Build.lib │ ├── SFO_TI_Build_V5.lib │ ├── SFO_TI_Build_V5B.lib │ ├── SFO_TI_Build_V5B_fpu.lib │ ├── SFO_TI_Build_V5_fpu.lib │ └── SFO_TI_Build_fpu.lib └── source │ ├── DSP2833x_ADC_cal.asm │ ├── DSP2833x_Adc.c │ ├── DSP2833x_CSMPasswords.asm │ ├── DSP2833x_CodeStartBranch.asm │ ├── DSP2833x_CpuTimers.c │ ├── DSP2833x_DBGIER.asm │ ├── DSP2833x_DMA.c │ ├── DSP2833x_DefaultIsr.c │ ├── DSP2833x_DisInt.asm │ ├── DSP2833x_ECan.c │ ├── DSP2833x_ECap.c │ ├── DSP2833x_EPwm.c │ ├── DSP2833x_EQep.c │ ├── DSP2833x_GlobalVariableDefs.c │ ├── DSP2833x_Gpio.c │ ├── DSP2833x_I2C.c │ ├── DSP2833x_Mcbsp.c │ ├── DSP2833x_MemCopy.c │ ├── DSP2833x_PieCtrl.c │ ├── DSP2833x_PieVect.c │ ├── DSP2833x_SWPrioritizedDefaultIsr.c │ ├── DSP2833x_SWPrioritizedPieVect.c │ ├── DSP2833x_Sci.c │ ├── DSP2833x_Spi.c │ ├── DSP2833x_SysCtrl.c │ ├── DSP2833x_Xintf.c │ └── DSP2833x_usDelay.asm ├── PMSMCONTROL ├── lib │ ├── dloglib │ │ ├── build │ │ │ ├── .ccsproject │ │ │ ├── .cdtbuild │ │ │ ├── .cdtproject │ │ │ ├── .project │ │ │ ├── .settings │ │ │ │ ├── org.eclipse.cdt.core.prefs │ │ │ │ └── org.eclipse.cdt.managedbuilder.core.prefs │ │ │ ├── Debug.lkf │ │ │ ├── Debug.lkv │ │ │ ├── Debug │ │ │ │ ├── makefile │ │ │ │ ├── objects.mk │ │ │ │ ├── sources.mk │ │ │ │ └── subdir.mk │ │ │ ├── cc_build_Debug.log │ │ │ ├── dataLOG.paf │ │ │ ├── dataLOG.pjt │ │ │ ├── macros.ini │ │ │ └── migration.log │ │ ├── include │ │ │ └── dlog4ch.h │ │ ├── lib │ │ │ └── dataLOG.L28 │ │ ├── obj │ │ │ └── DLOG4CHC.obj │ │ └── src │ │ │ └── DLOG4CHC.asm │ ├── dmclib │ │ ├── cIQmath │ │ │ ├── build │ │ │ │ ├── .ccsproject │ │ │ │ ├── .cdtbuild │ │ │ │ ├── .cdtproject │ │ │ │ ├── .project │ │ │ │ ├── .settings │ │ │ │ │ ├── org.eclipse.cdt.core.prefs │ │ │ │ │ └── org.eclipse.cdt.managedbuilder.core.prefs │ │ │ │ ├── Debug.lkf │ │ │ │ ├── Debug.lkv │ │ │ │ ├── Debug │ │ │ │ │ ├── clarke.pp │ │ │ │ │ ├── ipark.pp │ │ │ │ │ ├── makefile │ │ │ │ │ ├── objects.mk │ │ │ │ │ ├── park.pp │ │ │ │ │ ├── pid_reg3.pp │ │ │ │ │ ├── rampgen.pp │ │ │ │ │ ├── rmp_cntl.pp │ │ │ │ │ ├── sources.mk │ │ │ │ │ ├── speed_fr.pp │ │ │ │ │ ├── speed_pr.pp │ │ │ │ │ ├── subdir.mk │ │ │ │ │ ├── svgen_dq.pp │ │ │ │ │ ├── svgen_mf.pp │ │ │ │ │ ├── vhzprof.pp │ │ │ │ │ └── volt_calc.pp │ │ │ │ ├── cc_build_Debug.log │ │ │ │ ├── iqDMC_ml.paf │ │ │ │ ├── iqDMC_ml.pjt │ │ │ │ ├── macros.ini │ │ │ │ └── migration.log │ │ │ ├── include │ │ │ │ ├── IQmathLib.h │ │ │ │ ├── clarke.h │ │ │ │ ├── ipark.h │ │ │ │ ├── park.h │ │ │ │ ├── pid_reg3.h │ │ │ │ ├── rampgen.h │ │ │ │ ├── rmp_cntl.h │ │ │ │ ├── speed_fr.h │ │ │ │ ├── speed_pr.h │ │ │ │ ├── svgen_dq.h │ │ │ │ ├── svgen_mf.h │ │ │ │ ├── vhzprof.h │ │ │ │ └── volt_calc.h │ │ │ ├── lib │ │ │ │ ├── IQmath.lib │ │ │ │ └── iqDMC_ml.L28 │ │ │ ├── obj │ │ │ │ ├── clarke.obj │ │ │ │ ├── data_log.obj │ │ │ │ ├── ipark.obj │ │ │ │ ├── park.obj │ │ │ │ ├── pid_reg3.obj │ │ │ │ ├── rampgen.obj │ │ │ │ ├── rmp_cntl.obj │ │ │ │ ├── speed_fr.obj │ │ │ │ ├── speed_pr.obj │ │ │ │ ├── svgen_dq.obj │ │ │ │ ├── svgen_mf.obj │ │ │ │ ├── vhzprof.obj │ │ │ │ └── volt_calc.obj │ │ │ └── src │ │ │ │ ├── clarke.c │ │ │ │ ├── ipark.c │ │ │ │ ├── park.c │ │ │ │ ├── pid_reg3.c │ │ │ │ ├── rampgen.c │ │ │ │ ├── rmp_cntl.c │ │ │ │ ├── speed_fr.c │ │ │ │ ├── speed_pr.c │ │ │ │ ├── svgen_dq.c │ │ │ │ ├── svgen_mf.c │ │ │ │ ├── vhzprof.c │ │ │ │ └── volt_calc.c │ │ └── cfloat │ │ │ ├── build │ │ │ ├── .ccsproject │ │ │ ├── .cdtbuild │ │ │ ├── .cdtproject │ │ │ ├── .project │ │ │ ├── .settings │ │ │ │ ├── org.eclipse.cdt.core.prefs │ │ │ │ └── org.eclipse.cdt.managedbuilder.core.prefs │ │ │ ├── Debug.lkf │ │ │ ├── Debug.lkv │ │ │ ├── Debug │ │ │ │ ├── atan2_tab.pp │ │ │ │ ├── atan_tab.pp │ │ │ │ ├── clarke.pp │ │ │ │ ├── fix_float.pp │ │ │ │ ├── ipark.pp │ │ │ │ ├── makefile │ │ │ │ ├── objects.mk │ │ │ │ ├── park.pp │ │ │ │ ├── pid_reg3.pp │ │ │ │ ├── rampgen.pp │ │ │ │ ├── rmp_cntl.pp │ │ │ │ ├── sin_tab.pp │ │ │ │ ├── sources.mk │ │ │ │ └── subdir.mk │ │ │ ├── cc_build_Debug.log │ │ │ ├── fDMC_ml.paf │ │ │ ├── fDMC_ml.pjt │ │ │ ├── macros.ini │ │ │ └── migration.log │ │ │ ├── include │ │ │ ├── atan2_tab.h │ │ │ ├── clarke.h │ │ │ ├── ipark.h │ │ │ ├── park.h │ │ │ ├── pid_reg3.h │ │ │ ├── rampgen.h │ │ │ └── rmp_cntl.h │ │ │ ├── lib │ │ │ └── fDMC_ml.L28 │ │ │ ├── obj │ │ │ ├── atan2_tab.obj │ │ │ ├── atan_tab.obj │ │ │ ├── clarke.obj │ │ │ ├── data_log.obj │ │ │ ├── fix_float.obj │ │ │ ├── ipark.obj │ │ │ ├── park.obj │ │ │ ├── pid_reg3.obj │ │ │ ├── rampgen.obj │ │ │ ├── rmp_cntl.obj │ │ │ └── sin_tab.obj │ │ │ └── src │ │ │ ├── atan2_tab.c │ │ │ ├── atan_tab.c │ │ │ ├── clarke.c │ │ │ ├── fix_float.c │ │ │ ├── ipark.c │ │ │ ├── park.c │ │ │ ├── pid_reg3.c │ │ │ ├── rampgen.c │ │ │ ├── rmp_cntl.c │ │ │ └── sin_tab.c │ └── drvlib │ │ ├── build │ │ ├── .ccsproject │ │ ├── .cdtbuild │ │ ├── .cdtproject │ │ ├── .project │ │ ├── .settings │ │ │ ├── org.eclipse.cdt.core.prefs │ │ │ └── org.eclipse.cdt.managedbuilder.core.prefs │ │ ├── DMCDRV_ml.paf │ │ ├── DMCDRV_ml.pjt │ │ ├── Debug.lkf │ │ ├── Debug.lkv │ │ ├── Debug │ │ │ ├── F28335_qep.pp │ │ │ ├── makefile │ │ │ ├── objects.mk │ │ │ ├── sources.mk │ │ │ └── subdir.mk │ │ ├── cc_build_Debug.log │ │ ├── macros.ini │ │ └── migration.log │ │ ├── include │ │ ├── F28335_mask.h │ │ ├── F28335_pwm.h │ │ ├── F28335_qep.h │ │ └── F28335_vdc.h │ │ ├── lib │ │ └── DMCDRV_ml.L28 │ │ ├── obj │ │ ├── DLOG4CHC.obj │ │ ├── DSP2833x_ADC_cal.obj │ │ ├── DSP2833x_DefaultIsr.obj │ │ ├── DSP2833x_GlobalVariableDefs.obj │ │ ├── DSP2833x_PieCtrl.obj │ │ ├── DSP2833x_PieVect.obj │ │ ├── DSP2833x_SysCtrl.obj │ │ ├── DSP2833x_usDelay.obj │ │ ├── F28335_pwm.obj │ │ ├── F28335_qep.obj │ │ ├── F28335_vdc.obj │ │ ├── atan2_tab.obj │ │ ├── atan_tab.obj │ │ ├── clarke.obj │ │ ├── fix_float.obj │ │ ├── ipark.obj │ │ ├── park.obj │ │ ├── pid_reg3.obj │ │ ├── pmsm.obj │ │ ├── rampgen.obj │ │ ├── rmp_cntl.obj │ │ ├── sin_tab.obj │ │ ├── speed_fr.obj │ │ └── svgen_dq.obj │ │ └── src │ │ ├── F28335_pwm.c │ │ ├── F28335_qep.c │ │ └── F28335_vdc.c └── sys │ ├── build │ ├── .ccsproject │ ├── .cdtbuild │ ├── .cdtproject │ ├── .launches │ │ └── pmsm3_1_dmc550.launch │ ├── .project │ ├── .settings │ │ ├── org.eclipse.cdt.core.prefs │ │ └── org.eclipse.cdt.managedbuilder.core.prefs │ ├── 28335_RAM_lnk.cmd │ ├── DSP2833x_Headers_nonBIOS.cmd │ ├── Debug.lkf │ ├── Debug.lkv │ ├── Debug │ │ ├── makefile │ │ ├── objects.mk │ │ ├── sources.mk │ │ └── subdir.mk │ ├── SdDllLog.txt │ ├── SdEmuLog.txt │ ├── SdTempBoardFile.dat │ ├── cc_build_Debug.log │ ├── macros.ini │ ├── migration.log │ ├── pmsm.map │ ├── pmsm.out │ ├── pmsm3_1.map │ ├── pmsm3_1.wks │ ├── pmsm3_1_dmc550.paf │ └── pmsm3_1_dmc550.pjt │ ├── include │ ├── build.h │ ├── parameter.h │ └── pmsm.h │ ├── obj │ ├── DSP2833x_DefaultIsr.obj │ ├── DSP2833x_GlobalVariableDefs.obj │ ├── DSP2833x_PieCtrl.obj │ ├── DSP2833x_PieVect.obj │ ├── DSP2833x_SysCtrl.obj │ ├── pmsm.obj │ ├── speed_est.obj │ └── speed_fr1.obj │ └── src │ └── pmsm.c └── README.md /DSP2833x/include/DSP2833x_DevEmu.h: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/4 $ 2 | // Checkin $Date: April 15, 2009 10:05:17 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_DevEmu.h 6 | // 7 | // TITLE: DSP2833x Device Emulation Register Definitions. 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #ifndef DSP2833x_DEV_EMU_H 15 | #define DSP2833x_DEV_EMU_H 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | //--------------------------------------------------------------------------- 22 | // Device Emulation Register Bit Definitions: 23 | // 24 | // Device Configuration Register Bit Definitions 25 | struct DEVICECNF_BITS { // bits description 26 | Uint16 rsvd1:3; // 2:0 reserved 27 | Uint16 VMAPS:1; // 3 VMAP Status 28 | Uint16 rsvd2:1; // 4 reserved 29 | Uint16 XRSn:1; // 5 XRSn Signal Status 30 | Uint16 rsvd3:10; // 15:6 31 | Uint16 rsvd4:3; // 18:16 32 | Uint16 ENPROT:1; // 19 Enable/Disable pipeline protection 33 | Uint16 rsvd5:7; // 26:20 reserved 34 | Uint16 TRSTN:1; // 27 Status of TRSTn signal 35 | Uint16 rsvd6:4; // 31:28 reserved 36 | }; 37 | 38 | union DEVICECNF_REG { 39 | Uint32 all; 40 | struct DEVICECNF_BITS bit; 41 | }; 42 | 43 | // CLASSID 44 | struct CLASSID_BITS { // bits description 45 | Uint16 CLASSNO:8; // 7:0 Class Number 46 | Uint16 PARTTYPE:8; // 15:8 Part Type 47 | }; 48 | 49 | union CLASSID_REG { 50 | Uint16 all; 51 | struct CLASSID_BITS bit; 52 | }; 53 | 54 | struct DEV_EMU_REGS { 55 | union DEVICECNF_REG DEVICECNF; // device configuration 56 | union CLASSID_REG CLASSID; // Class ID 57 | Uint16 REVID; // Device ID 58 | Uint16 PROTSTART; // Write-Read protection start 59 | Uint16 PROTRANGE; // Write-Read protection range 60 | Uint16 rsvd2[202]; 61 | }; 62 | 63 | // PARTID 64 | struct PARTID_BITS { // bits description 65 | Uint16 PARTNO:8; // 7:0 Part Number 66 | Uint16 PARTTYPE:8; // 15:8 Part Type 67 | }; 68 | 69 | union PARTID_REG { 70 | Uint16 all; 71 | struct PARTID_BITS bit; 72 | }; 73 | 74 | struct PARTID_REGS { 75 | union PARTID_REG PARTID; // Part ID 76 | }; 77 | 78 | 79 | 80 | //--------------------------------------------------------------------------- 81 | // Device Emulation Register References & Function Declarations: 82 | // 83 | extern volatile struct DEV_EMU_REGS DevEmuRegs; 84 | extern volatile struct PARTID_REGS PartIdRegs; 85 | 86 | #ifdef __cplusplus 87 | } 88 | #endif /* extern "C" */ 89 | 90 | #endif // end of DSP2833x_DEV_EMU_H definition 91 | 92 | //=========================================================================== 93 | // End of file. 94 | //=========================================================================== 95 | -------------------------------------------------------------------------------- /DSP2833x/include/DSP2833x_Dma_defines.h: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/2 $ 2 | // Checkin $Date: August 14, 2007 16:32:29 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_Dma_defines.h 6 | // 7 | // TITLE: #defines used in DMA examples 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #ifndef DSP2833x_DMA_DEFINES_H 15 | #define DSP2833x_DMA_DEFINES_H 16 | 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | // MODE 23 | //========================== 24 | // PERINTSEL bits 25 | #define DMA_SEQ1INT 1 26 | #define DMA_SEQ2INT 2 27 | #define DMA_XINT1 3 28 | #define DMA_XINT2 4 29 | #define DMA_XINT3 5 30 | #define DMA_XINT4 6 31 | #define DMA_XINT5 7 32 | #define DMA_XINT6 8 33 | #define DMA_XINT7 9 34 | #define DMA_XINT13 10 35 | #define DMA_TINT0 11 36 | #define DMA_TINT1 12 37 | #define DMA_TINT2 13 38 | #define DMA_MXEVTA 14 39 | #define DMA_MREVTA 15 40 | #define DMA_MXREVTB 16 41 | #define DMA_MREVTB 17 42 | // OVERINTE bit 43 | #define OVRFLOW_DISABLE 0x0 44 | #define OVEFLOW_ENABLE 0x1 45 | // PERINTE bit 46 | #define PERINT_DISABLE 0x0 47 | #define PERINT_ENABLE 0x1 48 | // CHINTMODE bits 49 | #define CHINT_BEGIN 0x0 50 | #define CHINT_END 0x1 51 | // ONESHOT bits 52 | #define ONESHOT_DISABLE 0x0 53 | #define ONESHOT_ENABLE 0x1 54 | // CONTINOUS bit 55 | #define CONT_DISABLE 0x0 56 | #define CONT_ENABLE 0x1 57 | // SYNCE bit 58 | #define SYNC_DISABLE 0x0 59 | #define SYNC_ENABLE 0x1 60 | // SYNCSEL bit 61 | #define SYNC_SRC 0x0 62 | #define SYNC_DST 0x1 63 | // DATASIZE bit 64 | #define SIXTEEN_BIT 0x0 65 | #define THIRTYTWO_BIT 0x1 66 | // CHINTE bit 67 | #define CHINT_DISABLE 0x0 68 | #define CHINT_ENABLE 0x1 69 | 70 | 71 | 72 | 73 | #ifdef __cplusplus 74 | } 75 | #endif /* extern "C" */ 76 | 77 | #endif // - end of DSP2833x_EPWM_DEFINES_H 78 | 79 | //=========================================================================== 80 | // End of file. 81 | //=========================================================================== 82 | -------------------------------------------------------------------------------- /DSP2833x/include/DSP2833x_XIntrupt.h: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/1 $ 2 | // Checkin $Date: August 18, 2006 13:52:39 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_XIntrupt.h 6 | // 7 | // TITLE: DSP2833x Device External Interrupt Register Definitions. 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #ifndef DSP2833x_XINTRUPT_H 15 | #define DSP2833x_XINTRUPT_H 16 | 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | //--------------------------------------------------------------------------- 23 | 24 | struct XINTCR_BITS { 25 | Uint16 ENABLE:1; // 0 enable/disable 26 | Uint16 rsvd1:1; // 1 reserved 27 | Uint16 POLARITY:2; // 3:2 pos/neg, both triggered 28 | Uint16 rsvd2:12; //15:4 reserved 29 | }; 30 | 31 | union XINTCR_REG { 32 | Uint16 all; 33 | struct XINTCR_BITS bit; 34 | }; 35 | 36 | struct XNMICR_BITS { 37 | Uint16 ENABLE:1; // 0 enable/disable 38 | Uint16 SELECT:1; // 1 Timer 1 or XNMI connected to int13 39 | Uint16 POLARITY:2; // 3:2 pos/neg, or both triggered 40 | Uint16 rsvd2:12; // 15:4 reserved 41 | }; 42 | 43 | union XNMICR_REG { 44 | Uint16 all; 45 | struct XNMICR_BITS bit; 46 | }; 47 | 48 | 49 | 50 | 51 | //--------------------------------------------------------------------------- 52 | // External Interrupt Register File: 53 | // 54 | struct XINTRUPT_REGS { 55 | union XINTCR_REG XINT1CR; 56 | union XINTCR_REG XINT2CR; 57 | union XINTCR_REG XINT3CR; 58 | union XINTCR_REG XINT4CR; 59 | union XINTCR_REG XINT5CR; 60 | union XINTCR_REG XINT6CR; 61 | union XINTCR_REG XINT7CR; 62 | union XNMICR_REG XNMICR; 63 | Uint16 XINT1CTR; 64 | Uint16 XINT2CTR; 65 | Uint16 rsvd[5]; 66 | Uint16 XNMICTR; 67 | }; 68 | 69 | //--------------------------------------------------------------------------- 70 | // External Interrupt References & Function Declarations: 71 | // 72 | extern volatile struct XINTRUPT_REGS XIntruptRegs; 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif /* extern "C" */ 77 | 78 | #endif // end of DSP2833x_XINTF_H definition 79 | 80 | //=========================================================================== 81 | // End of file. 82 | //=========================================================================== 83 | 84 | -------------------------------------------------------------------------------- /DSP2833x/include/SFO.h: -------------------------------------------------------------------------------- 1 | //########################################################################### 2 | // 3 | // FILE: SFO.H 4 | // 5 | // TITLE: Scale Factor Optimizer Library Interface Header 6 | // 7 | // 8 | //########################################################################### 9 | // 10 | // Ver | dd mmm yyyy | Who | Description of changes 11 | // =====|=============|======|=============================================== 12 | // 0.01| 09 Jan 2004 | TI | New module 13 | //########################################################################### 14 | 15 | 16 | //============================================================================ 17 | // Description: This header provides the function call interface 18 | // for the scale factor optimizer for the 'F2833x. 19 | //============================================================================ 20 | 21 | 22 | //============================================================================ 23 | // Multiple include Guard 24 | //============================================================================ 25 | #ifndef __4090522384024n8273240x3438jx43087401r34ru32r0___ 26 | #define __4090522384024n8273240x3438jx43087401r34ru32r0___ 27 | 28 | //============================================================================ 29 | // C++ namespace 30 | //============================================================================ 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | 36 | //============================================================================ 37 | // Function prototypes for MEP SFO 38 | //============================================================================ 39 | void SFO_MepEn(int nEpwmModule); 40 | void SFO_MepDis(int nEpwmModule); 41 | 42 | //============================================================================ 43 | // Multiple include Guard 44 | //============================================================================ 45 | #endif // End: Multiple include Guard 46 | 47 | //============================================================================ 48 | // C++ namespace 49 | //============================================================================ 50 | #ifdef __cplusplus 51 | } 52 | #endif /* extern "C" */ 53 | -------------------------------------------------------------------------------- /DSP2833x/include/SFO_V5.h: -------------------------------------------------------------------------------- 1 | 2 | //########################################################################### 3 | // 4 | // FILE: SFO_V5.H 5 | // 6 | // TITLE: Scale Factor Optimizer Library V5 Interface Header 7 | // 8 | // 9 | //########################################################################### 10 | // 11 | // Ver | dd mmm yyyy | Who | Description of changes 12 | // =====|=============|======|=============================================== 13 | // 0.01| 09 Jan 2004 | TI | New module 14 | // 0.02| 22 Jun 2007 | TI | New version (V5) with support for more channels 15 | //########################################################################### 16 | 17 | 18 | //============================================================================ 19 | // Description: This header provides the function call interface 20 | // for the scale factor optimizer V5. For more 21 | // information on the SFO function usage and 22 | // limitations, see the HRPWM Reference Guide 23 | // (spru924) on the TI website. 24 | //============================================================================ 25 | 26 | 27 | //============================================================================ 28 | // Multiple include Guard 29 | //============================================================================ 30 | #ifndef _SFO_V5_H 31 | #define _SFO_V5_H 32 | 33 | //============================================================================ 34 | // C++ namespace 35 | //============================================================================ 36 | #ifdef __cplusplus 37 | extern "C" { 38 | #endif 39 | 40 | //============================================================================ 41 | // USER MUST UPDATE THIS CONSTANT FOR NUMBER OF HRPWM CHANNELS USED + 1 42 | //============================================================================ 43 | #define PWM_CH 7 // Equal # of HRPWM channels PLUS 1 44 | // i.e. PWM_CH is 7 for 6 channels, 5 for 4 channels etc. 45 | 46 | //============================================================================ 47 | // Function prototypes for MEP SFO 48 | //============================================================================ 49 | 50 | int SFO_MepEn_V5(int nEpwmModule); // MEP-Enable V5 Calibration Function 51 | int SFO_MepDis_V5(int nEpwmModule); // MEP-Disable V5 Calibration Function 52 | 53 | //============================================================================ 54 | // Useful Defines when Using SFO Functions 55 | //============================================================================ 56 | #define SFO_INCOMPLETE 0 57 | #define SFO_COMPLETE 1 58 | #define SFO_OUTRANGE_ERROR 2 59 | 60 | //============================================================================ 61 | // Multiple include Guard 62 | //============================================================================ 63 | #endif // End: Multiple include Guard 64 | 65 | //============================================================================ 66 | // C++ namespace 67 | //============================================================================ 68 | #ifdef __cplusplus 69 | } 70 | #endif /* extern "C" */ 71 | -------------------------------------------------------------------------------- /DSP2833x/lib/IQmath.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/IQmath.lib -------------------------------------------------------------------------------- /DSP2833x/lib/IQmath_fpu32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/IQmath_fpu32.lib -------------------------------------------------------------------------------- /DSP2833x/lib/SFO_TI_Build.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/SFO_TI_Build.lib -------------------------------------------------------------------------------- /DSP2833x/lib/SFO_TI_Build_V5.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/SFO_TI_Build_V5.lib -------------------------------------------------------------------------------- /DSP2833x/lib/SFO_TI_Build_V5B.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/SFO_TI_Build_V5B.lib -------------------------------------------------------------------------------- /DSP2833x/lib/SFO_TI_Build_V5B_fpu.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/SFO_TI_Build_V5B_fpu.lib -------------------------------------------------------------------------------- /DSP2833x/lib/SFO_TI_Build_V5_fpu.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/SFO_TI_Build_V5_fpu.lib -------------------------------------------------------------------------------- /DSP2833x/lib/SFO_TI_Build_fpu.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/DSP2833x/lib/SFO_TI_Build_fpu.lib -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_ADC_cal.asm: -------------------------------------------------------------------------------- 1 | ;; TI File $Revision: /main/1 $ 2 | ;; Checkin $Date: July 30, 2007 10:29:23 $ 3 | ;;########################################################################### 4 | ;; 5 | ;; FILE: ADC_cal.asm 6 | ;; 7 | ;; TITLE: 2833x Boot Rom ADC Cal routine. 8 | ;; 9 | ;; Functions: 10 | ;; 11 | ;; _ADC_cal - Copies device specific calibration data into ADCREFSEL and ADCOFFTRIM registers 12 | ;; Notes: 13 | ;; 14 | ;;########################################################################### 15 | ;; $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 16 | ;; $Release Date: August 4, 2009 $ 17 | ;;########################################################################### 18 | 19 | .def _ADC_cal 20 | .asg "0x711C", ADCREFSEL_LOC 21 | 22 | ;----------------------------------------------- 23 | ; _ADC_cal 24 | ;----------------------------------------------- 25 | ;----------------------------------------------- 26 | ; This is the ADC cal routine.This routine is programmed into 27 | ; reserved memory by the factory. 0xAAAA and 0xBBBB are place- 28 | ; holders for calibration data. 29 | ;The actual values programmed by TI are device specific. 30 | ; 31 | ; This function assumes that the clocks have been 32 | ; enabled to the ADC module. 33 | ;----------------------------------------------- 34 | 35 | .sect ".adc_cal" 36 | 37 | _ADC_cal 38 | MOVW DP, #ADCREFSEL_LOC >> 6 39 | MOV @28, #0xAAAA ; actual value may not be 0xAAAA 40 | MOV @29, #0xBBBB ; actual value may not be 0xBBBB 41 | LRETR 42 | ;eof ---------- 43 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_Adc.c: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/5 $ 2 | // Checkin $Date: October 23, 2007 13:34:09 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_Adc.c 6 | // 7 | // TITLE: DSP2833x ADC Initialization & Support Functions. 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File 15 | #include "DSP2833x_Examples.h" // DSP2833x Examples Include File 16 | 17 | #define ADC_usDELAY 5000L 18 | 19 | //--------------------------------------------------------------------------- 20 | // InitAdc: 21 | //--------------------------------------------------------------------------- 22 | // This function initializes ADC to a known state. 23 | // 24 | void InitAdc(void) 25 | { 26 | extern void DSP28x_usDelay(Uint32 Count); 27 | 28 | 29 | // *IMPORTANT* 30 | // The ADC_cal function, which copies the ADC calibration values from TI reserved 31 | // OTP into the ADCREFSEL and ADCOFFTRIM registers, occurs automatically in the 32 | // Boot ROM. If the boot ROM code is bypassed during the debug process, the 33 | // following function MUST be called for the ADC to function according 34 | // to specification. The clocks to the ADC MUST be enabled before calling this 35 | // function. 36 | // See the device data manual and/or the ADC Reference 37 | // Manual for more information. 38 | 39 | EALLOW; 40 | SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; 41 | ADC_cal(); 42 | EDIS; 43 | 44 | 45 | 46 | 47 | // To powerup the ADC the ADCENCLK bit should be set first to enable 48 | // clocks, followed by powering up the bandgap, reference circuitry, and ADC core. 49 | // Before the first conversion is performed a 5ms delay must be observed 50 | // after power up to give all analog circuits time to power up and settle 51 | 52 | // Please note that for the delay function below to operate correctly the 53 | // CPU_RATE define statement in the DSP2833x_Examples.h file must 54 | // contain the correct CPU clock period in nanoseconds. 55 | 56 | AdcRegs.ADCTRL3.all = 0x00E0; // Power up bandgap/reference/ADC circuits 57 | DELAY_US(ADC_usDELAY); // Delay before converting ADC channels 58 | } 59 | 60 | //=========================================================================== 61 | // End of file. 62 | //=========================================================================== 63 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_CSMPasswords.asm: -------------------------------------------------------------------------------- 1 | ;// TI File $Revision: /main/3 $ 2 | ;// Checkin $Date: June 26, 2007 16:41:07 $ 3 | ;//########################################################################### 4 | ;// 5 | ;// FILE: DSP2833x_CSMPasswords.asm 6 | ;// 7 | ;// TITLE: DSP2833x Code Security Module Passwords. 8 | ;// 9 | ;// DESCRIPTION: 10 | ;// 11 | ;// This file is used to specify password values to 12 | ;// program into the CSM password locations in Flash 13 | ;// at 0x33FFF8 - 0x33FFFF. 14 | ;// 15 | ;// In addition, the reserved locations 0x33FF80 - 0X33fff5 are 16 | ;// all programmed to 0x0000 17 | ;// 18 | ;//########################################################################### 19 | ;// 20 | ;// Original source based on D.A. 21 | ;// 22 | ;// $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 23 | ;// $Release Date: August 4, 2009 $ 24 | ;//########################################################################### 25 | 26 | ; The "csmpasswords" section contains the actual CSM passwords that will be 27 | ; linked and programmed into to the CSM password locations (PWL) in flash. 28 | ; These passwords must be known in order to unlock the CSM module. 29 | ; All 0xFFFF's (erased) is the default value for the password locations (PWL). 30 | 31 | ; It is recommended that all passwords be left as 0xFFFF during code 32 | ; development. Passwords of 0xFFFF do not activate code security and dummy 33 | ; reads of the CSM PWL registers is all that is required to unlock the CSM. 34 | ; When code development is complete, modify the passwords to activate the 35 | ; code security module. 36 | 37 | .sect "csmpasswds" 38 | 39 | .int 0xFFFF ;PWL0 (LSW of 128-bit password) 40 | .int 0xFFFF ;PWL1 41 | .int 0xFFFF ;PWL2 42 | .int 0xFFFF ;PWL3 43 | .int 0xFFFF ;PWL4 44 | .int 0xFFFF ;PWL5 45 | .int 0xFFFF ;PWL6 46 | .int 0xFFFF ;PWL7 (MSW of 128-bit password) 47 | 48 | ;---------------------------------------------------------------------- 49 | 50 | ; For code security operation, all addresses between 0x33FF80 and 51 | ; 0X33fff5 cannot be used as program code or data. These locations 52 | ; must be programmed to 0x0000 when the code security password locations 53 | ; (PWL) are programmed. If security is not a concern, then these addresses 54 | ; can be used for code or data. 55 | 56 | ; The section "csm_rsvd" can be used to program these locations to 0x0000. 57 | 58 | .sect "csm_rsvd" 59 | .loop (33FFF5h - 33FF80h + 1) 60 | .int 0x0000 61 | .endloop 62 | 63 | ;//=========================================================================== 64 | ;// End of file. 65 | ;//=========================================================================== 66 | 67 | 68 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_DBGIER.asm: -------------------------------------------------------------------------------- 1 | ;// TI File $Revision: /main/1 $ 2 | ;// Checkin $Date: August 18, 2006 13:46:03 $ 3 | ;//########################################################################### 4 | ;// 5 | ;// FILE: DSP2833x_DBGIER.asm 6 | ;// 7 | ;// TITLE: Set the DBGIER register 8 | ;// 9 | ;// DESCRIPTION: 10 | ;// 11 | ;// Function to set the DBGIER register (for realtime emulation). 12 | ;// Function Prototype: void SetDBGIER(Uint16) 13 | ;// Useage: SetDBGIER(value); 14 | ;// Input Parameters: Uint16 value = value to put in DBGIER register. 15 | ;// Return Value: none 16 | ;// 17 | ;//########################################################################### 18 | ;// $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 19 | ;// $Release Date: August 4, 2009 $ 20 | ;//########################################################################### 21 | .global _SetDBGIER 22 | .text 23 | 24 | _SetDBGIER: 25 | MOV *SP++,AL 26 | POP DBGIER 27 | LRETR 28 | 29 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_DisInt.asm: -------------------------------------------------------------------------------- 1 | ;// TI File $Revision: /main/1 $ 2 | ;// Checkin $Date: August 18, 2006 13:46:09 $ 3 | ;//########################################################################### 4 | ;// 5 | ;// FILE: DSP2833x_DisInt.asm 6 | ;// 7 | ;// TITLE: Disable and Restore INTM and DBGM 8 | ;// 9 | ;// Function Prototypes: 10 | ;// 11 | ;// Uint16 DSP28x_DisableInt(); 12 | ;// and void DSP28x_RestoreInt(Uint16 Stat0); 13 | ;// 14 | ;// Usage: 15 | ;// 16 | ;// DSP28x_DisableInt() sets both the INTM and DBGM 17 | ;// bits to disable maskable interrupts. Before doing 18 | ;// this, the current value of ST1 is stored on the stack 19 | ;// so that the values can be restored later. The value 20 | ;// of ST1 before the masks are set is returned to the 21 | ;// user in AL. This is then used to restore their state 22 | ;// via the DSP28x_RestoreInt(Uint16 ST1) function. 23 | ;// 24 | ;// Example 25 | ;// 26 | ;// Uint16 StatusReg1 27 | ;// StatusReg1 = DSP28x_DisableInt(); 28 | ;// 29 | ;// ... May also want to disable INTM here 30 | ;// 31 | ;// ... code here 32 | ;// 33 | ;// DSP28x_RestoreInt(StatusReg1); 34 | ;// 35 | ;// ... Restore INTM enable 36 | ;// 37 | ;//########################################################################### 38 | ;// $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 39 | ;// $Release Date: August 4, 2009 $ 40 | ;//########################################################################### 41 | 42 | 43 | 44 | 45 | .def _DSP28x_DisableInt 46 | .def _DSP28x_RestoreInt 47 | 48 | 49 | _DSP28x_DisableInt: 50 | PUSH ST1 51 | SETC INTM,DBGM 52 | MOV AL, *--SP 53 | LRETR 54 | 55 | _DSP28x_RestoreInt: 56 | MOV *SP++, AL 57 | POP ST1 58 | LRETR 59 | 60 | 61 | ;//=========================================================================== 62 | ;// End of file. 63 | ;//=========================================================================== 64 | 65 | 66 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_Gpio.c: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/1 $ 2 | // Checkin $Date: August 18, 2006 13:46:25 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_Gpio.c 6 | // 7 | // TITLE: DSP2833x General Purpose I/O Initialization & Support Functions. 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File 15 | #include "DSP2833x_Examples.h" // DSP2833x Examples Include File 16 | 17 | //--------------------------------------------------------------------------- 18 | // InitGpio: 19 | //--------------------------------------------------------------------------- 20 | // This function initializes the Gpio to a known (default) state. 21 | // 22 | // For more details on configuring GPIO's as peripheral functions, 23 | // refer to the individual peripheral examples and/or GPIO setup example. 24 | void InitGpio(void) 25 | { 26 | EALLOW; 27 | 28 | // Each GPIO pin can be: 29 | // a) a GPIO input/output 30 | // b) peripheral function 1 31 | // c) peripheral function 2 32 | // d) peripheral function 3 33 | // By default, all are GPIO Inputs 34 | GpioCtrlRegs.GPAMUX1.all = 0x0000; // GPIO functionality GPIO0-GPIO15 35 | GpioCtrlRegs.GPAMUX2.all = 0x0000; // GPIO functionality GPIO16-GPIO31 36 | GpioCtrlRegs.GPBMUX1.all = 0x0000; // GPIO functionality GPIO32-GPIO39 37 | GpioCtrlRegs.GPBMUX2.all = 0x0000; // GPIO functionality GPIO48-GPIO63 38 | GpioCtrlRegs.GPCMUX1.all = 0x0000; // GPIO functionality GPIO64-GPIO79 39 | GpioCtrlRegs.GPCMUX2.all = 0x0000; // GPIO functionality GPIO80-GPIO95 40 | 41 | GpioCtrlRegs.GPADIR.all = 0x0000; // GPIO0-GPIO31 are inputs 42 | GpioCtrlRegs.GPBDIR.all = 0x0000; // GPIO32-GPIO63 are inputs 43 | GpioCtrlRegs.GPCDIR.all = 0x0000; // GPI064-GPIO95 are inputs 44 | 45 | // Each input can have different qualification 46 | // a) input synchronized to SYSCLKOUT 47 | // b) input qualified by a sampling window 48 | // c) input sent asynchronously (valid for peripheral inputs only) 49 | GpioCtrlRegs.GPAQSEL1.all = 0x0000; // GPIO0-GPIO15 Synch to SYSCLKOUT 50 | GpioCtrlRegs.GPAQSEL2.all = 0x0000; // GPIO16-GPIO31 Synch to SYSCLKOUT 51 | GpioCtrlRegs.GPBQSEL1.all = 0x0000; // GPIO32-GPIO39 Synch to SYSCLKOUT 52 | GpioCtrlRegs.GPBQSEL2.all = 0x0000; // GPIO48-GPIO63 Synch to SYSCLKOUT 53 | 54 | // Pull-ups can be enabled or disabled. 55 | GpioCtrlRegs.GPAPUD.all = 0x0000; // Pullup's enabled GPIO0-GPIO31 56 | GpioCtrlRegs.GPBPUD.all = 0x0000; // Pullup's enabled GPIO32-GPIO63 57 | GpioCtrlRegs.GPCPUD.all = 0x0000; // Pullup's enabled GPIO64-GPIO79 58 | 59 | //GpioCtrlRegs.GPAPUD.all = 0xFFFF; // Pullup's disabled GPIO0-GPIO31 60 | //GpioCtrlRegs.GPBPUD.all = 0xFFFF; // Pullup's disabled GPIO32-GPIO34 61 | //GpioCtrlRegs.GPCPUD.all = 0xFFFF // Pullup's disabled GPIO64-GPIO79 62 | 63 | EDIS; 64 | 65 | } 66 | 67 | //=========================================================================== 68 | // End of file. 69 | //=========================================================================== 70 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_I2C.c: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/1 $ 2 | // Checkin $Date: August 18, 2006 13:46:27 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_I2C.c 6 | // 7 | // TITLE: DSP2833x SCI Initialization & Support Functions. 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File 15 | #include "DSP2833x_Examples.h" // DSP2833x Examples Include File 16 | 17 | //--------------------------------------------------------------------------- 18 | // InitI2C: 19 | //--------------------------------------------------------------------------- 20 | // This function initializes the I2C to a known state. 21 | // 22 | void InitI2C(void) 23 | { 24 | // Initialize I2C-A: 25 | 26 | //tbd... 27 | } 28 | 29 | //--------------------------------------------------------------------------- 30 | // Example: InitI2CGpio: 31 | //--------------------------------------------------------------------------- 32 | // This function initializes GPIO pins to function as I2C pins 33 | // 34 | // Each GPIO pin can be configured as a GPIO pin or up to 3 different 35 | // peripheral functional pins. By default all pins come up as GPIO 36 | // inputs after reset. 37 | // 38 | // Caution: 39 | // Only one GPIO pin should be enabled for SDAA operation. 40 | // Only one GPIO pin shoudl be enabled for SCLA operation. 41 | // Comment out other unwanted lines. 42 | 43 | void InitI2CGpio() 44 | { 45 | 46 | EALLOW; 47 | /* Enable internal pull-up for the selected pins */ 48 | // Pull-ups can be enabled or disabled disabled by the user. 49 | // This will enable the pullups for the specified pins. 50 | // Comment out other unwanted lines. 51 | 52 | GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pull-up for GPIO32 (SDAA) 53 | GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pull-up for GPIO33 (SCLA) 54 | 55 | /* Set qualification for selected pins to asynch only */ 56 | // This will select asynch (no qualification) for the selected pins. 57 | // Comment out other unwanted lines. 58 | 59 | GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; // Asynch input GPIO32 (SDAA) 60 | GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; // Asynch input GPIO33 (SCLA) 61 | 62 | /* Configure SCI pins using GPIO regs*/ 63 | // This specifies which of the possible GPIO pins will be I2C functional pins. 64 | // Comment out other unwanted lines. 65 | 66 | GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 1; // Configure GPIO32 for SDAA operation 67 | GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 1; // Configure GPIO33 for SCLA operation 68 | 69 | EDIS; 70 | } 71 | 72 | 73 | 74 | //=========================================================================== 75 | // End of file. 76 | //=========================================================================== 77 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_MemCopy.c: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/1 $ 2 | // Checkin $Date: August 18, 2006 13:46:33 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_MemCopy.c 6 | // 7 | // TITLE: Memory Copy Utility 8 | // 9 | // ASSUMPTIONS: 10 | // 11 | // 12 | // 13 | // DESCRIPTION: 14 | // 15 | // This function will copy the specified memory contents from 16 | // one location to another. 17 | // 18 | // Uint16 *SourceAddr Pointer to the first word to be moved 19 | // SourceAddr < SourceEndAddr 20 | // Uint16* SourceEndAddr Pointer to the last word to be moved 21 | // Uint16* DestAddr Pointer to the first destination word 22 | // 23 | // No checks are made for invalid memory locations or that the 24 | // end address is > then the first start address. 25 | // 26 | // 27 | //########################################################################### 28 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 29 | // $Release Date: August 4, 2009 $ 30 | //########################################################################### 31 | 32 | #include "DSP2833x_Device.h" 33 | 34 | void MemCopy(Uint16 *SourceAddr, Uint16* SourceEndAddr, Uint16* DestAddr) 35 | { 36 | while(SourceAddr < SourceEndAddr) 37 | { 38 | *DestAddr++ = *SourceAddr++; 39 | } 40 | return; 41 | } 42 | 43 | //=========================================================================== 44 | // End of file. 45 | //=========================================================================== 46 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_PieCtrl.c: -------------------------------------------------------------------------------- 1 | // TI File $Revision: /main/1 $ 2 | // Checkin $Date: August 18, 2006 13:46:35 $ 3 | //########################################################################### 4 | // 5 | // FILE: DSP2833x_PieCtrl.c 6 | // 7 | // TITLE: DSP2833x Device PIE Control Register Initialization Functions. 8 | // 9 | //########################################################################### 10 | // $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 11 | // $Release Date: August 4, 2009 $ 12 | //########################################################################### 13 | 14 | #include "DSP2833x_Device.h" // DSP2833x Headerfile Include File 15 | #include "DSP2833x_Examples.h" // DSP2833x Examples Include File 16 | 17 | //--------------------------------------------------------------------------- 18 | // InitPieCtrl: 19 | //--------------------------------------------------------------------------- 20 | // This function initializes the PIE control registers to a known state. 21 | // 22 | void InitPieCtrl(void) 23 | { 24 | // Disable Interrupts at the CPU level: 25 | DINT; 26 | 27 | // Disable the PIE 28 | PieCtrlRegs.PIECTRL.bit.ENPIE = 0; 29 | 30 | // Clear all PIEIER registers: 31 | PieCtrlRegs.PIEIER1.all = 0; 32 | PieCtrlRegs.PIEIER2.all = 0; 33 | PieCtrlRegs.PIEIER3.all = 0; 34 | PieCtrlRegs.PIEIER4.all = 0; 35 | PieCtrlRegs.PIEIER5.all = 0; 36 | PieCtrlRegs.PIEIER6.all = 0; 37 | PieCtrlRegs.PIEIER7.all = 0; 38 | PieCtrlRegs.PIEIER8.all = 0; 39 | PieCtrlRegs.PIEIER9.all = 0; 40 | PieCtrlRegs.PIEIER10.all = 0; 41 | PieCtrlRegs.PIEIER11.all = 0; 42 | PieCtrlRegs.PIEIER12.all = 0; 43 | 44 | // Clear all PIEIFR registers: 45 | PieCtrlRegs.PIEIFR1.all = 0; 46 | PieCtrlRegs.PIEIFR2.all = 0; 47 | PieCtrlRegs.PIEIFR3.all = 0; 48 | PieCtrlRegs.PIEIFR4.all = 0; 49 | PieCtrlRegs.PIEIFR5.all = 0; 50 | PieCtrlRegs.PIEIFR6.all = 0; 51 | PieCtrlRegs.PIEIFR7.all = 0; 52 | PieCtrlRegs.PIEIFR8.all = 0; 53 | PieCtrlRegs.PIEIFR9.all = 0; 54 | PieCtrlRegs.PIEIFR10.all = 0; 55 | PieCtrlRegs.PIEIFR11.all = 0; 56 | PieCtrlRegs.PIEIFR12.all = 0; 57 | 58 | 59 | } 60 | 61 | //--------------------------------------------------------------------------- 62 | // EnableInterrupts: 63 | //--------------------------------------------------------------------------- 64 | // This function enables the PIE module and CPU interrupts 65 | // 66 | void EnableInterrupts() 67 | { 68 | 69 | // Enable the PIE 70 | PieCtrlRegs.PIECTRL.bit.ENPIE = 1; 71 | 72 | // Enables PIE to drive a pulse into the CPU 73 | PieCtrlRegs.PIEACK.all = 0xFFFF; 74 | 75 | // Enable Interrupts at the CPU level 76 | EINT; 77 | 78 | } 79 | 80 | 81 | //=========================================================================== 82 | // End of file. 83 | //=========================================================================== 84 | -------------------------------------------------------------------------------- /DSP2833x/source/DSP2833x_usDelay.asm: -------------------------------------------------------------------------------- 1 | ;// TI File $Revision: /main/4 $ 2 | ;// Checkin $Date: July 30, 2007 10:28:57 $ 3 | ;//########################################################################### 4 | ;// 5 | ;// FILE: DSP2833x_usDelay.asm 6 | ;// 7 | ;// TITLE: Simple delay function 8 | ;// 9 | ;// DESCRIPTION: 10 | ;// 11 | ;// This is a simple delay function that can be used to insert a specified 12 | ;// delay into code. 13 | ;// 14 | ;// This function is only accurate if executed from internal zero-waitstate 15 | ;// SARAM. If it is executed from waitstate memory then the delay will be 16 | ;// longer then specified. 17 | ;// 18 | ;// To use this function: 19 | ;// 20 | ;// 1 - update the CPU clock speed in the DSP2833x_Examples.h 21 | ;// file. For example: 22 | ;// #define CPU_RATE 6.667L // for a 150MHz CPU clock speed 23 | ;// or #define CPU_RATE 10.000L // for a 100MHz CPU clock speed 24 | ;// 25 | ;// 2 - Call this function by using the DELAY_US(A) macro 26 | ;// that is defined in the DSP2833x_Examples.h file. This macro 27 | ;// will convert the number of microseconds specified 28 | ;// into a loop count for use with this function. 29 | ;// This count will be based on the CPU frequency you specify. 30 | ;// 31 | ;// 3 - For the most accurate delay 32 | ;// - Execute this function in 0 waitstate RAM. 33 | ;// - Disable interrupts before calling the function 34 | ;// If you do not disable interrupts, then think of 35 | ;// this as an "at least" delay function as the actual 36 | ;// delay may be longer. 37 | ;// 38 | ;// The C assembly call from the DELAY_US(time) macro will 39 | ;// look as follows: 40 | ;// 41 | ;// extern void Delay(long LoopCount); 42 | ;// 43 | ;// MOV AL,#LowLoopCount 44 | ;// MOV AH,#HighLoopCount 45 | ;// LCR _Delay 46 | ;// 47 | ;// Or as follows (if count is less then 16-bits): 48 | ;// 49 | ;// MOV ACC,#LoopCount 50 | ;// LCR _Delay 51 | ;// 52 | ;// 53 | ;//########################################################################### 54 | ;// $TI Release: DSP2833x/DSP2823x C/C++ Header Files V1.31 $ 55 | ;// $Release Date: August 4, 2009 $ 56 | ;//########################################################################### 57 | 58 | .def _DSP28x_usDelay 59 | .sect "ramfuncs" 60 | 61 | .global __DSP28x_usDelay 62 | _DSP28x_usDelay: 63 | SUB ACC,#1 64 | BF _DSP28x_usDelay,GEQ ;; Loop if ACC >= 0 65 | LRETR 66 | 67 | ;There is a 9/10 cycle overhead and each loop 68 | ;takes five cycles. The LoopCount is given by 69 | ;the following formula: 70 | ; DELAY_CPU_CYCLES = 9 + 5*LoopCount 71 | ; LoopCount = (DELAY_CPU_CYCLES - 9) / 5 72 | ; The macro DELAY_US(A) performs this calculation for you 73 | ; 74 | ;//=========================================================================== 75 | ;// End of file. 76 | ;//=========================================================================== 77 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/.ccsproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/.cdtproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | dataLOG 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.cdt.core.cnature 16 | org.eclipse.cdt.core.ccnature 17 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 18 | 19 | 20 | 21 | DLOG4CHC.asm 22 | 1 23 | EXT_ROOT__dataLOG/src/DLOG4CHC.asm 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/.settings/org.eclipse.cdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:52:24 CEST 2012 2 | eclipse.preferences.version=1 3 | indexerId=org.eclipse.cdt.core.domsourceindexer 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/.settings/org.eclipse.cdt.managedbuilder.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:52:23 CEST 2012 2 | com.ti.ccstudio.buildDefinitions.C2000.Debug.1729225421/internalBuilder/enabled=false 3 | com.ti.ccstudio.buildDefinitions.C2000.Debug.1729225421/internalBuilder/ignoreErr=true 4 | com.ti.ccstudio.buildDefinitions.C2000.Release.1291814156/internalBuilder/enabled=false 5 | com.ti.ccstudio.buildDefinitions.C2000.Release.1291814156/internalBuilder/ignoreErr=true 6 | eclipse.preferences.version=1 7 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Debug.1729225421=\r\n\r\n 8 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Release.1291814156=\r\n\r\n 9 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/Debug.lkf: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\tidcs_workshop\DMC\c28\lib\dloglib\lib\dataLOG.L28" 3 | "C:\tidcs_workshop\DMC\c28\lib\dloglib\obj\DLOG4CHC.obj" 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/Debug.lkv: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\tidcs_workshop\DMC\c28\lib\dloglib\lib\dataLOG.L28" 3 | "C:\tidcs_workshop\DMC\c28\lib\dloglib\obj\DLOG4CHC.obj" 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | LIBS := 6 | 7 | USER_OBJS := -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | C67_SRCS := 6 | S_UPPER_SRCS := 7 | LIB_SRCS := 8 | OBJ_SRCS := 9 | C55_SRCS := 10 | C_SRCS := 11 | A_SRCS := 12 | CPP_SRCS := 13 | O_SRCS := 14 | ASM_SRCS := 15 | CXX_SRCS := 16 | ASM_UPPER_SRCS := 17 | OPT_SRCS := 18 | C43_SRCS := 19 | C64_SRCS := 20 | S62_SRCS := 21 | S55_SRCS := 22 | CMD_SRCS := 23 | S67_SRCS := 24 | C++_SRCS := 25 | SA_SRCS := 26 | S64_SRCS := 27 | C_UPPER_SRCS := 28 | S??_SRCS := 29 | S43_SRCS := 30 | C62_SRCS := 31 | S_SRCS := 32 | C??_SRCS := 33 | CC_SRCS := 34 | S62_DEPS := 35 | ASM_DEPS := 36 | C55_DEPS := 37 | S_UPPER_DEPS := 38 | S_DEPS := 39 | C2000_LIBRARY_OUTPUTS := 40 | CPP_DEPS := 41 | C64_DEPS := 42 | C43_DEPS := 43 | C62_DEPS := 44 | OBJS := 45 | C??_DEPS := 46 | S??_DEPS := 47 | S55_DEPS := 48 | C_DEPS := 49 | C_UPPER_DEPS := 50 | SA_DEPS := 51 | C++_DEPS := 52 | CC_DEPS := 53 | S64_DEPS := 54 | CXX_DEPS := 55 | S43_DEPS := 56 | S67_DEPS := 57 | C67_DEPS := 58 | ASM_UPPER_DEPS := 59 | OPT_DEPS := 60 | 61 | # Every subdirectory with source files must be described here 62 | SUBDIRS := \ 63 | . \ 64 | 65 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/Debug/subdir.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | # Add inputs and outputs from these tool invocations to the build variables 6 | ASM_SRCS += \ 7 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dloglib/src/DLOG4CHC.asm 8 | 9 | ASM_DEPS += \ 10 | ./DLOG4CHC.pp 11 | 12 | OBJS += \ 13 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dloglib/obj/DLOG4CHC.obj 14 | 15 | 16 | # Each subdirectory must supply rules for building sources it contributes 17 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dloglib/obj/DLOG4CHC.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dloglib/src/DLOG4CHC.asm $(GEN_SRCS) $(GEN_OPTS) 18 | @echo 'Building file: $<' 19 | @echo 'Invoking: C2000 Compiler' 20 | "C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c2000/bin/cl2000" --silicon_version=28 -g --define="_DEBUG" --define="LARGE_MODEL" --include_path="C:/Program Files/Texas Instruments/ccsv4/tools/compiler/c2000/include" --include_path="C:/Program Files/Texas Instruments/xdais_6_23/packages/ti/xdais" --quiet --diag_warning=225 --sat_reassoc=off --large_memory_model --fp_reassoc=off --obj_directory="C:/Documents and Settings/projet/Bureau/TestCode 1/PMSMCONTROL/lib/dloglib/obj" $(GEN_OPTS_QUOTED) --preproc_with_compile --preproc_dependency="DLOG4CHC.pp" $(subst #,$(wildcard $(subst $(SPACE),\$(SPACE),$<)),"#") 21 | @echo 'Finished building: $<' 22 | @echo ' ' 23 | 24 | 25 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/cc_build_Debug.log: -------------------------------------------------------------------------------- 1 | ---------------------------- dataLOG.pjt - Debug ---------------------------- 2 | [DLOG4CHC.asm] "C:\ti_c2000\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "DLOG4CHC.asm" 3 | 4 | [Archiving...] "C:\ti_c2000\c2000\cgtools\bin\ar2000" @"Debug.lkf" 5 | ==> new archive 'C:\tidcs_workshop\DMC\c28\lib\dloglib\lib\dataLOG.L28' 6 | ==> building archive 'C:\tidcs_workshop\DMC\c28\lib\dloglib\lib\dataLOG.L28' 7 | 8 | Build Complete, 9 | 0 Errors, 0 Warnings, 0 Remarks. 10 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/dataLOG.paf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dloglib/build/dataLOG.paf -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/dataLOG.pjt: -------------------------------------------------------------------------------- 1 | ; Code Composer Project File, Version 2.0 (do not modify or remove this line) 2 | 3 | [Project Settings] 4 | ProjectName="dataLOG" 5 | ProjectDir="C:\Texas_F2812\tmp2\DMC\c28\lib\dloglib\build\" 6 | ProjectType=Library 7 | CPUFamily=TMS320C28XX 8 | Tool="Archiver" 9 | Tool="Compiler" 10 | Tool="DspBiosBuilder" 11 | Config="Debug" 12 | Config="Release" 13 | 14 | [Source Files] 15 | Source="..\src\DLOG4CHC.asm" 16 | 17 | ["Archiver" Settings: "Debug"] 18 | Options=-r -o..\lib\dataLOG.L28 19 | 20 | ["Archiver" Settings: "Release"] 21 | Options=-r -o.\Release\dataLOG.lib 22 | 23 | ["Compiler" Settings: "Debug"] 24 | Options=-g -q -fr"..\obj" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 25 | 26 | ["Compiler" Settings: "Release"] 27 | Options=-q -o3 -fr"C:\Texas_F2812\tmp2\DMC\c28\lib\dloglib\build\Release" -d"LARGE_MODEL" -ml -v28 28 | 29 | ["DspBiosBuilder" Settings: "Debug"] 30 | Options=-v28 31 | 32 | ["DspBiosBuilder" Settings: "Release"] 33 | Options=-v28 34 | 35 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/macros.ini: -------------------------------------------------------------------------------- 1 | 2 | EXT_ROOT__dataLOG = ../ 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/build/migration.log: -------------------------------------------------------------------------------- 1 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 2 | 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/include/dlog4ch.h: -------------------------------------------------------------------------------- 1 | /* ============================================================================ 2 | File name: DLOG4CH.H 3 | 4 | Originator : Advanced Embeeded Control (AEC) 5 | Texas Instruments Inc. 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the DATALOG module. 10 | =============================================================================== 11 | History: 12 | ------------------------------------------------------------------------------- 13 | 18-5-2001 (DD/MM/YYYY) Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | #ifndef __DLOG4CH_H__ 17 | #define __DLOG4CH_H__ 18 | 19 | #define NULL 0 20 | 21 | typedef struct { long task; /* Variable: Task address pointer */ 22 | int *iptr1; /* Input: First input pointer (Q15) */ 23 | int *iptr2; /* Input: Second input pointer (Q15) */ 24 | int *iptr3; /* Input: Third input pointer (Q15) */ 25 | int *iptr4; /* Input: Fourth input pointer (Q15) */ 26 | int trig_value; /* Input: Trigger point (Q15) */ 27 | int prescalar; /* Parameter: Data log prescale */ 28 | int skip_cntr; /* Variable: Data log skip counter */ 29 | int cntr; /* Variable: Data log counter */ 30 | long write_ptr; /* Variable: Graph address pointer */ 31 | int size; /* Parameter: Maximum data buffer */ 32 | int (*init)(); /* Pointer to init function */ 33 | int (*update)(); /* Pointer to update function */ 34 | } DLOG_4CH; 35 | 36 | typedef DLOG_4CH *DLOG_4CH_handle; 37 | 38 | void DLOG_4CH_init(void *); 39 | void DLOG_4CH_update(void *); 40 | 41 | /*============================================================================= 42 | Default initalizer for the DLOG_4CH object. 43 | ==============================================================================*/ 44 | 45 | #define DLOG_4CH_DEFAULTS { 0UL, \ 46 | NULL, \ 47 | NULL, \ 48 | NULL, \ 49 | NULL, \ 50 | 0, \ 51 | 1, \ 52 | 0, \ 53 | 0, \ 54 | 0UL, \ 55 | 0x400, \ 56 | (int (*)(int))DLOG_4CH_init, \ 57 | (int (*)(int))DLOG_4CH_update } 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/lib/dataLOG.L28: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dloglib/lib/dataLOG.L28 -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dloglib/obj/DLOG4CHC.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dloglib/obj/DLOG4CHC.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/.ccsproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/.cdtproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/.settings/org.eclipse.cdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:53:03 CEST 2012 2 | eclipse.preferences.version=1 3 | indexerId=org.eclipse.cdt.core.domsourceindexer 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/.settings/org.eclipse.cdt.managedbuilder.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:53:01 CEST 2012 2 | com.ti.ccstudio.buildDefinitions.C2000.Debug.2015018020/internalBuilder/enabled=false 3 | com.ti.ccstudio.buildDefinitions.C2000.Debug.2015018020/internalBuilder/ignoreErr=true 4 | com.ti.ccstudio.buildDefinitions.C2000.Release.344525507/internalBuilder/enabled=false 5 | com.ti.ccstudio.buildDefinitions.C2000.Release.344525507/internalBuilder/ignoreErr=true 6 | eclipse.preferences.version=1 7 | environment/project=\r\n\r\n 8 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Debug.2015018020=\r\n\r\n 9 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Release.344525507=\r\n\r\n 10 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug.lkf: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\lib\iqDMC_ml.L28" 3 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\clarke.obj" 4 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\ipark.obj" 5 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\park.obj" 6 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\pid_reg3.obj" 7 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\rampgen.obj" 8 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\rmp_cntl.obj" 9 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\speed_fr.obj" 10 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\speed_pr.obj" 11 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\svgen_dq.obj" 12 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\svgen_mf.obj" 13 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\vhzprof.obj" 14 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\volt_calc.obj" 15 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\lib\IQmath.lib" 16 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug.lkv: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\lib\iqDMC_ml.L28" 3 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\clarke.obj" 4 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\ipark.obj" 5 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\park.obj" 6 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\pid_reg3.obj" 7 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\rampgen.obj" 8 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\rmp_cntl.obj" 9 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\speed_fr.obj" 10 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\speed_pr.obj" 11 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\svgen_dq.obj" 12 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\svgen_mf.obj" 13 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\vhzprof.obj" 14 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\obj\volt_calc.obj" 15 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\lib\IQmath.lib" 16 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/clarke.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/clarke.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/clarke.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/clarke.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/clarke.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/clarke.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/ipark.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/ipark.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/ipark.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/ipark.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/ipark.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/ipark.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | LIBS := 6 | 7 | USER_OBJS := -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/park.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/park.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/park.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/park.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/park.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/park.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/pid_reg3.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/pid_reg3.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/pid_reg3.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/pid_reg3.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/pid_reg3.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/pid_reg3.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/rampgen.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/rampgen.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/rampgen.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/rampgen.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/rampgen.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/rampgen.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/rmp_cntl.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/rmp_cntl.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/rmp_cntl.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/rmp_cntl.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/rmp_cntl.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/rmp_cntl.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | C67_SRCS := 6 | S_UPPER_SRCS := 7 | LIB_SRCS := 8 | OBJ_SRCS := 9 | C55_SRCS := 10 | C_SRCS := 11 | A_SRCS := 12 | CPP_SRCS := 13 | O_SRCS := 14 | ASM_SRCS := 15 | CXX_SRCS := 16 | ASM_UPPER_SRCS := 17 | OPT_SRCS := 18 | C43_SRCS := 19 | C64_SRCS := 20 | S62_SRCS := 21 | S55_SRCS := 22 | CMD_SRCS := 23 | S67_SRCS := 24 | C++_SRCS := 25 | SA_SRCS := 26 | S64_SRCS := 27 | C_UPPER_SRCS := 28 | S??_SRCS := 29 | S43_SRCS := 30 | C62_SRCS := 31 | S_SRCS := 32 | C??_SRCS := 33 | CC_SRCS := 34 | S62_DEPS := 35 | ASM_DEPS := 36 | C55_DEPS := 37 | S_UPPER_DEPS := 38 | S_DEPS := 39 | C2000_LIBRARY_OUTPUTS := 40 | CPP_DEPS := 41 | C64_DEPS := 42 | C43_DEPS := 43 | C62_DEPS := 44 | OBJS := 45 | C??_DEPS := 46 | S??_DEPS := 47 | S55_DEPS := 48 | C_DEPS := 49 | C_UPPER_DEPS := 50 | SA_DEPS := 51 | C++_DEPS := 52 | CC_DEPS := 53 | S64_DEPS := 54 | CXX_DEPS := 55 | S43_DEPS := 56 | S67_DEPS := 57 | C67_DEPS := 58 | ASM_UPPER_DEPS := 59 | OPT_DEPS := 60 | 61 | # Every subdirectory with source files must be described here 62 | SUBDIRS := \ 63 | . \ 64 | 65 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/speed_fr.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_fr.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/speed_fr.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_fr.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_fr.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/speed_fr.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/speed_pr.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_pr.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/speed_pr.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_pr.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_pr.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/speed_pr.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/svgen_dq.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_dq.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/svgen_dq.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_dq.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_dq.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/svgen_dq.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/svgen_mf.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_mf.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/svgen_mf.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_mf.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_mf.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/svgen_mf.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/vhzprof.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/vhzprof.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/vhzprof.h 5 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: C:/Program\ Files/Texas\ Instruments/ccsv4/tools/compiler/c2000/include/stdlib.h 6 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: C:/Program\ Files/Texas\ Instruments/ccsv4/tools/compiler/c2000/include/linkage.h 7 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: C:/Program\ Files/Texas\ Instruments/ccsv4/tools/compiler/c2000/include/stdlibf.h 8 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/Debug/volt_calc.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/volt_calc.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/src/volt_calc.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/volt_calc.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/IQmathLib.h 4 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/obj/volt_calc.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cIQmath/include/volt_calc.h 5 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/cc_build_Debug.log: -------------------------------------------------------------------------------- 1 | ---------------------------- iqDMC_ml.pjt - Debug ---------------------------- 2 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "speed_fr.c" 3 | 4 | "C:\TI\C2000\CGTOOLS\BIN\ar2000" @"Debug.lkf" 5 | ==> new archive 'C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\lib\iqDMC_ml.L28' 6 | ==> building archive 'C:\tidcs_workshop\DMC\c28\lib\dmclib\cIQmath\lib\iqDMC_ml.L28' 7 | 8 | Build Complete, 9 | 0 Errors, 0 Warnings, 0 Remarks. 10 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/iqDMC_ml.paf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/build/iqDMC_ml.paf -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/iqDMC_ml.pjt: -------------------------------------------------------------------------------- 1 | ; Code Composer Project File, Version 2.0 (do not modify or remove this line) 2 | 3 | [Project Settings] 4 | ProjectName="dmclib_cIQmath" 5 | ProjectDir="C:\DMC_Workshop\Pratique\tmp2\DMC\c28\lib\dmclib\cIQmath\build\" 6 | ProjectType=Library 7 | CPUFamily=TMS320C28XX 8 | Tool="Archiver" 9 | Tool="Compiler" 10 | Tool="DspBiosBuilder" 11 | Config="Debug" 12 | Config="Release" 13 | 14 | [Source Files] 15 | Source="..\lib\IQmath.lib" 16 | Source="..\obj\clarke.obj" 17 | Source="..\obj\ipark.obj" 18 | Source="..\obj\park.obj" 19 | Source="..\obj\pid_reg3.obj" 20 | Source="..\obj\rampgen.obj" 21 | Source="..\obj\rmp_cntl.obj" 22 | Source="..\obj\speed_fr.obj" 23 | Source="..\obj\speed_pr.obj" 24 | Source="..\obj\svgen_dq.obj" 25 | Source="..\obj\svgen_mf.obj" 26 | Source="..\obj\vhzprof.obj" 27 | Source="..\obj\volt_calc.obj" 28 | Source="..\src\clarke.c" 29 | Source="..\src\ipark.c" 30 | Source="..\src\park.c" 31 | Source="..\src\pid_reg3.c" 32 | Source="..\src\rampgen.c" 33 | Source="..\src\rmp_cntl.c" 34 | Source="..\src\speed_fr.c" 35 | Source="..\src\speed_pr.c" 36 | Source="..\src\svgen_dq.c" 37 | Source="..\src\svgen_mf.c" 38 | Source="..\src\vhzprof.c" 39 | Source="..\src\volt_calc.c" 40 | 41 | ["Archiver" Settings: "Debug"] 42 | Options=-r -o..\lib\iqDMC_ml.L28 43 | 44 | ["Archiver" Settings: "Release"] 45 | Options=-r -o.\Release\dmclib_cIQmath.lib 46 | 47 | ["Compiler" Settings: "Debug"] 48 | Options=-g -q -o3 -fr"..\obj\" -i"..\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 49 | 50 | ["Compiler" Settings: "Release"] 51 | Options=-q -o3 -fr"C:\DMC_Workshop\Pratique\tmp2\DMC\c28\lib\dmclib\cIQmath\build\Release" -d"LARGE_MODEL" -ml -v28 52 | 53 | ["DspBiosBuilder" Settings: "Debug"] 54 | Options=-v28 55 | 56 | ["DspBiosBuilder" Settings: "Release"] 57 | Options=-v28 58 | 59 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/macros.ini: -------------------------------------------------------------------------------- 1 | 2 | EXT_ROOT__iqDMC_ml = ../ 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/build/migration.log: -------------------------------------------------------------------------------- 1 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 2 | 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/clarke.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: CLARKE.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the CLARKE. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { _iq as; /* Input: phase-a stator variable */ 17 | _iq bs; /* Input: phase-b stator variable */ 18 | _iq ds; /* Output: stationary d-axis stator variable */ 19 | _iq qs; /* Output: stationary q-axis stator variable */ 20 | void (*calc)(); /* Pointer to calculation function */ 21 | } CLARKE; 22 | 23 | typedef CLARKE *CLARKE_handle; 24 | /*----------------------------------------------------------------------------- 25 | Default initalizer for the CLARKE object. 26 | -----------------------------------------------------------------------------*/ 27 | #define CLARKE_DEFAULTS { 0, \ 28 | 0, \ 29 | 0, \ 30 | 0, \ 31 | (void (*)(long))clarke_calc } 32 | 33 | /*------------------------------------------------------------------------------ 34 | Prototypes for the functions in CLARKE.C 35 | ------------------------------------------------------------------------------*/ 36 | void clarke_calc(CLARKE_handle); 37 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/ipark.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: IPARK.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the IPARK. 10 | 11 | ===================================================================================== 12 | History: 13 | ------------------------------------------------------------------------------------- 14 | 05-15-2002 Release Rev 1.0 15 | ------------------------------------------------------------------------------*/ 16 | 17 | typedef struct { _iq ds; /* Output: stationary d-axis stator variable */ 18 | _iq qs; /* Output: stationary q-axis stator variable */ 19 | _iq ang; /* Input: rotating angle (pu) */ 20 | _iq de; /* Input: rotating d-axis stator variable */ 21 | _iq qe; /* Input: rotating q-axis stator variable */ 22 | void (*calc)(); /* Pointer to calculation function */ 23 | } IPARK; 24 | 25 | typedef IPARK *IPARK_handle; 26 | /*----------------------------------------------------------------------------- 27 | Default initalizer for the IPARK object. 28 | -----------------------------------------------------------------------------*/ 29 | #define IPARK_DEFAULTS { 0, \ 30 | 0, \ 31 | 0, \ 32 | 0, \ 33 | 0, \ 34 | (void (*)(long))ipark_calc } 35 | 36 | /*------------------------------------------------------------------------------ 37 | Prototypes for the functions in IPARK.C 38 | ------------------------------------------------------------------------------*/ 39 | void ipark_calc(IPARK_handle); 40 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/park.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: PARK.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the PARK. 10 | 11 | ===================================================================================== 12 | History: 13 | ------------------------------------------------------------------------------------- 14 | 05-15-2002 Release Rev 1.0 15 | ------------------------------------------------------------------------------*/ 16 | 17 | typedef struct { _iq ds; /* Input: stationary d-axis stator variable */ 18 | _iq qs; /* Input: stationary q-axis stator variable */ 19 | _iq ang; /* Input: rotating angle (pu) */ 20 | _iq de; /* Output: rotating d-axis stator variable */ 21 | _iq qe; /* Output: rotating q-axis stator variable */ 22 | void (*calc)(); /* Pointer to calculation function */ 23 | } PARK; 24 | 25 | typedef PARK *PARK_handle; 26 | /*----------------------------------------------------------------------------- 27 | Default initalizer for the PARK object. 28 | -----------------------------------------------------------------------------*/ 29 | #define PARK_DEFAULTS { 0, \ 30 | 0, \ 31 | 0, \ 32 | 0, \ 33 | 0, \ 34 | (void (*)(long))park_calc } 35 | 36 | /*------------------------------------------------------------------------------ 37 | Prototypes for the functions in PARK.C 38 | ------------------------------------------------------------------------------*/ 39 | void park_calc(PARK_handle); 40 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/pid_reg3.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: PID_REG3.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the PIDREG3. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { _iq pid_ref_reg3; /* Input: Reference input */ 17 | _iq pid_fdb_reg3; /* Input: Feedback input */ 18 | _iq e_reg3; /* Variable: Error */ 19 | _iq Kp_reg3; /* Parameter: Proportional gain */ 20 | _iq up_reg3; /* Variable: Proportional output */ 21 | _iq ui_reg3; /* Variable: Integral output */ 22 | _iq ud_reg3; /* Variable: Derivative output */ 23 | _iq uprsat_reg3; /* Variable: Pre-saturated output */ 24 | _iq pid_out_max; /* Parameter: Maximum output */ 25 | _iq pid_out_min; /* Parameter: Minimum output */ 26 | _iq pid_out_reg3; /* Output: PID output */ 27 | _iq saterr_reg3; /* Variable: Saturated difference */ 28 | _iq Ki_reg3; /* Parameter: Integral gain */ 29 | _iq Kc_reg3; /* Parameter: Integral correction gain */ 30 | _iq Kd_reg3; /* Parameter: Derivative gain */ 31 | _iq up1_reg3; /* History: Previous proportional output */ 32 | void (*calc)(); /* Pointer to calculation function */ 33 | } PIDREG3; 34 | 35 | typedef PIDREG3 *PIDREG3_handle; 36 | /*----------------------------------------------------------------------------- 37 | Default initalizer for the PIDREG3 object. 38 | -----------------------------------------------------------------------------*/ 39 | #define PIDREG3_DEFAULTS { 0, \ 40 | 0, \ 41 | 0, \ 42 | _IQ(1.3), \ 43 | 0, \ 44 | 0, \ 45 | 0, \ 46 | 0, \ 47 | _IQ(1), \ 48 | _IQ(-1), \ 49 | 0, \ 50 | 0, \ 51 | _IQ(0.02), \ 52 | _IQ(0.5), \ 53 | _IQ(1.05), \ 54 | 0, \ 55 | (void (*)(long))pid_reg3_calc } 56 | 57 | /*------------------------------------------------------------------------------ 58 | Prototypes for the functions in PIDREG3.C 59 | ------------------------------------------------------------------------------*/ 60 | void pid_reg3_calc(PIDREG3_handle); 61 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/rampgen.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: RAMPGEN.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | This file contains type definitions, constants and initializers for 9 | the ramp generation functions contained in RAMPGEN.C 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { _iq rmp_freq; /* Input: Ramp frequency (pu) */ 17 | _iq step_angle_max; /* Parameter: Maximum step angle (pu) */ 18 | _iq angle_rg; /* Variable: Step angle (pu) */ 19 | _iq rmp_gain; /* Input: Ramp gain (pu) */ 20 | _iq rmp_out; /* Output: Ramp signal (pu) */ 21 | _iq rmp_offset; /* Input: Ramp offset (pu) */ 22 | void (*calc)(); /* Pointer to calculation function */ 23 | } RAMPGEN; 24 | 25 | typedef RAMPGEN *RAMPGEN_handle; 26 | /*------------------------------------------------------------------------------ 27 | Object Initializers 28 | ------------------------------------------------------------------------------*/ 29 | #define RAMPGEN_DEFAULTS {0,0,0,_IQ(1),0,_IQ(1), \ 30 | (void (*)(long))rampgen_calc } 31 | 32 | /*------------------------------------------------------------------------------ 33 | Funtion prototypes 34 | ------------------------------------------------------------------------------*/ 35 | void rampgen_calc(RAMPGEN_handle); 36 | 37 | 38 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/rmp_cntl.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: RMP_CNTL.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the RMPCNTL module. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | #ifndef __RMP_CNTL_H__ 16 | #define __RMP_CNTL_H__ 17 | 18 | typedef struct { _iq target_value; /* Input: Target input (pu) */ 19 | long rmp_dly_max; /* Parameter: Maximum delay rate (Q0) - independently with global Q */ 20 | _iq rmp_lo_limit; /* Parameter: Minimum limit (pu) */ 21 | _iq rmp_hi_limit; /* Parameter: Maximum limit (pu) */ 22 | long rmp_delay_cntl; /* Variable: Incremental delay (Q0) - independently with global Q */ 23 | _iq setpt_value; /* Output: Target output (pu) */ 24 | long s_eq_t_flg; /* Output: Flag output (Q0) - independently with global Q */ 25 | void (*calc)(); /* Po_iqer to calculation function */ 26 | } RMPCNTL; 27 | 28 | typedef RMPCNTL *RMPCNTL_handle; 29 | /*----------------------------------------------------------------------------- 30 | Default initalizer for the RMPCNTL object. 31 | -----------------------------------------------------------------------------*/ 32 | #define RMPCNTL_DEFAULTS { 0, \ 33 | 400, \ 34 | _IQ(-1), \ 35 | _IQ(1), \ 36 | 0, \ 37 | 0, \ 38 | 0, \ 39 | (void (*)(long))rmp_cntl_calc } 40 | 41 | /*------------------------------------------------------------------------------ 42 | Prototypes for the functions in RMP_CNTL.C 43 | ------------------------------------------------------------------------------*/ 44 | void rmp_cntl_calc(RMPCNTL_handle); 45 | 46 | #endif /* __RMP_CNTL_H__ */ 47 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/speed_fr.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: SPEED_FR.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing the data types, constants for the rotor angle based 9 | speed measurement function. Also contains the prototypes for the 10 | functions implemented in SPEED_FR.C 11 | ===================================================================================== 12 | History: 13 | ------------------------------------------------------------------------------------- 14 | 03-15-2003 Release Rev 1.0 15 | ------------------------------------------------------------------------------*/ 16 | typedef struct { 17 | _iq theta_elec; /* Input: Electrical angle (pu) */ 18 | long dir_QEP; /* Input: Direction of rotation (Q0) - independently with global Q */ 19 | _iq theta_old; /* History: Electrical angle at previous step (pu) */ 20 | _iq speed_frq; /* Output: Speed in per-unit (pu) */ 21 | long rpm_max; /* Parameter: Base speed in rpm (Q0) - independently with global Q */ 22 | _iq21 K1; /* Parameter: Constant for differentiator (Q21) - independently with global Q */ 23 | _iq K2; /* Parameter: Constant for low-pass filter (pu) */ 24 | _iq K3; /* Parameter: Constant for low-pass filter (pu) */ 25 | long speed_rpm; /* Output : Speed in rpm (Q0) - independently with global Q */ 26 | void (*calc)(); /* Pointer to the calulation function */ 27 | } SPEED_MEAS_QEP; /* Data type created */ 28 | 29 | typedef SPEED_MEAS_QEP *SPEED_MEAS_QEP_handle; 30 | /*----------------------------------------------------------------------------- 31 | Default initalizer for the SPEED_MEAS_QEP object. 32 | -----------------------------------------------------------------------------*/ 33 | #define SPEED_MEAS_QEP_DEFAULTS { 0, \ 34 | 1, \ 35 | 0, \ 36 | 0, \ 37 | 0, \ 38 | 0, \ 39 | 0, \ 40 | 0, \ 41 | 0, \ 42 | (void (*)(long))speed_frq_calc } 43 | 44 | /*------------------------------------------------------------------------------ 45 | Prototypes for the functions in SPEED_FR.C 46 | ------------------------------------------------------------------------------*/ 47 | void speed_frq_calc(SPEED_MEAS_QEP_handle); 48 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/speed_pr.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: SPEED_PR.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing the data types, constants for the period based 9 | speed measurement function. Also contains the prototypes for the 10 | functions implemented in SPEED_PR.C 11 | ===================================================================================== 12 | History: 13 | ------------------------------------------------------------------------------------- 14 | 05-15-2002 Release Rev 1.0 15 | ------------------------------------------------------------------------------*/ 16 | 17 | typedef struct { 18 | long time_stamp_new; /* Variable : New 'Timestamp' corresponding to a capture event (Q0) - independently with global Q */ 19 | long time_stamp_old; /* Variable : Old 'Timestamp' corresponding to a capture event (Q0) - independently with global Q */ 20 | long time_stamp; /* Input : Current 'Timestamp' corresponding to a capture event (Q0) - independently with global Q */ 21 | long speed_scaler; /* Parameter : Scaler converting 1/N cycles to a Q15 speed (Q0) - independently with global Q */ 22 | _iq speed_prd; /* Output : speed in per-unit */ 23 | long rpm_max; /* Parameter : Scaler converting Q15 speed to rpm (Q0) speed - independently with global Q */ 24 | long speed_rpm; /* Output : speed in r.p.m. (Q0) - independently with global Q */ 25 | void (*calc)(); /* Pointer to the calulation function */ 26 | } SPEED_MEAS_CAP; /* Data type created */ 27 | 28 | /* 29 | Note that 30 | speed_scaler = 60*f/rmp_max 31 | where f = CLK_freq/(128*N), N = number of teeth in sprocket 32 | and 128 is pre-determined prescaler of timer 2 (used by capture) 33 | */ 34 | 35 | typedef SPEED_MEAS_CAP *SPEED_MEAS_CAP_handle; 36 | /*----------------------------------------------------------------------------- 37 | Default initalizer for the SPEED_MEAS_CAP object. 38 | -----------------------------------------------------------------------------*/ 39 | /* speed_scaler = 260 based on f(clk) 25 MHz, f(samping)=16.67, 25 kHz*/ 40 | /* rmp_max = 1800 rpm */ 41 | 42 | #define SPEED_MEAS_CAP_DEFAULTS { 0, \ 43 | 0, \ 44 | 0, \ 45 | 260, \ 46 | 0, \ 47 | 1800, \ 48 | 0, \ 49 | (void (*)(long))speed_prd_calc } 50 | 51 | /*------------------------------------------------------------------------------ 52 | Prototypes for the functions in SPEED_PR.C 53 | ------------------------------------------------------------------------------*/ 54 | void speed_prd_calc(SPEED_MEAS_CAP_handle); 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/svgen_dq.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: SVGEN_DQ.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the SVGEN_DQ. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { _iq Ualfa; /* Input: reference alfa-axis phase voltage */ 17 | _iq Ubeta; /* Input: reference beta-axis phase voltage */ 18 | _iq Ta; /* Output: reference phase-a switching function */ 19 | _iq Tb; /* Output: reference phase-b switching function */ 20 | _iq Tc; /* Output: reference phase-c switching function */ 21 | void (*calc)(); /* Pointer to calculation function */ 22 | } SVGENDQ; 23 | 24 | typedef SVGENDQ *SVGENDQ_handle; 25 | /*----------------------------------------------------------------------------- 26 | Default initalizer for the SVGENDQ object. 27 | -----------------------------------------------------------------------------*/ 28 | #define SVGENDQ_DEFAULTS { 0,0,0,0,0, \ 29 | (void (*)(long))svgendq_calc } 30 | 31 | /*------------------------------------------------------------------------------ 32 | Prototypes for the functions in SVGEN_DQ.C 33 | ------------------------------------------------------------------------------*/ 34 | void svgendq_calc(SVGENDQ_handle); 35 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/svgen_mf.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: SVGEN_MF.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the SVGEN_MF. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { _iq sv_gain; /* Input: reference gain voltage (pu) */ 17 | _iq sv_offset; /* Input: reference offset voltage (pu) */ 18 | _iq sv_freq; /* Input: reference frequency (pu) */ 19 | _iq sv_freq_max; /* Parameter: Maximum step angle = 6*base_freq*T (pu) */ 20 | _iq alpha_sv; /* History: Sector angle (pu) */ 21 | _iq entry_new; /* History: Sine (angular) look-up pointer (pu) */ 22 | long sector_ptr; /* History: Sector number (Q0) - independently with global Q */ 23 | _iq Ta; /* Output: reference phase-a switching function (pu) */ 24 | _iq Tb; /* Output: reference phase-b switching function (pu) */ 25 | _iq Tc; /* Output: reference phase-c switching function (pu) */ 26 | void (*calc)(); /* Pointer to calculation function */ 27 | } SVGENMF; 28 | 29 | typedef SVGENMF *SVGENMF_handle; 30 | /*----------------------------------------------------------------------------- 31 | Default initalizer for the SVGENMF object. 32 | -----------------------------------------------------------------------------*/ 33 | #define SVGENMF_DEFAULTS { 0,0,0,0,0,0,0,0,0,0, \ 34 | (void (*)(long))svgenmf_calc } 35 | 36 | #define PI_THIRD _IQ(1.04719755119660) /* This is 60 degree */ 37 | /*------------------------------------------------------------------------------ 38 | Prototypes for the functions in SVGEN_MF.C 39 | ------------------------------------------------------------------------------*/ 40 | void svgenmf_calc(SVGENMF_handle); 41 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/vhzprof.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: VHZ_PROF.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the VHZPROF. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { _iq freq; /* Input: Input frequency (pu) */ 17 | _iq vout; /* Output: Output voltage (pu) */ 18 | _iq FL; /* Parameter: Low frequency (pu) */ 19 | _iq FH; /* Parameter: High frequency at rated voltage (pu) */ 20 | _iq Fmax; /* Parameter: Maximum frequency (pu) */ 21 | _iq Vmax; /* Parameter: Rated voltage (pu) */ 22 | _iq Vmin; /* Parameter: Voltage at low frequency range (pu) */ 23 | void (*calc)(); /* Pointer to calculation function */ 24 | } VHZPROF; 25 | typedef VHZPROF *VHZPROF_handle; 26 | /*----------------------------------------------------------------------------- 27 | Default initalizer for the VHZPROF object. 28 | -----------------------------------------------------------------------------*/ 29 | #define VHZPROF_DEFAULTS { 0,0, \ 30 | 0,0,0,0,0, \ 31 | (void (*)(long))vhz_prof_calc } 32 | 33 | /*------------------------------------------------------------------------------ 34 | Prototypes for the functions in VHZ_PROF.C 35 | ------------------------------------------------------------------------------*/ 36 | void vhz_prof_calc(VHZPROF_handle); 37 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/include/volt_calc.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: VOLT_CAL.H (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the VOLT_CAL module. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | #ifndef __VOLT_CAL_H__ 16 | #define __VOLT_CAL_H__ 17 | 18 | typedef struct { _iq DC_bus; /* Input: DC-bus voltage (pu) */ 19 | _iq Mfunc_V1; /* Input: Modulation voltage phase A (pu) */ 20 | _iq Mfunc_V2; /* Input: Modulation voltage phase B (pu) */ 21 | _iq Mfunc_V3; /* Input: Modulation voltage phase C (pu) */ 22 | long out_of_phase; /* Parameter: Out of Phase adjustment (0 or 1) (Q0) - independently with global Q */ 23 | _iq Vphase_A; /* Output: Phase voltage phase A (pu) */ 24 | _iq Vphase_B; /* Output: Phase voltage phase B (pu) */ 25 | _iq Vphase_C; /* Output: Phase voltage phase C (pu) */ 26 | _iq Vdirect; /* Output: Stationary d-axis phase voltage (pu) */ 27 | _iq Vquadra; /* Output: Stationary q-axis phase voltage (pu) */ 28 | void (*calc)(); /* Po_iqer to calculation function */ 29 | } PHASEVOLTAGE; 30 | 31 | typedef PHASEVOLTAGE *PHASEVOLTAGE_handle; 32 | 33 | /* 34 | out_of_phase = 1 for the out of phase correction if 35 | * Mfunc_V1 is out of phase with PWM1, 36 | * Mfunc_V2 is out of phase with PWM3, 37 | * Mfunc_V3 is out of phase with PWM5, 38 | otherwise, set 0 if their phases are correct. 39 | */ 40 | 41 | /*----------------------------------------------------------------------------- 42 | Default initalizer for the PHASEVOLTAGE object. 43 | -----------------------------------------------------------------------------*/ 44 | #define PHASEVOLTAGE_DEFAULTS { 0, \ 45 | 0, \ 46 | 0, \ 47 | 0, \ 48 | 1, \ 49 | 0, \ 50 | 0, \ 51 | 0, \ 52 | 0, \ 53 | 0, \ 54 | (void (*)(long))phase_voltage_calc } 55 | 56 | #define ONE_THIRD _IQ(0.33333333333333) 57 | #define TWO_THIRD _IQ(0.66666666666667) 58 | #define INV_SQRT3 _IQ(0.57735026918963) 59 | /*------------------------------------------------------------------------------ 60 | Prototypes for the functions in VOLT_CAL.C 61 | ------------------------------------------------------------------------------*/ 62 | void phase_voltage_calc(PHASEVOLTAGE_handle); 63 | 64 | #endif /* __VOLT_CAL_H__ */ 65 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/lib/IQmath.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/lib/IQmath.lib -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/lib/iqDMC_ml.L28: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/lib/iqDMC_ml.L28 -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/clarke.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/clarke.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/data_log.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/data_log.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/ipark.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/ipark.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/park.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/park.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/pid_reg3.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/pid_reg3.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/rampgen.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/rampgen.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/rmp_cntl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/rmp_cntl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_fr.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_fr.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_pr.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/speed_pr.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_dq.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_dq.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_mf.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/svgen_mf.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/vhzprof.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/obj/volt_calc.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cIQmath/obj/volt_calc.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/clarke.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: CLARKE.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Clarke Transformation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "clarke.h" 18 | 19 | /* 1/sqrt(3) = 0.57735026918963 */ 20 | 21 | void clarke_calc(CLARKE *v) 22 | { 23 | v->ds = v->as; 24 | 25 | v->qs = _IQmpy((v->as + _IQmpy(_IQ(2),v->bs)),_IQ(0.57735026918963)); 26 | 27 | } 28 | 29 | 30 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/ipark.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: IPARK.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Inverse Park Transformation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "ipark.h" 18 | 19 | void ipark_calc(IPARK *v) 20 | { 21 | 22 | _iq cos_ang,sin_ang; 23 | 24 | /* Using look-up IQ sine table */ 25 | sin_ang = _IQsinPU(v->ang); 26 | cos_ang = _IQcosPU(v->ang); 27 | 28 | v->ds = _IQmpy(v->de,cos_ang) - _IQmpy(v->qe,sin_ang); 29 | v->qs = _IQmpy(v->qe,cos_ang) + _IQmpy(v->de,sin_ang); 30 | } 31 | 32 | 33 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/park.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: PARK.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Park Transformation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "park.h" 18 | 19 | void park_calc(PARK *v) 20 | { 21 | 22 | _iq cos_ang,sin_ang; 23 | 24 | /* Using look-up IQ sine table */ 25 | sin_ang = _IQsinPU(v->ang); 26 | cos_ang = _IQcosPU(v->ang); 27 | 28 | v->de = _IQmpy(v->ds,cos_ang) + _IQmpy(v->qs,sin_ang); 29 | v->qe = _IQmpy(v->qs,cos_ang) - _IQmpy(v->ds,sin_ang); 30 | 31 | } 32 | 33 | 34 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/pid_reg3.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: PID_REG3.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: The PID controller with anti-windup 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "pid_reg3.h" 18 | 19 | void pid_reg3_calc(PIDREG3 *v) 20 | { 21 | 22 | v->e_reg3 = v->pid_ref_reg3 - v->pid_fdb_reg3; 23 | 24 | v->up_reg3 = _IQmpy(v->Kp_reg3,v->e_reg3); 25 | 26 | v->uprsat_reg3 = v->up_reg3 + v->ui_reg3 + v->ud_reg3; 27 | 28 | if (v->uprsat_reg3 > v->pid_out_max) 29 | v->pid_out_reg3 = v->pid_out_max; 30 | else if (v->uprsat_reg3 < v->pid_out_min) 31 | v->pid_out_reg3 = v->pid_out_min; 32 | else 33 | v->pid_out_reg3 = v->uprsat_reg3; 34 | 35 | v->saterr_reg3 = v->pid_out_reg3 - v->uprsat_reg3; 36 | 37 | v->ui_reg3 = v->ui_reg3 + _IQmpy(v->Ki_reg3,v->up_reg3) + _IQmpy(v->Kc_reg3,v->saterr_reg3); 38 | 39 | v->ud_reg3 = _IQmpy(v->Kd_reg3,(v->up_reg3 - v->up1_reg3)); 40 | 41 | v->up1_reg3 = v->up_reg3; 42 | 43 | } 44 | 45 | 46 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/rampgen.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: RAMPGEN.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: The Ramp Generation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "rampgen.h" 18 | 19 | void rampgen_calc(RAMPGEN *v) 20 | { 21 | 22 | v->angle_rg += _IQmpy(v->step_angle_max,v->rmp_freq); 23 | 24 | if (v->angle_rg>_IQ(1)) 25 | v->angle_rg -= _IQ(1); 26 | else if (v->angle_rg<_IQ(-1)) 27 | v->angle_rg += _IQ(1); 28 | 29 | v->rmp_out = _IQmpy(v->angle_rg,v->rmp_gain) + v->rmp_offset; 30 | 31 | if (v->rmp_out>_IQ(1)) 32 | v->rmp_out -= _IQ(1); 33 | else if (v->rmp_out<_IQ(-1)) 34 | v->rmp_out += _IQ(1); 35 | 36 | } 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/rmp_cntl.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: RMP_CNTL.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: The Ramp Control 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "rmp_cntl.h" 18 | 19 | void rmp_cntl_calc(RMPCNTL *v) 20 | { 21 | 22 | if (v->target_value != v->setpt_value) 23 | { 24 | v->rmp_delay_cntl += 1; 25 | if (v->rmp_delay_cntl >= v->rmp_dly_max) 26 | { 27 | if (v->target_value >= v->setpt_value) 28 | { 29 | v->setpt_value += _IQ(0.0000305); /* 0.0000305 is resolution of Q15 */ 30 | if (v->setpt_value > v->rmp_hi_limit) 31 | v->setpt_value = v->rmp_hi_limit; 32 | v->rmp_delay_cntl = 0; 33 | } 34 | else 35 | { 36 | v->setpt_value -= _IQ(0.0000305); /* 0.0000305 is resolution of Q15 */ 37 | if (v->setpt_value < v->rmp_lo_limit) 38 | v->setpt_value = v->rmp_lo_limit; 39 | v->rmp_delay_cntl = 0; 40 | } 41 | } 42 | } 43 | else v->s_eq_t_flg = 0x7FFFFFFF; 44 | } 45 | 46 | 47 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/speed_fr.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: SPEED_FR.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Speed measurement computation based QEP encoder (rotor angle) 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 03-15-2003 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "speed_fr.h" 18 | 19 | void speed_frq_calc(SPEED_MEAS_QEP *v) 20 | { 21 | 22 | _iq tmp1; 23 | 24 | /* Differentiator */ 25 | /* 26 | if (v->dir_QEP==0) // T2 is counting down 27 | { 28 | if (v->theta_elec>v->theta_old) 29 | tmp1 = _IQ(1) - v->theta_elec + v->theta_old; 30 | else 31 | tmp1 = v->theta_elec - v->theta_old; 32 | } 33 | else if (v->dir_QEP==1) // T2 is counting up 34 | { 35 | if (v->theta_electheta_old) 36 | tmp1 = _IQ(1) + v->theta_elec - v->theta_old; 37 | else 38 | tmp1 = v->theta_elec - v->theta_old; 39 | } 40 | tmp1 = _IQmpy(v->K1,tmp1); // Q21 = Q21*GLOBAL_Q 41 | */ 42 | 43 | 44 | // Differentiator 45 | // Synchronous speed computation 46 | if ((v->theta_elec < _IQ(0.9))&(v->theta_elec > _IQ(0.1))) 47 | // Q21 = Q21*(GLOBAL_Q-GLOBAL_Q) 48 | tmp1 = _IQmpy(v->K1,(v->theta_elec - v->theta_old)); 49 | else tmp1 = _IQtoIQ21(v->speed_frq); 50 | 51 | 52 | // Low-pass filter 53 | // Q21 = GLOBAL_Q*Q21 + GLOBAL_Q*Q21 54 | tmp1 = _IQmpy(v->K2,_IQtoIQ21(v->speed_frq))+_IQmpy(v->K3,tmp1); 55 | 56 | if (tmp1>_IQ21(1)) 57 | v->speed_frq = _IQ(1); 58 | else if (tmp1<_IQ21(-1)) 59 | v->speed_frq = _IQ(-1); 60 | else 61 | v->speed_frq = _IQ21toIQ(tmp1); 62 | 63 | /* Update the electrical angle */ 64 | v->theta_old = v->theta_elec; 65 | 66 | /* Change motor speed from pu value to rpm value (GLOBAL_Q -> Q0) */ 67 | /* Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q */ 68 | v->speed_rpm = _IQmpy(v->rpm_max,v->speed_frq); 69 | 70 | } 71 | 72 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/speed_pr.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: SPEED_PR.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Speed measurement computation based capture 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "speed_pr.h" 18 | 19 | void speed_prd_calc(SPEED_MEAS_CAP *v) 20 | { 21 | 22 | _iq event_period; 23 | 24 | v->time_stamp_old = v->time_stamp_new; 25 | v->time_stamp_new = v->time_stamp; 26 | 27 | event_period = v->time_stamp-v->time_stamp_old; 28 | 29 | if (event_period < 0) 30 | event_period += 32767; /* 7FFFh = 32767 */ 31 | 32 | v->speed_prd = _IQdiv(v->speed_scaler,event_period); 33 | 34 | /* Q0 = Q0*GLOBAL_Q => _IQXmpy(), X = GLOBAL_Q */ 35 | v->speed_rpm = _IQmpy(v->rpm_max,v->speed_prd); 36 | 37 | } 38 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/svgen_mf.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: SVGEN_MF.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Space-vector PWM generation based on magnitude and frequency components 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "svgen_mf.h" 18 | 19 | void svgenmf_calc(SVGENMF *v) 20 | { 21 | _iq step_angle_sv,entry_old,dx,dy; 22 | _iq T = _IQ(1.0); 23 | 24 | /* Normalise the freq input to appropriate step angle */ 25 | /* Here, 1 pu. = 60 degree */ 26 | step_angle_sv = _IQmpy(v->sv_freq,v->sv_freq_max); 27 | 28 | /* Calculate new angle alpha */ 29 | entry_old = v->entry_new; 30 | v->alpha_sv = v->alpha_sv+step_angle_sv; 31 | if (v->alpha_sv >= _IQ(1.0)) 32 | v->alpha_sv = v->alpha_sv-_IQ(1.0); 33 | 34 | v->entry_new = v->alpha_sv; 35 | 36 | dy = _IQsin(_IQmpy(v->entry_new,PI_THIRD)); /* dy = sin(entry_new) */ 37 | dx = _IQsin(PI_THIRD-_IQmpy(v->entry_new,PI_THIRD)); /* dx = sin(60-entry_new) */ 38 | 39 | /* Determine which sector */ 40 | if (v->entry_new-entry_old<0) 41 | { 42 | if (v->sector_ptr==5) 43 | v->sector_ptr = 0; 44 | else 45 | v->sector_ptr = v->sector_ptr + 1; 46 | } 47 | 48 | if (v->sector_ptr==0) /* Sector 1 calculations - a,b,c --> a,b,c */ 49 | { 50 | v->Ta = _IQmpy(_IQ(0.5),(T-dx-dy)); 51 | v->Tb = v->Ta + dx; 52 | v->Tc = T - v->Ta; 53 | } 54 | else if (v->sector_ptr==1) /* Sector 2 calculations - a,b,c --> b,a,c & dx <--> dy */ 55 | { 56 | v->Tb = _IQmpy(_IQ(0.5),(T-dx-dy)); 57 | v->Ta = v->Tb + dy; 58 | v->Tc = T - v->Tb; 59 | } 60 | else if (v->sector_ptr==2) /* Sector 3 calculations - a,b,c --> b,c,a */ 61 | { 62 | v->Tb = _IQmpy(_IQ(0.5),(T-dx-dy)); 63 | v->Tc = v->Tb + dx; 64 | v->Ta = T - v->Tb; 65 | } 66 | else if (v->sector_ptr==3) /* Sector 4 calculations - a,b,c --> c,b,a & dx <--> dy */ 67 | { 68 | v->Tc = _IQmpy(_IQ(0.5),(T-dx-dy)); 69 | v->Tb = v->Tc + dy; 70 | v->Ta = T - v->Tc; 71 | } 72 | else if (v->sector_ptr==4) /* Sector 5 calculations - a,b,c --> c,a,b */ 73 | { 74 | v->Tc = _IQmpy(_IQ(0.5),(T-dx-dy)); 75 | v->Ta = v->Tc + dx; 76 | v->Tb = T - v->Tc; 77 | } 78 | else if (v->sector_ptr==5) /* Sector 6 calculations - a,b,c --> a,c,b & dx <--> dy */ 79 | { 80 | v->Ta = _IQmpy(_IQ(0.5),(T-dx-dy)); 81 | v->Tc = v->Ta + dy; 82 | v->Tb = T - v->Ta; 83 | } 84 | 85 | v->Ta = _IQmpy(_IQ(2.0),(v->Ta-_IQ(0.5))); 86 | v->Ta = _IQmpy(v->sv_gain,v->Ta) + v->sv_offset; 87 | 88 | v->Tb = _IQmpy(_IQ(2.0),(v->Tb-_IQ(0.5))); 89 | v->Tb = _IQmpy(v->sv_gain,v->Tb) + v->sv_offset; 90 | 91 | v->Tc = _IQmpy(_IQ(2.0),(v->Tc-_IQ(0.5))); 92 | v->Tc = _IQmpy(v->sv_gain,v->Tc) + v->sv_offset; 93 | 94 | } 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/vhzprof.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: VHZPROF.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: V/f Profile for Scalar Control of Induction Motor 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "vhzprof.h" 18 | #include 19 | 20 | void vhz_prof_calc(VHZPROF *v) 21 | { 22 | _iq vf_slope, freq_abs; 23 | 24 | freq_abs = labs(v->freq); 25 | 26 | if (freq_abs <= v->FL) 27 | v->vout = v->Vmin; /* Profile #1 */ 28 | else if ((freq_abs > v->FL)&(freq_abs <= v->FH)) 29 | { 30 | vf_slope = _IQdiv((v->Vmax - v->Vmin),(v->FH - v->FL)); /* Computing v/f slope */ 31 | v->vout = v->Vmin + _IQmpy(vf_slope,(freq_abs-v->FL)); /* Profile #2 */ 32 | } 33 | else if ((freq_abs > v->FH)&(freq_abs < v->Fmax)) 34 | v->vout = v->Vmax; /* Profile #3 */ 35 | } 36 | 37 | 38 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cIQmath/src/volt_calc.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: VOLT_CALC.C (IQ version) 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: The Voltage Reconstruction based on switching functions and DC-Bus voltage 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "IQmathLib.h" /* Include header for IQmath library */ 16 | /* Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file */ 17 | #include "volt_calc.h" 18 | 19 | void phase_voltage_calc(PHASEVOLTAGE *v) 20 | { 21 | if (v->out_of_phase > 0) 22 | { 23 | v->Mfunc_V1 = -v->Mfunc_V1; 24 | v->Mfunc_V2 = -v->Mfunc_V2; 25 | v->Mfunc_V3 = -v->Mfunc_V3; 26 | } 27 | 28 | /* scale the incomming Modulation functions with the DC_bus value */ 29 | v->Mfunc_V1 = _IQmpy(v->DC_bus,v->Mfunc_V1); 30 | v->Mfunc_V2 = _IQmpy(v->DC_bus,v->Mfunc_V2); 31 | v->Mfunc_V3 = _IQmpy(v->DC_bus,v->Mfunc_V3); 32 | 33 | /* calculate the 3 Phase voltages */ 34 | /* Phase A */ 35 | v->Vphase_A = _IQmpy(TWO_THIRD,v->Mfunc_V1); 36 | v->Vphase_A -= _IQmpy(ONE_THIRD,v->Mfunc_V2); 37 | v->Vphase_A -= _IQmpy(ONE_THIRD,v->Mfunc_V3); 38 | 39 | /* Phase B */ 40 | v->Vphase_B = _IQmpy(TWO_THIRD,v->Mfunc_V2); 41 | v->Vphase_B -= _IQmpy(ONE_THIRD,v->Mfunc_V1); 42 | v->Vphase_B -= _IQmpy(ONE_THIRD,v->Mfunc_V3); 43 | 44 | /* Phase C */ 45 | v->Vphase_C = _IQmpy(TWO_THIRD,v->Mfunc_V3); 46 | v->Vphase_C -= _IQmpy(ONE_THIRD,v->Mfunc_V1); 47 | v->Vphase_C -= _IQmpy(ONE_THIRD,v->Mfunc_V2); 48 | 49 | /* Voltage transformation (a,b,c) -> (Direct,Quadrature) */ 50 | /* Direct-axis */ 51 | v->Vdirect = v->Vphase_A; 52 | 53 | /* Quadrature-axis */ 54 | v->Vquadra = _IQmpy((v->Vphase_A + _IQmpy(_IQ(2),v->Vphase_B)),INV_SQRT3); 55 | 56 | } 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/.ccsproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/.cdtproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | fDMC_ml 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.cdt.core.cnature 16 | org.eclipse.cdt.core.ccnature 17 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 18 | 19 | 20 | 21 | atan_tab.c 22 | 1 23 | EXT_ROOT__fDMC_ml/src/atan_tab.c 24 | 25 | 26 | clarke.c 27 | 1 28 | EXT_ROOT__fDMC_ml/src/clarke.c 29 | 30 | 31 | rampgen.c 32 | 1 33 | EXT_ROOT__fDMC_ml/src/rampgen.c 34 | 35 | 36 | atan2_tab.c 37 | 1 38 | EXT_ROOT__fDMC_ml/src/atan2_tab.c 39 | 40 | 41 | ipark.c 42 | 1 43 | EXT_ROOT__fDMC_ml/src/ipark.c 44 | 45 | 46 | fix_float.c 47 | 1 48 | EXT_ROOT__fDMC_ml/src/fix_float.c 49 | 50 | 51 | sin_tab.c 52 | 1 53 | EXT_ROOT__fDMC_ml/src/sin_tab.c 54 | 55 | 56 | rmp_cntl.c 57 | 1 58 | EXT_ROOT__fDMC_ml/src/rmp_cntl.c 59 | 60 | 61 | park.c 62 | 1 63 | EXT_ROOT__fDMC_ml/src/park.c 64 | 65 | 66 | pid_reg3.c 67 | 1 68 | EXT_ROOT__fDMC_ml/src/pid_reg3.c 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/.settings/org.eclipse.cdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:52:52 CEST 2012 2 | eclipse.preferences.version=1 3 | indexerId=org.eclipse.cdt.core.domsourceindexer 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/.settings/org.eclipse.cdt.managedbuilder.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:52:50 CEST 2012 2 | com.ti.ccstudio.buildDefinitions.C2000.Debug.796880057/internalBuilder/enabled=false 3 | com.ti.ccstudio.buildDefinitions.C2000.Debug.796880057/internalBuilder/ignoreErr=true 4 | com.ti.ccstudio.buildDefinitions.C2000.Release.398147977/internalBuilder/enabled=false 5 | com.ti.ccstudio.buildDefinitions.C2000.Release.398147977/internalBuilder/ignoreErr=true 6 | eclipse.preferences.version=1 7 | environment/project=\r\n\r\n 8 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Debug.796880057=\r\n\r\n 9 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Release.398147977=\r\n\r\n 10 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug.lkf: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\lib\fDMC_ml.L28" 3 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\atan2_tab.obj" 4 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\atan_tab.obj" 5 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\clarke.obj" 6 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\fix_float.obj" 7 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\ipark.obj" 8 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\park.obj" 9 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\pid_reg3.obj" 10 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\rampgen.obj" 11 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\rmp_cntl.obj" 12 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\sin_tab.obj" 13 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug.lkv: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\lib\fDMC_ml.L28" 3 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\atan2_tab.obj" 4 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\atan_tab.obj" 5 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\clarke.obj" 6 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\fix_float.obj" 7 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\ipark.obj" 8 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\park.obj" 9 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\pid_reg3.obj" 10 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\rampgen.obj" 11 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\rmp_cntl.obj" 12 | "C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\obj\sin_tab.obj" 13 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/atan2_tab.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/atan2_tab.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/atan2_tab.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/atan2_tab.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/atan2_tab.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/atan_tab.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/atan_tab.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/atan_tab.c 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/clarke.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/clarke.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/clarke.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/clarke.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/clarke.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/fix_float.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/fix_float.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/fix_float.c 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/ipark.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/ipark.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/ipark.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/ipark.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/ipark.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | LIBS := 6 | 7 | USER_OBJS := -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/park.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/park.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/park.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/park.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/park.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/pid_reg3.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/pid_reg3.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/pid_reg3.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/pid_reg3.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/pid_reg3.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/rampgen.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/rampgen.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/rampgen.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/rampgen.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/rampgen.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/rmp_cntl.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/rmp_cntl.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/rmp_cntl.c 3 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/rmp_cntl.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/include/rmp_cntl.h 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/sin_tab.pp: -------------------------------------------------------------------------------- 1 | # FIXED 2 | C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/obj/sin_tab.obj: C:/Documents\ and\ Settings/projet/Bureau/TestCode\ 1/PMSMCONTROL/lib/dmclib/cfloat/src/sin_tab.c 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | C67_SRCS := 6 | S_UPPER_SRCS := 7 | LIB_SRCS := 8 | OBJ_SRCS := 9 | C55_SRCS := 10 | C_SRCS := 11 | A_SRCS := 12 | CPP_SRCS := 13 | O_SRCS := 14 | ASM_SRCS := 15 | CXX_SRCS := 16 | ASM_UPPER_SRCS := 17 | OPT_SRCS := 18 | C43_SRCS := 19 | C64_SRCS := 20 | S62_SRCS := 21 | S55_SRCS := 22 | CMD_SRCS := 23 | S67_SRCS := 24 | C++_SRCS := 25 | SA_SRCS := 26 | S64_SRCS := 27 | C_UPPER_SRCS := 28 | S??_SRCS := 29 | S43_SRCS := 30 | C62_SRCS := 31 | S_SRCS := 32 | C??_SRCS := 33 | CC_SRCS := 34 | S62_DEPS := 35 | ASM_DEPS := 36 | C55_DEPS := 37 | S_UPPER_DEPS := 38 | S_DEPS := 39 | C2000_LIBRARY_OUTPUTS := 40 | CPP_DEPS := 41 | C64_DEPS := 42 | C43_DEPS := 43 | C62_DEPS := 44 | OBJS := 45 | C??_DEPS := 46 | S??_DEPS := 47 | S55_DEPS := 48 | C_DEPS := 49 | C_UPPER_DEPS := 50 | SA_DEPS := 51 | C++_DEPS := 52 | CC_DEPS := 53 | S64_DEPS := 54 | CXX_DEPS := 55 | S43_DEPS := 56 | S67_DEPS := 57 | C67_DEPS := 58 | ASM_UPPER_DEPS := 59 | OPT_DEPS := 60 | 61 | # Every subdirectory with source files must be described here 62 | SUBDIRS := \ 63 | . \ 64 | 65 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/cc_build_Debug.log: -------------------------------------------------------------------------------- 1 | ---------------------------- fDMC_ml.pjt - Debug ---------------------------- 2 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "atan2_tab.c" 3 | 4 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "atan_tab.c" 5 | 6 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "clarke.c" 7 | 8 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "fix_float.c" 9 | 10 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "ipark.c" 11 | 12 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "park.c" 13 | 14 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "pid_reg3.c" 15 | 16 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "rampgen.c" 17 | 18 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "rmp_cntl.c" 19 | 20 | "C:\TI\C2000\CGTOOLS\BIN\cl2000" -g -q -o3 -fr"../obj/" -i"../include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "sin_tab.c" 21 | 22 | "C:\TI\C2000\CGTOOLS\BIN\ar2000" @"Debug.lkf" 23 | ==> new archive 'C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\lib\fDMC_ml.L28' 24 | ==> building archive 'C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\lib\fDMC_ml.L28' 25 | 26 | Build Complete, 27 | 0 Errors, 0 Warnings, 0 Remarks. 28 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/fDMC_ml.paf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/build/fDMC_ml.paf -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/fDMC_ml.pjt: -------------------------------------------------------------------------------- 1 | ; Code Composer Project File, Version 2.0 (do not modify or remove this line) 2 | 3 | [Project Settings] 4 | ProjectName="dmclib_cfloat" 5 | ProjectDir="C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\build\" 6 | ProjectType=Library 7 | CPUFamily=TMS320C28XX 8 | Tool="Archiver" 9 | Tool="Compiler" 10 | Tool="DspBiosBuilder" 11 | Config="Debug" 12 | Config="Release" 13 | 14 | [Source Files] 15 | Source="..\src\atan2_tab.c" 16 | Source="..\src\atan_tab.c" 17 | Source="..\src\clarke.c" 18 | Source="..\src\fix_float.c" 19 | Source="..\src\ipark.c" 20 | Source="..\src\park.c" 21 | Source="..\src\pid_reg3.c" 22 | Source="..\src\rampgen.c" 23 | Source="..\src\rmp_cntl.c" 24 | Source="..\src\sin_tab.c" 25 | 26 | [Generated Files] 27 | Source="..\obj\atan2_tab.obj" 28 | Source="..\obj\atan_tab.obj" 29 | Source="..\obj\clarke.obj" 30 | Source="..\obj\fix_float.obj" 31 | Source="..\obj\ipark.obj" 32 | Source="..\obj\park.obj" 33 | Source="..\obj\pid_reg3.obj" 34 | Source="..\obj\rampgen.obj" 35 | Source="..\obj\rmp_cntl.obj" 36 | Source="..\obj\sin_tab.obj" 37 | 38 | ["Archiver" Settings: "Debug"] 39 | Options=-r -o..\lib\fDMC_ml.L28 40 | 41 | ["Archiver" Settings: "Release"] 42 | Options=-r -o.\Release\dmclib_cfloat.lib 43 | 44 | ["Compiler" Settings: "Debug"] 45 | Options=-g -q -o3 -fr"..\obj\" -i"..\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 46 | 47 | ["Compiler" Settings: "Release"] 48 | Options=-q -o3 -fr"C:\tidcs_workshop\DMC\c28\lib\dmclib\cfloat\build\Release" -d"LARGE_MODEL" -ml -v28 49 | 50 | ["DspBiosBuilder" Settings: "Debug"] 51 | Options=-v28 52 | 53 | ["DspBiosBuilder" Settings: "Release"] 54 | Options=-v28 55 | 56 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/macros.ini: -------------------------------------------------------------------------------- 1 | 2 | EXT_ROOT__fDMC_ml = ../ 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/build/migration.log: -------------------------------------------------------------------------------- 1 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 2 | 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/atan2_tab.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: ATAN2_TAB.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the ATAN2TAB. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { float x; /* Input: x argument */ 17 | float y; /* Input: y argument */ 18 | float ang; /* Output: angle (pu) */ 19 | void (*calc)(); /* Pointer to calculation function */ 20 | } ATAN2TAB; 21 | 22 | typedef ATAN2TAB *ATAN2TAB_handle; 23 | /*----------------------------------------------------------------------------- 24 | Default initalizer for the ATAN2TAB object. 25 | -----------------------------------------------------------------------------*/ 26 | #define ATAN2TAB_DEFAULTS { 0,0,0, \ 27 | (void (*)(long))atan2_tab_calc } 28 | 29 | /*------------------------------------------------------------------------------ 30 | Prototypes for the functions in ATAN2_TAB.C 31 | ------------------------------------------------------------------------------*/ 32 | void atan2_tab_calc(ATAN2TAB_handle); 33 | 34 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/clarke.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: CLARKE.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the CLARKE. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { float as; /* Input: phase-a stator variable */ 17 | float bs; /* Input: phase-b stator variable */ 18 | float ds; /* Output: stationary d-axis stator variable */ 19 | float qs; /* Output: stationary q-axis stator variable */ 20 | void (*calc)(); /* Pointer to calculation function */ 21 | } CLARKE; 22 | 23 | typedef CLARKE *CLARKE_handle; 24 | 25 | /*----------------------------------------------------------------------------- 26 | Default initalizer for the CLARKE object. 27 | -----------------------------------------------------------------------------*/ 28 | #define CLARKE_DEFAULTS { 0, \ 29 | 0, \ 30 | 0, \ 31 | 0, \ 32 | (void (*)(long))clarke_calc } 33 | 34 | /*------------------------------------------------------------------------------ 35 | Prototypes for the functions in CLARKE.C 36 | ------------------------------------------------------------------------------*/ 37 | void clarke_calc(CLARKE_handle); 38 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/ipark.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: IPARK.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the IPARK. 10 | 11 | ===================================================================================== 12 | History: 13 | ------------------------------------------------------------------------------------- 14 | 05-15-2002 Release Rev 1.0 15 | ------------------------------------------------------------------------------*/ 16 | 17 | typedef struct { float ds; /* Output: stationary d-axis stator variable */ 18 | float qs; /* Output: stationary q-axis stator variable */ 19 | float ang; /* Input: rotating angle (rad) */ 20 | float de; /* Input: rotating d-axis stator variable */ 21 | float qe; /* Input: rotating q-axis stator variable */ 22 | void (*calc)(); /* Pointer to calculation function */ 23 | } IPARK; 24 | 25 | typedef IPARK *IPARK_handle; 26 | 27 | /*----------------------------------------------------------------------------- 28 | Default initalizer for the IPARK object. 29 | -----------------------------------------------------------------------------*/ 30 | #define IPARK_DEFAULTS { 0, \ 31 | 0, \ 32 | 0, \ 33 | 0, \ 34 | 0, \ 35 | (void (*)(long))ipark_calc } 36 | 37 | /*------------------------------------------------------------------------------ 38 | Prototypes for the functions in IPARK.C 39 | ------------------------------------------------------------------------------*/ 40 | void ipark_calc(IPARK_handle); 41 | 42 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/park.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: PARK.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the PARK. 10 | 11 | ===================================================================================== 12 | History: 13 | ------------------------------------------------------------------------------------- 14 | 05-15-2002 Release Rev 1.0 15 | ------------------------------------------------------------------------------*/ 16 | 17 | typedef struct { float ds; /* Input: stationary d-axis stator variable */ 18 | float qs; /* Input: stationary q-axis stator variable */ 19 | float ang; /* Input: rotating angle (rad) */ 20 | float de; /* Output: rotating d-axis stator variable */ 21 | float qe; /* Output: rotating q-axis stator variable */ 22 | void (*calc)(); /* Pointer to calculation function */ 23 | } PARK; 24 | 25 | typedef PARK *PARK_handle; 26 | 27 | /*----------------------------------------------------------------------------- 28 | Default initalizer for the PARK object. 29 | -----------------------------------------------------------------------------*/ 30 | #define PARK_DEFAULTS { 0, \ 31 | 0, \ 32 | 0, \ 33 | 0, \ 34 | 0, \ 35 | (void (*)(long))park_calc } 36 | 37 | /*------------------------------------------------------------------------------ 38 | Prototypes for the functions in PARK.C 39 | ------------------------------------------------------------------------------*/ 40 | void park_calc(PARK_handle); 41 | 42 | 43 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/pid_reg3.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: PID_REG3.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Header file containing constants, data type definitions, and 9 | function prototypes for the PIDREG3. 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { float pid_ref_reg3; /* Input: Reference input */ 17 | float pid_fdb_reg3; /* Input: Feedback input */ 18 | float e_reg3; /* Variable: Error */ 19 | float Kp_reg3; /* Parameter: Proportional gain */ 20 | float up_reg3; /* Variable: Proportional output */ 21 | float ui_reg3; /* Variable: Integral output */ 22 | float ud_reg3; /* Variable: Derivative output */ 23 | float uprsat_reg3; /* Variable: Pre-saturated output */ 24 | float pid_out_max; /* Parameter: Maximum output */ 25 | float pid_out_min; /* Parameter: Minimum output */ 26 | float pid_out_reg3; /* Output: PID output */ 27 | float saterr_reg3; /* Variable: Saturated difference */ 28 | float Ki_reg3; /* Parameter: Integral gain */ 29 | float Kc_reg3; /* Parameter: Integral correction gain */ 30 | float Kd_reg3; /* Parameter: Derivative gain */ 31 | float up1_reg3; /* History: Previous proportional output */ 32 | void (*calc)(); /* Pointer to calculation function */ 33 | } PIDREG3; 34 | 35 | typedef PIDREG3 *PIDREG3_handle; 36 | 37 | /*----------------------------------------------------------------------------- 38 | Default initalizer for the PIDREG3 object. 39 | -----------------------------------------------------------------------------*/ 40 | #define PIDREG3_DEFAULTS { 0, \ 41 | 0, \ 42 | 0, \ 43 | 56, \ 44 | 0, \ 45 | 0, \ 46 | 0, \ 47 | 0, \ 48 | 1, \ 49 | -1, \ 50 | 0, \ 51 | 0, \ 52 | 0.02, \ 53 | 0.5, \ 54 | 1.05, \ 55 | 0, \ 56 | (void (*)(long))pid_reg3_calc } 57 | 58 | /*------------------------------------------------------------------------------ 59 | Prototypes for the functions in PIDREG3.C 60 | ------------------------------------------------------------------------------*/ 61 | void pid_reg3_calc(PIDREG3_handle); 62 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/rampgen.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: RAMPGEN.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | This file contains type definitions, constants and initializers for 9 | the ramp generation functions contained in RAMPGEN.C 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | ------------------------------------------------------------------------------*/ 15 | 16 | typedef struct { float rmp_freq; /* Input: Ramp frequency (pu) */ 17 | float step_angle_max; /* Parameter: Maximum step angle (pu) */ 18 | float angle_rg; /* Variable: Step angle (pu) */ 19 | float rmp_gain; /* Input: Ramp gain (pu) */ 20 | float rmp_out; /* Output: Ramp signal (pu) */ 21 | float rmp_offset; /* Input: Ramp offset (pu) */ 22 | void (*calc)(); /* Pointer to calculation function */ 23 | } RAMPGEN; 24 | 25 | typedef RAMPGEN *RAMPGEN_handle; 26 | /*------------------------------------------------------------------------------ 27 | Object Initializers 28 | ------------------------------------------------------------------------------*/ 29 | #define RAMPGEN_DEFAULTS {0,0,0,1,0,1, \ 30 | (void (*)(long))rampgen_calc } 31 | 32 | /*------------------------------------------------------------------------------ 33 | Funtion prototypes 34 | ------------------------------------------------------------------------------*/ 35 | void rampgen_calc(RAMPGEN_handle); 36 | 37 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/include/rmp_cntl.h: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: RMP_CNTL.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Header file containing constants, data type definitions, and 8 | function prototypes for the RMPCNTL module. 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #ifndef __RMP_CNTL_H__ 16 | #define __RMP_CNTL_H__ 17 | 18 | typedef struct { float target_value; /* Input: Target input (pu) */ 19 | float rmp_dly_max; /* Parameter: Maximum delay rate (Q0) */ 20 | float rmp_lo_limit; /* Parameter: Minimum limit (pu) */ 21 | float rmp_hi_limit; /* Parameter: Maximum limit (pu) */ 22 | float rmp_delay_cntl; /* Variable: Incremental delay (Q0) */ 23 | float setpt_value; /* Output: Target output (pu) */ 24 | float s_eq_t_flg; /* Output: Flag output (Q0) */ 25 | void (*calc)(); /* Pofloater to calculation function */ 26 | } RMPCNTL; 27 | 28 | typedef RMPCNTL *RMPCNTL_handle; 29 | /*----------------------------------------------------------------------------- 30 | Default initalizer for the RMPCNTL object. 31 | -----------------------------------------------------------------------------*/ 32 | #define RMPCNTL_DEFAULTS { 0, \ 33 | 5, \ 34 | -1, \ 35 | 1, \ 36 | 0, \ 37 | 0, \ 38 | 0, \ 39 | (void (*)(long))rmp_cntl_calc } 40 | 41 | /*------------------------------------------------------------------------------ 42 | Prototypes for the functions in RMP_CNTL.C 43 | ------------------------------------------------------------------------------*/ 44 | void rmp_cntl_calc(RMPCNTL_handle); 45 | 46 | #endif /* __RMP_CNTL_H__ */ 47 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/lib/fDMC_ml.L28: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/lib/fDMC_ml.L28 -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/atan2_tab.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/atan2_tab.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/atan_tab.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/atan_tab.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/clarke.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/clarke.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/data_log.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/data_log.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/fix_float.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/fix_float.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/ipark.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/ipark.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/park.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/park.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/pid_reg3.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/pid_reg3.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/rampgen.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/rampgen.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/rmp_cntl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/rmp_cntl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/obj/sin_tab.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/dmclib/cfloat/obj/sin_tab.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/atan2_tab.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: ATAN2_TAB.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Computation of atan2 based on look-up atan table 8 | 9 | Note that angle = atan2(y/x) in pu (1 pu = 360 degree) 10 | ===================================================================================== 11 | History: 12 | ------------------------------------------------------------------------------------- 13 | 05-15-2002 Release Rev 1.0 14 | -------------------------------------------------------------------------------------*/ 15 | 16 | #include "atan2_tab.h" 17 | 18 | extern float atan_tab[]; 19 | 20 | void atan2_tab_calc(ATAN2TAB *v) 21 | { 22 | float y_x; 23 | 24 | y_x = v->y/v->x; 25 | if ((y_x < 0)&(y_x >= -1)) 26 | { 27 | y_x = -y_x; 28 | v->ang = atan_tab[(int)(y_x*256)]; 29 | } 30 | else if ((y_x < 0)&(y_x < -1)) 31 | { 32 | y_x = -1/y_x; 33 | v->ang = 0.25 - atan_tab[(int)(y_x*256)]; 34 | } 35 | else if ((y_x > 0)&(y_x > 1)) 36 | { 37 | y_x = 1/y_x; 38 | v->ang = 0.25 - atan_tab[(int)(y_x*256)]; 39 | } 40 | else if ((y_x > 0)&(y_x <= 1)) 41 | { 42 | v->ang = atan_tab[(int)(y_x*256)]; 43 | } 44 | 45 | if ((v->x<0)&(v->y>=0)) /* Second-quadrant */ 46 | v->ang = 0.5 - v->ang; 47 | else if ((v->x<0)&(v->y<0)) /* Third-quadrant */ 48 | v->ang = 0.5 + v->ang; 49 | else if ((v->x>=0)&(v->y<0)) /* Fourth-quadrant */ 50 | v->ang = 1 - v->ang; 51 | } 52 | 53 | 54 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/clarke.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: CLARKE.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: The Clarke Transformation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "clarke.h" 16 | 17 | /* 1/sqrt(3) = 0.57735026918963 */ 18 | 19 | void clarke_calc(CLARKE *v) 20 | { 21 | v->ds = v->as; 22 | 23 | v->qs = (v->as + 2*v->bs)*0.57735026918963; 24 | } 25 | 26 | 27 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/fix_float.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: FIX_FLOAT.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Conversion of fixed-point to/from floating-point variables 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | float fix2float(long fix_no, int q) 16 | { 17 | 18 | float res,float_no,tmp; 19 | const float invpow2 [] = {1,0.5,0.25,0.125,0.0625,0.03125,0.015625, 20 | 0.0078125,0.00390625,0.001953125,0.0009765625, 21 | 0.00048828125,0.000244140625,0.0001220703125, 22 | 0.00006103515625,0.000030517578125,0.0000152587890625, 23 | 0.00000762939453125,0.000003814697265625,0.0000019073486328125, 24 | 0.00000095367431640625,0.000000476837158203125,0.0000002384185791015625, 25 | 0.00000011920928955078125,0.000000059604644775390625,0.0000000298023223876953125, 26 | 0.00000001490116119384765625,0.000000007450580596923828125, 27 | 0.0000000037252902984619140625,0.00000000186264514923095703125, 28 | 0.000000000931322574615478515625,0.0000000004656612873077392578125}; 29 | 30 | float_no = fix_no; 31 | tmp = invpow2[q]; 32 | res = float_no*tmp; 33 | return res; 34 | } 35 | 36 | long float2fix(float float_no, int q) 37 | { 38 | 39 | float tmp; 40 | long res; 41 | const float pow2 [] = {1,2,4,8,16,32,64,128,256,516,1024,2048,4096, 42 | 8192,16384,32768,65536,131072,262144,524288, 43 | 1048576,2097152,4194304,8388608,16777216, 44 | 33554432,67108864,134217728,268435456,536870912, 45 | 1073741824,2147483648}; 46 | 47 | tmp = pow2[q]; 48 | tmp = float_no*tmp; 49 | res = (long)tmp; 50 | return res; 51 | 52 | } 53 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/ipark.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: IPARK.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Inverse Park Transformation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "ipark.h" 16 | 17 | extern float sin_tab[]; 18 | 19 | void ipark_calc(IPARK *v) 20 | { 21 | 22 | float cos_ang,sin_ang; 23 | 24 | /* Using look-up sine table */ 25 | /* (PI/2)/(2*PI) = 0.25 */ 26 | /* ((PI/2)/(2*PI))*256 = 0.25*256 = 64 */ 27 | /* ((PI/2)-2*PI)/(2*PI) = -0.75 */ 28 | /* (((PI/2)-2*PI)/(2*PI))*256 = -0.75*256 = -192 */ 29 | 30 | if (v->ang+0.25 > 1) 31 | { 32 | sin_ang = sin_tab[(int)(v->ang*256)]; 33 | cos_ang = sin_tab[(int)(v->ang*256) - 192]; 34 | } 35 | else 36 | { 37 | sin_ang = sin_tab[(int)(v->ang*256)]; 38 | cos_ang = sin_tab[(int)(v->ang*256) + 64]; 39 | } 40 | 41 | v->ds = v->de*cos_ang - v->qe*sin_ang; 42 | v->qs = v->qe*cos_ang + v->de*sin_ang; 43 | } 44 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/park.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: PARK.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Park Transformation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "park.h" 16 | 17 | extern float sin_tab[]; 18 | 19 | void park_calc(PARK *v) 20 | { 21 | 22 | float cos_ang,sin_ang; 23 | 24 | /* Using look-up sine table */ 25 | /* (PI/2)/(2*PI) = 0.25 */ 26 | /* ((PI/2)/(2*PI))*256 = 0.25*256 = 64 */ 27 | /* ((PI/2)-2*PI)/(2*PI) = -0.75 */ 28 | /* (((PI/2)-2*PI)/(2*PI))*256 = -0.75*256 = -192 */ 29 | 30 | if (v->ang+0.25 > 1) 31 | { 32 | sin_ang = sin_tab[(int)(v->ang*256)]; 33 | cos_ang = sin_tab[(int)(v->ang*256) - 192]; 34 | } 35 | else 36 | { 37 | sin_ang = sin_tab[(int)(v->ang*256)]; 38 | cos_ang = sin_tab[(int)(v->ang*256) + 64]; 39 | } 40 | 41 | v->de = v->ds*cos_ang + v->qs*sin_ang; 42 | v->qe = v->qs*cos_ang - v->ds*sin_ang; 43 | 44 | } 45 | 46 | 47 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/pid_reg3.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: PID_REG3.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: PID controller with anti-windup 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "pid_reg3.h" 16 | 17 | void pid_reg3_calc(PIDREG3 *v) 18 | { 19 | 20 | v->e_reg3 = v->pid_ref_reg3 - v->pid_fdb_reg3; 21 | 22 | v->up_reg3 = v->Kp_reg3*v->e_reg3; 23 | 24 | v->uprsat_reg3 = v->up_reg3 + v->ui_reg3 + v->ud_reg3; 25 | 26 | if (v->uprsat_reg3 > v->pid_out_max) 27 | v->pid_out_reg3 = v->pid_out_max; 28 | else if (v->uprsat_reg3 < v->pid_out_min) 29 | v->pid_out_reg3 = v->pid_out_min; 30 | else 31 | v->pid_out_reg3 = v->uprsat_reg3; 32 | 33 | v->saterr_reg3 = v->pid_out_reg3 - v->uprsat_reg3; 34 | 35 | v->ui_reg3 = v->ui_reg3 + v->Ki_reg3*v->up_reg3 + v->Kc_reg3*v->saterr_reg3; 36 | 37 | v->ud_reg3 = v->Kd_reg3*(v->up_reg3 - v->up1_reg3); 38 | 39 | v->up1_reg3 = v->up_reg3; 40 | 41 | } 42 | 43 | 44 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/rampgen.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: RAMPGEN.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: The Ramp Generation 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "rampgen.h" 16 | 17 | void rampgen_calc(RAMPGEN *v) 18 | { 19 | 20 | v->angle_rg += v->step_angle_max*v->rmp_freq; 21 | 22 | if (v->angle_rg>1) 23 | v->angle_rg -= 1; 24 | else if (v->angle_rg<-1) 25 | v->angle_rg += 1; 26 | 27 | v->rmp_out = v->angle_rg*v->rmp_gain + v->rmp_offset; 28 | 29 | if (v->rmp_out>1) 30 | v->rmp_out -= 1; 31 | else if (v->rmp_out<-1) 32 | v->rmp_out += 1; 33 | 34 | } 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/dmclib/cfloat/src/rmp_cntl.c: -------------------------------------------------------------------------------- 1 | /*===================================================================================== 2 | File name: RMP_CNTL.C 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: Ramp control 8 | 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | -------------------------------------------------------------------------------------*/ 14 | 15 | #include "rmp_cntl.h" 16 | 17 | void rmp_cntl_calc(RMPCNTL *v) 18 | { 19 | 20 | if (v->target_value != v->setpt_value) 21 | { 22 | v->rmp_delay_cntl += 1; 23 | if (v->rmp_delay_cntl >= v->rmp_dly_max) 24 | { 25 | if (v->target_value >= v->setpt_value) 26 | { 27 | v->setpt_value += 0.0000305; /* 0.0000305 is resolution of Q15 */ 28 | if (v->setpt_value > v->rmp_hi_limit) 29 | v->setpt_value = v->rmp_hi_limit; 30 | v->rmp_delay_cntl = 0; 31 | } 32 | else 33 | { 34 | v->setpt_value -= 0.0000305; /* 0.0000305 is resolution of Q15 */ 35 | if (v->setpt_value < v->rmp_lo_limit) 36 | v->setpt_value = v->rmp_lo_limit; 37 | v->rmp_delay_cntl = 0; 38 | } 39 | } 40 | 41 | } 42 | else v->s_eq_t_flg = 1; 43 | } 44 | 45 | 46 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/.ccsproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/.cdtproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | DMCDRV_ml 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.cdt.core.cnature 16 | org.eclipse.cdt.core.ccnature 17 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 18 | 19 | 20 | 21 | DSP2833x_usDelay.asm 22 | 1 23 | EXT_ROOT__DMCDRV_ml/DSP2833x/source/DSP2833x_usDelay.asm 24 | 25 | 26 | F28335_vdc.c 27 | 1 28 | EXT_ROOT__DMCDRV_ml/PMSMCONTROL/lib/drvlib/src/F28335_vdc.c 29 | 30 | 31 | F28335_pwm.c 32 | 1 33 | EXT_ROOT__DMCDRV_ml/PMSMCONTROL/lib/drvlib/src/F28335_pwm.c 34 | 35 | 36 | F28335_qep.c 37 | 1 38 | EXT_ROOT__DMCDRV_ml/PMSMCONTROL/lib/drvlib/src/F28335_qep.c 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/.settings/org.eclipse.cdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:33:55 CEST 2012 2 | eclipse.preferences.version=1 3 | indexerId=org.eclipse.cdt.core.domsourceindexer 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/.settings/org.eclipse.cdt.managedbuilder.core.prefs: -------------------------------------------------------------------------------- 1 | #Fri Jun 15 11:33:54 CEST 2012 2 | com.ti.ccstudio.buildDefinitions.C2000.Debug.2144374519/internalBuilder/enabled=false 3 | com.ti.ccstudio.buildDefinitions.C2000.Debug.2144374519/internalBuilder/ignoreErr=true 4 | com.ti.ccstudio.buildDefinitions.C2000.Release.1138818034/internalBuilder/enabled=false 5 | com.ti.ccstudio.buildDefinitions.C2000.Release.1138818034/internalBuilder/ignoreErr=true 6 | eclipse.preferences.version=1 7 | environment/project=\r\n\r\n 8 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Debug.2144374519=\r\n\r\n 9 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Release.1138818034=\r\n\r\n 10 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/DMCDRV_ml.paf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/build/DMCDRV_ml.paf -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/DMCDRV_ml.pjt: -------------------------------------------------------------------------------- 1 | ; Code Composer Project File, Version 2.0 (do not modify or remove this line) 2 | 3 | [Project Settings] 4 | ProjectName="DRV" 5 | ProjectDir="C:\Documents and Settings\projet\Bureau\TestCode 1\PMSMCONTROL\lib\drvlib\build\" 6 | ProjectType=Library 7 | CPUFamily=TMS320C28XX 8 | Tool="Archiver" 9 | Tool="Compiler" 10 | Tool="DspBiosBuilder" 11 | Config="Debug" 12 | Config="Release" 13 | 14 | [Source Files] 15 | Source="..\..\..\..\DSP2833x\source\DSP2833x_usDelay.asm" 16 | Source="..\src\F28335_vdc.c" 17 | Source="..\src\F28335_qep.c" 18 | Source="..\src\F28335_pwm.c" 19 | 20 | ["Archiver" Settings: "Debug"] 21 | Options=-r -o..\lib\DMCDRV_ml.L28 22 | 23 | ["Archiver" Settings: "Release"] 24 | Options=-r -o.\Release\drvlib.lib 25 | 26 | ["Compiler" Settings: "Debug"] 27 | Options=-g -q -fr"..\obj\" -i"..\include" -i"..\..\..\..\DSP2833x\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 28 | 29 | ["Compiler" Settings: "Release"] 30 | Options=-q -o3 -fr"C:\DMC_Workshop\Pratique\tmp2\DMC\c28\lib\drvlib\build\Release" -d"LARGE_MODEL" -ml -v28 31 | 32 | ["DspBiosBuilder" Settings: "Debug"] 33 | Options=-v28 34 | 35 | ["DspBiosBuilder" Settings: "Release"] 36 | Options=-v28 37 | 38 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/Debug.lkf: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\lib\DMCDRV_ml.L28" 3 | "C:\Texas_F2812\tmp2\c28\DSP28\obj\DSP28_usDelay.obj" 4 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28x_en.obj" 5 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xcap.obj" 6 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xileg_vdc.obj" 7 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xileg_vdc_vcon.obj" 8 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xpwm.obj" 9 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xpwmdac.obj" 10 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xqep.obj" 11 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/Debug.lkv: -------------------------------------------------------------------------------- 1 | -r 2 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\lib\DMCDRV_ml.L28" 3 | "C:\Texas_F2812\tmp2\c28\DSP28\obj\DSP28_usDelay.obj" 4 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28x_en.obj" 5 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xcap.obj" 6 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xileg_vdc.obj" 7 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xileg_vdc_vcon.obj" 8 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xpwm.obj" 9 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xpwmdac.obj" 10 | "C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xqep.obj" 11 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | LIBS := 6 | 7 | USER_OBJS := -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | C67_SRCS := 6 | S_UPPER_SRCS := 7 | LIB_SRCS := 8 | OBJ_SRCS := 9 | C55_SRCS := 10 | C_SRCS := 11 | A_SRCS := 12 | CPP_SRCS := 13 | O_SRCS := 14 | ASM_SRCS := 15 | CXX_SRCS := 16 | ASM_UPPER_SRCS := 17 | OPT_SRCS := 18 | C43_SRCS := 19 | C64_SRCS := 20 | S62_SRCS := 21 | S55_SRCS := 22 | CMD_SRCS := 23 | S67_SRCS := 24 | C++_SRCS := 25 | SA_SRCS := 26 | S64_SRCS := 27 | C_UPPER_SRCS := 28 | S??_SRCS := 29 | S43_SRCS := 30 | C62_SRCS := 31 | S_SRCS := 32 | C??_SRCS := 33 | CC_SRCS := 34 | S62_DEPS := 35 | ASM_DEPS := 36 | C55_DEPS := 37 | S_UPPER_DEPS := 38 | S_DEPS := 39 | C2000_LIBRARY_OUTPUTS := 40 | CPP_DEPS := 41 | C64_DEPS := 42 | C43_DEPS := 43 | C62_DEPS := 44 | OBJS := 45 | C??_DEPS := 46 | S??_DEPS := 47 | S55_DEPS := 48 | C_DEPS := 49 | C_UPPER_DEPS := 50 | SA_DEPS := 51 | C++_DEPS := 52 | CC_DEPS := 53 | S64_DEPS := 54 | CXX_DEPS := 55 | S43_DEPS := 56 | S67_DEPS := 57 | C67_DEPS := 58 | ASM_UPPER_DEPS := 59 | OPT_DEPS := 60 | 61 | # Every subdirectory with source files must be described here 62 | SUBDIRS := \ 63 | . \ 64 | 65 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/cc_build_Debug.log: -------------------------------------------------------------------------------- 1 | --------------------------- DMCDRV_ml.pjt - Debug --------------------------- 2 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../../../DMC/c28/lib/drvlib/build/Debug.lkf" "DSP28_usDelay.asm" 3 | 4 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28x_en.c" 5 | 6 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28xcap.c" 7 | 8 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28xileg_vdc.c" 9 | 10 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28xileg_vdc_vcon.c" 11 | 12 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28xpwm.c" 13 | 14 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28xpwmdac.c" 15 | 16 | "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj/" -i"../include" -i"../../../../../c28/DSP28/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "f28xqep.c" 17 | 18 | "C:\ti\c2000\cgtools\bin\ar2000" @"Debug.lkf" 19 | ==> new archive 'C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\lib\DMCDRV_ml.L28' 20 | ==> member name 'C:\Texas_F2812\tmp2\c28\DSP28\obj\DSP28_usDelay.obj', truncated to 'DSP28_usDelay.o' 21 | ==> member name 'C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xileg_vdc.obj', truncated to 'f28xileg_vdc.ob' 22 | ==> member name 'C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\obj\f28xileg_vdc_vcon.obj', truncated to 'f28xileg_vdc_vc' 23 | ==> building archive 'C:\Texas_F2812\tmp2\DMC\c28\lib\drvlib\lib\DMCDRV_ml.L28' 24 | 25 | Build Complete, 26 | 0 Errors, 0 Warnings, 0 Remarks. 27 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/macros.ini: -------------------------------------------------------------------------------- 1 | 2 | EXT_ROOT__DMCDRV_ml = ../../../../ 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/build/migration.log: -------------------------------------------------------------------------------- 1 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 2 | 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/include/F28335_mask.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/include/F28335_mask.h -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/include/F28335_pwm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/include/F28335_pwm.h -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/include/F28335_qep.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/include/F28335_qep.h -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/include/F28335_vdc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/include/F28335_vdc.h -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/lib/DMCDRV_ml.L28: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/lib/DMCDRV_ml.L28 -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DLOG4CHC.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DLOG4CHC.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_ADC_cal.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_ADC_cal.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_DefaultIsr.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_DefaultIsr.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_GlobalVariableDefs.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_GlobalVariableDefs.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_PieCtrl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_PieCtrl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_PieVect.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_PieVect.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_SysCtrl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_SysCtrl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/DSP2833x_usDelay.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/DSP2833x_usDelay.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/F28335_pwm.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/F28335_pwm.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/F28335_qep.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/F28335_qep.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/F28335_vdc.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/F28335_vdc.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/atan2_tab.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/atan2_tab.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/atan_tab.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/atan_tab.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/clarke.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/clarke.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/fix_float.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/fix_float.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/ipark.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/ipark.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/park.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/park.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/pid_reg3.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/pid_reg3.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/pmsm.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/pmsm.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/rampgen.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/rampgen.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/rmp_cntl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/rmp_cntl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/sin_tab.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/sin_tab.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/speed_fr.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/speed_fr.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/obj/svgen_dq.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/obj/svgen_dq.obj -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/src/F28335_pwm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/src/F28335_pwm.c -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/src/F28335_qep.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/src/F28335_qep.c -------------------------------------------------------------------------------- /PMSMCONTROL/lib/drvlib/src/F28335_vdc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/lib/drvlib/src/F28335_vdc.c -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/.ccsproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/.cdtproject: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/.settings/org.eclipse.cdt.core.prefs: -------------------------------------------------------------------------------- 1 | #Mon Jun 18 09:16:13 CEST 2012 2 | eclipse.preferences.version=1 3 | indexerId=org.eclipse.cdt.core.domsourceindexer 4 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/.settings/org.eclipse.cdt.managedbuilder.core.prefs: -------------------------------------------------------------------------------- 1 | #Mon Jun 18 09:16:12 CEST 2012 2 | com.ti.ccstudio.buildDefinitions.C2000.Debug.1623626448/internalBuilder/enabled=false 3 | com.ti.ccstudio.buildDefinitions.C2000.Debug.1623626448/internalBuilder/ignoreErr=true 4 | com.ti.ccstudio.buildDefinitions.C2000.Release.143881290/internalBuilder/enabled=false 5 | com.ti.ccstudio.buildDefinitions.C2000.Release.143881290/internalBuilder/ignoreErr=true 6 | eclipse.preferences.version=1 7 | environment/project=\r\n\r\n 8 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Debug.1623626448=\r\n\r\n 9 | environment/project/com.ti.ccstudio.buildDefinitions.C2000.Release.143881290=\r\n\r\n 10 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/28335_RAM_lnk.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/build/28335_RAM_lnk.cmd -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/Debug.lkf: -------------------------------------------------------------------------------- 1 | -z -q -c -m"../build/pmsm3_1.map" -o"../build/pmsm3_1.out" -stack0x50 -x -i"c:/ti/c2000/cgtools/lib" -i"C:/ti/c2000/bios/lib" -i"C:/ti/c2000/rtdx/lib" -i"C:/ti/c2000/cgtools/lib" -l"rts2800_ml.lib" 2 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_DefaultIsr.obj" 3 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_GlobalVariableDefs.obj" 4 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_PieCtrl.obj" 5 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_PieVect.obj" 6 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_SysCtrl.obj" 7 | "C:\temp\MS\pmsm1\DMC\c28\sys\pmsm3_1\cIQmath\obj\pmsm3_1.obj" 8 | "C:\temp\MS\pmsm1\DMC\c28\lib\dloglib\lib\dataLOG.L28" 9 | "C:\temp\MS\pmsm1\DMC\c28\lib\dmclib\cIQmath\lib\iqDMC_ml.L28" 10 | "C:\temp\MS\pmsm1\DMC\c28\lib\dmclib\cIQmath\lib\IQmath.lib" 11 | "C:\temp\MS\pmsm1\DMC\c28\lib\drvlib\lib\DMCDRV_ml.L28" 12 | "C:\temp\MS\pmsm1\DMC\c28\sys\pmsm3_1\cIQmath\build\EzDSP_RAM_lnk.cmd" 13 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/Debug.lkv: -------------------------------------------------------------------------------- 1 | -z -q -c -m"../build/pmsm3_1.map" -o"../build/pmsm3_1.out" -stack0x50 -x -i"c:/ti/c2000/cgtools/lib" -i"C:/ti/c2000/bios/lib" -i"C:/ti/c2000/rtdx/lib" -i"C:/ti/c2000/cgtools/lib" -l"rts2800_ml.lib" 2 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_DefaultIsr.obj" 3 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_GlobalVariableDefs.obj" 4 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_PieCtrl.obj" 5 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_PieVect.obj" 6 | "C:\temp\MS\pmsm1\c28\DSP28\obj\DSP28_SysCtrl.obj" 7 | "C:\temp\MS\pmsm1\DMC\c28\sys\pmsm3_1\cIQmath\obj\pmsm3_1.obj" 8 | "C:\temp\MS\pmsm1\DMC\c28\lib\dloglib\lib\dataLOG.L28" 9 | "C:\temp\MS\pmsm1\DMC\c28\lib\dmclib\cIQmath\lib\iqDMC_ml.L28" 10 | "C:\temp\MS\pmsm1\DMC\c28\lib\dmclib\cIQmath\lib\IQmath.lib" 11 | "C:\temp\MS\pmsm1\DMC\c28\lib\drvlib\lib\DMCDRV_ml.L28" 12 | "C:\temp\MS\pmsm1\DMC\c28\sys\pmsm3_1\cIQmath\build\EzDSP_RAM_lnk.cmd" 13 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/Debug/objects.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | LIBS := -l"rts2800_ml.lib" 6 | 7 | USER_OBJS := -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/Debug/sources.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | C67_SRCS := 6 | S_UPPER_SRCS := 7 | CMD_UPPER_SRCS := 8 | LIB_SRCS := 9 | OBJ_SRCS := 10 | C55_SRCS := 11 | C_SRCS := 12 | A_SRCS := 13 | CPP_SRCS := 14 | O_SRCS := 15 | ASM_SRCS := 16 | CXX_SRCS := 17 | ASM_UPPER_SRCS := 18 | OPT_SRCS := 19 | C43_SRCS := 20 | C64_SRCS := 21 | S62_SRCS := 22 | S55_SRCS := 23 | CMD_SRCS := 24 | S67_SRCS := 25 | C++_SRCS := 26 | SA_SRCS := 27 | S64_SRCS := 28 | C_UPPER_SRCS := 29 | S??_SRCS := 30 | S43_SRCS := 31 | C62_SRCS := 32 | S_SRCS := 33 | C??_SRCS := 34 | CC_SRCS := 35 | S62_DEPS := 36 | ASM_DEPS := 37 | C55_DEPS := 38 | S_UPPER_DEPS := 39 | S_DEPS := 40 | CPP_DEPS := 41 | C64_DEPS := 42 | C43_DEPS := 43 | C62_DEPS := 44 | OBJS := 45 | C??_DEPS := 46 | S??_DEPS := 47 | S55_DEPS := 48 | C_DEPS := 49 | C_UPPER_DEPS := 50 | SA_DEPS := 51 | C2000_EXECUTABLE_OUTPUTS := 52 | C++_DEPS := 53 | CC_DEPS := 54 | S64_DEPS := 55 | CXX_DEPS := 56 | S43_DEPS := 57 | S67_DEPS := 58 | C67_DEPS := 59 | ASM_UPPER_DEPS := 60 | OPT_DEPS := 61 | 62 | # Every subdirectory with source files must be described here 63 | SUBDIRS := \ 64 | . \ 65 | 66 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/SdDllLog.txt: -------------------------------------------------------------------------------- 1 | LoadLibrary sdspi515.dll, Port Address 0x0378 2 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/SdEmuLog.txt: -------------------------------------------------------------------------------- 1 | ***** Spectrum Digital Inc. ***** 2 | ***** www.spectrumdigital.com ***** 3 | 4 | Config File Path(sdopts.cfg) = C:\WINDOWS\SYSTEM 5 | Connecting to XDS510PP_PLUS or generic EZDSP 6 | Incoming Port Address = 0x0378 7 | EmuPortAddr = 0x0378 8 | Port Mode = SPP8 9 | EmuPortSpeed = 0 10 | EmuAddLinkDelay(Total) = 0 11 | EmuDisablePolling = YES 12 | EmuPulseTrst = YES 13 | Emulation memory allocated= 100000 words 14 | SCIF Error = 0 15 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/SdTempBoardFile.dat: -------------------------------------------------------------------------------- 1 | ;CFG-2.0 2 | "cpu_0" TI320C54x 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/cc_build_Debug.log: -------------------------------------------------------------------------------- 1 | ------------------------- pmsm3_1_dmc550.pjt - Debug ------------------------- 2 | [DSP28_DefaultIsr.c] "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -i"./include" -i"../include" -i"../../../../lib/dmclib/cIQmath/include" -i"../../../../../../c28/DSP28/include" -i"../../../../lib/dloglib/include" -i"../../../../lib/drvlib/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../../../DMC/c28/sys/pmsm3_1/cIQmath/build/Debug.lkf" "DSP28_DefaultIsr.c" 3 | 4 | [DSP28_GlobalVariableDefs.c] "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -i"./include" -i"../include" -i"../../../../lib/dmclib/cIQmath/include" -i"../../../../../../c28/DSP28/include" -i"../../../../lib/dloglib/include" -i"../../../../lib/drvlib/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../../../DMC/c28/sys/pmsm3_1/cIQmath/build/Debug.lkf" "DSP28_GlobalVariableDefs.c" 5 | 6 | [DSP28_PieCtrl.c] "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -i"./include" -i"../include" -i"../../../../lib/dmclib/cIQmath/include" -i"../../../../../../c28/DSP28/include" -i"../../../../lib/dloglib/include" -i"../../../../lib/drvlib/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../../../DMC/c28/sys/pmsm3_1/cIQmath/build/Debug.lkf" "DSP28_PieCtrl.c" 7 | 8 | [DSP28_PieVect.c] "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -i"./include" -i"../include" -i"../../../../lib/dmclib/cIQmath/include" -i"../../../../../../c28/DSP28/include" -i"../../../../lib/dloglib/include" -i"../../../../lib/drvlib/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../../../DMC/c28/sys/pmsm3_1/cIQmath/build/Debug.lkf" "DSP28_PieVect.c" 9 | 10 | [DSP28_SysCtrl.c] "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -i"./include" -i"../include" -i"../../../../lib/dmclib/cIQmath/include" -i"../../../../../../c28/DSP28/include" -i"../../../../lib/dloglib/include" -i"../../../../lib/drvlib/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../../../DMC/c28/sys/pmsm3_1/cIQmath/build/Debug.lkf" "DSP28_SysCtrl.c" 11 | 12 | [pmsm3_1.c] "C:\ti\c2000\cgtools\bin\cl2000" -g -q -fr"../obj" -i"./include" -i"../include" -i"../../../../lib/dmclib/cIQmath/include" -i"../../../../../../c28/DSP28/include" -i"../../../../lib/dloglib/include" -i"../../../../lib/drvlib/include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"../build/Debug.lkf" "pmsm3_1.c" 13 | 14 | [Linking...] "C:\ti\c2000\cgtools\bin\cl2000" -@"Debug.lkf" 15 | 16 | Build Complete, 17 | 0 Errors, 0 Warnings, 0 Remarks. 18 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/macros.ini: -------------------------------------------------------------------------------- 1 | 2 | EXT_ROOT__pmsm3_1_dmc550 = ../../../ 3 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/migration.log: -------------------------------------------------------------------------------- 1 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 2 | 3 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 4 | 5 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 6 | 7 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 8 | 9 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 10 | 11 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 12 | 13 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 14 | 15 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 16 | 17 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 18 | 19 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 20 | 21 | !WARNING: This project sets build-options on tool 'DspBiosBuilder', but does not contain a DSP/BIOS configuration file. These build-settings will be ignored. If you wish to preserve these build-settings, create an empty .tcf file in the project prior to migration. 22 | 23 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/pmsm.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/build/pmsm.out -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/pmsm3_1.wks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/build/pmsm3_1.wks -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/pmsm3_1_dmc550.paf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/build/pmsm3_1_dmc550.paf -------------------------------------------------------------------------------- /PMSMCONTROL/sys/build/pmsm3_1_dmc550.pjt: -------------------------------------------------------------------------------- 1 | ; Code Composer Project File, Version 2.0 (do not modify or remove this line) 2 | 3 | [Project Settings] 4 | ProjectName="I3SProjectPMSM" 5 | ProjectDir="C:\Documents and Settings\projet\Bureau\TestCode 1\PMSMCONTROL\sys\build" 6 | ProjectType=Executable 7 | CPUFamily=TMS320C28XX 8 | Tool="Compiler" 9 | Tool="DspBiosBuilder" 10 | Tool="Linker" 11 | Config="Debug" 12 | Config="Release" 13 | 14 | [Source Files] 15 | Source="..\..\..\DSP2833x\source\DSP2833x_DefaultIsr.c" 16 | Source="..\..\..\DSP2833x\source\DSP2833x_GlobalVariableDefs.c" 17 | Source="..\..\..\DSP2833x\source\DSP2833x_PieCtrl.c" 18 | Source="..\..\..\DSP2833x\source\DSP2833x_PieVect.c" 19 | Source="..\..\..\DSP2833x\source\DSP2833x_SysCtrl.c" 20 | Source="..\..\..\DSP2833x\source\DSP2833x_ADC_cal.asm" 21 | Source="..\..\..\DSP2833x\source\DSP2833x_usDelay.asm" 22 | Source="..\..\lib\drvlib\src\F28335_qep.c" 23 | Source="..\..\lib\drvlib\src\F28335_vdc.c" 24 | Source="..\..\lib\drvlib\src\F28335_pwm.c" 25 | Source="..\..\lib\dloglib\src\DLOG4CHC.asm" 26 | Source="..\..\lib\dmclib\cfloat\src\atan_tab.c" 27 | Source="..\..\lib\dmclib\cIQmath\src\clarke.c" 28 | Source="..\..\lib\dmclib\cfloat\src\fix_float.c" 29 | Source="..\..\lib\dmclib\cIQmath\src\ipark.c" 30 | Source="..\..\lib\dmclib\cIQmath\src\park.c" 31 | Source="..\..\lib\dmclib\cIQmath\src\pid_reg3.c" 32 | Source="..\..\lib\dmclib\cIQmath\src\rampgen.c" 33 | Source="..\..\lib\dmclib\cIQmath\src\rmp_cntl.c" 34 | Source="..\..\lib\dmclib\cIQmath\src\speed_fr.c" 35 | Source="..\..\lib\dmclib\cIQmath\src\svgen_dq.c" 36 | Source="..\..\lib\dmclib\cfloat\src\sin_tab.c" 37 | Source="..\..\lib\dmclib\cfloat\src\atan2_tab.c" 38 | Source="..\..\lib\dloglib\lib\dataLOG.L28" 39 | Source="..\..\lib\dmclib\cfloat\lib\fDMC_ml.L28" 40 | Source="..\..\lib\dmclib\cIQmath\lib\iqDMC_ml.L28" 41 | Source="..\..\lib\dmclib\cIQmath\lib\IQmath.lib" 42 | Source="..\..\lib\drvlib\lib\DMCDRV_ml.L28" 43 | Source="..\src\pmsm.c" 44 | Source="DSP2833x_Headers_nonBIOS.cmd" 45 | Source="28335_RAM_lnk.cmd" 46 | 47 | ["Compiler" Settings: "Debug"] 48 | Options=-g -q -fr"..\obj" -fr"..\..\lib\dloglib\obj" -fr"..\..\lib\dmclib\obj" -fr"..\..\lib\drvlib\obj" -i".\include" -i"..\include" -i"..\..\lib\dmclib\cIQmath\include" -i"..\..\lib\dmclib\cfloat\include" -i"..\..\..\DSP2833x\include" -i"..\..\lib\dloglib\include" -i"..\..\lib\drvlib\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 49 | 50 | ["Compiler" Settings: "Release"] 51 | Options=-q -o3 -fr"C:\temp\MS\pmsm1\DMC\c28\sys\pmsm3_1\cIQmath\build\obj" -d"LARGE_MODEL" -ml -v28 52 | 53 | ["DspBiosBuilder" Settings: "Debug"] 54 | Options=-v28 55 | 56 | ["DspBiosBuilder" Settings: "Release"] 57 | Options=-v28 58 | 59 | ["Linker" Settings: "Debug"] 60 | Options=-q -c -m"..\build\pmsm.map" -o"..\build\pmsm.out" -stack0x50 -x -i"C:\Program Files\Texas Instruments\ccsv4\tools\compiler\c2000\lib" -l"rts2800_ml.lib" 61 | 62 | ["Linker" Settings: "Release"] 63 | Options=-q -c -o".\Release\k1_ev.out" -x 64 | 65 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/include/build.h: -------------------------------------------------------------------------------- 1 | /* ================================================================================= 2 | File name: BUILD.H 3 | 4 | Originator: Digital Control Systems Group 5 | Texas Instruments 6 | 7 | Description: 8 | Incremental Build Level control file. 9 | ===================================================================================== 10 | History: 11 | ------------------------------------------------------------------------------------- 12 | 05-15-2002 Release Rev 1.0 13 | ================================================================================= */ 14 | 15 | #ifndef BUILDLEVEL 16 | 17 | /*------------------------------------------------------------------------------ 18 | Following is the list of the Build Level choices. 19 | ------------------------------------------------------------------------------*/ 20 | #define LEVEL1 1 /* SVGEN_DQ and FC_PWM_DRV tests */ 21 | #define LEVEL2 2 /* Currents measurement test */ 22 | #define LEVEL3 3 /* Two current PI regulator tests */ 23 | #define LEVEL4 4 /* QEP test and angle calibration */ 24 | #define LEVEL5 5 /* Speed closed loop using measured speed based QEP */ 25 | #define ALWAYS_RUN 26 | 27 | /*------------------------------------------------------------------------------ 28 | This line sets the BUILDLEVEL to one of the available choices. 29 | ------------------------------------------------------------------------------*/ 30 | #define BUILDLEVEL LEVEL5 31 | #ifndef BUILDLEVEL 32 | #error Critical: BUILDLEVEL must be defined !! 33 | #endif /* BUILDLEVEL */ 34 | 35 | #endif /* BUILDLEVEL */ 36 | 37 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/include/parameter.h: -------------------------------------------------------------------------------- 1 | /* ============================================================================== 2 | System Name: PMSM31 3 | 4 | File Name: PARAMETER.H 5 | 6 | Description: Parameters file for the Real Implementation of Sensored 7 | Field Orientation Control for a Three Phase Permanent-Magnet 8 | Synchronous Motor (PMSM) 9 | 10 | Originator: Digital control systems Group - Texas Instruments 11 | 12 | ===================================================================================== 13 | History: 14 | ------------------------------------------------------------------------------------- 15 | 05-15-2002 Release Rev 1.0 16 | ================================================================================= */ 17 | 18 | #ifndef PARAMETER_H 19 | #define PARAMETER_H 20 | 21 | /*------------------------------------------------------------------------------- 22 | Next, definitions used in main file. 23 | -------------------------------------------------------------------------------*/ 24 | #define PI 3.14159265358979 25 | 26 | /* Define the system frequency (MHz) */ 27 | #define SYSTEM_FREQUENCY 150 28 | 29 | /* Define the ISR frequency (kHz) */ 30 | #define ISR_FREQUENCY 20 31 | 32 | // Parameters not used for sensored control are commented out. 33 | 34 | /* This machine parameters are based on 24-v Applied Motion PMSM motor (A0050-103-3-000) */ 35 | /* Define the PMSM motor parameters */ 36 | //#define RS 1.11 /* Stator resistance (ohm) */ 37 | //#define RR 0 /* Rotor resistance (ohm) */ 38 | //#define LS 0.00127 /* Stator inductance (H) */ 39 | //#define LR 0 /* Rotor inductance (H) */ 40 | //#define PM 0.01289 /* Permanent-magnat flux (volt.sec/rad) */ 41 | #define P 8 /* Number of poles */ 42 | 43 | /* Define the base quantites */ 44 | //#define BASE_VOLTAGE 13.86 /* Base peak phase voltage (volt) */ 45 | //#define BASE_CURRENT 3 /* Base peak phase current (amp) */ 46 | //#define BASE_TORQUE 7.35105194 /* Base torque (N.m) */ 47 | //#define BASE_FLUX 0.79616 /* Base flux linkage (volt.sec/rad) */ 48 | #define BASE_FREQ 60 /* Base electrical frequency (Hz) */ 49 | 50 | #endif // end of PARAMETER.H definition 51 | 52 | //=========================================================================== 53 | // No more. 54 | //=========================================================================== 55 | -------------------------------------------------------------------------------- /PMSMCONTROL/sys/include/pmsm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/include/pmsm.h -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/DSP2833x_DefaultIsr.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/DSP2833x_DefaultIsr.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/DSP2833x_GlobalVariableDefs.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/DSP2833x_GlobalVariableDefs.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/DSP2833x_PieCtrl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/DSP2833x_PieCtrl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/DSP2833x_PieVect.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/DSP2833x_PieVect.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/DSP2833x_SysCtrl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/DSP2833x_SysCtrl.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/pmsm.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/pmsm.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/speed_est.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/speed_est.obj -------------------------------------------------------------------------------- /PMSMCONTROL/sys/obj/speed_fr1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lestums/PMSM-28335/52f9df3790dfe79d7d7820c944e02688e5718210/PMSMCONTROL/sys/obj/speed_fr1.obj -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | PMSM-28335 2 | ========== 3 | 4 | Real Time Implementation of sensorless field orientation control for a three-phase Permanent-Magnetic Synchronous Motor with F28335 Texas Instrument DSP 5 | --------------------------------------------------------------------------------