3、SPI通信协议回顾:SPI四线制(SCLK、MOSI、MISO、CS)时序详解,CPOL/CPHA模式配置,多从机拓扑
在低温补偿系统中,SPI(Serial Peripheral Interface)是传感器与主控器之间最常用的同步串行接口。低温环境下,信号沿变缓、时钟抖动增加,理解SPI的底层时序与模式配置是进行协同优化的前提。本节系统回顾SPI四线制的基本时序、CPOL/CPHA四种工作模式,以及多从机拓扑的硬件连接策略。
3.1 SPI四线制信号定义与基本时序
标准SPI使用四条信号线实现全双工同步通信:
| 信号线 | 全称 | 方向(主→从) | 功能描述 |
|---|---|---|---|
| SCLK | Serial Clock | 主→从 | 由主设备产生的同步时钟,决定数据采样与跳变时刻 |
| MOSI | Master Out Slave In | 主→从 | 主设备发送数据至从设备 |
| MISO | Master In Slave Out | 从→主 | 从设备发送数据至主设备 |
| CS | Chip Select | 主→从 | 片选信号,低电平有效,选中特定从设备进行通信 |
基本传输过程:
- 主设备将目标从设备的CS引脚拉低,激活该从设备。
- 主设备在SCLK上产生连续的时钟脉冲。
- 在每个时钟周期内,主设备通过MOSI线发送1位数据,同时从设备通过MISO线返回1位数据(全双工)。
- 传输完成后,主设备将CS拉高,释放从设备。
低温关键点: 低温会导致SCLK上升/下降时间变长,MOSI/MISO数据建立时间(tSU)和保持时间(tH)余量缩小。调试时需重点测量SCLK过零点与数据跳变沿之间的相对延迟。
3.2 CPOL/CPHA模式配置详解
SPI协议通过时钟极性(CPOL)和时钟相位(CPHA)的组合定义四种工作模式。主从设备必须工作在相同模式下才能正确通信。
| 模式 | CPOL | CPHA | SCLK空闲电平 | 数据采样沿 | 数据跳变沿 |
|---|---|---|---|---|---|
| 模式0 | 0 | 0 | 低电平 | 上升沿 | 下降沿 |
| 模式1 | 0 | 1 | 低电平 | 下降沿 | 上升沿 |
| 模式2 | 1 | 0 | 高电平 | 下降沿 | 上升沿 |
| 模式3 | 1 | 1 | 高电平 | 上升沿 | 下降沿 |
CPOL(Clock Polarity): 决定SCLK在空闲状态(CS无效期间)的电平。CPOL=0为空闲低电平,CPOL=1为空闲高电平。
CPHA(Clock Phase): 决定数据采样发生在SCLK的第一个边沿还是第二个边沿。CPHA=0表示在第一个边沿采样,CPHA=1表示在第二个边沿采样。
调试建议: 低温环境下,建议优先选择模式0或模式3。这两种模式的数据跳变沿与采样沿之间间隔半个时钟周期,对信号边沿退化有更好的容忍度。模式1和模式2的采样沿紧邻跳变沿,在低温下更容易发生建立时间违规。
3.3 多从机拓扑结构
实际低温补偿系统中,主控器通常需要与多个传感器(温度、压力、加速度)通信。SPI支持两种多从机拓扑:
3.3.1 独立片选拓扑(Parallel CS)
每个从设备使用独立的CS引脚,SCLK、MOSI、MISO三线共享。主控器通过拉低目标设备的CS引脚来选择通信对象,未选中的从设备将其MISO引脚置为高阻态。
- 优点: 从设备之间完全独立,无地址冲突;通信速率高,无总线争用。
- 缺点: 占用主控器GPIO资源多(每增加一个从设备需增加一个CS引脚)。
- 适用场景: 从设备数量较少(≤4个),且对通信速率要求高的系统。
3.3.2 菊花链拓扑(Daisy-Chain)
所有从设备共享SCLK和CS,但MOSI和MISO在设备间串联:主设备的MOSI连接第一个从设备的MOSI输入,第一个从设备的MISO输出连接第二个从设备的MOSI输入,依此类推,最后一个从设备的MISO返回主设备。
- 优点: 仅需一个CS引脚,节省GPIO资源。
- 缺点: 数据传输延迟随链长度增加而累积;所有从设备必须支持菊花链模式;通信速率受限于最慢设备。
- 适用场景: 从设备数量多(≥5个),且对速率要求不高的系统。
低温风险提示: 菊花链拓扑在低温下延迟累积效应加剧。每个从设备的内部移位寄存器在低温下传播延迟增加,导致链末端的MISO数据相对于SCLK的相位偏移更大。建议在-40°C以下环境优先使用独立片选拓扑,或降低SPI时钟频率以补偿链延迟。
3.4 低温环境下的SPI时序退化分析
低温对SPI通信的主要影响体现在以下三个参数上:
| 参数 | 常温(25°C)典型值 | 低温(-40°C)典型变化 | 对通信的影响 |
|---|---|---|---|
| tR / tF(上升/下降时间) | 2~5 ns | 增加 30%~80% | 信号边沿变缓,采样窗口缩小 |
| tSU(建立时间) | 3~10 ns | 增加 20%~50% | 数据需更早稳定,否则采样错误 |
| tH(保持时间) | 2~5 ns | 增加 10%~30% | 数据需保持更久,否则被后续跳变破坏 |
协同优化思路: 低温补偿与SPI调试的协同点在于——通过温度传感器实时采集环境温度,动态调整SPI时钟频率和采样点位置(通过调整CPOL/CPHA或插入软件延迟),在保证通信可靠性的前提下最大化数据吞吐量。后续章节将详细展开这一协同策略的具体实现方法。
3.5 本节要点总结
- SPI四线制(SCLK、MOSI、MISO、CS)实现全双工同步通信,CS低电平有效选中从设备。
- CPOL决定空闲时钟电平,CPHA决定采样边沿位置,四种模式中模式0和模式3在低温下更具鲁棒性。
- 多从机拓扑分为独立片选(高速、多GPIO)和菊花链(省GPIO、延迟累积)两种,低温环境推荐独立片选。
- 低温导致信号上升/下降时间变长、建立/保持时间增加,是SPI通信失效的主要物理根源。