Dear All,
I am working in a project where, a 3-p AC to DC converter is taking part for a battery charger( 120vdc/100A).TMS320F28069 is my goal for control the whole system considering ADC, PWM switching, shunt sensing and battery charging and discharing monitoring.
Kindly suggest me code expamples for how to call registers/channels/polarity/ interrupt for 3 input AC signal R, S, T for ISR function.
How to generate PWM for IGBT switching? How to determine the channel current and voltage coding. IER, ISR, CLk such kind of interrupt service routines are required. PI and PID control is necessary. I have been go through some of the periferal H/C files instruction from TI C/C++, read some assembly coding parameters.
Any related EVM source code and related documentation is required.
I have a reference design FW, It was debug in CCS version v.5.
For three phase I started with following for AC R phase initialization
#include "AC_SYNC.h"
#include "Register.h"
#include "LED.h"
#include "Message.h"
#include "PWM.h"
BOOL bACSync;
int AC_R_SyncIndex;
////////////////////////////////////////// AC Sync
void InitAC_Sync(void)
{
GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 23; // XINT1 is GPIO23, XINT1 Source Select Register,This is multiplexing MUX PIE table
XINT1 = &XINT_AC_R_ISR; // XINT1 External Interrupt 1,that is called as a function of Interrupt enable register(IER) in pie vector table
PieCtrlRegs.PIEIER1.bit.INTx4 = 1; // Enable PIE Group 1 INT4
XIntruptRegs.XINT1CR.bit.POLARITY = 1; // Riging edge, XINT1CR is external intrurrept control from GPIOINT1SL MUX [ 4:0], polarity determines rising or falling edge of a signal, 1 means EN
GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Pull UP,GPAPUD Enable the internal pullup on the specified pin,default for GPIO12-GPIO31
GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 0; // GPIO, GPIO23 is A MUX 2 Register, address 0x6F88, size 2*16,EALLOW-Protected
GpioCtrlRegs.GPADIR.bit.GPIO23 = 0; // INPUT, GPIO Port A Direction, 0 means Configures the GPIO pin as an input( default)
Next just call IER funtion for collect INT1
Currently I am using Project>properties>General > In advance setting I am using compiler v TIv6.0.2 , Liner command file F28069_CLA_lnk.cmd and rts2800_fpu32.lib for runtime support lib.
At Project>properties>Built>C2000 Compiler> at add # include search path I have have adding F2806x common and header files and CG_TOOL_ROOT.
At Project>properties>C2000 linker >file search path I have added "C:F2806x_commonF2806x_commonlibSFO_TI_Build_V6b_FPU.lib"
"rts2800_fpu32.lib" in include library.
In dir to lib search path I added "${CG_TOOL_ROOT}/include", "C:F2806x_commonF2806x_commonlib","${CG_TOOL_ROOT}/lib"
My project is non bios,
problem says,
#5 could not open source file "DSP28x_Project.h"
I removed older .asm files and include them in properties.
Document I have gone through TI's, SPRUH18h, SPRAA85a,
What do you think ?
I am working in a project where, a 3-p AC to DC converter is taking part for a battery charger( 120vdc/100A).TMS320F28069 is my goal for control the whole system considering ADC, PWM switching, shunt sensing and battery charging and discharing monitoring.
Kindly suggest me code expamples for how to call registers/channels/polarity/ interrupt for 3 input AC signal R, S, T for ISR function.
How to generate PWM for IGBT switching? How to determine the channel current and voltage coding. IER, ISR, CLk such kind of interrupt service routines are required. PI and PID control is necessary. I have been go through some of the periferal H/C files instruction from TI C/C++, read some assembly coding parameters.
Any related EVM source code and related documentation is required.
I have a reference design FW, It was debug in CCS version v.5.
For three phase I started with following for AC R phase initialization
#include "AC_SYNC.h"
#include "Register.h"
#include "LED.h"
#include "Message.h"
#include "PWM.h"
BOOL bACSync;
int AC_R_SyncIndex;
////////////////////////////////////////// AC Sync
void InitAC_Sync(void)
{
GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL = 23; // XINT1 is GPIO23, XINT1 Source Select Register,This is multiplexing MUX PIE table
XINT1 = &XINT_AC_R_ISR; // XINT1 External Interrupt 1,that is called as a function of Interrupt enable register(IER) in pie vector table
PieCtrlRegs.PIEIER1.bit.INTx4 = 1; // Enable PIE Group 1 INT4
XIntruptRegs.XINT1CR.bit.POLARITY = 1; // Riging edge, XINT1CR is external intrurrept control from GPIOINT1SL MUX [ 4:0], polarity determines rising or falling edge of a signal, 1 means EN
GpioCtrlRegs.GPAPUD.bit.GPIO23 = 0; // Pull UP,GPAPUD Enable the internal pullup on the specified pin,default for GPIO12-GPIO31
GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 0; // GPIO, GPIO23 is A MUX 2 Register, address 0x6F88, size 2*16,EALLOW-Protected
GpioCtrlRegs.GPADIR.bit.GPIO23 = 0; // INPUT, GPIO Port A Direction, 0 means Configures the GPIO pin as an input( default)
Next just call IER funtion for collect INT1
Currently I am using Project>properties>General > In advance setting I am using compiler v TIv6.0.2 , Liner command file F28069_CLA_lnk.cmd and rts2800_fpu32.lib for runtime support lib.
At Project>properties>Built>C2000 Compiler> at add # include search path I have have adding F2806x common and header files and CG_TOOL_ROOT.
At Project>properties>C2000 linker >file search path I have added "C:F2806x_commonF2806x_commonlibSFO_TI_Build_V6b_FPU.lib"
"rts2800_fpu32.lib" in include library.
In dir to lib search path I added "${CG_TOOL_ROOT}/include", "C:F2806x_commonF2806x_commonlib","${CG_TOOL_ROOT}/lib"
My project is non bios,
problem says,
#5 could not open source file "DSP28x_Project.h"
I removed older .asm files and include them in properties.
Document I have gone through TI's, SPRUH18h, SPRAA85a,
What do you think ?