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.

[参考译文] TMS320F28377D:如何对 CPU 中断进行 TRIG (ADCA1,或 TIMER0...) 由 CLA 协处理器?提供

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/605870/tms320f28377d-how-to-trig-a-cpu-interrupt-adca1-or-timer0-by-cla-coprocessor

器件型号:TMS320F28377D

您好,TI 的 FAE:

最近、我配置了 CLA 协处理器、即使是基于 TMS320F28377SPZPT 的外设中断或软件模式、它也由 CPU 进行微调,然而、,我不知道如何 通过 CLA 协处理器在 CPU 中对中断进行微调。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    C28x PIE 中有针对这一点的 PIE 中断。 您可以为这些中断注册 ISR 矢量。 CLA 任务完成后、它将触发 C28x 中断。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    听从您的意见,我在 InitCLA ():中添加了有关 ADCA1的 PIE 代码
    void CLA_initCpu1Cla1 (void)

    EALLOW;

    Cla1Regs.MVECT1=(uint16_t)(&Cla1Task1);

    //启用 IACK 指令以在软件中为所有8个 CLA 任务启动 CLA 上的任务。
    Cla1Regs.MCTL.bit.IACKE= 1;
    Cla1Regs.MIF.all= M_INT1;

    PieVectTable.ADCA1_INT=&ISR_ADC;

    DmaClaSrcSelRegs.CLA1TASKSRCSEL1.bit.task1= 0;//0:将软件源设置为任务1的触发器

    PieCtrlRegs.PIEIER1.bit.INTx1= 1;

    EDIS;


    ?、,CLA-协 处理器末尾到 ISR_ADC 开始的时间大约为1 μ s、根据 ePWM.TBCTR,我的意思是这段时间太长,但为什么是 μ s
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sal、您认为低于1us 的延迟是否符合预期? 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1在我看来、我们的时间太长了。 我将要求另一位工程师查看这一点。

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

    Sal、

    谢谢! 我们如何获得工程师对此的反馈?

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

    CLA 任务中断结束到 C28x FPU 中断标记之间的时间不是很短、对于中断注册表、你将有7个周期、对于上下文保存、你将有~15个周期、并且到 C28x 代码上的第一个可用指令。

    您之前提到过、您是指 ePWM 寄存器值来确定时序、我强烈建议您使用 GPIO 切换方案来检查此情况、以便 EPM 时基不会停止等