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