作者:Mculover666
在實際玩Zynq中斷之前,先扯一扯中斷這個神奇的東西~
實時性是一個嵌入式系統(tǒng)很重要的性能,實時性體現(xiàn)在一個系統(tǒng)對外部事件的響應能力和處理能力上,而CPU對一個事件的響應及處理主要依托于 —— 中斷。
通俗的來說,中斷的一個基本過程就是:當一個事件發(fā)生時(比如按鍵按下),產(chǎn)生一個可以發(fā)送到CPU的中斷信號(上升沿或下降沿無所謂,是個信號就行),當CPU接收到這個中斷信號后,對這個中斷信號所表示的事件進行處理(跳轉(zhuǎn)去執(zhí)行中斷服務程序,對按鍵按下這個事件進行處理)。
對這個基本過程抽象出來一個中斷系統(tǒng)模型如圖所示:
在上圖中只是一個中斷信號,那么當這個系統(tǒng)中存在很多中斷信號時,群龍無首,整個系統(tǒng)就會亂套,CPU會像一只無頭蒼蠅一樣到處去執(zhí)行中斷服務程序,結(jié)果可想而知,最后CPU肯定什么也干不了~
為了解決這個問題,需要派一個領導去管理這些各種各樣的中斷,這個管理者就是 —— 中斷管理單元!所以,它只有一個功能 —— 管理這些中斷信號!比如使能與失能 —— 讓哪個中斷信號通過或者讓哪些信號不通過;“優(yōu)先級” —— 誰先通過誰后通過,改進模型如下圖:
這樣一來,CPU永遠只能接收到一個中斷信號,所以CPU可以很舒服的去做他該做的事情了~
總結(jié)一下中斷的編程思路:
配置外設可以產(chǎn)生中斷信號
配置中斷管理單元,使能信號通過,( 配置信號優(yōu)先級 )
配置中斷服務程序 ,確保CPU接收到中斷信號可以及時處理
接下來依托這個抽象的中斷模型玩一玩Zynq的中斷,具體化這個模型~
1.實驗目的
探索Zynq中PL->PS的中斷,按下按鍵產(chǎn)生一個中斷,這個中斷被通用中斷管理單元所處理,然后傳遞給Zynq PS,將變量值遞增然后將值顯示在led上。
2.實驗步驟
2.1.新建基于Pynq-Z2的工程
2.2.創(chuàng)建硬件塊設計
2.2.1.添加所用ip并自動連線
添加兩個AXI_GPIOip核,一個連接板載4個按鈕,一個連接板載4個led
2.2.2.配置AXI_GPIO使能中斷
這里因為4個按鍵是連接在axi_gpio_0上的,所以雙擊axi_gpio_0 ip核進行配置,如圖,選擇使能中斷:
可以看到與未配置中斷的axi_gpio_1有區(qū)別:
2.2.2.配置Zynq PS系統(tǒng)接收中斷請求
在配置之前需要對Zynq中的中斷信號有個大致的了解,其中PS和PL之間的中斷信號如表所示:
根據(jù)上圖,雙擊zynq ip核進行配置,因為這里需要接收的按鍵中斷是從PL端到PS端的,首先選中Fabric Interrupts中斷組織,然后選中IRQ_F2P[15:0],使能16-bit的PL->PS共享中斷端口,以便于來自PL端的中斷可以連接到PS的中斷控制器上:
2.2.3.連接AXI_GPIO的中斷請求和PS的中斷端口
手動進行連線:
2.3.驗證設計,創(chuàng)建HDL文件,生成Bitstream,導出硬件設計文件
至此,中斷信號的硬件數(shù)據(jù)通路構(gòu)建完成,接下來是軟件中配置中斷管理單元和中斷服務程序。
2.4.過渡到SDK上的軟件設計
2.4.1.Launch SDK
2.4.2.新建一個空的應用工程
2.4.3.導入已有C文件
因為在實際項目中需要分工協(xié)作,所以這里選擇導入隨書附帶的C文件:
2.4.4.配置運行設置,板級驗證
運行即可觀察到現(xiàn)象。
2.添加定時器中斷
2.1.實驗目的
在已有一個按鍵中斷的基礎上,添加一個定時器中斷,掌握添加多個中斷到PS的方法。
2.2.實驗步驟
2.2.1.添加AXI Timer IP核并自動連線
添加時搜索"timer",選擇AXI Timer添加,然后點擊自動連線,結(jié)果如圖:
2.2.2.連接AXI Timer的中斷到PS端
因為PS端的共享中斷接口已經(jīng)連接了一個AXI GPIO中斷,所以如果要繼續(xù)連接一個中斷信號,要通過一個另外的ip核 —— Concat,在添加ip核時搜索添加,如圖所示,將之前AXI GPIO 到ps的中斷斷開,然后將concat的dout信號連至PS端的IRQ_F2P[0:0],然后將AXI GPIO的中斷信號連接至In0,將定時器的中斷信號連接至In1,這樣就完成了多個中斷信號的共享。
生成Bitstream,導出硬件文件
編輯:hfy
-
嵌入式系統(tǒng)
+關注
關注
41文章
3551瀏覽量
129104 -
cpu
+關注
關注
68文章
10804瀏覽量
210829 -
Zynq
+關注
關注
9文章
607瀏覽量
47101
發(fā)布評論請先 登錄
相關推薦
評論