今天我們學習三類GPIO硬件設(shè)計,這三類絕對是不可錯過的,本文將把三類設(shè)計的重要性展示出來:
本文所介紹的GPIO設(shè)計指導(dǎo),都是針對Air780E用于LuatOS開發(fā)方式時的一些注意事項,AT指令開發(fā)版本不支持GPIO操作。
Air780E模組共支持GPIO0~GPIO31合計32個GPIO和WAKEUP0~5合計6個喚醒管腳,其中:
32個GPIO口本身有多重復(fù)用功能,大家需要根據(jù)實際應(yīng)用進行選擇配置;
32個GPIO中,又可分為普通GPIO和AGPIO,在接下來的表格中,會詳細介紹這兩種GPIO的定義和區(qū)別;
6個WAKEUP管腳中,部分也可以配置為GPIO功能,在接下來的表格中,也將詳細介紹WAKEUP管腳的注意事項。
一、GPIO復(fù)用表
對于GPIO功能復(fù)用,請參考如下表格(可通過下方鏈接下載最新版)。
最新資料詳見:
https://docs.openluat.com/air780e/luatos/hardware/design/gpio/
▼ GPIO復(fù)用表 ▼



二、GPIO特性
Air780E的GPIO口根據(jù)不同的特性,可以分為三種類型:
普通IO
AGPIO
Wakeup IO
不同特性的GPIO,其驅(qū)動能力以及在低功耗模式/PSM+模式下的表現(xiàn)區(qū)別比較大,在使用這些特性的GPIO時尤其要注意;
AGPIO也常被寫作為:AONGPIO、AON_GPIO,以下均以AGPIO的寫法進行描述。
1. 普通IO
Air780E大部分管腳為普通GPIO(上圖GPIO復(fù)用表格中灰色底色的IO);
Air780E系統(tǒng)為了在休眠模式下有極致的低功耗性能,會在模組進入休眠/深休眠模式時,關(guān)閉GPIO供電(VDD_EXT),因此會導(dǎo)致所有以VDD_EXT為電源域的GPIO會進入下電狀態(tài)。
在使用普通GPIO時,要尤其注意在休眠狀態(tài)下GPIO的掉電狀態(tài)對控制外設(shè)造成的誤動作風險。
▼ 普通IO相關(guān)特性 ▼
電壓域:VDD_EXT(1.8/3.3V可配置)
輸入輸出:可以配置
上下拉:內(nèi)部可配置
輸入中斷:
上下邊沿觸發(fā)/雙邊沿觸發(fā)/高低電平觸發(fā)(休眠后無法響應(yīng)中斷)
休眠電平保持:不可保持
休眠喚醒:不可喚醒模組
驅(qū)動能力:單個普通GPIO驅(qū)動能力<=10mA

2. AGPIO
AGPIO管腳為休眠可保持管腳(GPIO復(fù)用表格中綠色底色IO管腳);
這類管腳電源域為長保持的LDO_AONIO電源(為內(nèi)部電源,模組外部不可測量),這類電源在模組低功耗模式/PSM+下,仍然能夠保持供電,因此AGPIO管腳在休眠狀態(tài)下能夠保持電平。
AGPIO管腳可以用于休眠狀態(tài)下仍然需要保持工作狀態(tài)的外設(shè)。
▼ AGPIO相關(guān)特性 ▼
電壓域:LDO_AONIO(1.8/3.3V)
輸入輸出:可以配置
上下拉:內(nèi)部可配置
輸入中斷:
上下邊沿觸發(fā)/雙邊沿觸發(fā)/高低電平觸發(fā)(休眠后無法響應(yīng)中斷)
休眠電平保持:可保持
休眠喚醒:不可喚醒模組
驅(qū)動能力:
AGPIOWU0/1/3(MAIN_DTR):30μA;
AGPIO3~8:5mA(所有AGPIO總共驅(qū)動電流不能超過5mA)。

