GPIO(General-purpose input/output 通用目的輸入/輸出埠)
電壓(A模擬量)與電平(D數字量)
GPIO 8種作業模式(輸入四種、輸出四種)
1、GPIO_Mode_AIN 模擬輸入
2、GPIO_Mode_IN_FLOATING 浮空輸入
3、GPIO_Mode_IPD 下拉輸入
4、GPIO_Mode_IPU 上拉輸入
5、GPIO_Mode_Out_OD 開漏輸出
6、GPIO_Mode_Out_PP 推挽輸出
7、GPIO_Mode_AF_OD 復用開漏輸出
8、GPIO_Mode_AF_PP 復用推挽輸出
一、模擬輸入

黃色高亮部分表示資料的傳輸通道,陰影的部分不作業,
模擬輸入是指傳統方式的輸入.數字輸入是輸入PCM數字信號,即0,1的二進制數字信號,通過數模轉換,轉換成模擬信號,經前級放大進入功率放大器,功率放大器還是模擬的,
二、浮空輸入

圖中施密特觸發器是打開的,上下拉電阻斷開,IO口的狀態可以直接送到輸入暫存器中,CPU可以直接讀取輸入暫存器,
三、下拉輸入

下拉輸入與前面的浮空輸入模式相比,僅僅是在資料通道下部,接入一個下拉電阻,STM32中,該下拉電阻的阻值介于30-50K,
下拉輸入就是把電壓拉低,拉到GND,與上拉原理相似,
四、上拉輸入

上拉輸入與前面的浮空輸入模式相比,僅僅是在資料通道上部,接入一個上拉電阻,STM32中,該上拉電阻的阻值介于30-50K,
上拉就是把電位拉高,比如拉到VDD,上拉就是將不確定的信號通過一個電阻嵌位在高電平!電阻同時起限流作用!弱強只是上拉電阻的阻值不同,沒有什么嚴格區分
五、開漏輸出

如圖,輸出控制電路控制信號來源于CPU,當輸出信號1,則PMOS不被激活,NMOS高阻,輸出埠的電平由外部的上下拉電阻決定,當接上拉電阻,則埠為高電平,當接下拉電阻,則埠為低電平;當輸出控制電路輸出0,則PMOS不被激活,NMOS導通,則埠電平拉低到VSS上,
輸出端相當于三極管的集電極. 要得到高電平狀態需要上拉電阻才行. 適合于做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).
簡言之:
輸出 0 時,N-MOS 導通,P-MOS 不被激活,輸出0,
輸出 1 時,N-MOS 高阻, P-MOS 不被激活,輸出1(需要外部上拉電路);可以讀IO輸入電平變化,此模式可以把埠作為雙向IO使用,
六、推挽輸出

可以輸出高,低電平,連接數字器件; 推挽結構一般是指兩個三極管分別受兩互補信號的控制,總是在一個三極管導通的時候另一個截止,高低電平由IC的電源低定,
簡言之:
輸出 0 時,N-MOS 導通,P-MOS 高阻,輸出0,
輸出 1 時,N-MOS 高阻,P-MOS 導通,輸出1(不需要外部上拉電路),
七、八、復用開漏輸出/復用推挽輸出

可以理解為GPIO口被用作第二功能時的配置情況(即并非作為通用IO口使用),
復用功能的推挽輸出_AF_PP ——片內外設功能(I2C的SCL,SDA)(8)復用功能的開漏輸出_AF_OD——片內外設功能(TX1,MOSI,MISO.SCK.SS)
如圖,輸出控制電路信號來源于片上外設模塊,當輸出信號1,則PMOS導通,NMOS截止,輸出埠的電平由外部的上下拉電阻決定,當接上拉電阻,則埠為高電平,當接下拉電阻,則埠為低電平;當輸出控制電路輸出0,則PMOS截止,NMOS導通,則埠電平拉低到VSS上,
輸出端相當于三極管的集電極. 要得到高電平狀態需要上拉電阻才行. 適合于做電流型的驅動,其吸收電流的能力相對強(一般20ma以內).
輸入保護電路
當輸入信號電壓為正時,且超過(VDD)+0.7V,D1導通,導通后,輸入端的電壓就穩定在(VDD)+0.7V了,而不會因輸入信號電壓增加而增加,就起到了保護作用,
同理,當輸入信號電壓為負時,且超過了(VSS)-0.7V,D2導通,輸入端的電壓也穩定在(VSS)-0.7V,
這樣,只要設定VDD,VSS的電壓大小,就可以確定運放輸入端的保護電壓大小
推挽和開漏可以參考該文章:https://blog.csdn.net/qq_27016651/article/details/83096126
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/38474.html
標籤:嵌入式
