SPI接口的概念,数据传输, 时钟极性、时钟相位以及优缺点解析

电子工程专辑 2018-02-05 08:49 次阅读

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。1. 接口SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为:1) SCLK:串行时钟,用来同步数据传输,由主机输出;2) MOSI:主机输出从机输入数据线;3) MISO:主机输入从机输出数据线;4) SS:片选线,低电平有效,由主机输出。在SPI总线上,某一时刻可以出现多个从机,但只能存在一个主机,主机通过片选线来确定要通信的从机。这就要求从机的MISO口具有三态特性,使得该口线在器件未被选通时表现为高阻抗。

2. 数据传输

在一个SPI时钟周期内,会完成如下操作:1) 主机通过MOSI线发送1位数据,从机通过该线读取这1位数据;2) 从机通过MISO线发送1位数据,主机通过该线读取这1位数据。这是通过移位寄存器来实现的。如图2所示,主机和从机各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。

3. 时钟极性和时钟相位

在SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位(CPHA或UCCKPH)。时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和发送数据的时钟沿。主机和从机的发送数据是同时完成的,两者的接收数据也是同时完成的。所以为了保证主从机正确通信,应使得它们的SPI具有相同的时钟极性和时钟相位。举例来说,分别选取MSP430控制器和OLED驱动SH1101A为主从机,图3和图4为它们的SPI时序。由图4可知,SH1101A的SPI时钟空闲时为高电平,并且在后时钟沿接收数据,则MSP430控制器SPI的设置应与此保持一致。从图3中可以看出,要使得时钟在空闲时为高电平,应将UCCKPL置1;要使得在后时钟沿接收数据,应将UCCKPH清零。

SPI接口的概念,数据传输, 时钟极性、时钟相位以及优缺点解析

4. 优缺点SPI接口具有如下优点:1) 支持全双工操作;2) 操作简单;3) 数据传输速率较高。同时,它也具有如下缺点:1) 需要占用主机较多的口线(每个从机都需要一根片选线);2) 只支持单个主机。

热门推荐

原文标题:弄懂SPI接口

文章出处:【微信号:eet-china,微信公众号:电子工程专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

如何在SPI模式下将ADS7866/67/68ADC连接MSP430F2013通用串行接口的概述

该应用报告给出了在SPI模式下将ADS7866/67/68 12/10/8位SAR模数转换器连接到M....

发表于 05-25 15:57 22次阅读
如何在SPI模式下将ADS7866/67/68ADC连接MSP430F2013通用串行接口的概述

一个数据采集系统的串行外设接口(SPI)如何实现的详细资料概述

该应用报告讨论了一个数据采集系统的串行外设接口(SPI)的实现,它包括以下设备:TLV2541、TL....

发表于 05-25 15:53 23次阅读
一个数据采集系统的串行外设接口(SPI)如何实现的详细资料概述

STM32的三种串口通信协议介绍

本文首先介绍了STM32串口硬件电路及串口编程,其次介绍了STM32的三种串口通信协议,最后介绍了S....

发表于 05-25 09:33 755次阅读
STM32的三种串口通信协议介绍

基于STM32的语音导览系统的设计方案

景点语音导览主要有以下几种方式:一种是通过全球定位系统(GPS)的用户终端接收工作卫星的导航信息,从....

的头像 电子设计 发表于 05-25 08:01 620次阅读
基于STM32的语音导览系统的设计方案

STM32控制oled SPI通信资料下载

STM32 控制oled SPI通信,测试可用

发表于 05-22 10:14 45次阅读
STM32控制oled SPI通信资料下载

请问RXINT、TXINT和其他中断的中断线如何选择更合适?哪个为level 0,哪个为level 1?

发表于 05-22 02:12 37次阅读
请问RXINT、TXINT和其他中断的中断线如何选择更合适?哪个为level 0,哪个为level 1?

LM4936 BOOMER 音频功率放大器系列立体声W功率放大器,音量控制和可选择的控制接口(SPI或I2C)

LM4936是一个单片集成电路,它提供体积控制和立体声桥接音频功率放大器,能够产生小于1%THD或2....

发表于 05-18 10:49 20次阅读
LM4936 BOOMER 音频功率放大器系列立体声W功率放大器,音量控制和可选择的控制接口(SPI或I2C)

可精确测量宽输入范围内的多个电压和电流输入系统的设计概述

此TI 参考设计解决方案可满足合并单元、保护继电器、DTU、FTU 和间隔控制单元的模拟前端需求,借....

