SPI协议

SPI简介

SPI (Serial Peripheral Interface)是一种同步的串行通信接口协议,用于连接微控制器或其他外围设备。SPI协议使用四根线(时钟线、数据线、数据输入线、数据输出线)进行通信。其中,时钟线由主设备控制,数据线由主设备发送数据,数据输入线由从设备发送数据,数据输出线由从设备接收数据。SPI协议适用于需要高速传输数据的应用,如存储器芯片、传感器、显示屏等。SPI协议具有简单、低成本、高可靠性等优点,但是由于没有标准化的物理接口,所以不同设备的SPI接口可能有差异。

总的来说,SPI是一种一主多从同步串行全双工的通信方式 。

协议需要使用四根线:

(M:Master主机        S:Slave从机        I:in输入        O:out输出)

MISO:主机输入,从机输出

MOSI:主机输出,从机输入

SS:片选线

SCK:时钟线

 SPI的通信原理

  1. 主设备通过控制时钟线(SCK)来生成时钟信号,控制数据传输的速率。

  2. 主设备通过数据线(MOSI)将数据发送给从设备,从设备通过数据线(MISO)将数据发送给主设备。

  3. 通信开始前,主设备通过片选线(SS)选择需要和主设备通信的从设备。当从机的片选线SS为高电平时,代表未被选中,那其MISO口被配置成高阻态(高阻态既不是高电平也不是低电平,不会影响总线上的状态,不影响主机跟其他从机的正常通信)。如果其SS为低电平,即被主机选中进行通信,其MISO口被配置为推挽输出(可以输出高电平和低电平)。

  4. SPI通信是全双工的,主设备和从设备可以同时发送和接收数据。数据传输时,主从设备以字节交换的方式进行通信,即主设备在每个时钟脉冲上将一个比特发送到从设备,从设备在每个时钟脉冲上将一个比特发送给主设备。具体何时移入、移出数据由四种通信模式决定。

  5. 通信结束后,主设备通过片选线(SS)取消选择从设备。

字节交换原理

1.字节交换基于位交换,交换分为两步,移出和移入。

2.移出:把当前移位寄存器上的最高位写到数据线上,然后整体左移一位。

3.移入:读取数据线的状态,写到移位寄存器的最低位。(移入不改变数据线的状态)

4.每读取和发送完一个字节(8位)的数据,清空当前寄存器,写入要发送的下一个字节数据,直到片选线改变状态。

5.移入和移出的时机由时钟线控制,主机从机同步执行,双方根据设定的通信模式约定好第几个边沿一起移出,第几个边沿一起移入。

时序单元

•起始条件:SS从高电平切换到低电平

•终止条件:SS从低电平切换到高电平

CPOL:时钟极性

CPHA:时钟相位

模式0

模式1

 模式2

模式3

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值