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:CANSLNT 寄存器设置为偶数"失效防护模式"禁用

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1049682/tcan4551-q1-canslnt-register-is-set-even-fail-safe-mode-is-disable

器件型号:TCAN4551-Q1

大家好、支持团队

 

我的 CAN 传输有问题。  

在通过引用"TCAN4551_UserGuide.pdf"配置芯片后。  
我能够配置 MRAM 地址并将 CAN 数据包成功存储到 MRAM 中。

但是、当我将芯片配置为正常模式并进行传输时、就没有传输了。  

调查结果:

1、在发送请求前、进入正常模式:

   读取地址0820h、返回0x000004A0
   2.读取地址1044h、返回0x0000070F
   3.读取地址1050h、返回0x00000000

2.在发送请求后立即进入正常模式:

   读取地址0820h、返回0x000004A0
   2.读取地址1044h、返回0x0000077B
   3.读取地址1050h、返回0x09800800

问题:
根据 数据表、"失效防护模式"只需启用 CANSLNT 即可设置为1。  是否有任何其他因素会在不启用"失效防护模式"的情况下设置 CANSLNT?

2.我没有配置 CAN 时序。 (使用默认设置)。 是否会导致此问题?

此致、

John

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

    尊敬的 John:

    感谢您提供这些信息以及包含的寄存器值。 根据设置的标志、控制器似乎报告没有节点确认(ACKed)传输的消息。 这主要是协议状态寄存器(h1044)中最后一个错误代码(LEC[2:0])的值。 值3 (0b011)映射到 AckError。

    您的设置中是否存在任何其他活动节点? 如果不是、您应该仍然能够使用示波器看到 CAN 总线上出现的 CAN 帧。  

    要回答列出的问题:
    该器件的失效防护机制基于 SWE 计时器超时 CANSLNT 标志、使其开始计数。 如果在大约1秒内未检测到 CAN 通信、CANSLNT 将自动置位。 禁用 SWE 计时器(器件配置寄存器 h0800中的 SWE_DIS)可禁用此过程。  
    2.默认时序不应导致问题。 但是、如果您要与第二个节点进行通信(并具有该节点 ACK)、则需要将这两个节点配置为具有相同的数据速率。  

    如果您有任何疑问、请告诉我。

    此致、
    Eric Schott

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