【原创】【SPI】SPI接口介绍

一、这是个什么玩意

该博客部分参考http://blog.csdn.net/douqingl/article/details/50452355,在此特别感谢,共同学习

SPI首先它是一个通信接口,通信接口就是用来通信的,通俗讲比如就是两个模块通过SPI接口来通信,类似和串口一样,都是接口,记住它只是一个接口,明白了这点后再接着往下扣,这是个什么样的接口。

SPI ( Serial Peripheral Interface串行外设接口)是一种同步、串行通讯接口规格,通常用于短距离通讯,很多场景是用在嵌入式系统中。

SPI接口Mototola公司推出来的,并且已成为一种标准,但是没有统一的协议规范,目前基于广泛的使用,大多数人根据实际使用中的习惯形成了一个类似的行规标准

SPI:一种高速的,全双工,同步的通信总线。具体在应用的时候分为主(master)、从(slave)两种模式,一个SPI通讯系统需要包含一个(且只能是一个)master(主设备),一个或多个slave(从设备)。SPI接口的读写操作都是由master发起,如果有多个slave设备,需要通过CS片选来管理。

在物理上传统标准的SPI接口定义如下:

有4根线,1、时钟线(CLK)master输出至slave的通讯时钟。2、MOSI线(Master Output Slave Input),master输出至slave的数据线3、 MISO线Master Input Slave Output)slave输出至master的数据线4、CS线(片选线)masterslave的片选信号,自master输出至slave,通常低电平有效。通常连接如下:

有的地方将MOSI和MISO也叫做SDO和SDI。

当存在一个master、多个slave时(注意,当master上有nSS时,对应可以连接nslave),连接方式如下图所示,注意SCLK/MOSI/MISO三个接口采取复用模式连接,不同SS单独连接对应的slaveSS信号绝不可复用:

二、有毛用啊

这个在上面就回答了,两个字:通信。。。。。。。既然是双方的通信,那就必然涉及到双方通信的约定(通信协议(SPI通信协议)),只有双方都遵循这个约定才能保证双方都能“听懂”双方的话(协议下一部分再说)。

上面这种连接可以实现一个时钟周期进行全双工1bit的数据通讯。在实际的应用中,对全双工的需求有时候不大,只是期望提高通信的速度,这样针对上面的接口就有了两种变形。如下:

1、两线模式SPI(DUALSPI)

具体就是CLK与CS信号保持不变,MOSI与MISO则变形为DATA_0与DATA_1。

DATA_0与DATA_1是输入输出状态由MASTER配置的数据管脚:当MASTER打算向SLAVE中写数据时,处于输出状态;当MASTER打算从SLAVE读数据时,处于输入状态。

2、四线模式SPI(QUALSPI)

具体就是CLK与SS信号保持不变,MOSI与MISO删除,新增四条数据线DATA0~3。

DATA0~3的输入输出状态由master配置的数据管脚,当master向slave写数据时就是输出状态,当master向slave读数据的时就是输入状态,这样就很大地提高了数据传输的速度,一次并行4bit,但同时增加资源开销,变成半双工。

三、怎么用啊

上面两部分基本介绍了SPI“是个什么东西”简单说了一下。解析讨论的就是怎么用的问题了。其实怎么用说白了就是双方怎么正常通信(双方正常沟通),这就主要是SPI协议的问题了。

四、成为大神的用法

接口都一个样,多调试,玩过SPI接口的各种外设,掌握硬件连接原理,待补充。。。


  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值