基於arm的mvb總線管理功能實現系統的製作方法
2023-08-02 08:04:16 1
基於arm的mvb總線管理功能實現系統的製作方法
【專利摘要】本發明涉及一種基於ARM的MVB總線管理功能實現系統。該MVB總線管理功能實現系統包括:硬體接口與抽象層:用於作為ARM與FPGA通信的渠道;主控模塊:用於負責MVB板卡的啟動、配置外部中斷寄存器和掛接中斷處理例程以及控制指示燈顯示報告工作狀態;中斷處理模塊:用於對來自FPGA的不同硬體中斷進行處理響應;總線管理模塊:用於在中斷處理模塊的基礎上實現總線主的設備掃描、主權轉移以及事件仲裁功能。該MVB總線管理功能實現系統作為總線管理的核心,能夠完成MVB總線管理、現場過程控制等功能;並且由於採用了模塊化的架構,簡化了系統結構,同時可以靈活、高效的進行功能冗餘與擴展,顯著提高了控制系統的整體性能。
【專利說明】基於ARM的MVB總線管理功能實現系統
【技術領域】
[0001]本發明涉及軌道交通控制【技術領域】,具體涉及一種基於ARM的MVB總線管理功能實現系統。
【背景技術】
[0002]隨著嵌入式控制技術與通信網絡技術的發展,由國際電工委員會(InternationalElectrotechnical Commission,縮寫為IEC)制定的列車數據通信網(TrainCommunication Network,縮寫為TCN)標準IEC61375-1受到了廣泛重視。TCN標準體系結構定義了絞線式列車總線(Wire Train Bus,縮寫為WTB)和多功能車輛總線(MultifunctionVehicle Bus,縮寫為MVB)兩級總線。其中,MVB總線用於聯接車輛內部的設備,或固定編組的列車組中各車輛之間的設備,負責設備間的數據通信。
[0003]目前我國列車數據通信網絡系統也採用IEC61375-1標準,並相應的引進了一些產品如TCN網關、MVB板卡等。
[0004]MVB 板卡可以使用 MVBC (Multifunction Vehicle Bus Controller,多功能車輛總線控制器)晶片也可以使用自主開發的FPGA (Field 一 Programmable Gate Array,即現場可編程門陣列)實現。但是使用FPGA開發IEC61375-1協議中定義的MVB總線的所有功能有著開發繁瑣、調試複雜等缺點,開發人員不得不把大量精力放在硬體代碼上,一定程度上增加了開發的複雜度以及開發所需要的時間。
【發明內容】
[0005](一)要解決的技術問題
[0006]本發明的目的在於提供一種基於ARM的MVB總線管理功能實現系統,從而能夠簡化系統結構,同時可以靈活、高效的進行功能冗餘與擴展,顯著提高控制系統的整體性能。
[0007](二)技術方案
[0008]本發明技術方案如下:
[0009]一種基於ARM的MVB總線管理功能實現系統,包括:
[0010]硬體接口與抽象層:用於作為ARM與FPGA通信的渠道;
[0011]主控模塊:用於負責MVB板卡的啟動、配置外部中斷寄存器和掛接中斷處理例程以及控制指示燈顯示報告工作狀態;
[0012]中斷處理模塊:用於對來自FPGA的不同硬體中斷進行處理響應;
[0013]總線管理模塊:用於在中斷處理模塊的基礎上實現總線主的設備掃描、主權轉移以及事件仲裁功能。
[0014]優選的,所述硬體接口與抽象層中,ARM與FPGA間通過GPIO相互連接通信。
[0015]優選的,應用程式通過GPIO由ARM向FPGA發送信號;FPGA通過EXTI向ARM發送信號。
[0016]優選的,ARM與FPGA之間通過GPIO線實現GPIO相互連接;所述GPIO線包括:[0017]數據線:用於互通信的數據傳輸;
[0018]控制信號線:用於供ARM向FPGA下達指令;
[0019]標誌位線:用於標記幀類型、同步類型以及操作類型;
[0020]中斷線:用於供FPGA通知ARM的外部中斷;
[0021]優選的,所述GPIO線還包括:
[0022]配置線:用於配置FPGA程序;
[0023]LED線:用於指示運行狀態。
[0024]優選的,所述中斷處理模塊處理響應的中斷包括:
[0025]主幀中斷、從幀中斷、監視項開始中斷、同步中斷、剩餘時間不足中斷、超時中斷以及錯誤幀中斷。
[0026]優選的,還包括:
[0027]初始模塊初,用於負責對所有設備進行的初始化。
[0028]優選的,所述初始化包括分配內存空間、定義數據結構、讀取配置信號、初始化設備上下文以及同步一次狀態至FPGA。
[0029]優選的,還包括:
[0030]工作線程;所述工作線程運`行於所有模塊之上,用於監察所述MVB總線管理功能實現系統的運行狀況。
[0031](三)有益效果
[0032]本發明實施例所提供的基於ARM的MVB總線管理功能實現系統,利用硬體接口與抽象層作為ARM與FPGA通信的渠道,利用主控模塊負責MVB板卡的啟動、配置外部中斷寄存器和掛接中斷處理例程以及控制指示燈顯示報告工作狀態,利用中斷處理模塊對來自
[0033]FPGA的不同硬體中斷進行處理響應,利用總線管理模塊在中斷處理模塊的基礎上實現總線主的設備掃描、主權轉移以及事件仲裁功能;該1¥8總線管理功能實現系統作為總線管理的核心,能夠完成MVB總線管理、現場過程控制等功能;並且由於採用了模塊化的架構,簡化了系統結構,同時可以靈活、高效的進行功能冗餘與擴展,從而顯著提高控制系統的整體性能。
【專利附圖】
【附圖說明】
[0034]圖1是本發明實施例中一種基本的ARM作業系統架構示意圖;
[0035]圖2是本發明實施例中基於ARM的MVB總線管理功能實現系統的架構示意圖。
【具體實施方式】
[0036]下面結合附圖和實施例,對本發明的【具體實施方式】做進一步描述。以下實施例僅用於說明本發明,但不用來限制本發明的範圍。
[0037]本實施例中所提供的基於ARM的MVB總線管理功能實現系統可以是一種能夠在ARM處理器中嵌入式即時作業系統(Real-Time Operating System,縮寫為RT0S),例如eCos上運行的系統。
[0038]上述嵌入式即時作業系統需要支持項目有驅動程序、內存管理、異常處理、中斷處理、線程、計數器、計時器等等,對於即時的支持要求有完全優先、最小中斷延遲、線程同步和可自定調度原則;例如,具體的:
[0039]上述嵌入式即時作業系統應當包括以下模塊:
[0040]驅動程序(Device Driver):作業系統具備必要的驅動程序,以便控制硬體設備的
工作;
[0041]內存管理(Memory management):作業系統具備多任務下對內存資源的分配、使用、回收的通力;
[0042]異常處理(Exception handling):作業系統提供程序運行時出現意外或異常情況的處理方法,這裡特指硬體異常;
[0043]中斷處理(Interrupt handling):作業系統提供安全處理CPU中斷及保存上下文的功能;
[0044]線程支持(Thread support):作業系統提供多線程調試功能;
[0045]計時器(Timer):作業系統提供與硬體計時器相關的功能;
[0046]計數器(Counter):作業系統提供與硬體計數器相關的功能;
[0047]同時,該作業系統應保證以下性質:
[0048]完全優先(Full preemptability):經過配置的中斷能完全搶佔當前處理器時間;
[0049]最小中斷延遲(Minimal interrupt latencies):最短的中斷響應時間,實時作業系統的最主要、最具代表性的性能指標;
[0050]線程同步(synchronization primitive):提供線程間數據同步的功能;
[0051]可自定調度原則(Schedule policies):擁有多級中斷機制,線程優先級機制,提供多種可配置的調度策略和算法。
[0052]如圖1中所示,為本實施例中一種基本的ARM嵌入式即時作業系統架構。由上到下,表示從高層到低層的作業系統架構;最底層是我們的硬體部分,在硬體部分之上有硬體抽象層(Hardware Abstraction Laye,縮寫為HAL)和裝置驅動程序,一些可定製的作業系統可以使用自帶工具去配置中間的內核、網絡棧、文件系統和庫,只留下需要的部分。最上層的應用程式部分是能夠自行撰寫的部分,用於搭設MVB總線管理功能實現系統。
[0053]本實施例中所提供的基於ARM的MVB總線管理功能實現系統運行與上述嵌入式即時作業系統上,該MVB總線管理功能實現系統主要包括硬體接口與抽象層、主控模塊、中斷處理模塊以及總線管理模塊;
[0054]硬體接口與抽象層:用於作為ARM與FPGA通信的重要並且唯一的渠道,運行在嵌入式即時作業系統上的其它ARM應用程式模塊不應直接操作寄存器,而是調用硬體接口與抽象層提供的一系列宏與預定義完成所需要的操作;
[0055]主控模塊:ARM程序以中斷為主,線程為輔,該主控模塊由三個線程組成,用於負責MVB板卡的啟動、配置外部中斷寄存器和掛接中斷處理例程以及控制指示燈顯示報告工作狀態;
[0056]中斷處理模塊:用於對來自FPGA的不同硬體中斷進行處理響應,從而實現基本的MVB功能;
[0057]總線管理模塊:用於在中斷處理模塊的基礎上對MVB四類設備(四類設備具有過程數據、消息數據、用戶可編程能力和總線管理能力)做總線主的情況進行特別處理,實現總線主的設備掃描、主權轉移以及事件仲裁功能。[0058]圖2中所示為本實施例中所提供的基於ARM的MVB總線管理功能實現系統的架構示意圖。在硬體接口與抽象層面上,ARM與FPGA間通過GPIO線實現GPICKGeneral PurposeInput Output,通用輸入/輸出)相互連接通信。對於應用程式,ARM通訊線路表現為GPIO和EXTI(External Interrupt,外部中斷,實際上也是一種特殊的GPIO信號)。應用程式通過一般GPIO由ARM向FPGA發送信號,而FPGA通過EXTI向ARM發送信號。應用程式是通過硬體接口進行一般GPIO操作,而收到的EXTI是通過中斷處理進行後續操作。中斷處理可大致分為同步處理與幀處理,其中同步處理主要用於設備狀態、配置字改變,而幀處理負責處理MVB鏈路上的幀應答,在設備做總線主的情況還調用主管理模塊進行總線管理。主管理模塊的主要功能包括設備掃描、主權轉移與事件仲裁,在相應功能處理完畢後均需要調用硬體接口通知FPGA。優選的,還可以包括初始化模塊以及工作線程,初始化模塊在設備初始化時調用硬體接口進行FPGA的初始化。工作線程運行於所有模塊之上,用於監察所述MVB總線管理功能實現系統的運行狀況。
[0059]進一步的,ARM與FPGA之間相連的GPIO線大致上可分為:
[0060]數據線:用於互通訊的數據傳輸,數據線的建議數量為16、32、64、128或256等;
[0061]控制信號線:用於供ARM向FPGA下達指令,包括初始化操作,幀操作,同步操作和冗餘線;
[0062]標誌位線:用於標記幀類型、同步類型、操作類型等;
[0063]中斷線:用於供FPGA通知ARM的外部中斷,包括有效幀收到中斷、監視項開始中斷、同步中斷、時間不足中間、超時中斷以及錯誤中斷等;
[0064]配置線:可選,用於配置FPGA程序;
[0065]LED線:可選,用於指示運行狀態。
[0066]進一步的,在中斷處理模塊中,要求硬體能以幾乎不受任何打斷的速度傳遞給ISR(Interrupt Service Routines,中斷服務程序),ISR可以操作硬體並調用一些內核API。本實施例中,中斷處理模塊處理響應以下中斷:
[0067]主幀中斷:當鏈路上收到監視數據和消息數據的主幀,FPGA向ARM發送主幀中斷,由ARM處理該中斷,中斷應包含以下功能:接收幀數據、判斷是否有主衝突、對主幀進行處
理並應答;
[0068]從幀中斷:當鏈路上收到監視數據和消息數據的從幀,FPGA向ARM發送從幀中斷,由ARM處理該中斷,中斷應包含以下功能:有主能力的設備接收幀數據、當前主將幀提交給總線管理模塊處理;
[0069]監視項開始中斷:當前主在一個周期中的監視項開始時FPGA向ARM發送該中斷,通知當前主開始總線管理模塊的功能;
[0070]同步中斷:當前設備的狀態或是配置字發生改變時,FPGA向ARM報告該中斷,ARM處理該中斷,應包含以下功能:讀取新的狀態或配置字、重構狀態表、重新配置主能力、返回新的設備狀態等;
[0071]剩餘時間不足中斷:當基本周期所剩時間不足以發出一個主幀並正常接收一個256bits從幀時,FPGA向ARM報告該中斷,通常該中斷由總線管理模塊中的事件仲裁子模塊處理,因為該模塊是整個基本周期中最後工作的模塊;
[0072]超時中斷:當總線靜默時間達到指定值時,FPGA向ARM報告該中斷。對於主幀超時,中斷處理程序應判斷自身是否具備主能力並決定是否充當總線主;對於從幀超時,當前主應將其交給總線管理模塊處理,有主能力的非當前主應對設備掃描超時三次的設備進行記錄處理;
[0073]錯誤幀中斷:當FPGA在MVB鏈路上收到錯誤幀時報告此中斷,此中斷一般是由於幀碰撞引進,這是事件仲裁中衝突發生的依據。
[0074]初始化模塊負責對整個系統進行必要的初始化,包括分配內存空間、定義數據結構,讀取配置信號,初始化系統上下文和同步一次狀態至FPGA。
[0075]進一步的,總線管理模塊包括以下部分:
[0076]設備掃描:在除了最後一個基本周期的其它基本周期中,總線主需要根據配置文件中的設置去掃描若干個設備的狀態。為了監視整個總線,總線主需要輪詢總線上的設備狀態以獲得設備的最新運行情況,並且將設備的當前狀態保存在內存中。當一個設備連續三次未應答F_C0DE為15的設備掃描幀時,視該設備已經不存在於總線上,從設備狀態列表中消失。
[0077]主權轉移:在每個宏周期的末尾,當前主會嘗試將主權轉移給其它的後備總線主,若無後備總線主或者沒有後備總線主接受主權,則保留主權。
[0078]事件仲裁:對於有發消息數據需求的設備,仲裁其優先權使其能在總線上不衝突的發送消息數據。
[0079]本實施例中所提供的基於ARM的MVB總線管理功能實現系統能實現系統作為總線管理的核心,能夠完成MVB總線管理、現場過程控制等功能;並且由於採用了模塊化的架構,簡化了系統結構,同時可以靈活、高效的進行功能冗餘與擴展,從而顯著提高控制系統的整體性能。
[0080]以上實施方式僅用於說明本發明,而並非對本發明的限制,有關【技術領域】的普通技術人員,在不脫離本發明的精神和範圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬於本發明的保護範疇。
【權利要求】
1.一種基於ARM的MVB總線管理功能實現系統,其特徵在於,包括: 硬體接口與抽象層:用於作為ARM與FPGA通信的渠道; 主控模塊:用於負責MVB板卡的啟動、配置外部中斷寄存器和掛接中斷處理例程以及控制指示燈顯示報告工作狀態; 中斷處理模塊:用於對來自FPGA的不同硬體中斷進行處理響應; 總線管理模塊:用於在中斷處理模塊的基礎上實現總線主的設備掃描、主權轉移以及事件仲裁功能。
2.根據權利要求1所述的MVB總線管理功能實現系統;其特徵在於,所述硬體接口與抽象層中,ARM與FPGA間通過GPIO相互連接通信。
3.根據權利要求2所述的MVB總線管理功能實現系統;其特徵在於,應用程式通過GPIO由ARM向FPGA發送信號;FPGA通過EXTI向ARM發送信號。
4.根據權利要求2或3所述的MVB總線管理功能實現系統;其特徵在於,ARM與FPGA之間通過GPIO線實現GPIO相互連接;所述GPIO線包括: 數據線:用於互通信的數據傳輸; 控制信號線:用於供ARM向FPGA下達指令; 標誌位線:用於標記幀類型、同步類型以及操作類型; 中斷線:用於供FPGA通知ARM的外部中斷。
5.根據權利要求4所述的MVB總線管理功能實現系統;其特徵在於,所述GPIO線還包括: 配置線:用於配置FPGA程序; LED線:用於指示運行狀態。
6.根據權利要求1-3或5任意一項所述的MVB總線管理功能實現系統;其特徵在於,所述中斷處理模塊處理響應的中斷包括: 主幀中斷、從幀中斷、監視項開始中斷、同步中斷、剩餘時間不足中斷、超時中斷以及錯誤幀中斷。
7.根據權利要求6所述的MVB總線管理功能實現系統;其特徵在於,還包括: 初始模塊初,用於負責對所有設備進行的初始化。
8.根據權利要求7所述的MVB總線管理功能實現系統;其特徵在於,所述初始化包括分配內存空間、定義數據結構、讀取配置信號、初始化設備上下文以及同步一次狀態至FPGA。
9.根據權利要求1_3、5或7-8任意一項所述的MVB總線管理功能實現系統;其特徵在於,還包括: 工作線程;所述工作線程運行於所有模塊之上,用於監察所述MVB總線管理功能實現系統的運行狀況。
【文檔編號】G05B19/042GK103513596SQ201310385375
【公開日】2014年1月15日 申請日期:2013年8月29日 優先權日:2013年8月29日
【發明者】孫家廣, 樊海寧 申請人:清華大學, 北京清軟英泰信息技術有限公司