Answers:
为了进一步扩展乔恩的答案:
是的,这与您要使用的MOSFET有关。
N沟道MOSFET在开关逻辑方面比P沟道好得多,因为:
因此,对于漏极开路配置(I2C就是这种情况),使用带有N沟道MOSFET的“高怠速”配置,而不是使用P沟道MOSFET的“低怠速”配置,更便宜,更容易。
第三种选择是使用N沟道MOSFET的“空闲低”,但是为此,您需要高压栅极驱动器来将栅极电压升高到足够高于源极电压的水平,以使MOSFET能够导通。对于小型通信总线不切实际,但是这种配置实际上在用于H桥的电机驱动中非常普遍,因为您希望在H桥的高侧和低侧之间具有相同(或相似)的响应。在H桥中使用P通道和N通道对通常意味着您必须在关闭P通道和打开N通道之间包含一个死区,因为这会花费更长的时间,并且降低了电源效率。
但是对于需要高速,低成本和简单易用的小型通信总线(如I2C),迄今为止,具有N沟道MOSFET和上拉电阻的“空闲高”是最经济的。
被动上拉/主动下拉的另一个优点是,它可以在一定范围的电源电压下工作。请注意,IIC明确指定了数字高电平和低电平。这些电平足够低,无法使用3.3 V上拉电阻。因此,可以构建可同时使用5 V和3.3 V电源的设备。实际上,IIC总线可以上拉至3.3 V,这将与总线上混合使用不同电压分别供电的设备一起工作。
尽管就速度/面积而言,NMOS确实比PMOS具有优势,但是当您谈论一个或两个引脚上的驱动器时,这种差异实际上是很小的。毕竟,大多数输出驱动器实际上是需要NMOS和PMOS的图腾柱类型,因此,无论选择下拉还是上拉配置,它们最终都会得到比图腾小的输出驱动器。极点驱动器。
但是,与PMOS开漏相比,NMOS开漏输出有一个好处,它并不直接适用于I2C:当VCC为正时,NMOS开漏允许具有不同VCC电平的芯片相互连接。这就是为什么有许多NMOS开漏离散逻辑IC可用的(部分)原因。
另一方面,我不知道市场上有任何可用的PMOS开漏芯片。实际上,我不相信我曾在任何芯片上遇到过PMOS开漏输出。(我已经使用ECL多次,它具有NPN漏极开路输出,其行为与PMOS漏极开路相似)
NMOS开漏离散逻辑芯片的可用性使电子设计人员比PMOS开漏更熟悉NMOS开漏。
分立芯片的熟悉度和可用性(例如,用于原型设计)都可能影响I2C的设计人员选择NMOS开漏配置。
这是一些(基于历史的)推测。
当您具有上拉(而不是推挽)时,显然可以有多个设备争用总线,而不会产生过多的电流(这是一件好事-但通过下拉即可实现相同的功能)。
在双极型晶体管的“旧时代”中,最简单的TTL逻辑使用带NPN晶体管的集电极开路-一切都接地,这使得无论总线电压如何,触发电平都易于定义。而且,NPN比PNP更快。
如果我有自己的电源电压工作的多个设备以及电源电压不是恒定的,然后有上拉,而不是一个下拉变得势在必行。如果有多个设备试图将总线拉到各自的供电轨,则电流将不受限制,并且可能会发生故障。至少他们都同意地面的价值,因此不会出现此问题。
有了CMOS,情况就发生了变化-现在的触发电平是中轨。但是EE可以是传统的一堆。当然,由于上述原因,从晶体管早期开始,我什至从未质疑过上拉电阻的选择。
正如我所说,这只是猜测。