你是否曾困惑于GPIO功能的多樣性?從基礎(chǔ)IO到高級(jí)AGPIO,再到低功耗喚醒的Wakeup IO,這一接口實(shí)則擁有三重身份。本文帶你深入內(nèi)核,解析其不同形態(tài)下的技術(shù)邏輯與實(shí)戰(zhàn)價(jià)值。
本文特別分享Air780EPM的GPIO使用注意事項(xiàng)及硬件設(shè)計(jì)要點(diǎn),產(chǎn)品手冊(cè)、原理圖、應(yīng)用示例等資料持續(xù)更新開放。

一、GPIO復(fù)用表及LuatIO配置工具
Air780EPM模組共支持38個(gè)GPIO和3個(gè)WAKEUP喚醒管腳。
38個(gè)GPIO口本身有多重復(fù)用功能,大家需要根據(jù)實(shí)際應(yīng)用進(jìn)行選擇配置;
38個(gè)GPIO中,又可分為普通GPIO和AGPIO;
3個(gè)WAKEUP管腳,用于低功耗模式/PSM+模式下的休眠喚醒。


可視化GPIO復(fù)用初始化配置工具——LuatIO,配置簡(jiǎn)單便捷。
GPIO功能復(fù)用表:https://docs.openluat.com/air780epm/luatos/hardware/design/gpio/
LuatIO工具使用教程:https://docs.openluat.com/air780epm/common/luatio/

二、三類GPIO主要特性
Air780EPM的GPIO口根據(jù)不同的特性,可以分為三種類型:
普通IO
AGPIO
Wakeup IO
不同特性的GPIO,其驅(qū)動(dòng)能力以及在低功耗模式/PSM+模式下的表現(xiàn)區(qū)別比較大,在使用這些特性的GPIO時(shí)尤其要注意。
AGPIO也常被寫作為:AONGPIO、AON_GPIO,下文均以AGPIO的寫法進(jìn)行描述。
2.1 普通IO
Air780EPM大部分管腳為普通GPIO(GPIO復(fù)用表格中灰色底色的IO);
Air780EPM系統(tǒng)為了在休眠模式下有極致的低功耗性能,會(huì)在模組進(jìn)入休眠/深休眠模式時(shí),關(guān)閉GPIO供電(VDD_EXT),因此會(huì)導(dǎo)致所有以VDD_EXT為電源域的GPIO會(huì)進(jìn)入下電狀態(tài)。
在使用普通GPIO時(shí),要尤其注意在休眠狀態(tài)下GPIO的掉電狀態(tài)對(duì)控制外設(shè)造成的誤動(dòng)作風(fēng)險(xiǎn)。


2.2 AGPIO
AGPIO管腳為休眠可保持管腳(GPIO復(fù)用表格中綠色底色I(xiàn)O管腳)。
這類管腳電源域?yàn)殚L(zhǎng)保持的LDO_AONIO電源(為內(nèi)部電源,模組外部不可測(cè)量),這類電源在模組低功耗模式/PSM+下,仍然能夠保持供電,因此AGPIO管腳在休眠狀態(tài)下能夠保持電平。
AGPIO管腳可以用于休眠狀態(tài)下,仍然需要保持工作狀態(tài)的外設(shè)。


2.3 Wakeup IO
Air780EPM包含3個(gè)特殊管腳,分別為:
WAKEUP0、VBUS、USIM_DET。
此類型IO為中斷喚醒管腳,能夠在模塊休眠狀態(tài)下響應(yīng)外部中斷從而使模塊退出休眠狀態(tài),因此這類IO管腳在休眠狀態(tài)下也能保持供電。
注意:Wakeup IO僅支持輸入,不能配置為輸出,且固定電平不可配置。


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

可以大幅減小休眠時(shí)輸出的高脈沖幅值,使得減小到外設(shè)的高電平判別門限以下,也可以避免誤動(dòng)作的情況。但是相應(yīng)的在某些情況下,會(huì)增加功耗,請(qǐng)根據(jù)實(shí)際情況酌情做出選擇。
3.2 Wakeup IO類型的GPIO不要用VDD_EXT或者普通GPIO上拉,會(huì)導(dǎo)致系統(tǒng)無(wú)法進(jìn)入休眠。
原因解析:
Air780EPM的休眠特性使得普通GPIO管腳和VDD_EXT會(huì)在休眠狀態(tài)下輸出高脈沖,會(huì)使得WakeupIO收到中斷而導(dǎo)致系統(tǒng)被喚醒,無(wú)法進(jìn)入休眠模式。
設(shè)計(jì)建議:使用內(nèi)部的上下拉。
3.3 Wakeup IO類型的GPIO不要直接連接主控MCU的IO管腳,會(huì)導(dǎo)致電平不一致而影響系統(tǒng)穩(wěn)定性。
原因解析:
Wakeup IO管腳電平是2V左右,這個(gè)與大多數(shù)MCU的IO電平不匹配,而且Wakeup IO的供電為內(nèi)部的LDO_AON,而這個(gè)供電會(huì)給系統(tǒng)啟動(dòng)相關(guān)的部分供電,比如reset管腳,因此Wakeup IO上由于電平不匹配而導(dǎo)致的漏洞,有可能會(huì)影響系統(tǒng)穩(wěn)定性。
設(shè)計(jì)建議:
使用二極管或者三極管來(lái)隔離(如下圖)。

今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
IO
+關(guān)注
關(guān)注
0文章
510瀏覽量
42509 -
GPIO
+關(guān)注
關(guān)注
16文章
1328瀏覽量
56219
發(fā)布評(píng)論請(qǐng)先 登錄
磁盤IO問(wèn)題的定位根因與調(diào)優(yōu)解決思路
深度解析MAX7232:三重 LCD 解碼器/驅(qū)動(dòng)器在電子設(shè)計(jì)中的應(yīng)用
LT3597:60V 三重降壓 LED 驅(qū)動(dòng)器的深度解析
高速利器:AD8183三重 2:1 多路復(fù)用器深度解析
主板到IO板連接線核心技術(shù)與方案解析
將JTAG引腳用作普通IO
低功耗設(shè)計(jì)入門:AGPIO的基礎(chǔ)概念與原理!
AGPIO:低功耗設(shè)計(jì)的基礎(chǔ)知識(shí)“基石”
GraniStudio:IO初始化以及IO資源配置例程
GraniStudio:IO寫入例程
ICT測(cè)試:SMT產(chǎn)品質(zhì)量的“三重防線”?
Analog Devices / Maxim Integrated MAXREFDES177 IO-Link通用模擬IO特性/框圖
深度揭秘GPIO的三重身份:從普通IO到AGPIO與Wakeup IO
評(píng)論