This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LC4357: TMS570LC4357: Unable to trigger ADC notification based on EPWM Trigger

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

Hi,

I have enabled RTI and EPWM for ADC notification in the halcogen configuration. I can see the RTI Interupt being triggered in the RTI notification function,but I cannot see the ADC notification is triggered by the EPWM event. I have 3 adc pin input as below, but al the value have the same value as adc_data[0].value.

adc_data[0].value = (uint16)(adcREG1->GxBUF[adcGROUP1].BUF0); ////Get value for first conversion pin 8 from Potentiometer//
adc_data[1].value = (uint16)(adcREG1->GxBUF[adcGROUP1].BUF0); ////Get value for first conversion pin 10 from current sense that triggered by EPWM//
adc_data[2].value = (uint16)(adcREG1->GxBUF[adcGROUP1].BUF0); ////Get value for first conversion pin 11 from current sense that triggered by EPWM//

Could you help check my halcogen & code?:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Init_all()
{
_enable_IRQ_interrupt_();/* enable irq interrupt in */
sciInit(); //Initialize the SCI (UART) module
adcInit(); //Initialize the ADC module
//hetInit(); //Initialize Het(PWM)//
gioInit(); //Initialize GIO//
etpwmInit();//Initialize PWM//
TI_Fee_Init();// Initialize FEE. This will create Virtual sectors, initialize global variables etc.//
rtiInit();// Initialize RTI driver //
etpwmStartTBCLK();//This function starts the time-base clocks of all eTPWMx modules
adcEnableNotification(adcREG1, adcGROUP1);//ADC enable notification
adcStartConversion(adcREG1, adcGROUP1);
rtiEnableNotification(rtiREG1,rtiNOTIFICATION_COMPARE0);// Enable RTI Compare 0 interrupt notification //
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

I am refering example below:

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1057142/tms570ls1224-unable-to-trigger-adc-notification-in-the-launchpad

Please kindly help to solve the issue.

Thank you.

Best Regards,

Lukman

  • Hi Lukman,

    You didn't share your ETPWM configuration, can you please make sure you configured ETPWM properly?

    Especially below one

    Have you enabled the ADC SOCA?

    --
    Thanks & Regards,
    Jagadish.

  • Hi Jagadish,

    Thank you for your reply.

    Actually I got value on adc_data[0].value whic is convert analog voltage from Potentiometer and I confirm its correct value.

    Then adc_data[1].value(ADC pin 10)& adc_data[2].value(ADC pin 11) which are connected to current sense, it has the same value with adc_data[0].value.

    Please kindly check the pwm setting on picture below. I did enable the ADC SOCA. On the Pin Muxing also I saw by default it selecting start of SOC of eTPWM. Please kindly advice, is there any setting or register I need to take a look so that adc_data[1].value(ADC pin 10)& adc_data[2].value(ADC pin 11) can get correct value from current sense? Or since I use Hardware trigger, should I connect  eTPWM pin to the Adc pin with wire or doesn't need?

    Thank you.

    Best Regards,

    Lukman

  • Hi Lukman,

    Can you please test with below project.

    ADC_with_ETPWM_LC43.zip

    In this project i am generating a PWM signal with 6mS period and 50% duty-cycle, using this PWM i am triggering ADC which is operate in interrupt mode. Whenever a ADC interrupt occurs i am copying converted data into buffers, so please refer above project and test it at your end.

    --
    Thanks & Regards.
    Jagadish.

  • Hi Jagadish, 

    I want to update that I solved my issue. Some how after I change my flash setting from necessary sector only to entire flash, everything is working nicely.

    I appreciate your help.

    Thank you.

    Best Regards,

    Lukman