1. 引言
SPI : serial perripheral interface 串行外围设备接口
SPI总线是硬件上用的比较多的一种串行总线,高速传输,无应答无校验。 这里简单记录一下SPI总线的一些要点。 太基本的概要、历史等都略过。
2. 引脚说明
- SCK :serial clock 时钟
- SS/CS:slave select / chip select 片选
- SDI:serial data input
- SDO:serial data output
- MOSI:master output slave input
- MISO:master input slave output
- SSPBUF:synchronous serial Port buffer
- SSPSR:synchronous serial Port register
这里有些人会把SDI /SDO 和 MOSI /MISO 弄混。 我的理解: 看芯片,如果标的是SDI/SDO,则是固定了输入输出脚。 当做主机(master)时,SDI就是MISO,SDO就是MOSI。 当做从机(slave)时,SDI就是MOSI,SDO就是MISO。
3. 总线模式
时钟、数据脚都并接,主机通过CS脚来控制不同的设备使能。
4. 设置模式
| CPOL | CPHA |
---|
Mode0 | 0 | 0 | Mode0 | 0 | 1 | Mode0 | 1 | 0 | Mode0 | 1 | 1 |
- CPOL:clock polarity 时钟极性 = IDLE state of SCK
CPOL = 0:空闲时,时钟低电平 CPOL = 1:空闲时,时钟高电平
CPHA = 0:前沿(第一个边沿)采样 CPHA = 1:后沿(第二个边沿)采样
注意!! CPHA控制的是前沿后沿,而不是上升沿下降沿!
5. 其他
偷了几张gif,挺形象的。
波形:
串行通信的数据传输
|