9. I/O端口配置(2)
9.2 設(shè)置端口并將其用作GPIO
有兩種方法可以設(shè)置端口并將其用作GPIO:一種是使用端口控制寄存器(PCNTR1),另一種是使用PmnPFS寄存器。
方法1:端口控制寄存器(PCNTR1)
? 通過向端口控制寄存器1(PCNTR1)的端口方向位 (PDRn) 寫入“1”,選擇一個(gè)引腳作為輸出。
? 端口方向位 (PDRn) 是可讀寫的。將該值設(shè)置為“1”將選擇該引腳作為輸出。I/O端口的默認(rèn)狀態(tài)為“0”(輸入)??梢栽赗A2 MCU上讀取端口方向寄存器。
? 相應(yīng)端口控制寄存器 (PCNTR1) 中的端口輸出數(shù)據(jù)位 (PODRn) 是可讀寫的。讀取PODR時(shí),也會讀取輸出數(shù)據(jù)鎖存器的狀態(tài)(不是引腳電平)。
? 端口控制寄存器 2 (PCNTR2) 中的端口輸入位 (PIDRn) 是只讀的。讀取PCNTR2寄存器中的 PIDRn 位以讀取引腳狀態(tài)。
方法2:端口mn引腳功能
選擇 (PmnPFS) 寄存器
? 端口模式寄存器 (PMR) 是可讀寫的,用于指定各個(gè)引腳是用作GPIO還是用作外設(shè)引腳。復(fù)位后,所有PMR寄存器均置0,這會將所有引腳都設(shè)置為GPIO。如果PMR寄存器置1,則該對應(yīng)的引腳將用于實(shí)現(xiàn)外設(shè)功能。外設(shè)功能由該引腳的MPC設(shè)置定義。
? 將引腳設(shè)置為輸出時(shí),建議先將所需的端口輸出值寫入數(shù)據(jù)鎖存器,然后將方向寄存器設(shè)置為輸出。盡管在所有系統(tǒng)中此操作都不太重要,但這可以防止在設(shè)置端口時(shí)出現(xiàn)意外的輸出毛刺。
通常,使用PCNTR1配置端口有助于提高訪問速度,但可用的配置功能較少。使用PmnPFS寄存器將獲得更多可用的配置功能,但訪問速度較慢。
Renesas FSP提供了引腳配置工具,以在復(fù)位后配置GPIO引腳,如圖19所示。配置GPIO后,可以在FSP中使用HAL層API對該GPIO進(jìn)行控制
圖19. 使用FSP配置器將P107配置為輸出和低電平
9.2.1 內(nèi)部上拉
? 端口0到9上的大多數(shù)引腳都可以選擇使能上拉電阻。上拉由每個(gè)端口mn引腳功能選擇 (PmnPFS) 寄存器中的上拉 (PCR) 位控制。每個(gè)PmnPFS寄存器中的PCR位用于控制端口上的相應(yīng)引腳。
? 首先,必須通過PmnPFS寄存器中的相關(guān)位將該引腳設(shè)置為輸入。將PCR位置“1”以使能上拉,將其置“0”以禁用上拉。
? 復(fù)位后,會將所有PCR寄存器清零,因此將禁用所有上拉電阻。
? 每當(dāng)將某個(gè)引腳指定為外部總線引腳、GPIO輸出或外設(shè)功能輸出引腳時(shí),上拉就會自動關(guān)閉。
9.2.2 漏極開路輸出
? 配置為輸出的引腳通常用作CMOS輸出。
? 端口0到上的大多數(shù)引腳都可以選擇配置為NMOS漏極開路輸出。
? 每個(gè)端口9mn引腳功能選擇 (PmnPFS) 寄存器中的N溝道漏極開路控制 (NCODR) 位控制哪些引腳以漏極開路模式工作。將每個(gè)寄存器中的適用位置“1”會使輸出形式變?yōu)槁O開路。將每個(gè)寄存器中的適用位置“0”會將端口設(shè)置為CMOS輸出。
9.2.3 驅(qū)動能力
RA2A1產(chǎn)品可以使能驅(qū)動能力輸出,其驅(qū)動能力可設(shè)為低或中驅(qū)動能力輸出。其他RA2產(chǎn)品無此功能。
? 驅(qū)動能力的切換由每個(gè)端口mn引腳功能選擇 (PmnPFS) 寄存器中的驅(qū)動能力控制寄存器 (DSCR) 位控制。
? 復(fù)位后,會將所有DSCR寄存器清零,因此會將所有引腳設(shè)置為低驅(qū)動能力輸出。設(shè)置“00”以外的值會更改所選引腳的輸出的驅(qū)動能力。
? 引腳的最大總輸出因產(chǎn)品及封裝而異。具體請參見MCU硬件手冊“電氣特性”章節(jié)的內(nèi)容。
? 驅(qū)動能力的差異如下所示。實(shí)際輸出電流會因產(chǎn)品和引腳類型而有所不同。詳細(xì)信息請參見MCU硬件手冊。
表10. 引腳驅(qū)動能力
輸出驅(qū)動能力可能會對電路板設(shè)計(jì)的整體性能造成重大影響。為每個(gè)輸出選擇驅(qū)動能力時(shí),應(yīng)考慮以下幾點(diǎn):
? 建議首先將所有引腳設(shè)置為低驅(qū)動能力(默認(rèn))并評估性能。
? 根據(jù)電路板布局的不同,驅(qū)動能力設(shè)置為中或高的引腳可能會產(chǎn)生較高的EMI輻射。
? 較長的走線可能需要更高的驅(qū)動能力,才能使信號正確傳播到接收器。
9.3 設(shè)置和使用端口外設(shè)功能
端口mn引腳功能選擇寄存器 (PmnPFS) 用于配置每個(gè)端口的特性。PSEL 位用于選擇為每個(gè)端口選擇的外設(shè)功能。
? 由于大多數(shù)引腳具有多種功能,因此RA2 MCU提供了引腳功能控制寄存器 (PmnPFS),可用于更改分配給引腳的功能。
? 每個(gè)引腳都有自己的PmnPFS寄存器。
? 每個(gè)PmnPFS寄存器都允許將引腳用于外設(shè)功能(PSEL位)、用作IRQ輸入引腳(ISEL位)或用作模擬輸入引腳(ASE位)。如果ASEL位置“1”(將引腳用作模擬輸入引腳),則應(yīng)將該引腳的PMR位置1以用于GPIO,并將該引腳的PDR位置1以用于輸入。
? 請參見《硬件手冊》中“I/O端口”一章的“每種產(chǎn)品的外設(shè)選擇設(shè)置”部分。
? 為了確保外設(shè)引腳上沒有非預(yù)期的邊沿輸入或輸出,確保在修改引腳的PmnPFS寄存器之前將目標(biāo)引腳的端口模式控制 (PMR) 位清零。
? 復(fù)位后,所有PmnPFS寄存器均受到寫保護(hù)。為了對這些寄存器執(zhí)行寫入操作,必須首先使用寫保護(hù)寄存器 (PWPR) 來使能寫入。
? 設(shè)置PmnPFS寄存器時(shí)應(yīng)格外小心,切勿將一個(gè)功能分配給多個(gè)引腳。用戶不應(yīng)這樣做,但MCU允許上述操作。如果發(fā)生這種情況,則引腳上的功能將處于未定義狀態(tài)。
? 圖20為使用Renesas FSP的引腳配置器使能QSPI引腳的示例。
圖20. 使用Renesas FSP中的引腳配置器使能QSPI引腳
-
mcu
+關(guān)注
關(guān)注
146文章
16885瀏覽量
349920 -
瑞薩
+關(guān)注
關(guān)注
34文章
22282瀏覽量
85953
原文標(biāo)題:RA2快速設(shè)計(jì)指南 [8] I/O端口配置(2)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論