一種在FPGA中實現的多中斷均衡管理方法,依賴于在FPGA中實現的幾個單元電路共同協作來實現;這幾個單元電路包括中斷偵測單元、中斷消息隊列、中斷響應處理單元、總線開關和數據緩沖區;其中,中斷偵測單元完成外部中斷信號的檢測和通道號的鎖存;中斷消息隊列用來存儲外部中斷通道號,確保按照中斷先來先處理的原則進行響應;中斷響應處理單元負責執行具體的中斷任務;總線開關負責把中斷響應處理單元的總線和被響應的通道總線進行連接;數據緩沖區用來存放中斷響應處理單元執行中斷處理任務時從外部總線讀取的數據。本發明專利技術使得相同優先級的多個外部中斷能及時被處理,避免了因為中斷響應不均衡帶來的數據出錯或者系統故障。
【技術實現步驟摘要】
本專利技術涉及一種在FPGA中實現的多中斷均衡管理方法。
技術介紹
FPGA又稱現場可編程門陣列。它是一種可編程邏輯器件,是作為專用集成電路領 域中的一種半定制電路而出現的。既解決了定制電路的不足,又克服了原有可編程器件門 電路有限的缺點。FPGA具有可重復修改設計、運行速度快的顯著優點。它一般采用硬件描 述語言(verilog或者VHDL)完成電路的設計,經過專用工具的綜合和布局布線,形成二進 制文件。生產的二進制文件燒錄至FPGA上以后,上電即可自動運行。由于FPGA采用軟件編程的方法來實現硬件電路設計,所以采用FPGA來設計電路, 具有非常大的靈活性。對于一個特定的功能,采用FPGA實現相比于采用專用處理器上的軟 件來實現,最大的優勢在于速度。采用FPGA實現的功能電路,可以充分發揮出并行工作的 優勢,且響應速度可達到10納秒以下。而采用軟件來實現的功能,只能串行的工作,且響應 速度一般在幾百微妙甚至毫秒級。所以,在現代電子系統設計中,FPGA應用的越來越多。在基于FPGA的應用系統中,有時候會利用FPGA來管理多個外部中斷。傳統的管 理方法是采用基于優先級輪詢的方法,對各個中斷安排固定的優先級,依次進行輪詢。這種 方法穩定可靠,但是對于一些需要對外部事件及時響應的系統并不合適,可能會因為中斷 處理的不均衡使得外部中斷不能被及時處理,造成外部數據丟失或者系統故障。本專利技術的 提出就是為了解決這一問題,使得相同優先級的多個外部中斷能及時被處理,避免了因為 中斷響應不均衡帶來的數據出錯或者系統故障
技術實現思路
本專利技術的目的在于提供一種在FPGA中實現的多中斷均衡管理方法,其使得相同優先 級的多個外部中斷能及時被處理,避免了因為中斷響應不均衡帶來的數據出錯或者系統故障。本專利技術的技術解決方案是一種在FPGA中實現的多中斷均衡管理方法,其特殊之處在于本方法依賴于在FPGA中實現的幾個單元電路共同協作來實現;這幾個單元電路包括 中斷偵測單元、中斷消息隊列、中斷響應處理單元、總線開關和數據緩沖區;其中中斷偵測單元完成外部中斷信號的檢測和通道號的鎖存;中斷消息隊列用來存儲外部中斷通道號,確保按照中斷先來先處理的原則進行響應; 中斷響應處理單元負責執行具體的中斷任務;總線開關負責把中斷響應處理單元的總線和被響應的通道總線進行連接;數據緩沖區用來存放中斷響應處理單元執行中斷處理任務時從外部總線讀取的數據。上述在FPGA中實現的多中斷均衡管理方法,其特征在于具體地O中斷偵測單元負責外部中斷信號的檢測和記錄,中斷消息隊列存放外部中斷的通道信息;2)當中斷偵測單元檢測到外部任意一個通道的中斷信號后,向中斷消息隊列中存入當 前的通道號;3)在存放通道號時,按照先來先存放的原則順序進行,確保準確的記錄中斷發生的先 后順序;4)在向中斷響應處理單元傳遞消息的時候,該消息隊列按照先進先出的原則,確保先 發生的中斷先處理;5)中斷響應處理單元執行具體的中斷任務處理,根據不同的應用場合可設計不同的功 能,對于本專利技術所設計的硬件平臺,就是讀取AD轉換中的數據,并寫入到數據緩沖區中;6)總線開關根據消息隊列傳遞出來的通道號,進行總線的多路選擇切換,確保中斷響 應處理單元的數據總線和將要被響應的AD轉換通道的數據總線連接。上述FPGA外接多路AD轉換器或多路的串口或多路CAN總線。本專利技術具有如下優點1、中斷處理速度快。相比于傳統的采用軟件來處理中斷任務,采用FPGA來進行任務的 處理具有更短的響應時間。軟件處理中斷任務每次都要經過入棧、任務處理和出棧三個過 程,目前通用處理器上這個過程基本都在微秒級,如果在操作系統下進行任務切換時間會 更長。而本專利技術完全沒有入棧和出棧兩個過程,并且任務處理完全通過硬件來實現,任務處 理時間可達到納秒級。這在高實時性系統中是非常有用的。2、中斷響應及時均衡。采用FPGA管理中斷任務的傳統方法是基于優先級的輪詢 方法進行管理,這種方法對每個任務預先排布一個固定的優先級,然后按照這個順序依次 輪詢檢查,有中斷則處理,沒有中斷則繼續輪詢檢查。這種方法會造成比較大的輪詢時間浪 費。而本專利技術對中斷響應的思路為先來先響應,沒有輪詢的過程,從而確保中斷任務的及時 相應。附圖說明圖1為本專利技術所依賴的一種硬件平臺示意圖。圖2為本專利技術在FPGA中實現時的系統邏輯框圖。圖3為本專利技術中中斷偵測單元的邏輯實現框圖。具體實施方式為解決現有采用FPGA管理多個相同優先級中斷的不均衡問題,本專利技術以FPGA外 接4路高速AD轉換器的硬件平臺為例,介紹在FPGA中實現多任務實時管理的方法。這種 管理方法可以推廣到其他采用FPGA進行實時多任務管理的場合,比如FPGA外接多路的串 口,FPGA外接多路CAN總線,等等。參見圖1,本專利技術的實施依賴于一類特定的硬件平臺。圖1描述了一種FPGA外接 四路高速AD轉換器的典型應用。該平臺只是本專利技術的其中一種使用方式,借用該硬件平臺 來描述本專利技術的實施方法。本專利技術的應用并不局限于圖1說描述的硬件平臺。本專利技術在FPGA中的實施方法參見圖2。本專利技術的實施依賴于五個基本模塊中斷 偵測單元、中斷消息隊列、中斷響應處理單元、總線開關和數據緩沖區。中斷偵測單元完成外部中斷的檢測,并把對應的通道號鎖存到中斷消息隊列。參 見圖3,每個中斷源對應一個同步器和一個判決器。同步器電路采用二級D觸發器進行信號 的同步,以消除信號在跨時鐘域時的信號亞穩態問題,確保信號被可靠采樣。鎖存器電路用 來鎖存當前的中斷信號,傳遞給通道記憶電路。當外部中斷信號是一個脈沖信號時,通過鎖 存器后,會變成一個電平信號,確保中斷信號不會被遺漏采樣。通道判決記憶電路負責對各 個鎖存器所鎖存的中斷信號進行判斷,對有效信號對應的通道號進行記錄,寫入到中斷消 息隊列中。中斷消息隊列主要由一個FIFO來實現。各個發出中斷信號的通道號被鎖存后,按 照發生的先后次序被寫入到FIFO中,以確保在執行中斷任務時,能按照先來先處理的原則 進行。總線開關采用一組多路選擇器來實現,該多路選擇器的選擇輸入信號就是中斷消 息隊列輸出的通道號,根據該通道號,在總線開關內部進行總線切換,把中斷響應處理單元 的總線和通道號對應的總線進行連接。中斷響應處理單元負責執行具體的中斷任務處理功能,該任務功能通過狀態機來 實現。對本專利技術所提及的硬件平臺而言,就是從AD轉換器中讀取轉換后的數據,并存放在 數據緩沖區中制定的存儲區域中。根據不同的應用系統,具體任務可能有所不同,但任務處 理流程基本都可抽象為數據的外部接口讀取和內部的存儲管理兩大狀態。本文檔來自技高網...
【技術保護點】
一種在FPGA中實現的多中斷均衡管理方法,其特征在于:本方法依賴于在FPGA中實現的幾個單元電路共同協作來實現;這幾個單元電路包括中斷偵測單元、中斷消息隊列、中斷響應處理單元、總線開關和數據緩沖區;其中:中斷偵測單元完成外部中斷信號的檢測和通道號的鎖存;中斷消息隊列用來存儲外部中斷通道號,確保按照中斷先來先處理的原則進行響應;中斷響應處理單元負責執行具體的中斷任務;總線開關負責把中斷響應處理單元的總線和被響應的通道總線進行連接;數據緩沖區用來存放中斷響應處理單元執行中斷處理任務時從外部總線讀取的數據。
【技術特征摘要】
1.一種在FPGA中實現的多中斷均衡管理方法,其特征在于 本方法依賴于在FPGA中實現的幾個單元電路共同協作來實現;這幾個單元電路包括中斷偵測單元、中斷消息隊列、中斷響應處理單元、總線開關和數據緩沖區; 其中 中斷偵測單元完成外部中斷信號的檢測和通道號的鎖存; 中斷消息隊列用來存儲外部中斷通道號,確保按照中斷先來先處理的原則進行響應; 中斷響應處理單元負責執行具體的中斷任務; 總線開關負責把中斷響應處理單元的總線和被響應的通道總線進行連接; 數據緩沖區用來存放中斷響應處理單元執行中斷處理任務時從外部總線讀取的數據。2.根據權利要求1或2所述在FPGA中實現的多中斷均衡管理方法,其特征在于當FPGA外接多路AD轉換器時,具體地 O中...
【專利技術屬性】
技術研發人員:劉升,崔建杰,
申請(專利權)人:西安奇維科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。