1. OC門
OC意為集電極開路,結構如下:
OC門電路
A=0,①截止,②導通,相當于開關閉合,輸出0V(實際輸出不是0V,因為三極管存在飽和壓降)。
A=1,①導通,②截止,相當于開關斷開,C點呈現高阻态,通常情況下C點要有上拉電阻,以輸出高電平。
I2C,SMB類型總線就是OC門或OD門,也是因為這種IO的高阻态輸出和線與邏輯才能讓他們能夠有一個master,多個slave,也不會出現短路情況。
使用注意事項:
上拉電阻太小,會增大飽和壓降,導緻輸出的低電平很高。
上拉電阻太大,會延緩信号的上升沿。
OC門可以連在一起,做“線與邏輯”。
上拉電壓可以根據下一級輸入端的電平标準來選擇,但也要注意晶片輸出端口的電壓maximal rating
2. OD門
把OC門的三極管換成場效應管,就是OD門,OD意為漏極開路。
OD門電路
A=0,①關閉,②導通,相當于開關閉合,輸出0V(因為MOS管的導通阻抗很低,是以輸出幾乎等于0)。
A=1,①導通,②關閉,相當于開關斷開,C點呈現高阻态,通常情況下C點要有上拉電阻,以輸出高電平。
I2C,SMB類型總線就是OC門或OD門,也是因為這種IO的高阻态輸出,和“線與邏輯”才能讓他們能夠有一個master,多個slave。
使用注意事項:
上拉電阻太小,會導緻MOS管②的導通電流過大,燒毀MOS管。
上拉電阻太大,會延緩信号的上升沿。
OD門可以連在一起,做“線與邏輯”。
上拉電壓可以根據下一級輸入端的電平标準來選擇,但也要注意晶片輸出端口的電壓maximal rating
3. 推挽輸出
推挽輸出又叫push-pull,很多晶片的部分GPIO會支援這個功能。
用NPN+PNP制作的推挽輸出結構如下:
用PMOS+NMOS制作的推挽輸出結構如下:
input輸出高電平時,PMOS截止,NMOS導通,output=0V
input輸出低電平時,PMOS導通,NMOS截止,output=VDD
推挽輸出結構的低電平輸出能力與OC門或OD門是一樣的,但是高電平輸出能力比OC門或OD門強很多,因為是直接上拉到了電源!是以推挽輸出可以輸出很高的電流。
需要注意的是,配置為推挽輸出的兩個管腳,如果連載一起,一個配置為輸出高,另一個配置為輸出低,會産生很大的電流,導緻IO燒毀。