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

SPI驱动(一) -- SPI协议

文章目录

  • 一、SPI硬件连接框图
    • 1.1 引脚说明
    • 1.2 连接说明
  • 二、SPI协议
    • 2.1 SPI传输示例
    • 2.2 SPI工作模式
  • 三、总结


一、SPI硬件连接框图

SPI硬件连接框图如下:
在这里插入图片描述

1.1 引脚说明

  • SCK:Serial Clock,时钟引脚
  • DO(MOSI):Master Output, Slave Input,SPI主控发出数据,SPI从设备接收数据
  • DI(MISO):Master Input, Slave Output,SPI主控接收数据,SPI从设备发出数据
  • CS:Chip Select,片选引脚

1.2 连接说明

SPI属于主从结构。其中,SPI控制器代表主设备,一个SPI控制器上可以外接多个SPI从设备,例如可以外接 SPI Flash 、SPI OLED 等等。那么主设备如何和其中的某个从设备进行通信呢?通过片选引脚拉低(或者拉高)来选中想要通信的从设备,同一时刻只能有一个从设备被选中进行通信。

二、SPI协议

2.1 SPI传输示例

SPI协议是怎么传输数据的呢?下面以主控芯片传输一个字节数据0x56给SPI Flash为例进行说明。时序图如下:
在这里插入图片描述

  • 首先,CS0 片选引脚拉低选中SPI Flash设备。
  • 0x56 的二进制就是0b0101 0110,因此在每个SCK时钟周期,DO输出对应的电平,先传输的是最高位。
  • SPI Flash会在每个时钟周期的上升沿读取D0上的电平。

2.2 SPI工作模式

对于SPI传输示例时序图中,有两个地方是可以设置的:
(1)SCK起始位置的电平可以设置为高电平或者低电平,这个用CPOL来表示,CPOL等于0为低电平,等于1为高电平。
(2)在时钟的第一个还是第二跳变沿进行数据采样,这个用CPHA来表示,CPHA等于0为第一个时钟跳变沿,等于1为第二个时钟跳变沿。

根据 CPOL 和 CPHA 的值,可以组成SPI的4种工作模式:

CPOLCPHA模式含义
000SPI CLK初始电平为低电平,在第一个时钟沿采样数据
011SPI CLK初始电平为低电平,在第二个时钟沿采样数据
102SPI CLK初始电平为高电平,在第一个时钟沿采样数据
113SPI CLK初始电平为高电平,在第二个时钟沿采样数据

4钟模式的时序图如下:

  • 模式0时序图
    在这里插入图片描述
  • 模式1时序图
    在这里插入图片描述
  • 模式2时序图
    在这里插入图片描述
  • 模式3时序图
    在这里插入图片描述
    注意:根据这4种模式的时序图可以知道,无论是哪种模式,主控芯片在 MOSI 发出8位数据的同时,MISO 也会接收8位数据。

三、总结

本文简要介绍了SPI协议,根据 CPOL 和 CPHA 的值,可以组成4中不同工作模式。

相关文章:

  • 服务是否设置为开机自启动
  • 嵌入式开发:磁通门传感器开发(5):测量磁场的方法和传感器
  • Ollama存在安全风险的情况通报及解决方案
  • 【Resis实战分析】Redis问题导致页面timeout知识点分析
  • React Refs:深入理解与最佳实践
  • BUU44 [BJDCTF2020]ZJCTF,不过如此1 [php://filter][正则表达式get输入数据][捕获组反向引用][php中单双引号]
  • Python项目-基于深度学习的校园人脸识别考勤系统
  • Maven 私服的搭建与使用(一)
  • 沃丰科技结合DeepSeek大模型技术落地与应用前后效果对比
  • 内嵌踢脚线怎么做能省钱?
  • 机器学习的半监督学习,弱监督学习,自监督学习
  • Python--面向对象高级(下)
  • 【Python】精通 Python 模块导入:命名空间、组织与最佳实践
  • Linux驱动开发-字符设备驱动开发
  • 51单片机编程学习笔记——动态数码管显示多个数字
  • DBeaver下载安装及数据库连接(MySQL)
  • STM32 ADC模数转换
  • [SystemVerilog]例化
  • AI赋能校园安全:科技助力预防与应对校园霸凌
  • Servlet理论和tomcat(2)http
  • 购物网站哪个质量好/热狗网站关键词优化
  • 项目之家/简单网站建设优化推广
  • 网站外部推广/荆门今日头条新闻发布
  • WordPress文章如何折叠插件/使用 ahrefs 进行 seo 分析
  • 做网站难还是app/百度app下载官方免费下载安装
  • dw超链接自己做的网站/php视频转码