4) I2C 总线协议
I2C 总线协议定义如下:
1)只有在总线空闲时才允许启动数据传送.
2)在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号起始信号时钟线保持高电平期间,数据线电平从高到低的跳变作为 I2C 总线的起始信号 停止信号 时钟线保持高电平期间,数据线电平从低到高的跳变作为 I2C 总线的停止信号。
5)参考电压
对DA和AD转换,稳定的参考电压和电源电压必须提供给电阻分压电路(引脚VREF和AGND)。
AGND引脚必须连接到系统模拟地,并应该有一个参考VSS的直流偏置。
低频可应用于VREF和AGND引脚,这容许DA转换器作为一象限乘法器使用;AD转换器也可以用作一个或两个象限的模拟除法。模拟输入电压除以参考电压。其结果是被转换为二进制码。在这种应用中,用户必须保持在转换周期的参考电压稳定。
6)振荡器
片上振荡器产生AD转换周期和刷新自动清零缓冲放大器需要的时钟信号。在使用这个振荡器时EXT引脚必须连接到VSS,在OSC引脚振荡频率是可用的。
如果EXT引脚被送到VDD,振荡输出OSC将切换到高阻态以容许用户连接外部时钟信号至OSC。
3.5 I2C总线
3.5.1 I2C总线数据位的传输
它通过2根线:串行数据线(SDA)和串行时钟线(SCL)组成。连接到总线上的每一个器件都有一个唯一的地址,而且都可以作为一个发生器或接收器,SDA和SCL都是双向线路,分别通过一个电阻连接到电源(+5V)端。前提是连接到总线上的器件的SDA和SCL端必须是漏极或集电极开路型。I2C总线上的数据传输速率在标准模式下可达100Kb/s,快速模式可达400Kb/s,高速模式下可达3.4Mb/s。连接到总线的器件数量只由总线的电容(400PF)限制决定。
I2C总线上每传输一个数据位必须产生一个时钟脉冲,I2C总线上数据传输的有效性要求SDA线上的数据必须在时钟线SCL的高电平期间保存稳定,数据线的改变只能在时钟线为低电平期间。在标准模式下,高低电平宽度必须大于4.7us(即每次时钟线需延时4.7us后才能改变)。
3.5.2 I2C总线数据的传输
1)数据传输的字节格式
发送到SDA线上的每一个字节必须为8位,每次发送的字节数量不受限制,从机在接收完一个字节后向主机发送一个应答位,主机在收到从机应答后才会发送第二字节数据,发送数据时先发数据的最高位。
2)数据传输中的应答
相应的应答位由接收方(从机)产生,在应答的时钟脉冲期间,发送方(主机)应释放SDA线(使其为高电平)。在应答过程中,接收方(从机)必须将数据线SDA拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平。
3.5.3 I2C总线的传输协议
1)寻址字节
主机产生起始条件后,发送的第一字节为寻址字节,该字节的前7位为从机地址,最低位决定了传输的方向,该最低位为“0”表示主机写数据到从机,“1”表示主机从从机中读数据。从机地址由一个固定的部分(如高4位1001)和可编程部分(如低3位A0~A2)及一个方向位(R/W)组成。
2)传输格式