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