代码改变世界

SPI传输协议笔记

2021-08-14 09:46  dreamboy2000  阅读(201)  评论(0编辑  收藏  举报

SPI传输协议笔记

 
SPI: Serial Peripheral Interface
 
由Motorola发起的一个同步串行数据传输标准,全双工,以主从(Master/Slave)模式通信。多片从设备使用片选信号(chip select)。SPI又称为4线串行总线(four-wire serial bus)
MISO: Master input Slave output, output from slave.
MOSI: Master output Slave Input, output from master.
SS  : Slave select, active low, output from master
SCLK: serial clock, output from master.
 
SPI总线上,一个master可以接一个或多个slave:
1. 如果SPI总线上只有一个slave,可以将这个slave的ss信号直接拉低。但要注意有些slave设备可能需要下降沿。
2. 如果SPI总线上接多个slave,则每个slave需要一根独立的SS信号控制。
 
进行SPI传输之前先要配置clock,通常频率范围在1~100MHz之间。
 
SPI总线采用移位传输,每个clock传输一个bit。
设置clock的极性和相位(polarity and phase)
 
SPI mode CPOL CPHA 说明
0 0 0 clk空闲时为低 + clk第一个跳变采样
1 0 1 clk空闲时为低 + clk第二个跳变采样
2 1 0 clk空闲时为高 + clk第一个跳变采样
3 1 1 clk空闲时为高 + clk第二个跳变采样