stm32入门教程--SPI协议3 超详细!!!

简介

寻址方式、通信过程

极性和相位

SPI总线由四种不同的工作模式,取决于极性(CPOL)和相位(CPHL)这两个因素

CPOL表示SCLK(时钟线)空闲时的状态

        CPOL=0,空闲时SCLK为低电平

        CPOL=1,空闲时SCLK为高电平

CPHA表示采样时刻

        CPHA=0,每个周期的第一个时钟沿采样

        CPHA=1,每个周期的第二个时钟沿采样

 详解

CPOL(极性)=0,CPHA(相位)=0

 图中默认电平为低电平,即CPOL为0,

在通信开始时往数据线上发送一位数据),

紧接着时钟线从低电平变为高电平(),接收器就可以把刚才这位数据读走

再往下,由高电平变为低电平时(),再发送第二位数据,

紧接时钟线由低电平变为高电平(),接收器就可以读走第二位数据

一共循环八次就可以完成一个字节数据的发送。

CPOL(极性)=0,CPHA(相位)=1

 图中默认电平为低电平,即CPOL为0,CPHA为1,上升沿时发送数据,

在通信开始时,SCLK(时钟线)由低电平变为高电平()发送数据,

紧接着时钟线从高电平变为低电平(),接收器就可以把刚才这位数据读走

再往下,由低电平变为高电平时(),再发送第二位数据,

紧接时钟线由高电平变为低电平(),接收器就可以读走第二位数据

一共循环八次就可以完成一个字节数据的发送。

 

CPOL(极性)=1,CPHA(相位)=0

图中默认电平为高电平,即CPOL为1,

在通信开始时往数据线上发送一位数据),

紧接着时钟线从高电平变为高电平(),接收器就可以把刚才这位数据读走

再往下,由低电平变为高电平时(),再发送第二位数据,

紧接时钟线由高电平变为低电平(),接收器就可以读走第二位数据

一共循环八次就可以完成一个字节数据的发送。

CPOL(极性)=1,CPHA(相位)=1

图中默认电平为高电平,即CPOL为1,CPHA为1,下降沿时发送数据,

在通信开始时,SCLK(时钟线)由高电平变为低电平()发送数据,

紧接着时钟线从低电平变为高电平(),接收器就可以把刚才这位数据读走

再往下,由高电平变为低电平时(),再发送第二位数据,

紧接时钟线由高电平变为低电平(),接收器就可以读走第二位数据

一共循环八次就可以完成一个字节数据的发送。

 需要说明的是,对于一个特定的从设备来说,一般在出厂时就会将其设计为某种特定的工作模式;我们在使用该设备时就必须保证主设备的工作模式和从设备保持一致,否则是无法进行通信的;所以一般我们需要对主设备的CPOL和CPHA进行配置

IIC和SPI的异同

相同点

        1、均采用串行、同步的方式

        2、均采用TTL电平,传输距离和应用场景类似

        3、均采用主从方式工作

不同点

        1、IIC为半双工,SPI为全双工

        2、IIC有应答机制,SPI无应答机制

        3、IIC通过向总线广播从机地址来寻址,SPI通过向对应从机发送使能信号来寻址

        4、IIC的时钟极性和时钟相位固定,SPI的时钟极性和时钟相位可调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

是lamune

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

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

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

打赏作者

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

抵扣说明:

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

余额充值