0
非集电极开路输出具有两个“驱动器”,形式为CMOS技术的FET晶体管或TTL技术的双极晶体管。当时只有其中一个处于活动状态,因此这些晶体管会主动驱动“高”和“低”状态。这就是为什么你不能将两个输出引脚连接在一起,但是一个输出可以驱动许多输入的原因。
在这里,晶体管T3和T4是驱动器。
在集电极开路解决方案中,“高”晶体管已被移除,只有“低”晶体管的集电极未连接为输出。当晶体管未导通时,集电极将浮动并跟随输出引脚上存在的电平(来自电路其他部分)。导通时,晶体管会将集电极接地,并主动将其保持在“低”电平。
正如其他人提到的,这在某些情况下非常有用。
通过将集电极(输出引脚)和电阻器连接到电源,我们可以创建一个电平转换器。该晶体管可以在3.3v的电压下导通,并使集电极在0至5v或0至12v之间摆动。
+ v在这里几乎可以是任何直流电压。负载(或上拉电阻)是限制流经晶体管的电流的负载。
另一个有用的功能是通过一个外部上拉电路将多个输出连接在一起。因为“高”电平从不被驱动为有效状态,而是仅浮动至上拉电路,所以多个输出同时为“高”无关紧要。但是,由于它们中的任何一个都为低,因此不管其他集电极开路输出如何,整行都将为“低”。多个输出甚至可以同时处于低电平,而再次具有“高”电平的唯一方法是使所有输出都为高。
对此的应用例如可以是处理器的多个源之间的共享中断线。
当多个单元同时开始通话时,I2C和CAN总线使用它来检测仲裁。
本回答来自Max Kielland, Chief of Software and Hardware R&D
收藏