重度理解SPI(半原创)



重度理解SPI总线

  

本文是在参考了许多文章之上总结出来的(文章最后会附上参考文章的出处),作者呼吁保护原创权益,希望广大电子爱好者在学习知识的同时珍惜作者的劳动成果。

                                                                                                                      -----NJ_BIGCAT

一、概念(什么是SPI

设备与设备之间通过某种硬件接口通讯,目前存在很多种接口,SPI接口是其中的一种。SPI是串行外设接口(Serial Peripheral Interface)的缩写,是Motorola公司推出的一种同步串行接口技术。SPI是一种高速的,全双工,以同步串行方式的通信总线,SPI接口只占用四根线:SCKMOSIMISOSS

SPI中分Master主设备和Slave从设备,数据发送都是由Master控制。一个master可以接一个或多个slave,常见用法是一个Master接一个slave

 

二、用途(用来干什么)

SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROMFLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI主设备(Master)与一个SPI从设备(slave,即上述的那些FlashADC)进行通讯。

 

三、SPI工作原理

14根线:

SCLKSerial Clock         串行时钟,由主设备提供(有的叫SCK

MISOMaster In Slave Out 主设备输入,从设备输出(有的叫SDI,串行数据输入)

MOSIMaster Out  Slave In 主设备输出,从设备输入(有的叫SDO,串行数据输出)

SS   Slave Select        选中从设备,片选(有的叫CS

2)工作原理:

通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDISDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

主从设备之间通过SPI进行通讯,首先要保证两者之间时钟SCLK要一致,互相要商量好了,要匹配,否则,就没法正常通讯了,即保证时序上的一致才可正常通讯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值