入坑嵌入式STM32之SPI通信协议

在学习单片机的应用中,掌握SPI通信必不可少,比如用单片机驱动具有SPI通信协议的ADC芯片,DAC芯片,LCD,FLASH存储芯片等。当然了也有一些是IIC通信,两者各有自己的优缺点,在硬件上,IIC是两个线,一个时钟线,一个数据线,SPI有四个线,时钟线SCLK,主机输入从机输出线MISO,主机输出从机输入线MOSI,片选线CS,比IIC多两根线。在软件上, IIC是半双工,SPI是全双工,效率相对更高,一般用在要求通讯速率较高的场合两者都可以挂载多个应用。

挂载多个外设

SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设
备接口,是一种高速全双工的通信总线。

STM32 芯片集成了专门用于 SPI 协议通讯的外设 ,我们只需要配置其中的库文件即可,当然也可以用IO口模拟SPI。支持最高的CLK时钟频率为Fclk/2,支持SPI协议中的四种模式,数据帧长度可设置为 8 位或 16 位,可设置数据 MSB 先行或 LSB 先行(注意这里配置要看数据手册,有的是LSB低位先行)。它还支持双线全双工(读写同时发生)、双线单向以及单线模式 。STM32有多个SPI外设如下图所示:


具有三个SPI

挂载的时钟大家可以参考我上一篇时钟配置篇。

时钟极性CPOL是指 SPI 通讯设备处于空闲状态时, CPOL=0 时, SCK 在空闲状态时为低电平,CPOL=1 时,则相反。

时钟相位 CPHA 是指数据的采样的时刻,当 CPHA=0 时, MOSI 或 MISO 数据线上的信号将会在 SCK 时钟线的“奇数边沿” 被采样。

CPHA=1 时,数据线在 SCK 的“偶数边沿” 采样。大家参考下图理解,务必搞懂,很多芯片手册都会给出适合其中的哪个模式。采样不要分上升沿,要看是奇数边沿还是偶数边沿

CPHA=0 奇数边沿采样

CPHA=1 偶数边沿采样








展开阅读全文

页面更新:2024-03-08

标签:奇数   偶数   边沿   时钟   外设   嵌入式   芯片   协议   通信协议   模式   通信   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top