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.
您好!
继续我的相关问题。 我尝试检查我所使用的 Linux 电路板上的 SPI 是否有任何问题。 我没有发现任何问题。 并尝试捕获这些波形。 下面是 波形的链接。 我看到 MISO 始终为低电平。 我不确定这是否符合预期。 有一些关于 MOSI 的数据。
谢谢。
Sai Kiran.
尊敬的 Sai Kiran:
由于我们的 IT 部门的文件共享安全策略、我无法访问谷歌驱动器。 您可以将文件单独插入该主题中、还是以压缩 zip 文件夹的形式插入? 或者甚至使用屏幕捕获并将其粘贴到该主题中?
谢谢。此致、
乔纳森
尊敬的 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、因此您可能需要验证时钟边沿是否与数据正确对齐。
此致、
乔纳森