STM32F4之什么是SPI?

本文深入解析SPI总线的工作原理,包括其四线接口MISO、MOSI、SCK、CS的功能,以及CPOL和CPHA如何影响SPI时序。通过直观的示意图和详细的时序图,帮助读者全面理解SPI通信机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.什么是SPI?

    1.SPI是一般为4线的总线协议,有时也可以是三条线(单向传输)

   2. 四线分别为MISO(主设备数据输入) ,MOSI(主设备数据输出),SCK(时钟),CS(片选)

    有必要了解一下它的英文全称

 (1) MISO - Master input SlaveOutput(主设备数据输入,从设备数据输出)

 (2)MOSI - Master Output Slave Input (主设备数据输出,从设备数据输入)

(3)SCLK - Serial Clock 时钟信号,由主设备产生

(4)CS -Chip Select 从设备使能信号,由主设备控制

更为直观的示意图如下:

通俗的说,由于是8位的数据寄存器,所以当经过8个时钟,数据将从主设备移位寄存器中的数据转到从设备移位寄存器中,同理 从设备中的数据将转到主设备中

二.上SPI的时序

说SPI,时序图肯定要掌握一下

       首先要理解一下,图中的几个名字,CPOL,CPHA ,NCC,至于MISO ,MOSI 我就不多说了,(不懂的看一下上面的图)

CPOL  其全称为 ,Clock polarity 翻译为 时钟极性(高电平,或低电平)

CPHA 其全称为 ,Clock phase,翻译为 时钟相位

        看到我把字母标红了吗,大写的符号就是由其组成的,这样就好记很多了。所以顾名思义,你可以看出来他和时钟信号有关,他们之间组成4种模式

我就不解释太多,直接上图解释

当CPOL   = 0 ,CPHA = 1,CPOL =0 意思是当时钟空闲的时候,时钟为低电平,CPHA =1 ,意思是在时钟的第二个沿的时候,做数据移位操作,当然这时CS肯定是使能的。 如下图所示:

当CPOL   = 1,CPHA = 0,CPOL = 1 意思是当时钟空闲的时候,时钟为高电平 ,CPHA = 0 意思是 在时钟第一个沿的做数据移位 ,发送出去,如下图所示:

 接下来两幅图,以此类推 ,CPOL ,CPHA 分别为多少 ,自己看看有没有看懂

第一幅

 

第二幅

 

评论区留言一下你的答案,看看我说明白了没(PS:别偷看上面的整图 - -)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_33974167

有价值,请赏瓶水喝

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

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

打赏作者

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

抵扣说明:

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

余额充值