嵌入式测试学习第 26 天:SPI通信协议基础、主从模式、速度特点

嵌入式测试学习第 26 天:SPI通信协议基础、主从模式、速度特点 SPI通信协议基础、主从模式、速率特点一、SPI协议基础认知1. 协议定义2. SPI四线引脚定义标准4线SPI嵌入式最通用3. SPI四种时钟模式二、SPI主从拓扑结构1. 星型拓扑最常用独立片选实物接线实拍开发板多外设2. 菊花链拓扑级联节省CS引脚三、SPI速度特点四、SPI全双工读写通信逻辑结合逻辑分析仪波形1. 写流程主机发、从机收2. 读流程主机下发读指令从机回传数据五、嵌入式测试常见故障排查硬件协议六、总结一、SPI协议基础认知1. 协议定义SPISerial Peripheral Interface串行外设接口高速同步全双工串行总线摩托罗拉推出嵌入式板间高速通信首选协议。核心特性全双工收发、无设备地址、靠独立片选选中从机、传输速率远高于I2C适用场景W25Q串行Flash、SPI液晶屏、ADC模数芯片、TF卡、射频模块、FPGA外设通信距离板内短距离1米以内长线易受干扰。2. SPI四线引脚定义标准4线SPI嵌入式最通用图片特征标注Master主机、Slave从机4根信号线两两对接清晰区分MOSI/MISO/SCLK/CS走向。SCLK串行时钟仅主机输出时钟决定通信速率同步收发时序MOSI主机发→从机收Master Out Slave InMISO从机发→主机收Master In Slave OutCS/NSS片选独立IO控制低电平有效拉低选中对应从机拉高设备休眠断开总线。对比I2CI2C靠7位地址寻址SPI无地址每个从机独占1路CS片选线。3. SPI四种时钟模式由时钟极性CPOL、时钟相位CPHA组合出4种时序硬件通信必须主从模式一致否则数据错乱。图片特征分4组CS/SCLK/MOSI波形标注采样边沿区分Mode0~Mode3Mode0使用最多。CPOL空闲SCLK电平0空闲低电平1空闲高电平CPHA数据采样边沿0第一个时钟沿采样1第二个时钟沿采样工程默认Mode0(CPOL0,CPHA0)W25Q、SPI屏幕默认该模式。二、SPI主从拓扑结构SPI固定架构单主机多从机一条总线同一时刻只能1个主机产生SCLK时钟。1. 星型拓扑最常用独立片选所有从机SCLK、MOSI、MISO三线全部并联每个从机单独引出CS接主机不同GPIO引脚主机通过拉低某一路CS单独选中单个设备通信。图片特征主控MCU引出一组SCLK/MOSI/MISO并联全部从机每个从机自带独立CS接线。实物接线实拍开发板多外设图片特征开发板PCB走线SCLK/MOSI/MISO共用W25Q芯片CS引脚单独接主控IO3.3V供电。图片特征主控排针通过4根杜邦线连接W25Q模块VCC/GND/SCK/MOSI/MISO/CS实物直观体现四线接线规范。2. 菊花链拓扑级联节省CS引脚从机首尾串联主机MOSI→从机1输入从机1输出→从机2输入所有从机共用一组SCLK1根公共CS多用于DA/ADC阵列、LED驱动芯片嵌入式测试较少用。三、SPI速度特点速率区间低速几十KHz~1MHz传感器、低速ADC标准1~20MHzW25Q Flash、SPI液晶屏工程最常用高速SPI50MHz~100MHzFPGA、DDR、高速射频模块I2C最高400KHzSPI速率是I2C几十~上百倍高速传输首选SPI。影响速率因素走线长短、是否加屏蔽线、从机芯片规格、电平3.3V/5V实测现象速率过高出现乱码时序不匹配、走线干扰降频即可修复测试高频故障。四、SPI全双工读写通信逻辑结合逻辑分析仪波形SPI全双工同步收发CS拉低选中设备后SCLK每来1个时钟脉冲MOSI发1bit、MISO同步收1bit8bit组成1字节收发同步完成。1. 写流程主机发、从机收CS拉低→SCLK输出时钟→MOSI逐位下发指令/数据→MISO同步接收从机返回数据→数据传输完毕→CS拉高结束通信。2. 读流程主机下发读指令从机回传数据CS拉低→MOSI发送读寄存器指令→SCLK持续输出时钟→MISO逐位接收从机上传数据→CS拉高终止。配图6SPI读写逻辑分析仪抓取波形实拍图片特征四通道波形从上至下CS/SCLK/MOSI/MISO能直观看到CS下降沿启动通信、SCLK脉冲、MOSI下发指令、MISO回传数据。五、嵌入式测试常见故障排查硬件协议完全无通信MISO无数据原因CS没拉低、SCLK/MOSI/MISO接反、从机未上电、主从SPI四种模式不一致排查逻辑分析仪抓CS电平、核对CPOL/CPHA配置。数据随机错乱原因SPI时钟速率过高、杜邦线过长引入干扰、电源纹波大解决降低SCLK频率、缩短接线。能写不能读/能读不能写原因MISO虚焊、从机寄存器只读配置错误、模式配置单边不匹配。六、总结硬件4线SCLKMOSIMISO独立CS全双工无地址拓扑星型独立CS为主一主多从时序4种CPOLCPHA模式工程默认Mode0速率MHz级别远快于I2C测试排查顺序CS电平→接线方向→SPI模式→时钟速率。