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:MISO 始终在 CS 和 SCLK 之后返回0x88000000。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1439404/tcan4550-q1-miso-always-return-0x88000000-after-cs-and-sclk

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

工具与软件:

Linux 平台 TCAN4550针对每个 SPI 字操作(读取/写入/数据)在 CS 和 SCLK 后返回0x88000000。

SPI 模式为零、RESET 引脚被驱动器上拉、然后下拉。

可以检查的任何内容?

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

    尊敬的 Xing:

    您是否可以使用逻辑分析仪或示波器捕获 SPI 信号的波形?

    由于您提到 RST 引脚被切换、因此必须存在最低700us 的延迟、才能使器件在发生 SPI 活动之前从复位事件中恢复。  如果您在复位事件后的这个700us 时间窗口内尝试 SPI 事务、它们将会失败。

    SPI 错误的常见问题是、处理器的 SPI 驱动器可能会在发送每个数据字后(而不是整个 SPI 事务)将 CS 信号拉为高电平。  请验证 CS 信号在整个 SPI 读取/写入事务中是否保持低电平、对于单个寄存器读取/写入、该事务为64位。  如果处理器将 SPI 数据分成8、16或32位数据块、则通常会在发送每个数据块后看到 CS 信号转换为高电平、并且您需要修改 SPI 驱动程序以在整个 SPI 读取/写入事务期间将 CS 保持为低电平。

    其他问题可能与 SPI 地址数据本身的格式有关、例如"长度"字段中的值不正确、与要传输的数据字数不匹配。  

    此致、

    Jonathan

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

    谢谢、Jonathan。

    我们捕获了 SPI 传输、发现它会为每个字传输将 CS 拉高。 这应该就是我们得到0x88000000的原因。  

    Linux 版本为4.14、内核中没有 TCAN4550驱动程序、因此我们移植了一个用于较新内核的旧驱动程序:

    commit bcc3d8ef14c044df225d9e2292ed3f1d5176c77d (头)
    作者:Marc Kleine-Budde
    日期:12月16日(周三) 00:17:32 2020 +0100
    CAN:tcan4x5x:美化 tcan4x5x_of_match 和 tcan4x5x_id_table
    此修补程序美化了 tcan4x5x_of_match 和的缩进
    tcan4x5x_id_table。

     

    我们在使用 DW MMIO SPI 控制器、不确定 Linux 4.14 SPI 控制器驱动程序是否正常。

    您对我们应该使用哪款 TCAN4550和 DW MMIO SPI 驱动器有什么建议吗?

    谢谢

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

    尊敬的 Xing:

    是的、CS 信号在事务过程中转换为高电平被视为 SPI 错误、器件将忽略任何包含错误的 SPI 写入。  调整驱动器以在整个事务中将 CS 保持为低电平、应该会解决 SPI 错误。

    关于 DW MMIO SPI 驱动器的问题、我不知道。  我的专长是 TCAN4550器件、而不是 Linux。  我可以帮助解决您可能遇到的与 TCAN4550的寄存器配置、操作和物理层属性(即硬件相关)相关的任何问题。  

    此致、

    Jonathan

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