SPI串口模块-SPI接口详细介绍

1. SPI串口模块-概述

SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。常规只占用四根线,节约了芯片管脚,PCB的布局省空间。现在越来越多的芯片集成了这种通信协议,常见的有EEPROM、FLASH、AD转换器等。

SPI串口模块-SPI接口详细介绍

SPI串口模块-优点:

支持全双工,push-pull的驱动性能相比open-drain信号完整性更好;

支持高速(100MHz以上);

协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;

硬件连接简单;

SPI串口模块-SPI接口详细介绍

SPI串口模块-缺点:

相比IIC多两根线;

没有寻址机制,只能靠片选选择不同设备;

没有从设备接受ACK,主设备对于发送成功与否不得而知;

典型应用只支持单主控;

相比RS232 RS485和CAN总线,SPI传输距离短;

SPI串口模块-SPI接口详细介绍

2. SPI串口模块-硬件结构

SPI总线定义两个及以上设备间的数据通信,提供时钟的设备为主设备Master,接收时钟的设备为从设备Slave;

SPI串口模块-信号定义如下:

SCK : Serial Clock 串行时钟

MOSI : Output, Slave Input 主发从收信号

MISO : Input, Slave Output 主收从发信号

SS/CS : Slave 片选信号

SPI串口模块-SPI接口详细介绍

SPI串口模块-电路连接如下:

单个主设备和单个从设备:

单个主设备和多个从设备,通过多个片选信号或者菊花链方式实现:

SPI串口模块-SPI接口详细介绍

3. SPI串口模块-寄存器类型

Motorola定义的SPI寄存器包括:

SPI Control Register 1 (SPICR1)    控制寄存器1

SPI Control Register 2 (SPICR2)    控制寄存器2

SPI Baud Rate Register (SPIBR)    波特率寄存器

SPI Status Register (SPISR)            状态寄存器  (只读   其余均可读可写)

SPI Data Register (SPIDR)              数据寄存器

通过往寄存器中写入不同的值,设置SPI模块的不同属性。

SPI串口模块-SPI接口详细介绍

4.SPI串口模块- SPI传输模式

通过设置控制寄存器SPICR1中的CPOL和CPHA位,将SPI可以分成四种传输模式。

CPOL,即Clock Polarity,决定时钟空闲时的电平为高或低。对于SPI数据传输格式没有显著影响。

1 = 时钟低电平时有效,空闲时为高

0 = 时钟高电平时有效,空闲时为低

CPHA,即Clock Phase,定义SPI数据传输的两种基本模式。

1 = 数据采样发生在时钟(SCK)偶数(2,4,6,...,16)边沿(包括上下边沿)

0 = 数据采样发生在时钟(SCK)奇数(1,3,5,...,15)边沿(包括上下边沿)

SPI串口模块-SPI接口详细介绍

SPI串口模块-四种模式如下图所示:

先看第一列两张图(CPHA = 0),采样发生在第一个时钟跳变沿,即数据采样发生在SCK奇数边沿;再看第二列(CPHA =1),采样发生在第二个时钟跳变沿,即数据采样发生在SCK偶数边沿。

第一行两张图,第二行两张图(CPOL = 1),SCK空闲状态为高电平。

主从设备进行SPI通讯时,要确保它们的传输模式设置相同。

其中mode0和mode3最为常见,SPI接口的flash中均会有标注。

SPI串口模块-SPI接口详细介绍

5. SPI串口模块-读写操作

标准SPI读写为例

片选---读指令---地址---数据读出

片选---写指令---地址---数据写入

Dual I/O Fast Read Sequence Diagram  双路IO

Quad I/O Fast Read Sequence Diagram  四路IO

工业串口屏,单片机接口模块,HDMI触控屏,LVDS视频模块

