1.IIC总线协议
1.1 IIC协议概述:
I2C总线是一种串行数据总线,一根是双向的数据线SDA,一根是时钟线SCL.两条线可以挂多个设备,一般IIC设备里有个固化的地址,只有传输对应固化地址时才会响应。基本谁控制时钟线谁就是主设备。
1.2 IIC总线初始化与起始信号,结束信号:
1,初始化:SCL SDA均为高。
2,开始信号:SCL保持高电平,SDA由高变低,SCL拉低。
3,停止信号:SCL拉高,SDA由低变高。
1.3 IIC优缺点:
优点:硬件资源节约,协议设计精巧,易用,多用与传输命令等,使用广泛易移植。
缺点:传输速率较慢。
2 SPI协议
2.1 SPI概述:
SPI串行外围设备接口,是Mototrola公司推出的。全双工通信,通信速率高,主要应用在flash,实时时钟RTC,数模转换器ADC等设备上。
2.2 主要构造:
SPI在芯片中只占用四根管脚用来控制及数据传输,分别为时钟线SCK,片选信号线CS,数据输入线MISO,数据输出线MOSI.
2.3 特点:
1,SPI设备之间通信必须由主设备控制从设备,主设备可通过片选实现控制多个从设备,从设备不能产生或控制时钟,只可主设备提供。
2,SPI是采用同步方式传输数据的。
3,SPI设备之间数据传输又称为数据交换,不管是读数据还是写数据都需要发送数据到从设备为其提供时钟,才能正常进行,在有些设备读取数据时可能需要先写入数据,此时一定要记得将写入时从设备响应的数据也读出来,后面才可读出对应需要的数据。
2.4 SPI时钟极性与时钟相位:
1,时钟极性(CPOL):
表示 SPI 在空闲时, 时钟信号是高电平还是低电平. 若CPOL =1, 设备在空闲时 SCK时钟信号为高电平. CPOL=0, SCK为低电平。
2,时钟相位(CPHA):
表示SPI在采样数据时是在SCK第一个边沿还是第二个边沿,第一个边沿CPHA=0,第二个边沿CPHA=1.
3,如何判断:
SCK的空闲时候的电压,是0还是1,决定了CPOL是0还是1,数据采样时刻对应着的SCK的电平,是第一个边沿还是第二个边沿, 对应着CPHA为0还是1。
2.5 SPI通信优缺点:
1,优点:
支持全双工操作,操作简单,数据传输速率较高。
2,缺点:
需要占用主机较多的口线,只支持单个主机,没有应答机制确认是否接收到数据,相对于IIC缺点来说是一个大的缺点。