Other Parts Discussed in Thread: TCAN4550
主题中讨论的其他器件:TCAN4550
您好!
继续我的相关问题。 我尝试检查我所使用的 Linux 电路板上的 SPI 是否有任何问题。 我没有发现任何问题。 并尝试捕获这些波形。 下面是 波形的链接。 我看到 MISO 始终为低电平。 我不确定这是否符合预期。 有一些关于 MOSI 的数据。
谢谢。
Sai Kiran.
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.
Other Parts Discussed in Thread: TCAN4550
您好!
继续我的相关问题。 我尝试检查我所使用的 Linux 电路板上的 SPI 是否有任何问题。 我没有发现任何问题。 并尝试捕获这些波形。 下面是 波形的链接。 我看到 MISO 始终为低电平。 我不确定这是否符合预期。 有一些关于 MOSI 的数据。
谢谢。
Sai Kiran.
尊敬的 Sai Kiran:
为便于您参考 SPI 信号的具体情况、我要向您指出数据表中显示了相关要求的"SPI 写入和读取"图。 片选信号(nCS)应转换为低电平、并在整个读取/写入事务期间保持低电平。 TCAN4550将对时钟周期进行计数、以确保它是32的倍数(或1个数据字)、并且数据部分等于标头的"长度"字段中的数字。 第一个字(即32位)包含读取/写入操作代码0x41或0x61、后跟寄存器或 MRAM 地址、然后是要在该事务中读取/写入的寄存器长度或数量或数据字。 数据表图片显示的长度为2、因此在每个图片中均可访问两个寄存器。 如果您只需要一个寄存器、只需将 Length 值设置为0、然后在 nCS 信号为低电平时仅具有64个时钟周期。 如果时钟周期数量不正确、则器件将丢弃 SPI 写入并设置 SPI 错误标志。 如果在读取时发生这种情况、器件将设置 SPI 错误标志、以指示 SDO 引脚上传输的数据可能不完整或损坏。 通常情况下、MCU 会在每8、16或32位之后将 nCS 信号拉至高电平、这会导致 SPI 错误、并且可能需要在固件驱动程序中对 nCS 信号进行一些修改。


这是一个示波器和逻辑分析仪捕捉- I 通过读取寄存器0x0000来获取实际信号。 该控制器一次发送8位、但重要的因素是芯片选择在整个64位期间保持低电平。

TCAN4550还仅支持 SPI 模式0、因此您可能需要验证时钟边沿是否与数据正确对齐。

此致、
乔纳森