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.
您好!
我目前正在编写一个 SPI 驱动程序来与 TCAN 4551-Q1通信。
SPI 速率为10MHz
方法1:
为了读取 TCAN、我尝试发送0x41000001后紧跟0x00000000。
但是、TCAN 没有响应。
方法2:
我尝试将 TCAN 设置为睡眠模式、通过发送 0x61080001、然后 发送0xC8000420来检查 SPI 是否正常工作。
但我在 Vccfltr 引脚上进行了检查、它仍然大约为5V、几分钟后下降到0v。
问题:
我知道 SPI 的最大速率高达18MHz。 最低比率如何?
2.有没有方法可以检查 SPI 在 TCAN 中是否正常工作?
尊敬的 John:
欢迎使用 E2E! 感谢您的被拘留描述和范围拍摄。
这些波形是否标记正确? TCAN4551输入 SDI 似乎未被驱动、而 SDO 上的输出反映您正在驱动的数据。 这些标记是否错误、或者是否存在连接问题? 除此之外、波形的边沿和时序看起来不错。
关于消息格式:传输数据之前、每个事务都需要一个正确的标头。 当从器件读取时、SDI 输入的状态在长度定界符之后被忽略。 时钟输入用于将 SDO 输出上的读取位移出。 整个读取事务必须在 NCS 上的相同声明期间发生。 一旦 nCS 取消置位(变为高电平)、将需要发送一个新的标头来寻址正确的存储器位置。
例如、要读取器件 ID、将发送以下位序列:
0x4100000200000000 //在相同 nCS 置位期间发送整个序列
0x41: 读取操作码
0x0000: 器件 ID 的地址
0x02 :读取长度(字节)
0x00000000:用于扩展 TCAN4551响应事务的虚拟数据
该接口基于时钟状态、因此理论上没有最低速率。 根据其他计时器和超时、我要说有效最小值将是几 kbps。 10MHz 不会是问题。
[引用 userid="482113" URL"~/support/interface/f/interface-forum/989653/tcan4551-q1-spi-communication-not-working ]2. 我是否可以通过任何方法来检查 SPI 在 TCAN 中是否正常工作?中断和诊断寄存器('h000至'h000C)在初始状态下是良好的、以确保 SPI 接口正常工作。 还有一个暂存区寄存器('h0808)可用于测试读/写功能。 如果诊断寄存器是唯一可访问的地址、请确保 TCAN4551的时钟信号有效且有效。 'h000C 以上的所有寄存器取决于要访问的这个时钟输入。
如果您有任何疑问、请告诉我。
此致、
Eric Schott
尊敬的 Eric:
我尝试读取和写入 暂存区寄存器有效!
但是、我仍然无法从地址'h0000 - h'0008中读取(我花费了大部分时间来进行调试)。
这暂时不是问题、因为我现在可以配置并读取其他地址。
注意:在未激活期间将"clk"引脚配置为低电平后、此问题也可以得到解决。
此致、
John