当前位置: 首页 > news >正文

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

SPI通信协议基础、主从模式、速率特点

    • 一、SPI协议基础认知
      • 1. 协议定义
      • 2. SPI四线引脚定义(标准4线SPI,嵌入式最通用)
      • 3. SPI四种时钟模式
    • 二、SPI主从拓扑结构
      • 1. 星型拓扑(最常用,独立片选)
        • 实物接线实拍(开发板+多外设)
      • 2. 菊花链拓扑(级联,节省CS引脚)
    • 三、SPI速度特点
    • 四、SPI全双工读写通信逻辑(结合逻辑分析仪波形)
      • 1. 写流程(主机发、从机收)
      • 2. 读流程(主机下发读指令,从机回传数据)
    • 五、嵌入式测试常见故障排查(硬件+协议)
    • 六、总结

一、SPI协议基础认知

1. 协议定义

SPI(Serial Peripheral Interface,串行外设接口),高速同步全双工串行总线,摩托罗拉推出,嵌入式板间高速通信首选协议。

  • 核心特性:全双工收发、无设备地址、靠独立片选选中从机、传输速率远高于I2C
  • 适用场景:W25Q串行Flash、SPI液晶屏、ADC模数芯片、TF卡、射频模块、FPGA外设;
  • 通信距离:板内短距离(1米以内),长线易受干扰。

2. SPI四线引脚定义(标准4线SPI,嵌入式最通用)

图片特征:标注Master(主机)、Slave(从机),4根信号线两两对接,清晰区分MOSI/MISO/SCLK/CS走向。

  1. SCLK(串行时钟)仅主机输出时钟,决定通信速率,同步收发时序;
  2. MOSI:主机发→从机收(Master Out Slave In);
  3. MISO:从机发→主机收(Master In Slave Out);
  4. CS/NSS(片选):独立IO控制,低电平有效,拉低=选中对应从机,拉高=设备休眠断开总线。

对比I2C:I2C靠7位地址寻址,SPI无地址,每个从机独占1路CS片选线

3. SPI四种时钟模式

时钟极性CPOL、时钟相位CPHA组合出4种时序,硬件通信必须主从模式一致,否则数据错乱。

图片特征:分4组CS/SCLK/MOSI波形,标注采样边沿,区分Mode0~Mode3(Mode0使用最多)。

  • CPOL:空闲SCLK电平,0=空闲低电平,1=空闲高电平;
  • CPHA:数据采样边沿,0=第一个时钟沿采样,1=第二个时钟沿采样;
  • 工程默认:Mode0(CPOL=0,CPHA=0),W25Q、SPI屏幕默认该模式。

二、SPI主从拓扑结构

SPI固定架构:单主机+多从机,一条总线同一时刻只能1个主机产生SCLK时钟。

1. 星型拓扑(最常用,独立片选)

所有从机SCLK、MOSI、MISO三线全部并联每个从机单独引出CS接主机不同GPIO引脚,主机通过拉低某一路CS,单独选中单个设备通信。

图片特征:主控MCU引出一组SCLK/MOSI/MISO并联全部从机,每个从机自带独立CS接线。

实物接线实拍(开发板+多外设)

图片特征:开发板PCB走线,SCLK/MOSI/MISO共用,W25Q芯片CS引脚单独接主控IO,3.3V供电。

图片特征:主控排针通过4根杜邦线连接W25Q模块VCC/GND/SCK/MOSI/MISO/CS,实物直观体现四线接线规范。

2. 菊花链拓扑(级联,节省CS引脚)

从机首尾串联:主机MOSI→从机1输入,从机1输出→从机2输入,所有从机共用一组SCLK+1根公共CS,多用于DA/ADC阵列、LED驱动芯片,嵌入式测试较少用。

三、SPI速度特点

  1. 速率区间
  • 低速:几十KHz~1MHz(传感器、低速ADC);
  • 标准:1~20MHz(W25Q Flash、SPI液晶屏,工程最常用);
  • 高速SPI:50MHz~100MHz+(FPGA、DDR、高速射频模块);

I2C最高400KHz,SPI速率是I2C几十~上百倍,高速传输首选SPI。

  1. 影响速率因素:走线长短、是否加屏蔽线、从机芯片规格、电平3.3V/5V;
  2. 实测现象:速率过高出现乱码=时序不匹配、走线干扰,降频即可修复(测试高频故障)。

四、SPI全双工读写通信逻辑(结合逻辑分析仪波形)

