IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> SPI—学习总结 -> 正文阅读

[嵌入式]SPI—学习总结

SPI总结

一、含义

  • Serial Peripheral interface串行外围设备接口,高速、全双工、同步的通信总线。Motorola(摩托罗拉)首先在其MC68HCXX系列处理器上定义的,用一根单独的数据线和一个单独的时钟信号来保证发送端和接收端的同步。时钟是一个振荡信号,确定输出传输的开始和结束(数据采集的时机可能是时钟的上升沿或下降沿。主从模式(产生时钟的一侧称为主机),可以一主多从工作场景。

二、接口含义

  • SCK(SCLK):时钟信号线,SPI的通讯速率。SPI总线上的主机必须在通信开始的时候产生相应的时钟信号。在每个SPI时钟周期内,都会发生全双工数据传输。主机在MOSI线上发送一位数据,从机读取它,而从机在MISO线上发送一位数据,主机读取它。时钟速率取决于每个系统能提供多大的系统时钟频率,以及最大的SPI传输速率。

  • MOSI(SOMI\DIN\DI\SDO\SI):主机输出/从设备输入,从主机到从机的数据

  • MISO:(SOMO\DO\SDI\SI)主机输入/从设备输出,从从机到主机的数据

  • NSS/CS:(SS, S?S?, SSEL, CS, C?S?, CE, nSS, /SS,
    SS#)片选信号线,对应的片选信号有效时,对该芯片操作有效。控制与哪个从机通信,通常是低电平有效

     	由高电平到低电平:SPI通讯的起始信号
     	由低电平到高电平:SPI通讯的结束信号
    
  • 时钟极性CPOL/CKP、 时钟相位CPHA/CKE:采集数据时是在时钟信号的具体相位或者边沿

  • 采样时钟:CPHA=0时在串行同步时钟的第一个(奇数边)跳变沿数据被采样 CPHA=1时在串行同步时钟的第二个(偶数边)跳变沿数据被采样
    三、时钟设置
    在这里插入图片描述
    五、传输过程
    在这里插入图片描述
    1、首先拉低对应NSS信号线,表示与该设备进行通信
    2、主机通过发送SCLK时钟信号,来告诉从机写数据或者是读数据
    3、主机将要发送的数据写到发送数据缓冲寄存器,缓冲寄存器又经过串行移位寄存器通过MOSI信号线将字节一位一位的移出去传送到从机,同时MISO接口接收到的数据经过移位寄存器一位一位的移到数据缓冲寄存器。
    4、从机也将自己的串行移位寄存器中的内容通过MISO信号线返回给主机。同时通过MOSI信号线接收主机发送的数据,这样,两个移位寄存器中的内容就被交换了。
    在这里插入图片描述
    在这里插入图片描述
    六、多从机模式
    (1)多根NSS
    1、每个从机都需要一条单独的NSS线
    2、如果要和特定的从机进行通讯,可以将相应的NSS信号线拉低,并保持其他NSS信号线的状态为高电平;如果同时将两个NSS信号线拉低,则可能会出现乱码,因为从机可能都试图在同一条MISO线上传输数据,最终导致接收数据乱码。
    在这里插入图片描述
    (2)菊花链
    1、在数字通信世界中,在设备信号(总线信号或中断信号)以串行的方式从一 个设备依次传到下一个设备,不断循环直到数据到达目标设备的方式被称为菊花链。花链的最大缺点是因为是信号串行传输,所以一旦数据链路中的某设备发生故障的时候,它下面优先级较低的设备就不可能得到服务了;
    2、另一方面,距离主机越远的从机,获得服务的优先级越低,所以需要安排好从机的优先级,并且设置总线检测器,如果某个从机超时,则对该从机进行短路,防止单个从机损坏造成整个链路崩溃的情况;
    在这里插入图片描述
    数据流向如下
    在这里插入图片描述
    七、SPI的优缺点
    SPI的优点
    1、全双工串行通信;
    2、高速数据传输速率。
    3、简单的软件配置;
    4、极其灵活的数据传输,不限于8位,它可以是任意大小的字;
    5、非常简单的硬件结构。从站不需要唯一地址(与I2C不同)。从机使用主机时钟,不需要精密时钟振荡器/晶振(与UART不同)。不需要收发器(与CAN不同)。
    SPI的缺点
    1、没有硬件从机应答信号确定是否接收到数据(主机可能在不知情的情况下无处发送);
    2、通常仅支持一个主设备;
    3、需要更多的引脚(与I2C不同);
    4、没有定义硬件级别的错误检查协议;
    5、与RS-232和CAN总线相比,只能支持非常短的距离;
    注意问题:
    1、sck信号只能由主设备控制,从设备不能控制信号线,至少有一个主设备,不需要进行寻址操作(必须有主机)
    2、SPI允许数据一位一位的传输,允许停止,允许同时完成输入和输出
    3、配置SPI接口时钟的时候,一定要弄清楚从设备的时钟要求,主设备的时钟极性和相位都是从主设备为基准。主设备的时钟极性配置与从设备的接收数据的极性是相反的

参考链接

SPI原理超详细讲解—值得一看
基于FPGA的SPI协议实现
SPI通信详解
SPI总线协议及SPI时序图详解
SPI协议详解(图文并茂+超详细)
SPI协议详解

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-04 07:29:03  更:2022-05-04 07:29:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:49:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码