发表于 05-14 09:10 26次阅读
可精确测量宽输入范围内的多个电压和电流输入系统的设计概述

基于MSP430的SPI驱动编写之用MSP430驱动AFE4400

平常工作中,如果使用 MSP430 作为主控芯片,经常会遇到需要编写SPI 或 I2C 驱动,来读取....

发表于 05-14 02:35 347次阅读
基于MSP430的SPI驱动编写之用MSP430驱动AFE4400

基于MSP430F5438A的SPI通信来进行SD卡初始化

现在的单片机有相当一部分还不支持SDIO,比如MSP430(据我所知,如果有支持的型号了还请及时告诉....

发表于 05-14 02:31 356次阅读
基于MSP430F5438A的SPI通信来进行SD卡初始化

一文读懂MSP430 SPI总线

MSP430对SPI的支持:当msp430USART模块控制器UxCTL的位SYNC置位时,USAR....

发表于 05-13 09:03 84次阅读
一文读懂MSP430 SPI总线

MSP430G2xx系列汇总

MSP430G2xx系列汇总

发表于 05-04 16:44 41次阅读
MSP430G2xx系列汇总

AM335x SPI闪存引导的配置详细中文概述

最近和人一起调试SPI FLASH的配置问题,做个小结记录,也方便后续人员开发的时候来使用。考虑到物....

发表于 04-24 16:21 36次阅读
AM335x SPI闪存引导的配置详细中文概述

MSP430单片机的同步串行SPI多通道温度测试系统设计详析

文中介绍了基于MSP430单片机的同步串行SPI的多通道温度测试系统的设计方案。该系统主要由TI公司....

发表于 04-24 16:20 27次阅读
MSP430单片机的同步串行SPI多通道温度测试系统设计详析

IIC和SPI总线协议的区别

现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit....

的头像 电子设计 发表于 04-24 12:41 276次阅读
IIC和SPI总线协议的区别

MSP430F2系列16位超低功耗单片机模块原理12

通用串行通信接口(USCI)采用一个硬件模块支持多种串行通信方式。本章介绍同步外围接口或SPI方式的....

发表于 04-23 09:36 30次阅读
MSP430F2系列16位超低功耗单片机模块原理12

MSP430F2系列16位超低功耗单片机模块原理10

通用串行接口模块(USI)提供与硬件模块的SPI和I2C串行通信。本章讨论这两种模式。USI模块包含....

发表于 04-23 09:28 22次阅读
MSP430F2系列16位超低功耗单片机模块原理10

浅谈Zynq实现SPI接口设计

我们可以根据应用的要求来选择使用哪种方法实现SPI控制器。两种SPI的实现方式都支持四种SPI模式,....

发表于 04-22 11:46 512次阅读
浅谈Zynq实现SPI接口设计

Microchip SPI串行SRAM器件的建议用法

许多嵌入式系统都需要一定数目的易失性存储器来存储临时数据。对于支持网络连接的器件来说,这种需求更是日....

发表于 04-20 17:13 39次阅读
Microchip SPI串行SRAM器件的建议用法

关于SPI传输过程 stm32 SPI配置

SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为....

的头像 MCU开发加油站 发表于 04-20 11:01 592次阅读
关于SPI传输过程 stm32 SPI配置

SPI速度问题

发表于 04-19 20:14 434次阅读
SPI速度问题

你想玩转RT-Thread之SPI设备吗?

本应用笔记以驱动SPI接口的OLED显示屏为例,说明了如何添加SPI设备驱动框架及底层硬件驱动,使用....

的头像 RTThread物联网操作系统 发表于 04-17 10:20 606次阅读
你想玩转RT-Thread之SPI设备吗?

满足物联网高速通信需求的SPI接口WiFi模块介绍

基于无线模块的各类控制应用,都是通过通讯接口来实现的,无线模块提供UART和多个GPIO接口,GPI....

的头像 无线模块 发表于 04-16 10:26 957次阅读
满足物联网高速通信需求的SPI接口WiFi模块介绍

Compact Rio下NI9401如何通过SPI通讯采集加速度信号?

发表于 04-16 09:13 356次阅读
Compact Rio下NI9401如何通过SPI通讯采集加速度信号?

Linux下spi驱动技术分析

主设备对应SOC芯片中的SPI控制器,通常,一个SOC中可能存在多个SPI控制器,像上面的例子所示,....

发表于 04-12 17:59 182次阅读
Linux下spi驱动技术分析

3.2.9 SPI文件汇总

3.2.9 SPI文件汇总

发表于 04-10 10:41 38次阅读
3.2.9 SPI文件汇总

罗姆公司的ML5238电压采集芯片问题

发表于 04-09 16:58 431次阅读
罗姆公司的ML5238电压采集芯片问题

基于Proteus的SPI接口的设计与实现方案资料分享

基于Proteus的SPI接口的设计与实现 现在,人们生活中的每个角落都有 嵌入式 设备的存在,比如....

发表于 04-05 09:31 168次阅读
基于Proteus的SPI接口的设计与实现方案资料分享

浅谈I2C总线,I2C接口和SPI接口的作用相同

SDA 和 SCL 都是双向的。SPI 总线有两根单独的线,分别用于两个方向的通信,而 I2C 总线....

的头像 嵌入式ARM 发表于 03-21 10:24 4019次阅读
浅谈I2C总线,I2C接口和SPI接口的作用相同

根据时钟极性和时钟相位的不同,SPI有四个工作模式

串行外围设备接口是由 Motorola 公司开发的,用来在微控制器和外围设备芯片之间提供一个低成本、....

的头像 嵌入式ARM 发表于 03-20 11:43 1068次阅读
根据时钟极性和时钟相位的不同,SPI有四个工作模式

串行SPI Nor Flash启动流程

关于外部Flash的代码安全问题和代码在外部执行对整个系统性能的影响,RT105x的加密启动(HA....

的头像 电子技术应用ChinaAET 发表于 03-16 09:32 1444次阅读
串行SPI Nor Flash启动流程

模拟SPI数据传输的读写程序(时钟芯片DS1302为例)

在时钟的上升沿是写入数据,是从低位开始写入。还有一个需要注意的地方是写字节和读字节连接处,从图中可以....

发表于 03-14 14:46 549次阅读
模拟SPI数据传输的读写程序(时钟芯片DS1302为例)

代码分析:九轴姿态传感器是无人机中必备重要器件。

SPI连接的是型号为BMI160的六轴加速度计和陀螺仪传感器。具体是如何通过寄存器的读取加速度值的我....

的头像 21ic电子网 发表于 03-12 11:29 1226次阅读
代码分析:九轴姿态传感器是无人机中必备重要器件。

教你分清楚SPI、I2C、UART、I2S、GPIO、SDIO、CAN!

一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性....

的头像 EDN电子技术设计 发表于 03-12 08:53 1519次阅读
教你分清楚SPI、I2C、UART、I2S、GPIO、SDIO、CAN!

SPI通信总线的原理及工作过程简单分析

SPI, 串行外围设备接口。高速的,全双工的,同步通信总线。有四个引脚:SDI(数据输入),SDO(....

的头像 嵌入式ARM 发表于 03-08 09:39 1265次阅读
SPI通信总线的原理及工作过程简单分析

多用户MISO干扰信道安全协同波束成形

针对多用户多输入单输出(MISO,multiple-input single-output)干扰信道....

发表于 03-06 16:47 54次阅读
多用户MISO干扰信道安全协同波束成形

基于MISO系统上下行链路对偶性分析

TDD系统中,利用上下行链路的对偶性可以将非凸的下行优化问题转换到上行链路,从而极大简化问题的分析和....

发表于 03-01 14:41 41次阅读
基于MISO系统上下行链路对偶性分析

深度解读SPI特点、机制和驱动以及其举例

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备....

的头像 EDN电子技术设计 发表于 02-19 09:58 2047次阅读
深度解读SPI特点、机制和驱动以及其举例

MSP430f249使用SPI通信遇到问题

发表于 02-18 15:12 1052次阅读
MSP430f249使用SPI通信遇到问题

基于S3C2410的串行外围设备接口SPI实现数据采集设计

串行外围设备 接口 SPI (serial peripheral interface)总线技术是Mo....

发表于 02-07 09:16 215次阅读
基于S3C2410的串行外围设备接口SPI实现数据采集设计

spi读取sd卡数据例程

SD 卡有两个可选的通讯协议:SD 模式和 SPI模式 SD 模式是SD 卡标准的读写方式,但是在选....

发表于 02-02 13:55 198次阅读
spi读取sd卡数据例程

SPI的MRST和SDO怎么接

发表于 02-02 10:47 396次阅读
SPI的MRST和SDO怎么接

32mb串行闪存133mhz多I/O SPI和四I/O QPI DTR接口数据手册

32mb串行闪存133mhz多I/O SPI和四I/O QPI DTR接口数据手册

发表于 01-30 14:37 184次阅读
32mb串行闪存133mhz多I/O SPI和四I/O QPI DTR接口数据手册

基于SPI协议的读卡器设计

提起读卡器,大多数人会想到它是一种读卡设备,由于存在各种不同类型的卡片,读卡器的含义也比较广泛了。按....

发表于 01-25 16:50 78次阅读
基于SPI协议的读卡器设计

nrf24l01+和stm32的spi通讯需要设置nrf24l01+的spi波特率吗

发表于 01-21 17:16 741次阅读
nrf24l01+和stm32的spi通讯需要设置nrf24l01+的spi波特率吗

实现智能家电控制系统设计方案的几大关键点

计算机网络、通信和控制技术的发展使家电的集中和远程智能控制成为可能,将信息技术和家电技术相融合,在更....

的头像 电子设计 发表于 01-18 07:37 2276次阅读
实现智能家电控制系统设计方案的几大关键点

SPI-WIFI模块让普通单片机实现“有效速度”过兆字节每秒的高速传输不再是梦想

发表于 01-17 12:51 1028次阅读
SPI-WIFI模块让普通单片机实现“有效速度”过兆字节每秒的高速传输不再是梦想

深度解析IO模拟时序(SPI)的注意事项

有硬件I2C、SPI时尽量用硬件操作,省去IO模拟繁琐的时序调试。但在内部资源不够时就要用IO模拟总....

的头像 MCU开发加油站 发表于 01-17 09:37 1701次阅读
深度解析IO模拟时序(SPI)的注意事项

一种新型外设接口的构想

发表于 01-12 13:11 822次阅读
一种新型外设接口的构想

揭开Zynq Z-7000从SPI接口挂载的flash启动的神秘面纱

今天给各位介绍另外一款Xilinx公司芯片的产品Zynq Z-7000 SoC,我们一起来揭开它从S....

的头像 FPGA开发圈 发表于 01-10 10:37 2076次阅读
揭开Zynq Z-7000从SPI接口挂载的flash启动的神秘面纱

详细剖析I2C和SPI通信协议的区别

IIC和SPI都对低速设备通信提供了很好的支持,不过,SPI适合数据流应用,而IIC更适合“字节设备....

的头像 传感器技术 发表于 01-03 11:40 1526次阅读
详细剖析I2C和SPI通信协议的区别

spi从机程序设计_spi从机程序代码详细介绍

本文介绍STM32F407的SPI主从机通信程序和基于计数器的spi从机程序这两种spi从机程序

发表于 12-29 15:05 465次阅读
 spi从机程序设计_spi从机程序代码详细介绍

面向系统级芯片的SPI模块

针对传统串行外设接口(SPI)模块设计不灵活、不利于扩展、不支持乱序访问的缺陷,设计了一种面向系统级....

发表于 12-28 11:25 276次阅读
面向系统级芯片的SPI模块

FT2232H双通道能否同时使用?

发表于 12-25 11:23 450次阅读
FT2232H双通道能否同时使用?

嵌入式工程师详解常用的IIC和SPI总线协议概念

IIC vs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integra....

发表于 12-22 20:15 211次阅读
嵌入式工程师详解常用的IIC和SPI总线协议概念

深度解析IIC和SPI总线协议的区别与应用场景

IIC vs SPI: 哪位是赢家?我们来对比一下IIC 和 SPI的一些关键点: 第一,总线拓扑....

的头像 嵌入式资讯精选 发表于 12-22 16:48 3994次阅读
深度解析IIC和SPI总线协议的区别与应用场景

详细讲解重用外设驱动代码_SPI_NOR_Flash存储器

第六章为重用外设驱动代码,本文内容为6.2 SPI NOR Flash 存储器。

的头像 周立功单片机 发表于 12-21 07:59 2980次阅读
详细讲解重用外设驱动代码_SPI_NOR_Flash存储器

SPI—外部FLASH文件系统

本文档使用 TAB = 4 对齐,使用keil5默认配置打开阅读比较方便。 【*】程序简介 -工程名....

发表于 12-13 15:16 135次阅读
SPI—外部FLASH文件系统

SPI—外部FLASH-W25Q128

本文档使用 TAB = 4 对齐,使用keil5默认配置打开阅读比较方便。 【*】程序简介 -工程名....

发表于 12-13 15:13 348次阅读
SPI—外部FLASH-W25Q128

iic和spi有什么区别

IIC的数据输入输出用的是一根线,SPI则分为data IN和 data OUT。由于这个原因,采用....

发表于 12-12 11:51 632次阅读
iic和spi有什么区别