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.
我正在 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)中的图匹配?
此致、
乔纳森