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.

[参考译文] TCAN4551-Q1:TCAN4550 nWkrq 引脚未正确配置

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1378654/tcan4551-q1-tcan4550-nwkrq-pin-not-configuring-properly

器件型号:TCAN4551-Q1
主题中讨论的其他器件:TCAN4550

工具与软件:

嗨、团队:

我对 TCAN4550上的引脚配置有一些疑问、

根据我的产品要求,我需要通过 CAN 唤醒我的控制器(可通过 nWKRQ 引脚实现),但当我设置 nWKRQ_CONFIG = 1时,我没有收到任何中断,我使用 nWKRQ_VOLTAGE = 0 (内部)。

但是如果我配置  

nWKRQ_CONFIG = 0  

 INH_DIS = 1  

我可以收到中断,但我收到它两次,一个在唤醒和一个在睡眠,

您能解释一下这种行为吗?

提前完成

Virat

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

    尊敬的 Virat:

    默认情况下、nWKRQ 引脚将反映 INH 引脚的功能、这只是一个指示器件已进入或退出睡眠模式。

    nWKRQ 引脚也可以配置为支持器件的中断、nWKRQ 引脚是未被中断使能寄存器(0x0830)屏蔽的 CANINT、LWU 和 WKERR 寄存器位(0x0820)的逻辑 OR。  默认情况下、应在寄存器0x0830中启用 CANINT 和 LWU 中断位、但您能否验证这些位中的每个位都有1'b1的值?  无法屏蔽 WKERR 中断。

    您如何处理中断寄存器?  您是自动读取和清除此寄存器、还是监视要设置的这些特定位?  您能否分享您正在读取的值?

    您能否分享观察结果的任何示波器图?

    此致、

    Jonathan

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

    Jonathan、您好!

    感谢响应,只是简单介绍一下我的应用程序, 我把 CAN 每2秒进入睡眠状态,并停止时钟一旦它进入睡眠以节省电力,一旦有新的 msg 通过另一个节点它将使 TCAN 进入待机模式,也发送 nWKRQ 引脚中断(这是我想要的,但目前不是触觉),控制器将把它配置为正常模式.   

    的说明

    寄存器位(0x0820) 在将其从待机状态置于正常状态之前、我每次都会用0x00000000清除它

    对于 中断使能寄存器(0x0830)、我设置 CANINT = 1  、在每次将其从待机状态进入正常状态之前、其余状态均为0

    但很遗憾、我无法通过 CAN 总线唤醒获得中断

    对于引脚配置、我已禁用 INH 和 nWkrq_config = 1

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

    尊敬的 Virat:

    感谢您提供更多信息、这些信息可以帮助我了解您想要实现的目标、并为您提出的问题提供背景信息。

    我可以提出一个额外的问题、说明为什么中断模式(nWKRQ_CONFIG = 1)优于镜片 INH 函数(nWKRQ_CONFIG = 0)?  

    中断模式需要一个时钟来运行数字内核。  如果您要在睡眠模式下停止时钟、那么我认为您需要先启动时钟、以使 nWKRQ 引脚反映已设置的中断位的状态。  如果在启动时钟之前等待中断到达 nWKRQ 引脚、那么我认为这不会起作用。

    您要将 nWKRQ 引脚连接到什么?  它是连接至某种电源稳压器、还是连接至 MCU 中断输入引脚?

    INH 引脚不需要时钟、因为它通常连接到本地稳压器的使能引脚、该引脚也将提供时钟。  因此、当器件退出睡眠模式时、它会转换、并且默认情况下 nWKRQ 引脚也会转换。  

    VIO 电源为 TCAN4551中的时钟电路供电、因此、如果不存在 VIO 电源、TCAN4551将没有功能时钟来运行数字内核。  因此、如果您要在中断模式下使用 nWKRQ 引脚、则需要 VSUP 和 VIO 电源轨以及功能时钟、以便数字内核发送"中断"。

    此致、

    Jonathan

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

    Jonathan、您好!

    感谢你的评分   

    我可以提出一个额外的问题、说明为什么中断模式(nWKRQ_CONFIG = 1)优于镜片 INH 函数(nWKRQ_CONFIG = 0)?  

    --->我正在使用   nWKRQ_CONFIG = 0  在我的应用中、我在唤醒时和每次睡眠时将其唤醒两次、我也可以通过软件管理相同的操作、但我担心如果在我清除 SEEP 中断之前新的唤醒中断会出现什么情况。 我想如果只能配置 CANINT、那么处理该睡眠唤醒过程会更容易、尤其是在没有时钟的情况下。 但正如您提到过的  nWKRQ_CONFIG = 1  必须有一个时钟才能在 nWKRQ 引脚上生成中断。  

    您要将 nWKRQ 引脚连接到什么?  它是连接至某种电源稳压器、还是连接至 MCU 中断输入引脚?

    -->它与 MCU 中断输入引脚相连、也根据我们的设计、INH 引脚未连接。

    但是我很清楚我要么必须保留时钟、要么我可以保留配置  nWKRQ_CONFIG = 0  nWKRQ 将镜像 INH 功能。

    此致、

    Virat

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

    尊敬的 Virat:

    我不确定在进入睡眠模式后、当 nWKRQ_CONFIG = 0时收到的第二个 nWKRQ 中断。  由于 nWKRQ 在器件处于正常或待机模式时为低电平、而在睡眠模式时为高电平、您是否认为 nWKRQ 引脚在进入睡眠模式时先转换为高电平、然后再转换为低电平?  或者您的中断是否将上升的 nWKRQ 边沿检测为"第二个"中断?

    此致、

    Jonathan

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

    Jonathan、您好!

    你是对的

    它更像是 "检测到上升 nWKRQ 边沿为"第二个"中断的中断" 因为 我配置 WAKE_CONFIG = 3 (双向)。

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

    尊敬的 Virat:

    感谢您的确认。  如果您有任何其他问题、敬请告知。

    此致、

    Jonathan

x 出现错误。请重试或与管理员联系。