异步通信测时间,判断发送了一位还是两位。
同步通信:通过时钟线,时钟线在低电平,数据线去改变数据。时钟线是高电平时,数据线数据保持。同步通信,一个时钟周期发一位。
IIC:时钟线低电平,数据线可改变数据,发送器发送数据。时钟线高电平需要保持数据线上的数据稳定,接收器接收数据线上的数据。
SPI:时钟线在上升沿或者下降沿时,发送器向数据线上发送数据,再紧接着的下降沿或者上升沿时接收器从数据线上读取数据。(一个时钟周期有两个沿)
UART先发低位再高位,先定波特率,定下波特率就知道了每传送一位的时间。如果波特率是1,则传输1位数据需要1s。(然后发送0,低电平时间持续1秒,发送1,高电平时间持续1S)
IIC和SPI先发高位,再发低位。
1、寻址方式
当主设备要和某个从设备进行通信时,主设备需要向对应从设备的片选线上发送使能信号(高电平或者低电平,根据从机而定)表示选中该从设备。
2、通信过程(无开始和停止信号)
SPI总线在进行数据传送时,先传送高位,后传送低位:数据线为高电平表示逻辑1,低电平表示逻辑0.一个字节传送完成后无需应答即可开始下一个字节的传送:SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据线上发送数据,在紧接着的下降沿或上升沿时接收从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送。
3、极性和相位
SPI总线有四种不同的工作模式,取决于极性(CPOL)和相位(CPHL)这两个因素
CPOL表示SCLK空闲时的状态
CPOL=0,空闲时SCKL为低电平
CPOL=1,空闲时SCLK为高电平
CPHA表示采样时刻
CPHA=0每个周期的第一个时钟沿采样
CPHA=1每个周期的第二个时钟沿采样
主机一般可编程,
IIC和SPI的异同
相同点
1.都采用串行、同步的方式
2、都采用TTL电平(芯片电压(3.3v或5v),传输距离和应用场合类似
3、都采用主从方式
不同点
1、IIC为半双工,SPI为全双工
2、IIC有应答机制,SPI无应答机制
3、IIC通过向总线广播从机地址来寻址,SPI通过向相应从机发送使能信号
4、IIC的时钟极性和时钟相位固定,SPI的时钟极性和时钟相位