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.

[参考译文] TMDSCNCD263:CMPSS 无效

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1225034/tmdscncd263-cmpss-not-working

器件型号:TMDSCNCD263

大家好!

我正在尝试为一个项目实现 CMPSS 模块。 首先、我只想让一个在 CCS 中运行的简单项目进行比较、该项目单独比较模拟输入电压并通过 XBAR 返回 GPIO 引脚(LED)上的比较结果。 我也使用了 SDK 中的示例、但 CMPSS 始终返回的低和高比较结果是正确的。  CMPSS_getStatus (uint32_t base) 始终返回0x0303、这意味着低电平和高电平比较都成立。

我的 CMPSSA2设置为:CMP 启用、内部 DAC 驱动负输入、高比较 DAC 值2048、无数字滤波器或斜坡、HSEC 连接器上的外部 INH 驱动正输入。 复位为默认设置。

然后我使用输出 XBAR 在 R3引脚/GPIO1 (绿色 LED)上输出信号。 XBAR 的源是 CMPSSA2 CTRIPH 事件。 复位为默认设置。 我还尝试了其他引脚作为输出、并使用万用表进行测量、但也发生了同样的情况。

我通过基板 TMDSCNHSECDOCK 为引脚12供电、并将引脚12的电压在0V 和3V 之间更改、但 LED 始终亮起。

我的代码仅用于(;){CMP_STATUS = CMPSS_getStatus (CONFIG_CMPSS0_BASE_ADDR);(加上标准的 include 和 Board_open 以及 stff)

您觉得我能做些什么来让 CMP 运行吗?

提前感谢!

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

    大家好

    您使用的 CMPSSA2实例指定了以下 ADC:

    请验证它是否为正确的 ADC 引脚:

    这些 ADC1_AIN0 -->控制卡 E2的引脚12和控制卡 E1的 ADC1_AIN0 -->引脚18。

    您能否指定您使用的是哪个控制卡?

    其中一个方法是查看 ADC 结果寄存器值并验证其是否大于2048:

    我们可以通过检查 ADC1_AIN0的值来调试这一点。

    可以配置 ADC 转换开始(SOC)、然后 可以使用 ADC 结果 API 打印 ADC 值以检查其是否大于2048。

    这是最可靠的解决方案。

    另一种方法是将 ADC 引脚接地:

    将连接到 CMPSS 的 ADC 引脚接地。 这将确保 ADC 值绝对为0并且不大于2048。

    这应将 CMPSSA2 TripH 值设置为0。

    检查 CMPSS SYSCFG 配置:

    检查是否在 syscfg 中启用 CMPSS 模块。

    检查是否选择 CMPSS 跳闸的输出为异步而不是锁存输出。

    检查输出是否未反相。

    希望这有助于调试该问题。

    谢谢、此致

    Sri Vidya