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.

[参考译文] TMS320F28377S:缓冲数模转换器(DAC)模块-- PWMSYNC 事件

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/749870/tms320f28377s-buffered-digital-to-analog-converter-dac-module----the-pwmsync-event

器件型号:TMS320F28377S

 您好!

我对 TMS320F28377S 器件的缓冲数模转换器(DAC)模块有疑问。

参考其技术参考手册、在第10.1节中写入"对 DAC 值寄存器的软件写入可立即生效或与 PWMSYNC 事件同步。"

我的问题是关于 PWMSYNC 事件。

我不能弄清楚 PWMSYNC 事件到底意味着什么。

在增强型脉宽调制器(ePWM)的第13章中、我找不到 与 DAC 模块相关的 PWMSYNC 事件的任何信息。

感谢您的指导。

此致、

G. Kim

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

    PWMSYNC 是指来自 ePWM 的 EPWMSYNCO 信号。 您可以在 ePWM 的"时基"一章中找到有关此内容的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Frank:

    感谢您的评论。

    我需要讨论 DACVALA 寄存器与 PWMSYNC 事件的同步。

    我使用 ePWM6模块测试了 DAC-A 模块、如下所示:

       SyncSockRegs.SYNCSELECT.BIT.EPWM4SYNCIN = 0; //EPwm1SyncOut

      EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
      EPwm5Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

      EPwm6Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

    因此 、EPWM6SYNCO 信号将每100us 生成一次。

       DacaRegs.DACCTL.bit.LOADMODE = 1;     //使能值只在 SYNC 信号上改变
       DacaRegs.DACOUTEN.bit.DACOUTEN = 1;    //启用 DAC 输出
       DacaRegs.DACCTL.bit.SYNCSEL   = 5;    //同步 SEL 5表示从 PWM 同步6

    因此、DAC-A 模块的 DACVALA 寄存器将每100us 更新一次。

    在每6.25us 执行一次 ISR 中、包含以下语句:

        DacaRegs.DACVALs.bit.DACVALS = sineTable[rslvrOut.sineIndex];

    最后、当我使用示波器测量 DACA 引脚时、我发现 DACVALA 寄存器每6.25us 更新一次。

    它不会每100us 更新一次。

    我无法弄清为什么 DACVALA 寄存器每6.25us 更新一次。

    请为我查看此问题。

    感谢您的指导。

    此致、

    G. Kim

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

    我想我知道发生了什么。 PWMSYNC 上的 SYNC 是一个电平负载而不是边沿负载、图中对此不是很清楚。 我将提交一个错误以更新它。 复位时、PWMSYNC 保持高电平、直到 ePWM 被配置。 因此、如果您在选择 SYNC 上的负载之前未配置 EPWM、那么 SYNC 上的负载的行为与 SYSCLK 上的负载相同。 确保 TBCTR 和 TBPRD 都不是0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Frank:

    感谢您的评论。

    令人遗憾的是,我无法清楚地理解你的意思。

    EPWMxSYNCO 信号应为 脉冲信号。

    在  为 DAC 模块选择 SYNC 上的负载之前、我已经配置了 ePWM。

    TBPRD 不为零。 它已配置为5、000。

    我 假设对于这个 TMS320F28377S 器 件、DACVALA 与 PWMSYNCH 事件同步的功能可能不起作用。

    请评论我的假设。

    感谢您的指导。

    此致、

    G. Kim

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

    我的意思是、PWMSYNC 信号将处于恒定高电平状态、直到 ePWM 正确配置。 此外、PWMSYNC 上的 DAC 负载是电平负载而不是边沿负载。

    我可以向您保证 PWMSYNC 上的 DAC 负载正常工作。 请仔细检查观察窗口、以确保您的所有寄存器都按照代码中的要求进行了正确配置。 另请跨完整的 ePWM 配置代码发送。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Frank:
    感谢您的评论。
    目前我可能理解你的意思。
    我假设目标 DSP 器件中的 EPWM6SYNCO 信号在复位后处于高电平。
    非常感谢您的指导。
    此致、
    G. Kim