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