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:无法基于 ePWM 触发器触发 ADC 通知

Guru**** 2027820 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1169492/tms570lc4357-tms570lc4357-unable-to-trigger-adc-notification-based-on-epwm-trigger

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

您好!

我已在 halcogen 配置中启用了用于 ADC 通知的 RTI 和 ePWM。 我可以在 RTI 通知函数中看到 RTI 中断被触发、但我看不到 ADC 通知是由 ePWM 事件触发的。 我 有3个 ADC 引脚输入、如下所示、但 AL 值与 ADC_DATA[0].value 相同。

ADC_DATA[0].value =(uint16)(adcREG1->GxBUF[adcGROUP1].BUF0);///从电位计//获取第一个转换引脚8的值
ADC_DATA[1].value =(uint16)(adcREG1->GxBUF[adcGROUP1].BUF0);///从由 ePWM//触发的电流感应中获取第一个转换引脚10的值
ADC_DATA[2].value =(uint16)(adcREG1->GxBUF[adcGROUP1].BUF0);////从由 ePWM//触发的电流感应中获取第一个转换引脚11的值

您可以帮助检查我的 halcogen 和代码吗?:

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

下面是我的参考示例:

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

请帮助解决此问题。

谢谢你。

此致、

Lukman

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Lukman:

    您未共享 ETPWM 配置、能否确保正确配置 ETPWM?

    尤其是在一个下面

    您是否启用了 ADC SOCA?

    --
    谢谢、此致、
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jagadish、

    感谢你的答复。

    实际上、我在   ADC_DATA[0]上获得了值。该值用于转换电位计的模拟电压、并确认其正确的值。

    然后  、连接到电流感测的 ADC_DATA[1].value (ADC 引脚10)& ADC_DATA[2].value (ADC 引脚11)与 ADC_DATA[0].value 具有相同的值。

    请检查下图中的 PWM 设置。 我启用了 ADC SOCA。 在引脚多路复用上、默认情况下我还看到了选择 eTPWM SOC 启动的情况。 敬请注意、是否需要进行任何设置或寄存器、以便 ADC_DATA[1].Value (ADC 引脚10)&  ADC_DATA[2].Value (ADC 引脚11)可以 从电流感测中获得正确的值? 或者、由于我使用硬件触发器、我应该 用电线将 eTPWM 引脚连接到 ADC 引脚、还是不需要?

    谢谢你。

    此致、

    Lukman

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Lukman:

    您能否使用以下项目进行测试。

    e2e.ti.com/.../ADC_5F00_with_5F00_ETPWM_5F00_LC43.zip

    在该项目中、我将使用该 PWM I AM 触发 ADC 生成周期为6mS 且占空比为50%的 PWM 信号、该 ADC 以中断模式运行。 每当发生 ADC 中断时、我都会将转换后的数据复制到缓冲区中、因此请参阅上面的项目并在您的末尾对其进行测试

    --
    谢谢、此致。
    Jagadish。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [已删除]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jagadish、  

    我想更新我解决了我的问题。 在我将闪存设置 从只需要扇区更改为整个闪存后、一切都运行良好。

    感谢你的帮助。

    谢谢你。

    此致、

    Lukman