玩轉(zhuǎn)Zynq連載2——Zynq PS的GPIO外設(shè) 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s ![]() Zynq的GPIO外設(shè)控制最多54個(gè)MIO引腳,也可以通過EMIO接口連接到PL(最多支持64個(gè)輸入引腳或128個(gè)輸出引腳)。GPIO外設(shè)可以分為4個(gè)Bank。 GPIO外設(shè)的主要特性如下: ● 54個(gè)GPIO信號(hào)通過MIO引腳引出。 ● 192個(gè)GPIO信號(hào)通過EMIO接口連接到PL引腳引出(64個(gè)輸入引腳;128個(gè)輸出引腳,其中64個(gè)實(shí)際輸出引腳和64個(gè)輸出使能引腳)。 ●每個(gè)GPIO都可以獨(dú)立編程為輸入、輸出或中斷接口。 ● 使能信號(hào)、位或bank為單位的數(shù)據(jù)寫入操作、方向控制信號(hào)。 ● 每個(gè)GPIO都有可編程的中斷控制 GPIO的功能框圖如下所示。 ![]() GPIO外設(shè)分為4個(gè)Bank。 ● Bank0由32位的MIO引腳pin[31:0]組成。 ● Bank1由22位的MIO引腳pin[53:32]組成。 ● Bank2由32位EMIO信號(hào)EMIO[31:0]組成。 ● Bank3由32位EMIO信號(hào)EMIO[63:32]組成。 GPIO內(nèi)部結(jié)構(gòu)如圖所示。 ![]() GPIO可以被配置為輸入或輸出信號(hào)。DATA_RO寄存器能夠反饋當(dāng)前GPIO的輸入(OE信號(hào)為低)或輸出(OE信號(hào)為高)狀態(tài)值。通過MASK_DATA寄存器的設(shè)置,可以實(shí)現(xiàn)對(duì)一個(gè)bank中特定一個(gè)或多個(gè)GPIO的控制。 其它幾個(gè)主要寄存器的功能如下。 ● DATA寄存器。當(dāng)GPIO配置為輸出時(shí),該寄存器用于配置GPIO的輸出電平值。該寄存器一次性寫入所有32個(gè)GPIO的輸出值;讀取該寄存器時(shí),返回的是寫入的電平狀態(tài),并不一定是實(shí)際的電平狀態(tài)。 ● MASK_DATA_LSW寄存器。該寄存器用于屏蔽不需要更新的DATA寄存器的低16位。 ● MASK_DATA_MSW寄存器。該寄存器用于屏蔽不需要更新的DATA寄存器的高16位。 ● DIRM寄存器。方向控制寄存器。該寄存器用于控制GPIO的輸入輸出方向。高電平表示輸出,低電平表示輸入。 ● OEN寄存器。輸出使能。當(dāng)GPIO配置為輸出引腳,該寄存器有效。高電平表示輸出使能,低電平表示輸出關(guān)閉。 更多資料共享 鏈接:https://share.weiyun.com/5s6bA0s |