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.

[参考译文] AM2612:AM261x 比较器不触发

Guru**** 2988030 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1657884/am2612-am261x-comparators-not-triggering

器件型号: AM2612
主题: SysConfig 中讨论的其他器件

您好、

      在  SDK 示例中提供的示例项目中、我有一个比较器跳闸的工作示例。 但是、我无法让 比较器模块的其余部分 跳闸。 我已经尝试了从外部对 IN+和 IN-进行布线、并使用 内部 DAC 来生成跳闸区域。  这两种方法都适用于 示例中介绍的比较器、但只要 我在 SysConfig 中增加该数量、 其他 CMPSS 就不起作用。

有人能 提供一个 与所有比较器配合使用的示例工程  吗、我可以将它与我的比较器进行比较并进行浏览吗?

我已将 CCS 和 MCU+ SDK 更新为最新版本。

感谢 您的帮助!

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

    您好、Gary、

    我们没有现成的示例工程来同时练习所有 CMPSS 实例。 但是、基于 AM261x CMPSS 架构、您额外比较器实例未触发的最可能原因与 信号路由和 XBAR 配置有关、而不是比较器设置本身。

    每个 CMPSS 实例的关键配置要求

    当您在 SDK 示例中的未添加 CMPSS 实例时、每个实例都需要自己的完整信号链 1:

    1. PWM XBAR 路由 — 每个 CMPSS 跳闸输出 (CTRIPH/CTRIPL) 必须通过 PWM XBAR 显式路由、才能到达 ePWM 数字比较子模块。 在 SysConfig 中仅启用 CMPSS 模块 不会 自动将其输出连接到任何对象。

    2. CMPSSA 和 CMPSSB 之间的输入源差异 —CMPSSA 实例允许对 IN+和 IN−进行外部路由、而 CMPSSB 实例具有固定的 DAC 连接(DAC_H 到高电平比较器负输入、DAC_L 到低电平比较器正输入)。 验证您是否为实例类型配置了正确的输入源 1.

    3. ADC 引脚映射 — 每个 CMPSS 实例均映射到特定的 ADC 输入引脚 (ADC0_AIN0–5)。 根据 ADC-CMPSS 信号连接表、确认物理引脚连接与您启用的 CMPSS 实例匹配 1.

    调试检查清单

    检查 要验证的内容
    PWM XBAR 来自每个新 CMPSS 实例的跳闸信号是否会路由到 XBAR 输出?
    输出 XBAR/GPIO 您能否通过输出 XBAR 观察 GPIO 上的比较器输出以确认它实际上正在跳闸?
    进行复用 是否对其他实例的正确 ADC/比较器输入引脚进行了多路复用?
    DAC 值 DAC 基准是否适用于该特定输入的信号范围?
    滤波器 滤波器/锁存器设置是否会阻止输出传播?

    建议的方法

    不要与完整的示例作区分、而是找出问题所在:

    1. 配置 一个 额外的 CMPSS 实例(除了示例的工作实例之外)。
    2. 通过 输出 XBAR 将其 CTRIPH 输出路由到 GPIO — 这完全绕过 ePWM 并确认比较器本身是否跳闸。
    3. 如果 GPIO 切换、则问题出在 PWM XBAR/ePWM 数字比较配置中。
    4. 如果不进行切换、问题出在比较器输入源、引脚多路复用器或 DAC 值方面。

    强烈建议在此配置中使用 SysConfig、以便尽早捕获路由错误 1.

    1. AM26x Academy - CMPSS 外设

    如果您可以共享您现有的示例代码、我们很乐意查看它。

    此致、

    Zackary Fleenor

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

    我们一直使用 SysConfig。 尽管设置与有效的 SysConfig 示例 Resource Explorer 工程相同、但我们仍无法配置其余比较器。

    一个更有针对性的问题:如何为 CMPSSA2 启用 ADC1 路径(如数据表中所述)?  

    我代表一位同事问这个问题、他说他已经通过了这份清单但没有结果(他在这方面花了很多时间)

    此致、
    灰色

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

    高灰、

    AM261x 上的 ADC 到 CMPSS 布线 在器件中是硬件固定的 、无需配置软件多路复用器寄存器。 该连接在引脚电平自动存在 1.

    CMPSSA2 具有双输入路径

    CMPSSA2  同时接受来自两个不同物理引脚集的输入 2:

    引脚 ADC 输入 CMPSS 输入
    ADC0_AIN4 ADC0:inp2 (+IN2) CMPSSA2:inH (+IN)
    ADC0_AIN5 ADC0:inm2 (-in2) CMPSSA2:INL (-IN)
    ADC1_AIN0 ADC1:inp0 (+IN0) CMPSSA2:inH (+IN)
    ADC1_AIN1 ADC1:inm0 (-IN0) CMPSSA2:INL (-IN)

    两条路径同时馈送 CMPSSA2。 您只需驱动正确的物理引脚 (ADC0_AIN4/AIN5 或 ADC1_AIN0/AIN1 )、比较器就会看到该引脚。 它们之间没有寄存器配置选择。

    最可能的根本原因:COMPHSOURCE 位

    出现完全相同症状(比较器忽略外部输入,仅响应 DAC 值变化)且已解决的 E2E 主题确定问题为 COMPCTL 位 6 (COMPHSOURCE) 设置为 1 1 :

    • COMPHSOURCE = 1 →内部 DAC 布线至比较器+ IN、完全断开外部 ADC 引脚
    • COMPHSOURCE = 0 →ADC 引脚路由至+IN、DAC 路由至−IN(对于阈值比较而言是正确的)

    FIX: 设置 CMPSSA2_COMPCTL = 0x8000 (ASYNCHEN=1、COMPHSOURCE = 0)。 请 勿 设置位 6。

    要验证的内容

    1. 读回 每个不工作 CMPSS 实例的 COMPCTL 寄存器。 确认位 6 = 0。
    2. 物理引脚连接 —确认您的信号位于 ADC0_AIN4 或 ADC1_AIN0 上(对于 CMPSSA2:inH)。
    3. 未使用的−IN 引脚 — 如果将单端模式与内部 DAC 一起使用、请将未使用的 INL 引脚 (ADC0_AIN5 或 ADC1_AIN1) 直接连接到 GND。 请勿将其悬空 1.
    4. 快速验证 — 通过输出 XBAR 将 CTRIPH 路由到 GPIO、以确认比较器实际上正在跳闸、这与 ePWM/跳闸区域配置无关。

    添加新实例时、SysConfig 将 COMPHSOURCE 默认为 1、这解释了 SDK 示例可正常工作但其他实例不可正常工作的原因。

    跟进: 您能否读回 CMPSSA2_COMPCTL 寄存器值并确认当前配置中的位 6 (COMPHSOURCE) 是 0 还是 1?


    1. AM2612:AM261x CMPSS 引脚选择–E2E 论坛
    2. AM261x 数据表 (SPRSPA7C)–ADC-CMPSS 信号连接

    此致、

    Zackary Fleenor