2013年11月28日 星期四

Open-Drain 與 Push-Pull輸出方式有什麼不一樣?



剛出社會時,常聽部門的前輩在講這兩個東西。為什麼有些OP要加上拉電阻,有些OP不用加上拉電阻?有些OP輸出可以High準位,有些輸出會Floating?雖然在學校時都有聽過,不過真要分辨有什麼不一樣,還真的說不上來,不過隨著應用多了後,總算能理解它們之間的差異原來這麼簡單。
不管是MCUOP(比較器)亦或是電路設計的部份,在使用設計上,請先搞清楚open-drain(漏極開路)和push-pull(推挽),不要拿了就亂用(像我以前一樣>”<)

Open-Drain
看到Open就想到輸出是開路的,所以使用的話,就要加上拉電阻。看看Open-drain的電路架構就不難理突,原來它是用一個N-MOS(or BJT-NPN)當開關,所以輸出的電壓必需由外部決定。

Push-Pull
又推又拉的它都做了,那外部就不用再多加什麼元件囉。其實Push-Pull的內部使用了兩個電晶體當Totem Pole,當輸出高電位時,上面的電晶體導通、下面的電晶體關閉,使輸出為高電位;相反的,輸出低電位時,上面的電晶體關閉,下面的電晶體導通,使輸出為低電位。所以輸出不需要額外加上拉電阻