SPI协议介绍

文章目录

一、硬件连线

二、引脚含义

引脚 含义
DO(MOSI - Master Output Slave Input) 主机发数据,从机收数据
DI(MISO - Master Input Slave Output) 主机收数据,从机发数据
SCK(Serial Clock) 时钟线,由主机控制
CS(Chip Select) 片选线,由主机控制
  • MOSI和MISO都使用时,是全双工通信
  • 仅使用MOSI或MISO其中一个,是半双工通信

三、传输示例

CS0:拉低,选中从设备

SCK:每一个时钟周期传输1位

DO:某个周期时的电平状态

四、传输模式

SPI有四个传输模式,传输模式只与SCK的两个参数有关:

  • CPOL: SCK的初始电平称为CPOL,0是低电平,1是高电平
  • CPHA: SCK的相位称CPHA,也就是数据的传输或采集是在第一时钟沿还是第二时钟沿,0是第一时钟沿,1是第二时钟沿

下表是四个传输模式:

CPOL CPHA 模式 含义
0 0 0 CLK初始电平为低电平,在第一个时钟沿采样数据
0 1 1 CLK初始电平为低电平,在第二个时钟沿采样数据
1 0 2 CLK初始电平为高电平,在第一个时钟沿采样数据
1 1 3 CLK初始电平为高电平,在第二个时钟沿采样数据

至于选什么模式,取决于从设备,去看从设备的芯片手册;

常用的模式是0和3,无需关注CLK初始电平,只要在上升沿采集数据就行;

相关推荐
老k一步步来9 小时前
STM32 HAL库CAN通信核心函数详解,参数以及作用
stm32·单片机·嵌入式硬件
Freak嵌入式12 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
wuyk55513 小时前
77.嵌入式 C 语言中 enum 枚举的工程化实践:告别魔法数字,提升代码可维护性
c语言·开发语言·stm32·单片机·嵌入式硬件
longxingiot14 小时前
轻量化单片机数传终端降低物联网开发门槛
单片机·嵌入式硬件·物联网
亿道电子Emdoor15 小时前
【Arm】MSP和PSP的区别简介
c语言·arm开发·单片机·mcu
国产HT1621B15 小时前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动
BUG研究员_15 小时前
51单片机UART串口通信波特率产生过程
单片机·嵌入式硬件·51单片机
zcmodeltech15 小时前
智能矿井沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的感知-传输-控制一体化方案
服务器·数据库·分布式·stm32·单片机·嵌入式硬件
国科安芯18 小时前
ASC0101S自动双向电平转换原理深剖
单片机·嵌入式硬件·fpga开发·云计算·信息与通信
李永奉18 小时前
中科蓝讯SDK开发-开启串口Debug打印调试教程
单片机·嵌入式硬件·mcu·物联网·电脑