56.裸板--spi协议

本文详细介绍了SPI协议的工作原理,包括时钟极性CPOL和时钟相位CPHA的四种模式,以及如何实现全双工通信。SPI协议支持多个从机并行通信,数据传输速率较高,但需要较多的口线,且无内置流控制和应答机制。此外,文章还提及了大端和小端的概念。
摘要由CSDN通过智能技术生成

SPI协议详解(图文并茂+超详细) - 知乎

spi协议时序图和四种模式实际应用详解 - 知乎

spi协议时序图和四种模式实际应用详解 - 知乎

做个学习记录,spi协议挺简单的,理解四种模式以及把时序图看懂就行

SPI跟uart其实很像,SPI协议相比于串口,增加了时钟线用于同步,减少了同步的资源以及时间消耗,以至于SPI的传输速度相比串口大大加快,串口一般是115200bps,SPI可以高达10mbps

管脚含义

MASTER为主机,slave为从机,只能一个主机,但可以多个从机

SCK为时钟线,由主机发出时钟,从机使用主机发来的时钟进行同步

MOSI为主机发出(master output slave input)

MISO为主角接收(slave  output master  input)

CS为片选引脚,决定从机能否工作

SPI是全双工的,记住这点,只要主机的发出端不停发出,接收端不停接收就行,这就简单了,只需要管好模式时序以及数据就可以,不用像I2C那样,一根线又要接又要收,烦死。

协议解析

1.片选引脚决定能不能和从机通讯,这里假设低电平能和从机通讯,那么当不工作时自然CS片选自然就是高电平

2.四种模式

SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制我们主设备的通信模式

时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA
是用来配置数据采样是在第几个边沿:

一个时钟周期为一个低电平加一个高电平,不停高低高低的走

CPOL=0,片选禁止时的空闲状态,SCLK=0为低电平,所以接下来有效状态的瞬间SCLK处于高电平
CPOL=1,片选禁止时的空闲状态,SCLK=1为高电平,所以接下来有效状态的瞬间SCLK处于低电平
CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿

其实很好记住,0就是小,1就是大

CPOL=0,自然空闲时是低电平,低电平是小,反过来,CPOL=1,自然空闲时是高电平

CPHA=0,第1个边沿采集(1比2小嘛),反过来就是CPHA=1,第2个边沿采集

 

 3.大小端

002_大端和小端的区别 - arun_yh - 博客园

举例来说,数值0x2211使用两个字节储存:高位字节是0x22,低位字节是0x11

  • 大端字节序:高位字节在前,低位字节在后,这是人类读写数值的方法。
  • 小端字节序:低位字节在前,高位字节在后,即以0x1122形式储存。

0x1234567的大端字节序和小端字节序的写法如下图

MSB为大端,LSB为小端

4.接收和发送

主机发送端一直不停发送就可以,有数据的话就发数据,没数据就发0XFF,从机收到命令就会发相应的数据给主机,从机在发送时会自动屏蔽掉主机无用的数据。

收发是以8bit一个整体发出去,8bit发完还有就继续8bit发

收发送完就把片选信号置位,让通讯停止

 5.一主多从

 6.优缺点

优点:

支持全双工操作;操作简单;数据传输速率较高。

缺点:

需要占用主机较多的口线(每个从机都需要一根片选线);

只支持单个主机;

没有指定的流控制,没有应答机制确认是否接收到数据

传输距离短

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值