设为首页|收藏本站|
开启左侧

[问答] SPI通信协议详解

[复制链接]
20584 0
印度轮女干部长 发表于 2022-9-5 11:02:54 | 只看该作者 打印 上一主题 下一主题
 
1.1 SPI协议概括

  SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如MSP430单片机系列处理器。
1.2 SPI优点
1):支持全双工通信
2):通信简单
3):数据传输速率快
1.3 缺点
没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据
可靠性上有一定的缺陷。
3、 工作机制

3.1 概述

SPI通信协议详解 第1张图片
上图只是对 SPI 设备间通信的一个简单的描述, 下面就来解释一下图中所示的几个组件:

  • SSPBUF:泛指 SPI 设备里面的内部缓冲区,一般在物理上是以 FIFO 的形式,保存传输过程中的临时数据;
  • SSPSR:泛指 SPI 设备里面的移位寄存器,它的作用是根据设置好的数据位宽(bit-width) 把数据移入或者移出 SSPBUF;
  • Controller:泛指 SPI 设备里面的控制寄存器,可以通过配置它们来设置 SPI 总线的传输模式。
通常情况下,我们只需要对上图所描述的四个管脚(pin) 进行编程即可控制整个 SPI 设备之间的数据通信:

  • SCK:主要的作用是 Master(主)设备往 Slave(从)设备传输时钟信号, 控制数据交换的时机以及速率;
  • SS/CS:用于 Master(主)设备片选 Slave (从)设备,使被选中的 Slave(从)设备能够被 Master(主)设备所访问;
  • SDO/MOSI:在 Master(主)上面也被称为 Tx-Channel,作为数据的出口,主要用于 SPI 设备发送数据;
  • SDI/MISO:在 Master(主)上面也被称为 Rx-Channel,作为数据的入口,主要用于SPI 设备接收数据;
SPI 设备在进行通信的过程中,Master 设备和 Slave 设备之间会产生一个数据链路回环(Data Loop),就像上图所画的那样, 通过 SDO 和 SDI 管脚, SSPSR 控制数据移入移出 SSPBUF,Controller 确定 SPI 总线的通信模式,SCK 传输时钟信号。
SDI(数据输入)、SDO(数据输出)、SCK(时钟)、CS(片选)
(1)、SDO/MOSI – 主设备数据输出,从设备数据输入;
(2)、SDI/MISO – 主设备数据输入,从设备数据输出;
(3)、SCK – 时钟信号,由主设备产生;
(4)、CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。

SPI通信协议详解 第2张图片
转自:
曾小庆:SPI通信协议详解(spi总线)


上一篇:重庆中医男科?前列腺中医
下一篇:民事强制执行法草案重点问题分析(五)——银行应当重点 ...
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-5-22 13:47