1.SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线
四根通信线:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)、SS(Slave Select)
同步,全双工
支持总线挂载多设备(一主多从)
2.
由于I2C是弱上拉,这导致I2C上升到高电平的能力比较弱,这会限制I2C的速度,SPI则传输更快,没有规定最大传输速度,SPI时钟频率在手册中描述最大可达80mhz,SPI更依赖硬件资源,通讯线更多,用最简单最粗暴的方式高效的完成任务。
3.
用MOSI(Master Output Slave Input)、MISO(Master Input Slave Output)实现发送和接收
用SS实现控制从机是否接入
4.
所有SPI设备的SCK、MOSI、MISO分别连在一起
主机另外引出多条SS控制线,分别接到各从机的SS引脚
输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入
5.驱动时钟,让主从数据左移以互相交换数据
6.
7.
8.SPI是基于指令码+读写程序
9.指定地址写
向SS指定的设备,发送写指令(0x02)
随后在指定地址(Address[23:0])下,写入指定数据(Data)