ZHCAFU4 October   2025 TXE8116-Q1 , TXE8124-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2什么是 SPI 菊花链连接?
  6. 3使用 TXE81xxEVM 的 SPI 菊花链示例
  7. 4MSPM0 伪代码示例
  8. 5Arduino 伪代码示例
  9. 6总结
  10. 7参考资料

使用 TXE81xxEVM 的 SPI 菊花链示例

以下示例演示如何通过将 SDO 和 SDI 线路串联,将 4 块 TXE81XXEVM 连接成菊花链。SCLK 引脚在所有器件之间共享,包括 MCU,同时也共享芯片选择信号。

(电路板从右到左标记为 1-4)

 4 块 TXE81XXEVM 通过菊花链配置连接图 3-1 4 块 TXE81XXEVM 通过菊花链配置连接

数据会写入每块 TXE8124-Q1 器件的方向配置寄存器 (0x04)。仅写入端口 0。在方向配置寄存器中设置为 1 表示将 GPIO 配置为 OUTPUT。在方向配置寄存器中设置为 0 表示将 GPIO 配置为 INPUT。有关菊花链示例中写入的具体数据,请参见电路板配置表。

表 3-1 板载配置
板型号寄存器地址端口数据输入/输出?
10x0400x55输入 = P0.1、P0.3、P0.5、P0.7 输出 = P0.0、P0.2、P0.4、P0.6
20x0400x00输入 = P0.0 - P0.7 输出 = 无
30x0400xAA输入 = P0.0、P0.2、P0.4、P0.6 输出 = P0.1、P0.3、P0.5、P0.7
40x0400xFF输入 = 无 输出 = P0.0 - P0.7

在 TXE81xx 中,有 4 种 SPI 段类型:状态、标头、地址和数据。下表说明了在菊花链中发送的每个段的逐位说明。

表 3-2 SPI 段说明
SPI 段类型 位分配
状态 位 [15:14] = 1,表示状态段
位 [13:8] = 故障状态寄存器 (0x1900) 的位 5 至 0
位 [7:0] = 0,默认
接头 位 [15:14] = 分别为 0 和 1,表示标头段
位 [13] = 保留
位 [12:0] = 用于确定菊花链中的器件数量
地址(寄存器地址) 位 [15] = 表示 SPI 运行模式(1 = 读,0 = 写)
位 [14:13] = 不关心 (X)
位 [12:8] = 功能地址
位 [7] = 不关心 (X)
位 [6:4] = 端口选择
位 [3:1] = 不关心 (X)
位 [0] = 多端口
数据 位 [7:0] = 写入寄存器的数据

若要开始通过菊花链发送数据,首先发送标头段,然后发送链中最远电路板的寄存器地址。如果链中有四个器件,则先发送第 4 个器件的寄存器地址,然后发送第 3 个器件的寄存器地址,依此类推。寄存器地址字节发送完成后,接着发送数据字节。第一个数据字节对应链中最远的器件。如果链中有四个器件,第一个数据字节应用于第 4 个器件,第二个数据字节应用于第 3 个器件,依此类推。有关 SPI 数据逐字节发送的详细示例,请参阅 链中每个字节的序列

 菊花链方框图图 3-2 菊花链方框图
 链中每个字节的序列图 3-3 链中每个字节的序列
 Arduino_MOSI 到板 1 SDI 的菊花链 SPI 传输带标注波形图 3-4 Arduino_MOSI 到板 1 SDI 的菊花链 SPI 传输带标注波形