应用电子电路
Pull驱动的选择。之前迷迷糊糊地搞不明白,这次决心深入搞一下,希望下次就不用再迷糊了。
首先,度娘里头找到的资料告诉我们,OD驱动和Push-Pull驱动(又叫推挽)是很不一样的(废话文学要被我发扬光大了)。
先来讲讲集电极开路/开漏电路。OD门和OC门其实本质上很接近,区别就是一个是漏极开路,一个是集电极开路。原理图如下,仅仅就是管子的不同,而MOSFET一般会有一个续流二极管。开漏电路的原理就是指以MOSFET的漏极为输出的电路。指内部输出和地之间有个N沟道的MOSFET。
咱们力出一孔,针对OD电路集中火力来进行学习理解。
OD电路无法自己输出高电平,只有漏电流(sink current)。若想要要用作高电平输出使用时,则必须在增加上拉电路,从而产生集电流(source current)。如下电路图。
OD电路的工作状态:
当IN为0时,A为0,Q1为关断状态,B为1,Q2为导通状态,电流经过路径1,此时OD电路输出为0。
当IN为1时,A为1,Q1为导通状态,B为0,Q2为关断状态,电流经过路径2,此时OD电路输出为1。
同时由于OD电路的特性,多个OD电路连接在同一个网络上时,不需要额外的逻辑电路即可以实现“线与逻辑”。
只要其中任意一个IC输入为1,则整个BUS均为0。所有IC输入均为0,BUS才为1。
总结一下OD电路的优点:
1、可以便捷实现输出电平的转换。VDD与VCC的电压可以不一致,输VCC大于输入VDD(Up-translate),输出VCC小于输出VDD(Down-translate)。
2、多个OD输出的引脚接在一个网络上,可以实现“线与”逻辑。这就是I2C、SMBus等总线判断总线占用状态的原理。
3、利用外部上拉电路的驱动能力,IC内部的MOSFET的栅极驱动电流很小。驱动能力由外部的上拉电阻调节。
4、可以通过改变上拉电源的电压,实现电平转换传输的功能。
那么缺点也总结一下:
1、OD电路外接上拉时,输出低电平有个持续的电流经过上拉电阻和MOSFET,无法关断此电流,会导致功耗的增大。
2、上拉电阻的阻值选择不能太小,阻值太小会导致持续的sink电流功耗增大。
3、上拉电阻的阻值选择不能太大,OD电路的上升时间由上拉电阻R和总线电容C共同决定。阻值R越大,上升时间越慢。
理解完了OD电路,再来理解一下推挽电路。Push-pull电路是指输出脚内部有一对互补的MOSFET。当Q1导通、Q2截止时输出高电平;而当Q1截止导通、Q2导通时输出低电平。
Push-pull即能够漏电流(sink current),又可以集电流(source current)。
除非Push-pull需要支持额外的高阻抗状态,否则不需要额外的上拉电阻。
推挽电路的输出能力看IC内部输出极N管P管的面积。推挽电路由于没有上拉电阻,上升是由寄生电阻R(较小)和总线电容C来决定的。可以通过寄存器配置调整上下管的驱动电流。
推挽电路的优点:
1、可以吸电流,也可以贯电流。
2、推挽电路的的高低电平由IC的电源确定。
3、驱动能力比OD电路强,相比OD电路可支持更高速率的电平翻转。
相反的缺点有:
1、一条总线上只能有一个push-pull输出的器件,不然会产生很大的对地电流,损坏电路。
2、功耗比OD电路要更大。
若一条总线上有两路推挽输出如上图,当Q1和Q4同时开通时,会产生如上图红色通路的大电流,导致损坏IO。
现在大多数GPIO可以通过寄存器配置实现推挽电路或OD电路。在IC内部实现的情况时,通过打开或关闭上管从而实现推挽和OD电路的切换。
推挽输出可支持更高的电平翻转速率,但是功耗消耗也更大。OD输出可以实现功耗低,并可以实现逻辑“线与”。这个则是在GPIO选择时的权衡取舍。
全部0条评论
快来发表一下你的评论吧 !