3. Wakeup IO
Air780E模組包含6個特殊管腳:
WAKEUP0~WAKEUP5
此類型IO為中斷喚醒管腳,能夠在模組休眠狀態(tài)下響應(yīng)外部中斷從而使模組退出休眠狀態(tài),因此這類IO管腳在休眠狀態(tài)下也能保持供電。
注意:Wakeup IO僅支持輸入,不能配置為輸出,且固定電平不可配置。
▼ Wakeup IO相關(guān)特性 ▼
電壓域:LDO_AON(2V,不可配置)
輸入輸出:僅輸入
上下拉:內(nèi)部可配置
輸入中斷:上下邊沿觸發(fā)/雙邊沿觸發(fā)/高低電平觸發(fā)
休眠電平保持:可保持
休眠喚醒:支持
驅(qū)動能力:30μA

三、GPIO應(yīng)用注意事項
1. 普通GPIO以及相應(yīng)的電壓域VDD_EXT,在休眠時會輸出頻繁百ms級別的高脈沖,極易導(dǎo)致連接的外設(shè)誤動作。
原因解析:
Air780E的休眠特性,VDD_EXT在休眠狀態(tài)下會關(guān)閉,但是Air780E系統(tǒng)在休眠的整個時期內(nèi)并不是一直保持穩(wěn)定休眠狀態(tài),需要不定時喚醒起來與4G網(wǎng)絡(luò)交互以保持網(wǎng)絡(luò)連接,因此VDD_EXT會隨著模組喚醒而打開。而大部分普通GPIO默認是I&PU狀態(tài),就會被VDD_EXT拉高,導(dǎo)致輸出高脈沖。
設(shè)計建議:
在一些需要休眠狀態(tài)下正常工作的外設(shè)的控制(比如LED控制)不建議使用普通GPIO,可以使用AGPIO。
由于AGPIO數(shù)量有限,在必須用普通GPIO的情況下,可以在普通GPIO上做外接10K電阻下拉(如下圖R23),可以大幅減小休眠時輸出的高脈沖幅值,使得減小到外設(shè)的高電平判別門限以下,也可以避免誤動作的情況,但是相應(yīng)的在某些情況下,會增加功耗,請根據(jù)實際情況酌情做出選擇。

2. Wakeup IO類型的GPIO不要用VDD_EXT或者普通GPIO上拉,會導(dǎo)致系統(tǒng)無法進入休眠。
原因解析:
Air780E的休眠特性使得普通GPIO管腳和VDD_EXT會在休眠狀態(tài)下輸出高脈沖,會使得Wakeup IO收到中斷而導(dǎo)致系統(tǒng)被喚醒,無法進入休眠模式。
設(shè)計建議:使用內(nèi)部的上下拉。
3. Wakeup IO類型的GPIO不要直接連接主控MCU的IO管腳,會導(dǎo)致電平不一致而影響系統(tǒng)穩(wěn)定性。
原因解析:
Wakeup IO管腳電平是2V左右,這個與大多數(shù)MCU的IO電平不匹配,而且Wakeup IO的供電為內(nèi)部的LDO_AON,而這個供電會給系統(tǒng)啟動相關(guān)的部分供電,比如reset管腳,因此Wakeup IO上由于電平不匹配而導(dǎo)致的漏洞,有可能會影響系統(tǒng)穩(wěn)定性。
設(shè)計建議:
使用二極管或者三極管來隔離(如下圖)。

分享完畢,歡迎關(guān)注
審核編輯 黃宇
-
mcu
+關(guān)注
關(guān)注
147文章
18588瀏覽量
385913 -
GPIO
+關(guān)注
關(guān)注
16文章
1312瀏覽量
55681
發(fā)布評論請先 登錄
三類表面貼裝方法
智能設(shè)備三類應(yīng)用的供電問題分析
LC振蕩器設(shè)計與調(diào)試中三類常見問題
詳細解釋三類TN式供電系統(tǒng)
錳酸鋰、三元材料、磷酸亞鐵鋰_三類鋰電池材料特性對比
三類小米音響的優(yōu)點與缺點
AI三類醫(yī)療器械和人工智能有直接的關(guān)系嗎
淺談光伏系統(tǒng)三類最常見的故障問題
國內(nèi)儲能市場中主要的三類玩家
智能設(shè)備三類應(yīng)用的供電問題資料下載

不可錯過的三類GPIO硬件設(shè)計指南!
評論