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.
工具与软件:
嗨、团队:
我对 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