I2C因为其开漏的结构,无法输出高电平,所以外部要加上拉电阻。
我们在使用SPI的时候,发现是不需要加上拉电阻的。主要因为SPI多为推挽的结构,推挽电路,高低电平都可以输出,所以外部不需要加上拉电阻。
推挽电路可以用2个三极管或者2个MOS管搭建而成。
1. 三极管推挽电路
如下是用三极管搭建的推挽电路,当Vout输出高电平时,电流流向如图所示,往负载Rload灌电流。
当Vout输出低电平时,电流流向如图所示,从负载拉电流。
2. MOS管推挽电路
用一个PMOS和一个NMOS搭建的推挽电路如下图所示(左边是输入,右边是输出)
输入高电平,PMOS截至,NMOS导通,输出为低电平。
输入低电平,PMOS导通,NMOS截至,输出为高电平。
3. 推挽和开漏的区别
推挽电路的低电平驱动能力和OC/OD门是一样。高电平驱动能力要比OC/OD强,因为推挽直接上拉接的电源,OC/OD需要加上拉电阻,高电平输出能力却决于上拉电阻的大小。
我整理如下推挽和开漏的区别,可供参考。