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.

[参考译文] CCS/UCD3138A:没有 PMBus 器件响应 DEVICE_ID 请求

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/606093/ccs-ucd3138a-no-pmbus-devices-responded-to-a-device_id-request

器件型号:UCD3138A

工具/软件:Code Composer Studio

您好!

  我构建了一个50kHz 中断、并希望对 ADC 值进行采样并计算中断中的 PLL 函数。 我分别测试了中断代码、ADC 采样代码和 PLL 代码、它们都工作正常。 然后、我尝试将 ADC 采样和 PLL 代码放入中断代码中、编译成功、但无法通过 Fusion GUI 成功下载代码。 始终弹出"No PMBus devices responded to a device_ID request"错误、如下所示。

初始化代码和中断代码如下:

如果我通过如下删除"POLL_ADC()"或"pll1_ISR()"来更改中断代码、则将代码下载到芯片可以成功。

   

问题是什么? 我已经被这个问题拖了2个多小时。

另一件事是、我从视频中看到、如果我想正确使用 CCS 调试器调试代码、我需要首先通过 Fusion GUI 下载代码。 然后、在 CCS 中加载符号进行调试。 我已经尝试过多次通过 CCS 调试器进行调试、它的工作方式比内存调试器更好。 但在本例中、我无法成功下载代码、因此我猜也无法使用 CCS 调试器。 是否有任何方法仅使用 CCS 来调试 UCD3138A?

提前感谢您!

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

    我明白了! 我的 PLL 代码和数据溢出仍然有问题。 修复此错误后、我可以通过 Fusion GUI 成功下载代码。

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

    您能否发布代码 pll1_isr()? 这是您的测试 COE 吗?
    关于 CCS 调试、您需要 JTAG 仿真器来连接 CCS 并调试固件。 内存调试器仍然是值得推荐的强大工具。

    此致、
    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、这是我的测试代码。 我尝试使用以下代码计算 θ 并将其限制在0~2pi 内:

    if (theta >= two_pi) theta -= two_pi;
    if (theta < 0) theta += two_pi;

    之后、代码将查找表以获取 sin (theta)和 cos (theta)的值。

    显然、我的代码还有其他问题、即计算出的 θ 远大于我想象中的值。 在使用2 π 进行减法或加法后、θ 仍然大于2 π 或小于0。 因此与 θ 相关的表指针超出范围。 但是、如果我将这些 if 语句更改为 while 语句、以便真正地将 θ 限制在0~2pi 内、则 PMBus 错误将不会出现。