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第二个跳变采样 |