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.

[参考译文] TIC12400:生成开关状态更改(SSC)中断

Guru**** 2511985 points
Other Parts Discussed in Thread: TIC12400, TIC12400-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1344464/tic12400-switch-state-change-ssc-interrupt-generated

器件型号:TIC12400

您好!

我配置了 TIC12400、但即使 INx 上的电平从11V 变为0V (开关至 GND)、也不会生成 SSC 中断。

当开关 x 切换到 GND 时、电流将上升 x *湿性电流

INx 全部配置为 CSO

WC_CFG0、WC_CFG1 2mA 或10mA (仅高于该值时、电流才会增加)

IN_EN 全部启用

INT_EN_COMP1、 INT_EN_COMP2全部设置为3 (下降沿和上升沿)

INT_EN_CFG0所有中断被启用

CONFIG = 0x7E18E8 (连续模式)

模式 全部为0。

 当执行软件复位/初始化/低电压时、可接收 POR、CALC_CRC、UV 中断

有什么想法、为什么它不起作用?

谢谢。

保罗

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

    您好、Paul、

    您使用的是比较器还是 ADC? 如果使用 ADC、请确保  正确配置 INT_EN_CFG1至 INT_EN_CFG4。

    如何为要测试的输入配置阈值?  

    此致、Amy

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

    尊敬的 Amy:

    我使用比较器模式、并已将阈值设置为2.7V

    未定义所有其他阈值(零)、在使用比较器模式时需要设置?

    谢谢。

    保罗

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

    您好、Paul、

    如果您选择了2.7V 阈值、应该可以。 在连续模式下、  始终在第1个检测周期之后(在寄存器 CONFIG 中的 TRIGGER 位设置为逻辑1之后)生成中断。 您是否能够检测到此中断?  

    (然后、在后续检测周期中、仅在检测到开关状态变化时才生成中断。)

    此致、Amy

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

    尊敬的 Amy:

    我通过每隔5ms 读取 INT_STAT 寄存器来使用轮询、当进行软件复位时、我获取 POR

    如果执行 CALC_CRC、我将获取 CALC_CRC  

    但我从未在 INT_STAT 中设置 SSC 标志、这不是第一次、也不是在更改开关状态时设置

    我已在 INx 测量了输入电压、开关断开时为11V、闭合时几乎为零。

    此致、

    保罗

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

    您好、Paul、

    我刚意识到您没有提到设置 SS_EN 位。 这可能是您的问题-确保将该位设置为1。  

    此致、Amy

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

    尊敬的 Amy:

    INT_EN_CFG0所有中断被启用。  

    保罗

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

    您好、Paul、

    请尝试读取寄存器0x01。 您应该会看到器件 ID 值为0x20。

    此外、INT 引脚是开漏输出、需要使用上拉电阻器。 您的原理图未包含此内容、但由于它只是一个原理图 snip-it、请确保您已包含外部上拉电阻器、或者检查 MC 是否具有内部上拉电阻器。

    最后、请在此处加载寄存器写入、我可以检查 TI EVM 上的配置。

    请参阅此应用手册作为补充资源: 配置 TIC12400-Q1多开关检测接口(MSDI)的步骤

    此致、Amy

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

    尊敬的 Amy:

    我已经读取寄存器0x01、其值为0x20。

    同时读取寄存器0x03并在上电时具有值0xFFFF。

    SPI 具有正确的功能。

    INT 引脚具有外部上拉电阻器。

    总之、我当前是通过每5毫秒读取 INT_STAT 来使用拉取。

    设置如下:
    配置   0xFE18E8       连续模式
    中文     0xffffffff 启用所有输入
    CS_选择0x000000   所有 CSO 开关至 GND
    WC_CFG0 0x492492   湿性电流2或10 mA
    WC_CFG1  0x092492
    THRES_COMP  0x000555  2.7V 阈值
    INT_EN_COMP1 0xFFFFFF   使能所有中断的下降沿和上升沿
    INT_EN_COMP2 0xFFFFFF
    INT_EN_CFG0 0x000FFF     所有中断被启用   
    模式   0x000000   标准进行配置 模式
    保罗
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Amy:

    这个问题有什么进展吗?

    谢谢。

    保罗

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

    您好、Paul、

    感谢您发送注册写入信息。 是否可以提供整个寄存器映射和配置顺序?

    Trigger 位的 设置顺序似乎很重要。 Trigger 位是 CONFIG 寄存器的一部分、必须始终先设置为"0"、然后才能对其他寄存器进行写入。 您应该始终首先写入 CONFIG 寄存器以将触发位设置为"0"。 请参阅 配置 TIC12400-Q1多开关检测接口(MSDI) 的步骤文档中的第5.3节、直到执行步骤6:"通过将 CONFIG 寄存器中的 TRIGGER 位设置为1来启动 TIC12400-Q1运行、并读取 INT_STAT 寄存器以清除基线 SSC 中断、 (步骤6)。"

    此致、Amy

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

    尊敬的 Amy:

    也按此顺序写入所有寄存器设置! 写入顺序是否重要? 当然除了触发位

    0x1A -> 0xFE10E8 (触发= 0)

    0x1b -> 0xFFFFFF

    0x1C -> 0x000000

    0x1D -> 0x492492   

    0x1E -> 0x092492

    0x1F -> 0x0

    0x20 -> 0x0

    0x21 -> 0x000555

    0x22 -> 0xFFFFFF

    0x23 -> 0xFFFFFF

    0x24 -> 0x000FFF

    0x25 -> 0xFFFFFF

    0x26 -> 0x33333333

    0x27 -> 0x0C30C3

    0x28 -> 0x0000C3

    0x29 -> 0x0

    全部为零

    0x32 -> 0x0

    0x1A -> 0xFE18E8 (触发条件= 1)

    开始测量(寄存器已冻结)

    0x1A -> 0xFE1AE8 (CRC_T = 1)

    接收到的 CRC 与计算出的 CRC 相同

    保罗

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

    您好、Paul、

    感谢您提供此内容。 根据 您所述的配置、我认为这些寄存器写入没有任何问题。 让我明天在 TI EVM 上测试一下您在此提供的序列和完整寄存器映射、我会给您回复。

    再次感谢您、Amy  

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

    您好、Paul、

    我设置 TI EVM 以测试这些寄存器写入、并看到与您所述的行为相同。

    我在前面提到的模式下使用 GUI 配置了器件、并且看到中断正常工作。 比较寄存器写入值之后、我认为您的问题可能来自 CONFIG 寄存器(0x1A)中的设置。 使用比较器功能时、WET_D_INX_EN 位会发生设置冲突。 请尝试将这些位设置为0。 此外、如果未使用动态 INT_CONFIG、请尝试将其设置为静态。

    如果您有任何其他问题、请联系我们。

    此致、Amy

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

    谢谢您 Amy。

    禁用  WET_D_INx_EN 位时、我会在触发时以及开关状态发生变化时获取 CCS 中断。

    我查看了数据表、但它没有提供任何解决此问题的方法、它应该能够在正常运行期间执行瓶胚。

    不管怎样,现在它像预期的一样工作!

    谢谢。

    保罗

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

    您好、Paul、

    是的、我同意数据表   在这方面并不十分清楚-它只是提到"在激活湿性电流诊断功能之前、适当配置电流源/电流阱并将输入编程到 ADC 输入模式以防止生成错误中断非常关键。"。  

    感谢您对我们的数据表的反馈、并且很高兴听到符合您的配置的消息。 如有任何其他问题、请联系我们。

    此致、Amy