SPI 协议的理解

一、SPI介绍

1.1技术性能:

采用主从模式,一般仅支持单Master--多Slave。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前--底位在后(MSB first)。接口有两条单向数据线,为全双工通信。

  各半导体公司推出了大量的带有SPI接口的具有各种各样功能的芯片,如RAM,EEPROM,FlashROM,A/D转换器、D/A转换器、LED/LED显示驱动器、I/O接口芯片、实时时钟、UART收发器

1.2接口定义:

 SPI接口共有4根信号线,分别是:设备选择线、时钟线、串行输出数据线、串行输入数据线。

  • MOSI :主设备数据输入,从设备数据输出
  • MOSO :主设备数据输出,从设备数据输入
  • SCLK:时钟信号,由主设备产生
  • CSS:从设备使能信号,有主设备控制

1.3时钟极性和时钟相位

1.3.1时钟极性和时钟相位的基本介绍  

在SPI操作中,最重要的两项设置就是时钟极性CPOL或UCCKPL)和时钟相位CPHA或UCCKPH)。

时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和发送数据的时钟沿。时钟极性(CPOL)对传输协议没有重大的影响,时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。

  CPOL=0,串行同步时钟的空闲状态为低电平;CPOL=1,串行同步时钟的空闲状态为高电平。

  CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。 

1.3.2时序详解 

 

  我们来关注SCK的第一个时钟周期,在时钟的前沿采样数据(上升沿,第一个时钟沿),在时钟的后沿输出数据(下降沿,第二个时钟沿)。首先来看主器件,主器件的输出口(MOSI)输出的数据bit1,在时钟的前沿被从器件采样,那主器件是在何时刻输出bit1的呢?bit1的输出时刻实际上在SCK信号有效以前,比SCK的上升沿还要早半个时钟周期。bit1的输出时刻与SSEL信号没有关系。再来看从器件,主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。从器件是在SSEL信号有效后,立即输出bit1,尽管此时SCK信号还没有起效。

  所以说,主机和从机的发送数据是同时完成的,两者的接收数据也是同时完成的。所以为了保证主从机正确通信,应使得它们的SPI具有相同的时钟极性和时钟相位。

  SPI接口时钟配置心得:在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求,因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还是上升沿输出数据。

1.4单片机软件模拟SPI接口

参考一下网址: http://blog.csdn.net/ce123/article/details/6905630

二、SPI与IIC

Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。

参考以下网址:http://blog.csdn.net/ce123/article/details/6878547

时间: 2024-10-20 09:09:06

SPI 协议的理解的相关文章

[SPI&I2C]I2C和SPI协议介绍

IIC vs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影.原因是这两种通信协议非常适合近距离低速芯片间通信.Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议. IIC 开发于1982年,当时是为了给电视机内的CPU和外围芯片提供更简易的互联方式.电视机是最早的嵌入式系统之一,而最初的嵌

模拟SPI协议时序

SPI是串行外设接口总线,摩托罗拉公司开发的一种全双工,同步通信总线,有四线制和三线制. 在单片机系统应用中,单片机常常是被用来当做主机(MASTER),外围器件被当做从机(SLAVE). 所以,在以下的介绍中,都是默认单片机是主机模式进行说明的. SPI总线相对于IIC总线,无总裁机制,无应答机制. SPI常用的四线制分别是,MISO(主入从出).MOSI(主出从入).SCK(同步时钟线).CS(片选线,也有是NSS). 主从机之间典型的接线方式如下所示: 按照时钟线的时钟极性(CPOL)和相

[SPI]SPI协议详解

转自:https://my.oschina.net/freeblues/blog/67400 1.SPI协议简介 1.1.SPI协议概括 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC68HCXX系列处理器上定义的.SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了

spi协议->裸机程序->master驱动程序分析

SPI协议参考: SPI协议及其工作原理浅析 http://bbs.chinaunix.net/thread-1916003-1-1.html SPI总线协议及SPI时序图详解 http://blog.163.com/sunshine_linting/blog/static/44893323201181482335951 一.概述 SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上

SPI协议

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC68HCXX系列处理器上定义的.SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM92

SPI协议详解

 原文链接:https://blog.csdn.net/qq_38410730/article/details/80318821 SPI的基本介绍 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口,是Motorola首先在其MC68HCXX系列处理器上定义的. SPI接口主要应用在EEPROM.FLASH.实时时钟.AD转换器,还有数字信号处理器和数字信号解码器之间.SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线

Http协议与TCP协议简单理解

在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解. TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的.所以Http连接是一种短连接,是一种无状态的连接.所谓的无状态,是指浏览器每次向服务器发起请求的时候,

spi协议及工作原理分析

转自----http://blog.csdn.net/skyflying2012/article/details/11710801 一.概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控制器(PICmicro) 上面的微处理控制单元 (MCU) 上叫作同步串行端口(Synchronous Serial Port) 的模块(Module)来实现的, 它允

对OAuth1.0协议的理解

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用.协议地址为:http://oauth.net/core/1.0/#rfc.section.A.5 研究的是OAuth1.0,因为2.0褒贬不一,连创始人都宣布脱离关系了...而1.0基本各个大网站都支持的不错 具体举个例子: 比如我们手机用虾米app来听歌,想要登录虾米但又不想注册一个新的账号,可以选择第三方登录,也就是用微博号登录.