芯片验证自学网芯片验证自学网芯片验证自学网

I2c中的10位地址Start Byte


7位宽的地址空间理论上允许128个I2C地址,然而,一些地址被保留用于特殊目的。因此,在7位地址方案中,只有112个地址可用。为了消除这种情况,定义了一种使用10位地址的特殊方法。


10 bit adresses, binary noted, MSB is left Purpose

 0000000 0 General Call

 0000000 1 Start Byte

 0000001 X CBUS Addresses

 0000010 X Reserved for Different Bus Formats

 0000011 X Reserved for future purposes

 00001XX X High-Speed Master Code

 11110XX X 10-bit Slave Addressing

 11111XX X Reserved for future purposes


# Start Byte


并不是每个连接到I2C总线的微控制器都有集成的I2C控制器。这些微控制器必须永久观察I2C线路,以检测I2C传输。这将消耗(主要由轮询完成)大量的CPU时间。为了减少这种CPU功率的浪费,可以用较慢的仲裁方法建立I2C传输。


为此,主机发送启动条件,然后是 **start byte** (' 00000001 '),一个虚拟的应答脉冲和一个重复的启动条件。观察微控制器只能检测SDA上的七个零中的一个来检测I2C传输。这可以通过一个相对缓慢的轮询率来实现。一旦控制器检测到SDA是低的,它就可以切换到一个更高的轮询速率,以便等待重复的启动条件和接下来的I2C传输。


传输结束后,它可以切换回节省cpu功耗的慢轮询速率,以便检测下一次传输。


未经允许不得转载:芯片验证自学网 » I2c中的10位地址Start Byte