文章目录
一、硬件连线
二、引脚含义
引脚 | 含义 |
---|---|
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初始电平,只要在上升沿采集数据就行;