Hi,
I was trying to capture the F28069 PWM signals thru ADC while implementing the PM_Sensorless.c project with CCSV4. The following changes was done to the project.
--> F2806xileg_vdc_PM.h : (initialising the ADC's)
---> PM_Sensorless.c : (Capturing the result in ADC registers)
int16 PWM_ADC[7]; Added the following lines in Level 1 just after PWM_DRV module i.e., at line 645
With the above changes in the code the ADC pins were connected to PWM1 to 6. However the graphs / watch window does indicate the PWM wave form generation. Could you please review and suggest how to integrate the ADC capturing of PWM's. What changes would be needed. Thx & Rgds
- AdcRegs.ADCSOC7CTL.bit.CHSEL = 3; /* PWM1*/ \
- AdcRegs.ADCSOC7CTL.bit.TRIGSEL = 5; \
- AdcRegs.ADCSOC7CTL.bit.ACQPS = 6; \
- \
- AdcRegs.ADCSOC8CTL.bit.CHSEL = 4; /* PWM2*/ \
- AdcRegs.ADCSOC8CTL.bit.TRIGSEL = 5; \
- AdcRegs.ADCSOC8CTL.bit.ACQPS = 6; \
- \
- AdcRegs.ADCSOC9CTL.bit.CHSEL = 5; /* PWM3*/ \
- AdcRegs.ADCSOC9CTL.bit.TRIGSEL = 5; \
- AdcRegs.ADCSOC9CTL.bit.ACQPS = 6; \
- \
- AdcRegs.ADCSOC10CTL.bit.CHSEL = 6; /* PWM4*/ \
- AdcRegs.ADCSOC10CTL.bit.TRIGSEL = 5; \
- AdcRegs.ADCSOC10CTL.bit.ACQPS = 6; \
- \
- AdcRegs.ADCSOC11CTL.bit.CHSEL = 13; /* PWM5*/ \
- AdcRegs.ADCSOC11CTL.bit.TRIGSEL = 5; \
- AdcRegs.ADCSOC11CTL.bit.ACQPS = 6; \
- \
- AdcRegs.ADCSOC12CTL.bit.CHSEL = 14; /* PWM6*/ \
- AdcRegs.ADCSOC12CTL.bit.TRIGSEL = 5; \
- AdcRegs.ADCSOC12CTL.bit.ACQPS = 6; \
---> PM_Sensorless-DevInit_F2806x.c (Initialising PWM)
- // GPIO-00 - PIN FUNCTION = PWM1
- GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // 0=GPIO, 1=EPWM1A, 2=Resv, 3=Resv
- // GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; // 1=OUTput, 0=INput
- // GpioDataRegs.GPACLEAR.bit.GPIO0 = 1; // uncomment if --> Set Low initially
- // GpioDataRegs.GPASET.bit.GPIO0 = 1; // uncomment if --> Set High initially
- //--------------------------------------------------------------------------------------
- // GPIO-01 - PIN FUNCTION = PWM2
- GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // 0=GPIO, 1=EPWM1B, 2=EMU (0), 3=COMP1OUT
- // GpioCtrlRegs.GPADIR.bit.GPIO1 = 1; // 1=OUTput, 0=INput
- // GpioDataRegs.GPACLEAR.bit.GPIO1 = 1; // uncomment if --> Set Low initially
- // GpioDataRegs.GPASET.bit.GPIO1 = 1; // uncomment if --> Set High initially
- //--------------------------------------------------------------------------------------
- // GPIO-02 - PIN FUNCTION = PWM3
- GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1; // 0=GPIO, 1=EPWM2A, 2=Resv, 3=Resv
- // GpioCtrlRegs.GPADIR.bit.GPIO2 = 0; // 1=OUTput, 0=INput
- // GpioDataRegs.GPACLEAR.bit.GPIO2 = 1; // uncomment if --> Set Low initially
- // GpioDataRegs.GPASET.bit.GPIO2 = 1; // uncomment if --> Set High initially
- //--------------------------------------------------------------------------------------
- // GPIO-03 - PIN FUNCTION = PWM4
- GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1; // 0=GPIO, 1=EPWM2B, 2=SPISOMIA, 3=COMP2OUT
- // GpioCtrlRegs.GPADIR.bit.GPIO3 = 1; // 1=OUTput, 0=INput
- // GpioDataRegs.GPACLEAR.bit.GPIO3 = 1; // uncomment if --> Set Low initially
- // GpioDataRegs.GPASET.bit.GPIO3 = 1; // uncomment if --> Set High initially
- //--------------------------------------------------------------------------------------
- // GPIO-04 - PIN FUNCTION = PWM5
- GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1; // 0=GPIO, 1=EPWM3A, 2=Resv, 3=Resv
- // GpioCtrlRegs.GPADIR.bit.GPIO4 = 0; // 1=OUTput, 0=INput
- // GpioDataRegs.GPACLEAR.bit.GPIO4 = 1; // uncomment if --> Set Low initially
- // GpioDataRegs.GPASET.bit.GPIO4 = 1; // uncomment if --> Set High initially
- //--------------------------------------------------------------------------------------
- // GPIO-05 - PIN FUNCTION = PWM6
- GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1; // 0=GPIO, 1=EPWM3B, 2=SPISIMOA, 3=ECAP1
- // GpioCtrlRegs.GPADIR.bit.GPIO5 = 1; // 1=OUTput, 0=INput
- // GpioDataRegs.GPACLEAR.bit.GPIO5 = 1; // uncomment if --> Set Low initially
- // GpioDataRegs.GPASET.bit.GPIO5 = 1; // uncomment if --> Set High initially