I2C總線在使用時,如果芯片內部不集成上拉電阻,需要在外部加2個上拉電阻。
原因是I2C總線一般是OD結構,OD全稱Open Drain,意為開漏(漏極電路),Drain為MOS管的漏極。
如下圖I2C總線結構圖,紅色標注的上拉電阻和內部的MOS管。
下圖是一個典型的用2個MOS管搭建的OD門電路。
工作原理:
- INPUT=0,Q1關閉,Q2導通,相當于開關閉合,OUTPUT=0V;
- INPUT=1,Q1導通,Q2關閉,相當于開關斷開,OUTPUT是高阻態(tài);
上述OD門電路是無法輸出高電平的,所以需要加上拉電阻。
I2C總線可以一主多從的(1個master,多個slave),因為OD門輸出的高阻態(tài),可以將多個OD門連接在一起,形成“線與邏輯”,如下圖所示,這是I2C可以一主多從的原因。