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-Q1:通过 SPI 配置 CAN 控制器

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1303467/tcan4550-q1-configuring-can-controller-through-spi

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

我正在 Ambarella 平台上配置 CAN 总线、具体来说就是使用带 SPI 接口的 TCAN4550-Q1 CAN 控制器。 我在启动 CAN 接口(CAN0)时会遇到问题、并且系统在尝试启动时没有响应。

我 已检查器件树配置、验证的硬件连接和观察到的内核日志、这些日志指示 TCAN4x5x CAN 控制器已成功初始化、但 CAN 接口保持关闭状态。

这是 dmesg 输出、  
[ 2.765559] tcan4x5x spi3.0:找不到时钟
[ 2.769764] tcan4x5x spi3.0:未定义 CAN 时钟源
[ 2.780144] tcan4x5x spi3.0:设置模式0,8位/w,最大10000000Hz --> 0
[ 2.809423] tcan4x5x spi3.0:M_CAN 器件已注册(IRQ=46、版本=32)
[ 2.816225] tcan4x5x spi3.0 CAN0:TCAN4X5X 成功初始化。

这是我正在使用的器件树条目

spi3:SPI@e0014000{
CS-GPIO =< GPIO 34 0>;
状态="可以";
tcan4x5x@0{
兼容="ti、tcan4x5x";
寄存器=<0>;
#address-Cells =<1>;
#size-cells =<1>;
SPI-max-frequency =<10000000>;
INTERRUPT-PARENT =<&GPIO>;
interrupts =<&GPIO 5 0>;  
Bosch、MRAM-cfg =<0x0 0 0 16 0 1 1>;
RESET-GPIO =<和 GPIO 4 0 >;
状态="可以";
};
};

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

    Anand、您好!

    您是否能够直接从 TCAN4550读取寄存器?  在某些情况下、SPI 驱动器不正确并会阻止寄存器读取/写入。  特别是、SPI 片选信号可能正在事务中间的数据字之间转换为高电平、这可能会导致 TCAN4550中止或忽略 SPI 事务并在中断寄存器中设置 SPI 错误标志。  

    您是否能够使用示波器或逻辑分析仪监控 SPI 信号、以便我们验证它们是否与数据表的编程部分(8.5)中的图匹配?

    此致、

    乔纳森