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:无法发送数据

Guru**** 2756835 points

Other Parts Discussed in Thread: TCAN4550

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1287105/tcan4550-cannot-send-data

器件型号:TCAN4550

大家好、

目的: 使用 TCAN4550扩展标准 CAN 2.0B 端口。 计划与 CAN 2.0B 器件通信。 为了避免出现其他问题、客户希望在调试其他功能之前、先调试演示标准帧的发送/接收。

对于滤波器、屏蔽寄存器初始化为0、这意味着接受所有消息。  

问题: TCAN4550演示中的数据帧无法传输到 CAN 总线。  

步骤:

1) 1) 将基于 MSP430的 TCAN4550演示移植到客户 自己的 M3处理器。 M3和 TCAN4550的读写数据良好(器件 ID 通常会返回器件 ID)、表示可以根据迁移需求进行调试。

2)应用层基本不变。 但是、 在初始化标准 ID 滤波器配置时、它始终与写入的值不一致、从而导致配置错误、如下图所示:  

由于 SIDFC 写入的值与返回值不匹配、因此它会直接退出、导致 TCAN4x5x_MCAN_CACHEITCAN 中的数据不正确。 高速缓存中的数据异常将在后续写入时进行检查、并且不能直接写入。 应用层基本上遵循演示的应用层逻辑并且保持不变。

客户想知道 读写不一致问题的可能原因是什么。

3) 3)如果演示中的 CAN FD 初始化用作 CAN 2.0B、是否可以与 CAN 2.0B 器件正确通信?

您能帮助检查这个问题吗? 谢谢。

此致、

切里

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

    您好、Cherry:

    Unknown 说:
    1) 将基于 MSP430的 TCAN4550演示移植到客户 自己的 M3处理器。 M3和 TCAN4550读写数据良好(器件 ID 通常会返回器件 ID)、表示可以根据迁移需求进行调试。

    我假设您指的"读写数据"是 SPI 数据、而不是 CAN 消息数据正确?  如果是、我不确定可以说沟通是完全良好的。  图片中突出显示的读取值"0xC8000000"表明设置了 SPI 错误(SPIERR)位、该位是寄存器0x0820的第3位。  每个 SPI 读取/写入事务将在 SPI 事务开始时返回寄存器0x0820的"状态字节"或位7:0。  当0x000C[30:16]中的任何一个被置位时、SPIERR 位都将被置位。

    您能否共享寄存器0x000C 的值以及可能的 SPI 信号示波器或逻辑分析仪捕获结果、以便我们能够确定发生了哪种类型的 SPI 错误?

    SIDFC 值错误可能是由于 SPI 错误所致。  但 SIDFC 寄存器也是写保护寄存器、并且寄存器0x1018的 INIT 和 CCE 位都需要设置为1才能将 SIDFC 寄存器更新为新值。  在尝试用新值写入 SIDFC 寄存器时、可以验证寄存器0x1018的值是否将位0和位1都设置为"1"吗?  如果 INIT 和 CCE 位没有都设置为"1"、器件在写入该寄存器时不会更改 SIDFC 寄存器值。

    Unknown 说:
    3)如果演示中的 CAN FD 初始化用作 CAN 2.0B,是否可以与 CAN 2.0B 设备正确通信?

    是的、此器件可与2.0B 器件通信。

    此致、

    乔纳森