SPI通信简介

SPI通信简介

SPI是串行外设接口的简称。SPI可以指单片机外设芯片串行扩展接口,是一种高速,全双工,同步通信总线,所以在同一时间向外设发送和接受数据。SPI没有定义速度限制。

SPI有主从两种模式,通常由主模块和多个从模块组成。主模块选择一个从模块进行同步通信,从而完成数据交换。

master(主设备):提供设备时钟;

slave(从设备):接受脉冲的设备;

SPI接口的读写操作,都是由主设备发起,当存在多个从设备时,通过各自片选信号进行处理。

SPI通信原理很简单,需要4根线,单向传输时需要三根线。

MISO:主设备输入,从设备输出;

MOSI:主设备输出,从设备输入;

SCLK:时钟信号,由主设备产生;

CS/SS:从设备使能信号,由主设备控制,一主多从。CS/SS是控制从设备是否被主设备选中的                   信 号。只有信号为预先设定的从设备使能设备时,主芯片对外设的操作才有效。

通信原理

SPI主设备和从设备都有一个串行移位寄存器,主设备通过向他的SPI串行寄存器写入一个字节来发送一次性传输。

SPI数据通信的流程可以分为以下几个步骤:

1.主设备发送信号,将CS/SS拉低,启动通信。 

2.主设备通过发送时钟信号,来告诉从设备进行写数据或读数据(上升沿或下降沿进行采集)他将立即读取数据线上的信号,这样就得到数据。

3.master将发送数据写到发送数据的的缓冲寄存区,缓冲区经过移位寄存器。串行移位寄存器,通过MOSI信号线将字节一位一位传给从机,通过MISO端口接受数据,然后通过移位寄存器将数据移到数据缓存区。

4.slave将自己接收到的数据,通过MISO信号线返回给主机,同时通过MOSI信号线,接受主机发送的数据。

注意:SPI只有主从模式,没有读和写的说法,外设的写操作和读操作时同时完成。若只需要进行写操作,主机只需忽略接受字节,反之,只需进行读操作,就必须由一个空字节来引发传输。也就是说,收必发,发必收。

通信特征
设备:

SPI是单主设备通信;SPI主设备想读写从设备时,首先应CS/SS有效;

           接着开始工作后,相应脉冲,主设备信号MOSI实现写,MISO实现读。

设备时钟:

1.设备速率;

2.时钟极性;CKP   CPOOL

3.时钟相位;CKE=0,第一个跳变沿采样;   CKE=1,第一个跳变沿采样;

四种模式:

MODE 0:CKP=0,CKE=0    数据采样在上升沿,发送数据下降沿;

MODE 1:CKP=0,CKE=1    数据采样在下降沿,发送数据上升沿;

MODE 2:CKP=1,CKE=0    数据采样在下降沿,发送数据上升沿;

MODE 3:CKP=1,CKE=1   数据采样在上升沿,发送数据下降沿;

支持多从机模式(两种)
SPI优缺点:

优点:

1.可以连续传输而不会被中断;

2.没有复杂的寻址系统((I2C)需要寻址);

3,数据传输效率高;

4,MISO,MOSI分离,可以同时接收和发送;

5,传输灵活,不受位数限制;

6,硬件结构简单;

缺点:

1,无法确定是否已成功接受数据;

2,没有任何形式数据检查;

3,没有定义硬件级别的错误检查协议;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芊澄cy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值