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.

[参考译文] TMS320F28374S:执行 CLATASK 的时间顺序

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1437009/tms320f28374s-the-time-order-in-which-clatasks-are-executed

器件型号:TMS320F28374S

工具与软件:

Hellow:

我有一个关于不同 CLATASK 的问题如下:

我目前在我的项目中使用 CLAMtask2和 CLAMtask3、

在 ADC 中断中采样完成后、任务2由 IACK 指令强制触发

由一个高于 ADC 中断速率的 PWM 频率触发的任务3。

CLA 配置的一部分如下:

Cla1Regs.MCTL.bit.IACKE = 1;  
Cla1Regs.MIER.all = 0x00FF;

PieCtrlRegs.PIEIER11.all = 0xFFFF;

IER |= M_INT11;

DmaClaSrcSelRegs.CLA1TASKSRCSEL1.bit.TASK3 = 38u;   

在调试期间、我发现任务3的触发次数受到了任务2任务的执行时间的影响。

在数据手册中、我看到 CLA 任务无法嵌套、因此当一个任务正在执行时、另一个任务必须等待其完成。

对吗? 如果是这样、这是否意味着我无法通过两个 CLA 任务实现所需的目标、或者我可以通过另一种方式解决问题。

谢谢!

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

    您好!

    这是正确的、不能嵌套 CLA 任务。 请参阅以下仲裁规则:

    任务在数值上越低、其优先级就越高。 因此、您的任务2 (频率较低的任务)将优先于任务3 (频率较高的任务)。 如果执行任务2的时间比每个任务3触发的时间更长、会出现一些溢出、我认为这正是你所看到的。 您可以监测 MIOVF 中任务3的溢出标志。 要确认的 INT3寄存器字段。

    只需确认一下、两个触发任务的事件都发生在同一个时钟域中、是正确的吗? 换言之、每次触发任务2时、任务3是否也应该触发(几乎同时)? 如果您想让每个任务准确地执行其触发的次数、下面是您想到的选项:

    1. 缩短任务2的执行时间、使其少于任务3的触发周期(正如您已经提到过的)
    2. 如果任务3的执行时间相对较短、你可以将任务2的部分执行移动到优先级较低的任务(例如、任务4)、这样、事件的顺序为:
      1. 如果任务2和任务3同时触发
        1. 操作任务2  
        2. 任务4在任务2结束时触发
        3. 操作任务3
        4. 操作任务4
      2. 如果首先触发任务2
        1. 会处理任务2
        2. 在任务2执行期间、触发任务3
        3. 任务4在任务2结束时触发
        4. 操作任务3
        5. 操作任务4

    在任务被触发时以及任务执行期间切换某些 GPIO 将会有所帮助、这样可以更好地了解时序。

    此致、

    Delaney

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

    您好、Delaney

    我想我理解这个问题,以及你给两个解决方案的想法。 我的最后一个解决方案是将高频 TASK3中断到任务2中。 这样、我只需要将任务2分解成等间隔的部分。 感谢您的答复、这可以让我更好地理解 CLA。

    此致。

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

    您好!

    很高兴我可以提供帮助、我现在将关闭此主题、但如果您遇到任何其他问题、请随时发布另一个主题。

    此致、

    Delaney