一、总线
常见总线:uart、iic、spi、can、485
作用:连接两个外设器件,用于传输数据。
uart:连接两个设备(两个CPU)的总线,如PC机和单片机的数据传输。
iic:一个设备内部之间的数据传输,如单片机和EEPROM之间的数据传输。
二、IIC总线
两线制:SDA、SCL。(所以某一时刻只能发送或在只能接收,属于半双工)。
IIC总线可以挂载多个主机和多个从机 。
三、时序图
通信的三个阶段:
第一阶段:主机发送起始信号,表示开始通信。
第二阶段:开始通信。
第三阶段:主机发送停止信号,表示结束通信。
3.1起始信号和终止信号时序图
起始信号: SCL=1,SDA由1变为0;
终止信号:SCL=1,SDA由0变为1。
当起始信号产生后,总线就处于占用状态,其他从设备就不能于主机通信。
当终止信号产生后,总线处于空闲状态。
3.2 字节传输和应答信号时序图
IIC总线传输特点:先传输高位。
在第9个时钟周期的低电平期间,从机写入应答信号。
3.3 数据传输时序图
在SCL为高电平时,SDA线上的电平必须稳定,所以此时可以从SDA上读数据;
在SCL为低电平时,SDA线上的电平允许变化,所以此时可以从SDA上写数据。
四、IIC寻址
I2C总线传送的信号是广义的,既包括地址信号,也包括数据信号。
主机在起始信号后必须传送一个从机的地址(7位),第8位是数据的发送方向位,用“0”表示主机是发送方,用“1”表示主机是接收方,所有的从机根据7位的地址来判断,是否是自己的地址,以此来确定自己是否和主机建立连接,通过第8位确定接收方和发送方。