SPI全双工同步收发:CS拉低选中设备后,SCLK每来1个时钟脉冲,MOSI发1bit、MISO同步收1bit,8bit组成1字节,收发同步完成。

1. 写流程(主机发、从机收)

CS拉低→SCLK输出时钟→MOSI逐位下发指令/数据→MISO同步接收从机返回数据→数据传输完毕→CS拉高结束通信。

2. 读流程(主机下发读指令,从机回传数据)

CS拉低→MOSI发送读寄存器指令→SCLK持续输出时钟→MISO逐位接收从机上传数据→CS拉高终止。

配图6:SPI读写逻辑分析仪抓取波形实拍

图片特征:四通道波形从上至下CS/SCLK/MOSI/MISO,能直观看到CS下降沿启动通信、SCLK脉冲、MOSI下发指令、MISO回传数据。

五、嵌入式测试常见故障排查(硬件+协议)

  1. 完全无通信(MISO无数据)
    原因:CS没拉低、SCLK/MOSI/MISO接反、从机未上电、主从SPI四种模式不一致;
    排查:逻辑分析仪抓CS电平、核对CPOL/CPHA配置。
  2. 数据随机错乱
    原因:SPI时钟速率过高、杜邦线过长引入干扰、电源纹波大;
    解决:降低SCLK频率、缩短接线。
  3. 能写不能读/能读不能写
    原因:MISO虚焊、从机寄存器只读配置错误、模式配置单边不匹配。

六、总结

  1. 硬件:4线(SCLK+MOSI+MISO+独立CS),全双工,无地址
  2. 拓扑:星型(独立CS)为主,一主多从;
  3. 时序:4种CPOL+CPHA模式,工程默认Mode0;
  4. 速率:MHz级别,远快于I2C;
  5. 测试排查顺序:CS电平→接线方向→SPI模式→时钟速率。
http://www.zskr.cn/news/1450600.html

相关文章:

  • CentOS 7下SFTP连接报错‘bad ownership’?手把手教你排查OpenSSH的chroot目录权限
  • IO练习题
  • AI赋能少儿英语,开心口袋“AI说AI读”小程序正式上线
  • MATLAB版自适应步长RK4求解器:带误差控制的ODE数值计算工具
  • 对比深圳十几家定制,终于找到闭口不加价的 ENF 工厂|木点点整装实测 - 产品测评官
  • 终极指南:如何在OpenWRT路由器上快速搭建iStore软件中心
  • 2026年AI编程工具推荐榜单:五大主流工具深度评测
  • 什么是CDN?小学生也能听懂的网络加速魔法
  • Cursor 插件,才是 AI 编程的真正终局
  • 第十一章 降维 案例:沪深300指数成分股收益率的主成分分析
  • 别再傻傻分不清了!用Python实战案例帮你彻底搞懂准确率、召回率和精确度
  • 量子模拟技术解析:非简谐振荡器的VQE实现
  • 从 LangGraph 到小说 Agent Runtime:用 flashNovel 实现章节级工作流、上下文记忆与人工确认
  • 在线 UML 制图神器:用例图、时序图、流程图一键生成非常好用
  • Translumo:Windows平台实时屏幕翻译工具完全指南
  • 06-02 · LLM 最新论文速览
  • 如何构建面向企业研发协作的规范化设计走查表与设计还原度优化设计系统与视觉资产库流程
  • 如何重新掌控你的数字记忆:WeChatMsg让聊天记录成为你的个人数字资产
  • 抖音无水印视频批量下载工具深度解析与实战指南
  • 惠州市阿特拉斯的空压机代理多少钱? - myqiye
  • Esper——核心概念
  • Ubuntu20系统启动失败别慌!手把手教你用U盘‘试用模式’无损修复(保留/home和软件)
  • 基于Arduino与555定时器的智能钢琴:超声波触发自动演奏系统设计
  • 2026如何挑选真正实用的材料进销存管理系统?
  • CS Demo Manager:从游戏回放到战术洞察的专业分析工具
  • 推荐靠谱的彩钢复合板品牌,鹏晨新材如何? - myqiye
  • 告别‘只读’烦恼:保姆级教程教你用macFUSE+ntfs-3g挂载移动硬盘到指定文件夹
  • 保姆级教程 | Codex 接入 DeepSeek V4,亲测有效
  • 选用 NativeWebView 必须从 Avalonia11 升级 Avalonia12
  • 如何用Python自动化脚本轻松抢到心仪演唱会门票:大麦网抢票终极指南