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:TMS320F28377D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/696270/tms320f28377d-tms320f28377d

器件型号:TMS320F28377D
主题中讨论的其他器件:C2000WARE

主席先生,

如何在28377d 开发板的 CLA 任务中从 ADC 读取值并将值写入 DAC?如果可能、任何一个共享代码片段。??

谢谢、此致、

BARADWAJ V

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

    如果您的查询是将通过 ADC 读取的相同值写入 DAC、则可以配置8个 CLA 任务中的一个由 ADC 中断调用、并且在该任务中、您可以通过您配置的任何 SOC (start_for_conversion)读取特定的 ADC 值 将该值放入 DAC 影子值中。
    要将 CLA 配置为由特定中断调用,您可以参阅寄存器 DmaClaSrcSelRegs.CLA1TASSKELx。 示例:您必须在 DmaClaSrcSelRegs.CLA1TASKSRCSEL1中输入值1、以使用 ADCAINT1触发 CLA。
    有关完整的 CLA 配置、您可以参阅中的一个示例
    \driverlib\f2837xd\examples\cpu1\cla

    有关使用软件或使用 PWM 配置 ADC 以触发的信息、以及如何读取 ADC 值、请参阅
    \driverlib\f2837xd\examples\cpu1\adc

    有关配置 DAC 和了解如何放置 DAC 影子值的信息、请参阅
    \driverlib\f2837xd\examples\cpu1\dac

    有关寄存器的信息、请参阅 F2837xd 参考手册。

    如果您需要任何其他信息、请告诉我。

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

    主席先生,

        非常感谢您的及时响应。实际上、我还需要通过 CLA 发布 DAC。这意味着 CLA 也可以在无需 CPU 干预的情况下访问 DAC 寄存器。在我们的控制套件库文件中、给定了 ADC 通过 CLA、但未给出了通过 CLA 发布 DAC。

    谢谢、此致、

    Bharadwaj

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、您是否仅在一个 ISR 中告知 ADC 集合和 DAC 布置?? 我的意思是、在同一个 CLA 任务中、对吧?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bharadwaj、您好!

    是的,您可以将这两个任务放在一个 ISR 中。 CLA 具有一些外设寄存器写入/读取保护。 如果您遇到任何访问错误、可以使用 MEALLOW 函数授予他们访问 CLA 的权限。

    如果您需要任何其他信息、请告诉我。

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

    主席先生,

    我将告诉您我的实际应用。我的代码循环时间为500微秒。在此循环时间内、我需要通过 DMA 收集400微秒的 ADC 样本、以便每当我为我的前400微 DMA 运行代码时、我的代码都将起作用。接下来的事情 在前400微秒内、我只需并行执行 DAC 发布、直到400微秒。因此、在400微秒的循环时间内、我必须同时执行 DAC 发布和 ADC 数据收集。ADC 收集问题 DMA 正在处理中。并行现在 CLA 必须执行 工作、但我的目的是不应使用 CPU 的单个时钟周期。我的 CPU 时钟周期应该是浪费的、因为我可以将其用于其他算法。

    注意:DAC 发布我实际上发布了一些数字数据、但不随 ADC 数据一起发布。

    在这种情况下、告诉 SIR CLA 能够在 DMA 执行任务时执行此任务。

    谢谢、此致、

    Bharadwaj V

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

    主席先生,

      当我尝试运行 CLA 任务(CLA ISR)时、while (1)内的 CPU 执行量增加。in while (1)我保留了一些花费200微秒的算法。现在、如果我运行 CLA 任务(DAC 在 CLA ISR 内发布) 我的 while (1)执行时间增加到300微秒。请让我摆脱这种情况。我的主 CPU 不应干扰 CLA 任务。

    谢谢、此致、

    BARADWAJ V

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

    Yashwant 似乎回答了您对 ADC、DAC 和 CLA 的第一次查询。 由于上述问题是新问题、您能否提出新问题?

    它需要 CLA 专家的回答。 为了更快地响应、建议提出新的查询。 指向此查询以设置上下文。

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

    CPU 和 CLA 在频繁读取同一存储器时会减慢速度。 这是因为存储器仲裁。 只有当变量/常量必须由 CPU 和 CLA 使用时、才应将它们放置在同一个 LS 存储器中。 未共享的变量应放置在不同的存储器中、例如 CLA 的 LS0和 CPU 的 LS1或类似的内容。

    下一次请提及您的问题的性质、而不仅仅是器件名称。

    Edward