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.

[参考译文] TMS320F28379D:将 SDFM 与 AMC1305 EVM 配合使用

Guru**** 2535750 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/765731/tms320f28379d-using-sdfm-with-amc1305-evm

器件型号:TMS320F28379D

大家好、

我正在学习如何在28379D launchpad 上配置 SDFM 和 AMC1305、因为我们在现场有许多类似的应用。

我根据 sdfm_PWM_SYNC_CPU_CPU1进行了实验。 根据该项目、我将 EPWM0配置为 AMC1305生成6MHz 时钟。 此外、我将 AMC1305的时钟信号和数据连接到 GPIO 18和 GPIO19 (SD1_C2和 SD1_D2)。 在 SD1_C2上、我可以观察6MHz 时钟、在 SD1_D2上、我可以观察数据流、如下图所示。 因此、我相信 AMC1305和 MCU 的连接是正确的。

  

但是、当代码运行到 SDFM ISR 中时、我可以观察到 MF1-4标志被置位、而不是 af2。 当读取滤波器的结果时、我只能得到0。

您能否帮助确定演示代码中我应该修改哪些内容才能获得正确的结果?

谢谢。

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

    您好、Wang、

    设置 MF 标志意味着调制器时钟(SD-CX)发生故障或缺失。 请检查 AMC1305的时钟相关配置。

    谢谢

    Vasudha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Vasudha、您好!
    如您所见、我可以观察 SD-CX 引脚上的 CLK 信号(图片中的 V1)、而时钟由28379D 本身生成。
    因此、我们肯定有调制器时钟。

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

    您的 PWM 是否配置为作为自由运行时钟运行? 如果 PWM 配置为在发生仿真事件时停止(发生断点)、则 PWM 将停止切换并显示为调制器时钟故障(MFx 位)。 检查 TBCTL.FREE_SOFT 寄存器的内容?

    此致、

    曼诺伊

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

    谢谢 Manoj、

    根据您的指导、我将 TBCTL.FREE_SOFT 设置为运行自由模式。

    SDFM 也能正常工作。

    但是、我在这里遇到了另一个问题:

    当我尝试从*(volatile UINT16 *) 0x5E27读取 SDFM 的结果时、我始终只获得0。

    我委托3个滤波器和16位模式 OSR256、这意味着需要将结果移位9位。

    当我查看 SDDATA2寄存器时、我会看到图中所示的结果。

    我的问题是:SDDATA2的结果是移位还是非移位? 我是否需要手动换档才能获得正确的结果?

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

    您无需手动移位即可获得结果、但在初始化期间需要在 SDDPARM1.bit.SH 位中配置所需的移位。

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

    Vasudha、您好!

    感谢您的回复。

    我注意到 RTM 中显示了所需移位位、滤波器类型和 OSR 之间的关系的图表。

    如果我在初始化期间设置右移、哪个寄存器代表正确的结果? Data32HI 或 Data16?

    此致、

    Brian

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

    您好!

    对于 SD2、要读取的地址为0x5E27。 对应于 DATA32HI 字段。 我认为 TRM 中的描述需要更新。

    谢谢
    Vasudha