如何理解I2C总线中的“释放”一词?
发布网友
发布时间:2024-01-29 03:35
我来回答
共1个回答
热心网友
时间:2024-12-13 23:53
要解释‘释放’这个词,就得搞清I2C的IO配置模式,I2C的IO是开漏或者开集电极模式,即I2C对应的IO口只能输出:
①“低电平(逻辑0,IO被接在GND上,只能是低电平)”
②“高阻态(逻辑1,IO可以被拉高或者拉低)”两种状态,而所谓的“高电平”其实是在输出逻辑1、IO为高阻态时,IO被外部或者内部上拉电阻拉高的。
SDA=0时,SDA脚在IC内部被直接接在GND上,它只能是低电平,外部器件也无法把SDA脚拉高,这叫拉低。
SDA=1时,SDA脚为高阻态,(相当于在万用板上焊了一根IO,这个IO谁都不接,这就是高阻了),这时SDA可以被别的器件拉低或者拉高,即,这时SDA脚的控制权是“释放状态”,如果谁都不去管这个高阻态的脚,这个脚会被上拉电阻拉高以保证不会被空气里的电磁波干扰而高高低低乱跳。
所以,要真正理解释放这个词,先要搞清IO口内部的构造,了解推挽输出和开漏输出的本质