计算机串口接spi,SPI串口模块-SPI接口详细介绍相关推荐

  1. python包和模块关系_Python包和模块的分发详细介绍

    发布Python包 上一篇介绍了如何使用别人的轮子,现在我们讨论下如何自己造轮子给别人用. 作为一个流行的开源开发项目,Python拥有一个活跃的贡献者和用户支持社区,这些社区也可以让他们的软件可供其 ...

  2. 瑞士酒店管理大学计算机专业,瑞士DCT国际酒店管理学院生活费用详细介绍

    瑞士DCT国际酒店及商业管理学院是世界上颇具声望的专业酒店管理学院之一.自1991年始,DCT便以其专业的酒店管理教学模式及国际化的学习氛围吸引着来自全世界四十多个国家的国际学生.如今,学院已成为瑞士 ...

  3. pc计算机参数表示什么,电脑cmos是什么意思?详细介绍cmos

    目前关于到电脑cmos是什么意思 CMOS简介这一类的信息是很多小伙伴们都非常关心的,很多人也是经常在搜索关于电脑cmos是什么意思 CMOS简介方面的信息,那么既然现在大家都想要知道此类的信息,小编 ...

  4. 【转】Ansible 模块之 lineinfile 详细介绍

    转载自:[Ansible学习]- 常用文件操作模块之lineinfile模块 目录 简介 模块参数 示例 文本替换 删除行 替换行并设置文件权限 insertafter和insertbefore 为文 ...

  5. 医学计算机基础上机指导,医学信息技术基础实验指导--详细介绍

    第1篇  计算机文化基础实验 第1章  驾驭计算机遨游于网络时空 1 实验1  网络上的计算机及其基本操作 1 实验2  Windows的文件管理 3 实验3  Windows软硬资源控制管理 6 实 ...

  6. 计算机基础项目教程,计算机基础项目式教程(Windows10+Office2013)--详细介绍

    单元1  计算机基础知识 项目  认识计算机 3 任务1  初识计算机 3 任务2  认识计算机的硬件和软件系统 15 任务3  计算机中的数据表示及编码 26 单元2  Windows 10操作系统 ...

  7. iphone用计算机显示器,苹果显示器接普通电脑怎么操作【详细介绍】

    导语: 总所周知, 苹果 的产品比较特例独行,它的外部链接口一直主流的不一样,这就使得使用苹果的客户产生一些连接问题,怎样将苹果和普通的电脑连接在一起呢?现在就让小编我来给大家介绍一下吧. 苹果的 显 ...

  8. 华东师大在职计算机分数线,关于在职研究生华东师范大学分数线的详细介绍!...

    近期选择华东师范在职考研的人员,大多对这所学校在职研究生的分数线比较关心.实际上,本校在职研分数线与考生报考方式相关,毕竟不同报考方式,相应考试不同,其考试分数线是不一样的.而据了解,这所学校在职研当 ...

  9. 合宙Air105|摄像头|capture|SPI|Serial 串口|TFTLCD|Micro SD卡|GC032A|USB转TTL|官方demo|学习(2-1):摄像头camera-capture

    目录 基础资料 探讨重点 实现功能 硬件准备 软件版本 软件使用 接线示意图 功能1:捕捉图片并存入SPI接口外置SD卡 lcd初始化 摄像头初始化 指定capture按钮 SD卡初始化 图片存储 功 ...

最新文章

  1. 我们:待别日相见时,我们都已有所成。挥手向2021告别吧,追求梦想的路上,永远不孤独「2021 年终总结 」
  2. linux升级补丁tar,Linux下Bash严重漏洞补丁升级方法
  3. 系统的Drawable(四)-LayerListDrawable
  4. “.公司”域名注册总量TOP15:新网问鼎 万网居亚
  5. 寻找相同的乱序字符串
  6. Java中的AtomicInteger
  7. 移动端点击一下显示再点一下消失_App用户自然流量裂变增长:移动互联网社交+深度链接技术的应用!...
  8. Container With Most Water(C++)
  9. 留言板php数据库_php实现留言板功能(连接数据库)的实例讲解
  10. windows 安装 win32 win32com模块
  11. 计算机应用基础word的课件,计算机应用基础之word2010课件
  12. 怎么把证件照压缩在30K之内?教你三秒快速压缩证件照
  13. juniper设备配置syslog日志发送到远程日志服务器
  14. Linux 学习笔记16 信号量
  15. win10下Anaconda虚拟环境安装pycocotools
  16. Windows 10电脑使用VMware虚拟机安装macOS苹果系统[一站式保姆级别教程]
  17. 手动删除病毒经历【usgop.exe】
  18. 2022.10.14 英语背诵
  19. 我打碎了夕阳开头...
  20. consulandnacos

热门文章

  1. 由于 Microsoft Word预览器中出现错误,无法预览此文件
  2. 「LibreOJ Round #11」Misaka Network 与任务
  3. Bootstrap警告
  4. 第七讲:7.物联网土壤湿度远程监控+自动花浇水
  5. keepalive离线安装和过程中的问题
  6. 求:WD(西部数据)硬盘,“必须从您要解锁的硬盘对应的WD Drive Unlock CD 运行WD Drive Unlock应用程序”错误解决办法
  7. android cordova,android项目使用cordova
  8. NestedScrollView和ScrollView常见问题总结
  9. C++更改控制台颜色
  10. 从0创建一个OS (九) 32-bit模式的打印字符串函数