10
I/O端口配置
有兩種方法可以設(shè)置端口并將其用作GPIO:一種是使用端口控制寄存器 (PCNTR1),另一種是使用PmnPFS寄存器。
方法1:端口控制寄存器 (PCNTR1)
? 通過向端口控制寄存器1 (PCNTR1) 的端口方向位 (PDRn) 寫入“1”,選擇一個引腳作為輸出。
? 端口方向位 (PDRn) 是可讀寫的。將該值設(shè)置為“1”將選擇該引腳作為輸出。I/O端口的默認(rèn)狀態(tài)為“0”(輸入)??梢栽赗A6 MCU上讀取端口方向寄存器。
? 相應(yīng)端口控制寄存器 (PCNTR1) 中的端口輸出數(shù)據(jù)位 (PODRn) 是可讀寫的。讀取PODR時,也會讀取輸出數(shù)據(jù)鎖存器的狀態(tài)(不是引腳電平)。
? 端口控制寄存器2 (PCNTR2) 中的端口輸入位 (PIDRn) 是只讀的。讀取PCNTR2寄存器中的PIDRn位以讀取引腳狀態(tài)。
方法2:端口mn引腳功能選擇 (PmnPFS) 寄存器
? 端口模式寄存器 (PMR) 是可讀寫的,用于指定各個引腳是用作GPIO還是用作外設(shè)引腳。復(fù)位后,所有PMR寄存器均置0,這會將所有引腳都設(shè)置為GPIO。如果PMR寄存器置1,則該對應(yīng)的引腳將用于實現(xiàn)外設(shè)功能。外設(shè)功能由該引腳的MPC設(shè)置定義。
? 將引腳設(shè)置為輸出時,建議先將所需的端口輸出值寫入數(shù)據(jù)鎖存器,然后將方向寄存器設(shè)置為輸出。盡管在所有系統(tǒng)中此操作都不太重要,但這可以防止在設(shè)置端口時出現(xiàn)意外的輸出毛刺。
通常,使用PCNTR1配置端口有助于提高訪問速度,但可用的配置功能較少。使用PmnPFS寄存器將獲得更多可用的配置功能,但訪問速度較慢。
Renesas FSP提供了引腳配置工具,以在復(fù)位后配置GPIO引腳,如下所示。配置GPIO后,可以在FSP中使用HAL層API對該GPIO進行控制。
圖24. 使用FSP配置器將P706配置為輸出和低電平
10.2.1 內(nèi)部上拉
? 端口0到9、A和B上的大多數(shù)引腳都可以選擇使能上拉電阻。上拉由每個端口mn引腳功能選擇 (PmnPFS) 寄存器中的上拉 (PCR) 位控制。每個PmnPFS寄存器中的PCR位用于控制端口上的相應(yīng)引腳。
? 首先,必須通過PmnPFS寄存器中的相關(guān)位將該引腳設(shè)置為輸入。將PCR位置“1”以使能上拉,將其置“0”以禁用上拉。
? 復(fù)位后,會將所有PCR寄存器清零,因此將禁用所有上拉電阻。
? 每當(dāng)將某個引腳指定為外部總線引腳、GPIO輸出或外設(shè)功能輸出引腳時,上拉就會自動關(guān)閉。
10.2.2 漏極開路輸出
? 配置為輸出的引腳通常用作CMOS輸出。
? 端口0到9、A和B上的大多數(shù)引腳都可以選擇配置為NMOS漏極開路輸出。
? 每個端口mn引腳功能選擇 (PmnPFS) 寄存器中的N溝道漏極開路控制 (NCODR) 位控制哪些引腳以漏極開路模式工作。將每個寄存器中的適用位置“1”會使輸出形式變?yōu)槁O開路。將每個寄存器中的適用位置“0”會將端口設(shè)置為CMOS輸出。
10.2.3 驅(qū)動能力
? 端口1到9、A和B(P200和P201除外)上的每個引腳都可以選擇使能低、中或高驅(qū)動能力輸出。驅(qū)動能力的切換由每個端口mn引腳功能選擇 (PmnPFS) 寄存器中的驅(qū)動能力控制寄存器 (DSCR) 位控制。
? 復(fù)位后,會將所有DSCR寄存器清零,因此會將所有引腳設(shè)置為低驅(qū)動能力輸出。設(shè)置“00”以外的值會更改所選引腳的輸出的驅(qū)動能力。
? 所有引腳的最大總輸出為80mA。
? 驅(qū)動能力的差異如下所示:
點擊可查看大圖
輸出驅(qū)動能力可能會對電路板設(shè)計的整體性能造成重大影響。為每個輸出選擇驅(qū)動能力時,應(yīng)考慮以下幾點。
? 建議首先將所有引腳設(shè)置為低驅(qū)動能力(默認(rèn))并評估性能。
? 根據(jù)電路板布局的不同,驅(qū)動能力設(shè)置為中或高的引腳可能會產(chǎn)生較高的EMI輻射。
? 較長的走線可能需要更高的驅(qū)動能力,才能使信號正確傳播到接收器。
未完待續(xù)
推薦閱讀
RA6快速設(shè)計指南 [10] 存儲器 (2)
RA6快速設(shè)計指南 [11] 存儲器 (3)
RA6快速設(shè)計指南 [12] 寄存器寫保護,I/O端口配置 (1)
原文標(biāo)題:RA6快速設(shè)計指南 [13] I/O端口配置 (2)
文章出處:【微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
mcu
+關(guān)注
關(guān)注
146文章
16885瀏覽量
349920 -
瑞薩
+關(guān)注
關(guān)注
34文章
22282瀏覽量
85953
原文標(biāo)題:RA6快速設(shè)計指南 [13] I/O端口配置 (2)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論