在MIMXRT1021CAG4B使用中,當(dāng)系統(tǒng)上電后,發(fā)現(xiàn)不同的端口在通電后具有不同的值。例如,現(xiàn)在使用GPIO_EMC_39和喚醒引腳,兩者結(jié)果是不同的。從GPIO數(shù)據(jù)手冊中,GPIO DATA寄存器的復(fù)位值為0x00000000。但對于喚醒引腳,復(fù)位后狀態(tài)后為高電平。
-> GPIO引腳默認(rèn)為輸入功能,而非輸出功能。因此,它由上拉和下拉配置決定。對于喚醒PIN,可以檢查以下寄存器:
默認(rèn)情況下,使能了內(nèi)部100K上拉,因此上電復(fù)位后,GPIO口是高電平。針對GPIO_EMC_39 也是一樣的,如果添加DCD將配置SDRAM SEMC端口,它將由SEMC配置結(jié)果決定。在從QSPI加載應(yīng)用程序代碼之前,如下相關(guān)信號被驅(qū)動為HIGH,為什么呢?
GPIO_PAD | DEFAULT SIGNAL |
GPIO_EMC_08 | SEMC_DM00 |
GPIO_EMC_29 | SEMC_CS0 |
GPIO_EMC_39 | SEMC_DQS |
問題是,將上述這些信號用作GPIO,并將其用作電機(jī)的啟用以及打開/關(guān)閉閥門的控制。這些信號具有相當(dāng)強(qiáng)的下拉電阻,因此認(rèn)為處理器正在積極地將這些信號配置為輸出并將其驅(qū)動為高電平。為什么這些信號在通電時(shí)會短暫地切換到高電平,如何防止這種情況發(fā)生嗎?
->該問題與DCD配置有關(guān)。在RT1020EVK上做了一個(gè)快速測試,沒有看到這個(gè)問題。可以檢查C76處的電壓以確定GPIO_EMC_39引腳狀態(tài)。
還有一種應(yīng)用場景,需要在固件升級后保留輸出狀態(tài)。通常它需要在固件升級后重新啟動,但在重新啟動期間輸出狀態(tài)將會被重置。如何實(shí)現(xiàn)在固件升級后保持輸出狀態(tài)高電平呢?
事實(shí)上,GPIO輸出狀態(tài)由代碼控制,如果更新固件,然后復(fù)位,代碼將運(yùn)行,GPIO狀態(tài)完全由代碼控制。但是在復(fù)位期間,可以外接上拉電阻,因?yàn)椋绻_是輸入Keeper的,那么它是由外部信號決定的。GPIO_EMC_05和06中的Keeper 電路已啟用,在復(fù)位期間將輸出高電平。但對于GPIO_EMC_04,它將在復(fù)位期間用作調(diào)試 JTAG_ACT功能,它將輸出低電平。
當(dāng)輸出驅(qū)動器被禁用時(shí),Keeper功能夠保持先前的輸出值。
Keeper的內(nèi)部電阻遠(yuǎn)高于標(biāo)準(zhǔn)輸出驅(qū)動器的內(nèi)部電阻——見上表。此選項(xiàng)對于在邏輯值更改時(shí)需要大量能量的應(yīng)用中節(jié)省功耗,但在僅需要保持狀態(tài)時(shí)幾乎不需要消耗能量。另一種類型的應(yīng)用是必須確保引腳在任何情況下都被驅(qū)動,即使強(qiáng)度小得多,因此輸出引腳不會浮空,并且其電平被定義。
pull / keeper 由PKE、PUE和PUS位控制。pull / keeper 可通過pull / keeper 啟用(PKE)位啟用。當(dāng)pull / keeper 啟用時(shí),可以選擇PUE(上拉啟用)位啟用器件對應(yīng)的功能。
I2C / I2S 要求雙向通信,如下位在 IOMUX中需要配置:
? 輸入 IBE = 0b1
? 輸出OBE = 0b1
? 開漏功能ODE = 0b1
? 針對低頻信號的配置PKE = 0b1, PUE = 0b1, PUS = 0b11或者外接上拉用于固定的或者高頻信號
審核編輯:湯梓紅
-
寄存器
+關(guān)注
關(guān)注
31文章
5423瀏覽量
123421 -
Data
+關(guān)注
關(guān)注
0文章
63瀏覽量
38628 -
引腳
+關(guān)注
關(guān)注
16文章
1581瀏覽量
52382 -
GPIO
+關(guān)注
關(guān)注
16文章
1276瀏覽量
53605
原文標(biāo)題:MIMXRT1021CAG4B GPIO口復(fù)位值
文章出處:【微信號:嵌入式 MCU,微信公眾號:嵌入式 MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
MIMXRT1021和MIMXRT1024 ADC通道數(shù)
GPIO寄存器詳解
比較器MIMXRT1020-EVK引腳更改示例問題求解
MIMXRT1021CAG4A無法正常啟動是為什么?
為什么命令flash-erase-region在某些板上會失敗,而在其他板上卻不會?
JTAG引腳是否可以用作該控制器中的GPIO引腳?
如何使用SD卡啟動MIMXRT1024CAG4B?
STC15單片機(jī)的GPIO口驅(qū)動LED資料合集

【STM32】STM32F4 GPIO八種模式及工作原理詳解

【STM32】STM32F4 GPIO八種模式及工作原理詳解

STM32單片機(jī)GPIO口簡介

在MIMXRT1021CAG4B MCU上打印printf()到指定的串口
MIMXRT1064CVL5B連接HyperRAM
MIMXRT1062CVL5B和MIMXRT1062XVN5B的區(qū)別
CAG4M-FP-FA 初級用戶手冊 CAG4M-FP-FA V850E/CAG4-M 閃存編程適配器用戶手冊

評論