本期內容將由先楫技術官帶您解鎖如何利用HPM6700系列做到高達400Mhz的GPIO 翻轉頻率,往下翻即可了解詳情!
--------- “解鎖之旅 ”由此開啟 ---------
(本期測試開發板為:HPM6750EVK2)
1
GPIO模塊特點簡介
HPM6700/6400系列的MCU輸入輸出提供PA~PZ共8組最多195個GPIO功能復用引腳,每個GPIO都可以由2個GPIO控制器和2個快速GPIO控制器控制,由GPIO管理器GPIOM指定。提到的2 個快速 GPIO 控制器 FGPIO,作為處理器私有的 IO 快速訪問接口,處理器因此可以零等待周期來訪問FGPIO控制器。
2
GPIO控制器介紹
本節將介紹HPM6700/6400系列的通用輸入輸出控制器(General Purpose Input Output),GPIO 控制器包括:2 個 GPIO 控制器(GPIO0,GPIO1), 2 個快速 GPIO 控制器(FGPIO0, FGPIO1)。
2.1 通用GPIO控制器控制
GPIO 控制器與快速 GPIO 控制器功能基本相同,可以按照 IO 端口 Port 讀取輸入,配置IO作為輸入或者輸出,設置 IO 輸出,或者同時把一個或者多個 IO 輸出設置高,設置低或者翻轉。GPIOx 和 FGPIOx 可以控制通用 IO(PA, PB, PC, PD, PE, PF)。
2.2 快速 GPIO 控制器
快速GPIO控制器屬于處理器的私有外設,如圖1所示,處理器因此可以零等待周期來訪問FGPIO控制器。當IO由FGPIO控制時,IO最大翻轉率可達CPU主頻的一半,以HPM6750 CPU運行在816MHz為例,IO翻轉頻率可408MHz。
圖1. 系統架構框圖
通過在程序中選用FGPIO0或者FGPIO1這兩個控制器來控制IO,將IO配置為輸出后,可以使用DO【TOGGLE】寄存器,令這個IO循環反復做一個翻轉,部分代碼如圖2所示:將PD16配置完成。需要注意的是,在測試波形之前,需要在Project的選項中打開優化設置,如圖3所示:將Optimization Level設定為Level 2 for speed。
圖2. FGPIO控制IO翻轉代碼
圖3. 開啟優化
設定完成后,就可以使用示波器連接到此IO后,得到的波形如圖4.1所示,測量峰-峰值,此時的頻率為409.7MHz, 的確達到了CPU主頻的一半。
圖4. 1 FGPIO控制IO的翻轉波形
由于FGPIO控制IO的情況下,IO的翻轉頻率為主頻的一半,那么修改當前的主頻頻率,還可以測出其他幾種頻率的翻轉波形,如圖4.2與4.3所示,分別是200Mhz和100Mhz頻率的翻轉波形,它們對應的主頻分別是400Mhz與200Mhz。
圖4. 2 FGPIO控制IO下200mhz波形
圖4. 3 FGPIO控制IO下100mhz波形
HPM6700/6400系列MCU中的普通GPIO控制器控制IO時,也可以有5.8Mhz左右的翻轉頻率,圖4.4為GPIO0控制IO時,用示波器抓取的波形。
圖4.4 GPIO控制IO下的翻轉波形
3
GPIO管理器GPIOM介紹
GPIO管理器是一個能為任一IO指定GPIO配置生效的模塊,管理器的主要特點如下:
可以為IO分配指定的GPIO控制器,作為一個管理權限,可以從兩個GPIO控制器和FGPIO控制器里任意選擇。
可以配置IO輸入是否對特定的GPIO控制器可見。
可以鎖定一個IO的對應寄存器
-
mcu
+關注
關注
146文章
17019瀏覽量
350374
發布評論請先 登錄
相關推薦
評論