一、SPI总线协议
1、定义:就是串行外围设备接口
2、特点:
(1)高速,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。
(2)SPI是一个环形总线接口,由SS(CS)、SCK、SDI、SDO构成
(3)可以同时发送和接收串行数据;当然可以当做主机或从机工作,提供频率可编程时钟,发送结束中断标志;写冲突保护,总线竞争保护等。
3、时序:主要是在sck的控制下,两个双向移位寄存器进行数据交换,上升沿发送,下降沿接收,高位先发送。上升沿到来的时候,SDO上的电平将被发送到从设备的寄存器中,下降沿到来的时候,SDI上的电平将被接收到主设备的寄存器中。
二、I2C总线协议
1、定义:2条双向串行线,一条数据线SDA,一条时钟线SCL。
2、特点:SDA数据传输是大端传输,每次传输8bit,即一个字节
支持多主控,任何时间点只能有一个主控
总线上每个设备都有自己的一个Addr,共7个bit,广播地址全是0,
故理论上I2C可以挂接127个设备。
3、I2C位传输:
(1)数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit;
若SDA发生跳变,则用来表示一个会话的开始或结束。
(2)数据改变:SCL为低电平时,SDA线才能改变传输的bit。
4、I2C开始和结束信号
(1)开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;
(2)结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据;
5、模式:标准模式(100Kbit/s)快速模式(400Kbit/s)高速模式(3.4Mbit/s)