ZHCUCL6 November 2024
为了进行全面测试,建议使用一个可以在模式 0 下处理 4 线 SPI 的控制器。对于 TCAN284XEVM 上的 SPI,至少需要访问四个引脚。它们是 SDO(串行数据输出)、SDI(串行数据输入)、SCK(串行时钟)和 nCS(低电平有效芯片选择)。这些引脚可通过接头块 J29 来访问。要将 EVM 连接到支持 4 线 SPI 的控制器,SDO 应连接到控制器数据输入引脚。SDI 应连接到控制器数据输出引脚。SCK 应连接到控制器上的 SPI 时钟。建议使用最小 1MHz 的 SPI 速度,并且 nCS 连接到 nCS。TCAN284XX 和 TCAN285XX 器件默认处于 SPI 的模式 0。这意味着时钟极性默认为低电平,在上升沿对数据采样并在下降沿移位。用户可以将器件更改为 SPI 模式 1、2 或 3,但初始配置必须在模式 0 中完成。默认情况下,TCAN284XX 和 TCAN285XX 器件处于单字节事务模式,无 CRC。这意味着每个 SPI 事务有 16 个时钟脉冲。对于读取命令,SDO 和 SDI 的行为略有不同。SDI 引脚应获得一个 7 位地址和一个 0 位,用以指示执行一个读取操作,然后在事务的剩余部分不会执行任何其他操作。SDO 立即开始输出 8 位全局中断向量。该地址同时发送到 SDI 引脚。在全局中断数据从 SDO 引脚发出后,随之传输请求寄存器数据。传输数据时,先传输 MSB。
图 3-1 SPI 读取 - 单字节模式
图 3-2 SPI 写入 - 单字节模式要验证 SPI 连接有效,需要执行两个测试:ID 验证测试和 SPI 暂存区测试。出于原型设计和调试目的,建议使 SW 保持高电平,从而防止在原型设计时看门狗将器件置于睡眠状态。电路板上电并进入待机模式后,可以开始 SPI 测试。第一个测试是读取板载特定 TCAN284XX/TCAN285XX 器件的 ID 寄存器。这些器件上有 8 个 ID 寄存器,从地址 0h 开始,直到地址 7h 为止。这些寄存器为只读,因此存储的数据恒定不变且始终为已知。例如,如果验证 TCAN28475,则 8 个寄存器从 ID 寄存器 0h 至 7h 读回 0x54、0x43、0x41、0x32、0x38、0x34、0x37、0x35。有关特定器件 ID,请参阅相应器件数据表中的 DEVICE_ID_y 寄存器表。如果读取后 ID 有效,则确认了以下两点:SPI 读取正常工作,器件提供了预期 ID。下一个测试是使用地址 FH 的 Scratch_Pad_SPI 寄存器来检查 SPI 的读取和写入能力。除了调试 SPI 外,此寄存器无其他用途。该寄存器可读/写,且寄存器内容对任何其他器件功能没有影响。因此,读/写操作不会以任何方式改变器件。要执行第二项测试,应连续执行多个读取和写入条件。这个过程是读取暂存区寄存器,验证值是否符合预期,然后写入新值。该过程会重复几次。建议流程的步骤如下:
如果成功完成此测试,并且成功读取和写入准确的数据,则 SPI 总线已为通信做好准备。如果需要执行非默认操作,则可以向器件写入进一步配置。有关完整的寄存器映射,请参阅特定器件数据表。