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

Silicon Labs EFM32 Gecko 32位微控制器簡介
EFM32平臺自平衡小車制作
EFM32系列32位MCU的內部溫度傳感器介紹
關于EFM32? Tiny Gecko 11的介紹及相關資料手冊!
EFM32芯片的使用
MCU在線技術講座-EFM和EFR: 面向物聯網開發的通用MCU平臺
集成度最高的EFM32系列32位MCU Giant Gecko 11
【設計學堂】EFM32與EFR32外設應用示例

評論