本文主要針對(duì)SiliconLabs(亦稱芯科科技) EFM32系列32位MCU的GPIO配置,讀取/寫(xiě)入,外設(shè)功能,外部中斷功能以及GPIO引腳作為外設(shè)反射系統(tǒng)(PRS)等功能進(jìn)行概要描述。與此相關(guān)的功能演示可以在Silicon Labs推出的EFM32入門套件主板上實(shí)現(xiàn)。與通用型MCU應(yīng)用類似,EFM32系列每個(gè)端口最多容納16個(gè)引腳,命名規(guī)則為Pxn,其中x表示端口(A,B,C ...),n表示引腳編號(hào)(0,1,...,15),其中每個(gè)端口都有獨(dú)立的寄存器控制單元,用于功能的配置和數(shù)據(jù)讀寫(xiě)等。
GPIO配置輸出端,通過(guò)寫(xiě)入DOUT寄存器中的相應(yīng)位來(lái)驅(qū)動(dòng)引腳,其輸出可以配置為線或,開(kāi)漏或者具有特定驅(qū)動(dòng)屬性的推挽式輸出。輸入配置,其輸入的引腳狀態(tài)反映在其對(duì)應(yīng)的DIN寄存器中,可為每個(gè)輸入引腳啟用可編程的上拉或下拉功能,另外還有濾波器功能可選,可以抑制長(zhǎng)達(dá)50 ns的毛刺。在實(shí)際的應(yīng)用設(shè)計(jì)中,為避免意外影響GPIO的配置,可以按引腳鎖定其GPIO配置。另外,針對(duì)部分外設(shè)線路有上、下拉電阻的配置需求,這就需要與MCU GPIO上、下拉功能的協(xié)調(diào)使用。
EFM32系列的三個(gè)典型寄存器配置:GPIO_Px_MODEL(端口引腳0-7)或GPIO_Px_MODEH(端口引腳8-15),GPIO_Px_DOUT和GPIO_Px_CTRL。為將端口C中的引腳5配置為具有上拉和濾波器的輸入功能代碼。在實(shí)際的功能開(kāi)發(fā)過(guò)程中,為提高代碼的易讀性與可移植性,可以自定義相關(guān)的高級(jí)集成化功能。
外設(shè)配置方面,需要根據(jù)數(shù)據(jù)手冊(cè)具體描述確定I / O口的多路復(fù)用和GPIO可用性,外設(shè)功能通常會(huì)復(fù)用到幾個(gè)不同的引腳上。一般來(lái)說(shuō),MCU預(yù)設(shè)的功能外設(shè)都有一個(gè)專用的ROUTE寄存器來(lái)控制實(shí)現(xiàn),其確定所有相關(guān)I / O的位置以及這些I / O的使能控制。另外,部分較新的產(chǎn)品具備更靈活的配置方案,如外設(shè)設(shè)有一ROUTEPEN寄存器,以及ROUTELOCn寄存器,可以在每個(gè)引腳上啟用和禁用I / O,允許外設(shè)I / O的映射位置多達(dá) 32處。
中斷方面,EFM32系列具備兩種不同的中斷請(qǐng)求機(jī)制。第一個(gè)將具有相同編號(hào)的所有引腳分組到一個(gè)外部中斷請(qǐng)求中。第二個(gè)為EFM32 Gemstones提供的更為靈活的中斷請(qǐng)求機(jī)制,其通過(guò)端口映射兩位MSBs來(lái)匹配外部中斷請(qǐng)求信號(hào)。
外設(shè)反射系統(tǒng)(PRS)允許外設(shè)在沒(méi)有MCU干預(yù)的情況下進(jìn)行數(shù)據(jù)通信,比較適合用于MCU處于低能耗運(yùn)行模式下。通俗來(lái)說(shuō),PRS系統(tǒng)基于“生產(chǎn)者—消費(fèi)者”的機(jī)制進(jìn)行工作,其發(fā)送反射信號(hào)的為生產(chǎn)者,接收反射信號(hào)的為消費(fèi)者。PRS系統(tǒng)將生產(chǎn)方信號(hào)映射到對(duì)應(yīng)消費(fèi)者,消費(fèi)者會(huì)根據(jù)接收的信號(hào)實(shí)現(xiàn)對(duì)應(yīng)的功能。在具體的項(xiàng)目開(kāi)發(fā)中,PRS 系統(tǒng)的支持的操作模式有同步和異步兩種,同步模式需要工作在 HFPERCLK 時(shí)鐘下,可在 EM0 和 EM1 模式下使用;異步模式不需要 HFPERCLK 時(shí)鐘的參與,可在 EM0~EM3 模式下工作(部分外設(shè)支持異步模式)。另外,PRS 系統(tǒng)運(yùn)行涉及的寄存器主要為PRS_SWPULSE 和 PRS_SWLEVEL兩類。
-
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
366969 -
濾波器
+關(guān)注
關(guān)注
162文章
8138瀏覽量
182080 -
寄存器
+關(guān)注
關(guān)注
31文章
5434瀏覽量
124513 -
EFM32
+關(guān)注
關(guān)注
4文章
46瀏覽量
70424
原文標(biāo)題:EFM32系列32位MCU的GPIO應(yīng)用快速上手指南
文章出處:【微信號(hào):SiliconLabs,微信公眾號(hào):Silicon Labs】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于EFM32的無(wú)磁熱表的方案
EFM32的電容式觸開(kāi)關(guān)方案

Silicon Labs EFM32 Gecko 32位微控制器簡(jiǎn)介
EFM32平臺(tái)自平衡小車制作
EFM32系列32位MCU的內(nèi)部溫度傳感器介紹
關(guān)于EFM32? Tiny Gecko 11的介紹及相關(guān)資料手冊(cè)!
EFM32芯片的使用
MCU在線技術(shù)講座-EFM和EFR: 面向物聯(lián)網(wǎng)開(kāi)發(fā)的通用MCU平臺(tái)
EFM32產(chǎn)品應(yīng)用手冊(cè)

集成度最高的EFM32系列32位MCU Giant Gecko 11
【設(shè)計(jì)學(xué)堂】EFM32與EFR32外設(shè)應(yīng)用示例

基于EFM32系列MCU的便攜式心臟監(jiān)測(cè)儀設(shè)計(jì)
新款MCU EFM32和EFM8功能升級(jí),加速物聯(lián)網(wǎng)產(chǎn)品原型設(shè)計(jì)

評(píng)論