嵌入式开发学习日志42——stm32之SPI工作方式

在很久很久之前......

上一章对SPI的基本结构进行了介绍,而从这一章开始,就该了解SPI的四种工作方式了。

SPI的工作方式主要由输出时钟极性(CPOL)以及时钟相位(CPHA)决定,这两个因素互相搭配就成为了SPI常见的四种工作方式。

首先来看看CPOL时钟极性。它总共有两种取值------0和1,当CPOL=0时,串行同步时钟的空闲状态处于低电平,当CPOL=1时,空闲状态就会保持在高电平。

由于开始时空闲状态的电平并不相同,所以输出时钟的第一和第二跳变沿的规定也有所差异。当CPOL=0时,由于开始的空闲状态时钟处于低电平,所以之后跳变为高电平的上升沿就被称作第一边沿,而当高电平再次变为低电平时,下降沿就会作为第二边沿。当CPOL=1时,两种边沿的规定大不一样,第一边沿变为了下降沿,而第二边沿变为了上升沿。

有了第一边沿和第二边沿的规定,接下来就由时钟相位来决定到底取哪一个进行数据采集。

时钟相位CPHA也有两种取值。当CPHA=0时,串行同步时钟的第一边沿就会被采集数据,而当CPHA=1时,串行同步时钟的第二边沿就会被采集数据。

因此简单地进行两两搭配后,SPI的工作方式也就呼之欲出了。

当CPOL=0,CPHA=0时,同步时钟就会取上升沿进行数据的采集;当CPOK=0,CPHA=1时,同步时钟取下降沿进行数据采集,这两种分别被称为00和01模式。当CPOL=1,CPHA=0时,同步时钟会采集下降沿的数据,当CPOL=1,CPHA=1时,上升沿数据会被采集,此时这两种模式被称为10和11模式。

以上就是SPI简单的工作方式。

stm32提供了I2C和SPI两种不同的通信总线,那么两者究竟有何区别,有没有哪一方能被另一方代替呢?下一章会进行两者的比较并给出结论。

相关推荐
2501_9226395810 小时前
率能半导体 SS6285L直流双向马达驱动芯片:18V/5A,覆盖电子锁、按摩仪、电动玩具、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
xier_ran11 小时前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
连山齐名11 小时前
ai应用开发的学习笔记
服务器·笔记·学习
专一的咸鱼哥11 小时前
预训练 ONNX 模型转换为 .eim
嵌入式硬件·机器人
SuperByteMaster11 小时前
三极管 做开关电路 要尽快跳过放大区
嵌入式硬件
xier_ran11 小时前
【infra之路】AI 编译器学习笔记(十四):为什么要 tiling,以及矩阵计算单元的“固定“
人工智能·笔记·学习
铅笔小新z11 小时前
【stm32】输入捕获-超声波测距
stm32·单片机·嵌入式硬件
Zw-awa11 小时前
PID 的花样:先看懂模糊 PID 和单神经元自适应 PID
stm32
燕落南枝11 小时前
HTML 学习:辅助标签 label 与字符实体
前端·学习·html
菩提树下的凡夫11 小时前
机器视觉LED光源控制器
单片机·嵌入式硬件