專利名稱:一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配mvb控制器和處理數(shù)據(jù)方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及列車控制網(wǎng)絡(luò)系統(tǒng)技術(shù)領(lǐng)域,特別是涉及一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB 控制器和處理數(shù)據(jù)方法。
背景技術(shù):
TCN(Train Communication Network,列車通信網(wǎng)絡(luò))由 MVB (Multifunctional Vehicle Bus,多功能車輛總線)和WTB (Twisted Train Bus,絞線式列車總線)兩級(jí)總線構(gòu)成,兩級(jí)總線之間通過(guò)網(wǎng)關(guān)互連。MVB是列車通信網(wǎng)絡(luò)TCN的車輛總線部分,用于實(shí)現(xiàn)位于同一車輛或固定重聯(lián)的不同車輛中有互操作性和互換性要求的標(biāo)準(zhǔn)設(shè)備之間的串行數(shù)據(jù)通信。MVB控制器是MVB總線上的核心處理單元,它獨(dú)立于物理層和功能設(shè)備,為在總線上的各節(jié)點(diǎn)設(shè)備提供通信接口和通訊服務(wù);根據(jù)實(shí)際配置可實(shí)現(xiàn)數(shù)據(jù)鏈路層以及部分傳輸層的數(shù)據(jù)處理,并通過(guò)通信存儲(chǔ)器實(shí)現(xiàn)與上層軟件的數(shù)據(jù)交換。根據(jù)IEC61375-1協(xié)議規(guī)定, 連接在MVB上的設(shè)備按性能可分為5類,其中1類設(shè)備具有設(shè)備狀態(tài)性能和過(guò)程數(shù)據(jù)性能; 2/3/4/5類設(shè)備除具有1類設(shè)備的性能外,還具有消息數(shù)據(jù)性能,其中3/4/5類設(shè)備用戶程序可編程下載;此外,4/5類設(shè)備還具有總線管理能力,可作為總線主,其中5類設(shè)備還可作為TCN網(wǎng)關(guān)。MVB網(wǎng)絡(luò)中應(yīng)用較多的主要是1 4類設(shè)備,目前MVB控制器的實(shí)現(xiàn)方案多采用專用進(jìn)口的MVB主控芯片,也有采用基于FPGA的控制器方案?,F(xiàn)有技術(shù)中,MVB控制器中過(guò)程數(shù)據(jù)端口地址分配固定,即根據(jù)協(xié)議規(guī)定,各類設(shè)備的端口可以為0-4095端口中的一個(gè)或者多個(gè),因而不同設(shè)備的端口可能大不相同,可能某種設(shè)備設(shè)置了 1-10的端口,而另一種設(shè)備設(shè)置了 3000-3020的端口,這樣由于過(guò)程數(shù)據(jù)端口地址分配固定,就需要保為全部的0-4095端口分配空間,即需要分配4096*32的空間, 以便具有不同端口的設(shè)備可以正常使用,而通常各種設(shè)備需要的總端口數(shù)基本上不可能用到全部0-4095的空間,即對(duì)于輕負(fù)荷的MVB網(wǎng)絡(luò),就會(huì)產(chǎn)生大量的內(nèi)存空間浪費(fèi),資源利用率大大降低。
發(fā)明內(nèi)容
本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器和處理數(shù)據(jù)方法,首次采用動(dòng)態(tài)地址分配的方法,用較少的存儲(chǔ)空間就可以實(shí)現(xiàn)過(guò)程數(shù)據(jù)4096個(gè)端口全地址選址,可更加能靈活地配置為多類MVB設(shè)備,并且電路簡(jiǎn)單可靠,方便升級(jí)。為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器,包括物理層編碼模塊、物理層解碼模塊、發(fā)送緩沖模塊、接收緩沖模塊、通信存儲(chǔ)器模塊、地址仲裁模塊和鏈路層控制模塊;所述的物理層編碼模塊用于在鏈路層控制模塊的控制下,從發(fā)送緩沖模塊讀出數(shù)據(jù),按照MVB數(shù)據(jù)幀格式向MVB網(wǎng)絡(luò)發(fā)送數(shù)據(jù);所述的物理層解碼模塊用于根據(jù)鏈路層控制模塊指定的接收數(shù)據(jù)幀長(zhǎng)度,從MVB 總線獲取數(shù)據(jù)幀,將接收到的數(shù)據(jù)幀存入接收緩沖模塊;
4
所述的發(fā)送緩沖模塊用于臨時(shí)存放欲發(fā)送到MVB網(wǎng)絡(luò)上的數(shù)據(jù)幀;所述的接收緩沖模塊用于臨時(shí)存放解碼器模塊從MVB網(wǎng)絡(luò)上獲取的數(shù)據(jù)幀;所述地址仲裁模塊用于決定應(yīng)用處理器讀寫通信存儲(chǔ)器的數(shù)據(jù)地址;所述通信存儲(chǔ)器模塊用于在鏈路層控制模塊的控制下,實(shí)現(xiàn)應(yīng)用處理器與MVB網(wǎng)絡(luò)的數(shù)據(jù)交換;所述的鏈路層控制模塊用于控制物理層編碼模塊、物理層解碼模塊、發(fā)送緩沖模塊、接收緩沖模塊和通信存儲(chǔ)器模塊完成規(guī)定標(biāo)準(zhǔn)中的所有鏈路層功能;其中,所述通信存儲(chǔ)器模塊包括程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間、過(guò)程數(shù)據(jù)配置空間和過(guò)程數(shù)據(jù)空間所述過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間用于記錄過(guò)程數(shù)據(jù)端口的數(shù)量以及啟動(dòng)網(wǎng)卡最新配置;所述過(guò)程數(shù)據(jù)配置空間用于過(guò)程數(shù)據(jù)端口地址以及源宿的配置,實(shí)現(xiàn)端口狀態(tài)刷新;所述過(guò)程數(shù)據(jù)空間用于存儲(chǔ)各個(gè)端口的數(shù)據(jù),并根據(jù)端口類型的源宿,決定向MVB網(wǎng)絡(luò)發(fā)送數(shù)據(jù)或從MVB網(wǎng)絡(luò)接收數(shù)據(jù)。優(yōu)選的,所述通信存儲(chǔ)器模塊還包括設(shè)備配置空間、消息數(shù)據(jù)隊(duì)列和監(jiān)視數(shù)據(jù)空間;所述的備控制空間用于存放該MVB設(shè)備在網(wǎng)絡(luò)中的物理地址,也是監(jiān)視數(shù)據(jù)和消息數(shù)據(jù)的收發(fā)地址,并且標(biāo)識(shí)該設(shè)備的事件優(yōu)先級(jí);所述的消息數(shù)據(jù)隊(duì)列包括發(fā)送消息FIFO和接收消息FIFO,用于收發(fā)MVB消息數(shù)據(jù);所述監(jiān)視數(shù)據(jù)空間用于決定是否向MVB網(wǎng)絡(luò)發(fā)送監(jiān)視數(shù)據(jù)以及發(fā)送監(jiān)視數(shù)據(jù)的內(nèi)容。進(jìn)一步的,根據(jù)上電配置實(shí)現(xiàn)MVB的1類設(shè)備、或2類設(shè)備、或3類設(shè)備、或4類設(shè)備。相應(yīng)的,本申請(qǐng)還公開(kāi)了一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB處理數(shù)據(jù)方法,包括獲取配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N ;依次讀取N個(gè)過(guò)程數(shù)據(jù)端口的配置信息;當(dāng)N個(gè)過(guò)程數(shù)據(jù)端口的配置信息讀取完畢后,對(duì)于主幀中的過(guò)程數(shù)據(jù)輪詢,根據(jù)主幀指定的端口和配置信息為所述過(guò)程數(shù)據(jù)輪詢分配的動(dòng)態(tài)地址,獲得相應(yīng)地址的端口配置;根據(jù)所述過(guò)程數(shù)據(jù)端口屬性對(duì)過(guò)程數(shù)據(jù)進(jìn)行處理;其中,所述的配置信息通過(guò)如下步驟獲得對(duì)于應(yīng)用的N個(gè)過(guò)程數(shù)據(jù)端口和過(guò)程數(shù)據(jù)空間中的N個(gè)地址,在過(guò)程數(shù)據(jù)配置空間配置所述端口與地址的一一對(duì)應(yīng)關(guān)系;根據(jù)所述一一對(duì)應(yīng)關(guān)系,將所述地址進(jìn)行端口配置。優(yōu)選的,在獲取配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N之前還包括確認(rèn)系統(tǒng)的配置信息配置完畢。優(yōu)選的,通過(guò)如下步驟確認(rèn)系統(tǒng)的配置信息配置完畢判斷開(kāi)始標(biāo)識(shí)是否為OxAA,如果是,確認(rèn)系統(tǒng)的配置信息配置完畢;優(yōu)選的,通過(guò)以下步驟根據(jù)所述過(guò)程數(shù)據(jù)端口屬性對(duì)過(guò)程數(shù)據(jù)進(jìn)行處理如果該端口屬性為源端口,則從動(dòng)態(tài)分配的過(guò)程數(shù)據(jù)空間地址中讀出數(shù)據(jù);
如果該端口屬性為宿端口,把得到的從幀寫入動(dòng)態(tài)分配的過(guò)程數(shù)據(jù)空間地址中;如果主幀中所指定的端口為無(wú)效端口,返回到等待主幀狀態(tài)。本申請(qǐng)還公開(kāi)了一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制系統(tǒng),包括權(quán)利要求1或2所述的MVB控制器和應(yīng)用處理器;所述的應(yīng)用處理器用于MVB控制器進(jìn)行設(shè)備配置,過(guò)程數(shù)據(jù)端口配置和啟動(dòng)MVB控制器的過(guò)程。優(yōu)選的,所述的MVB控制器封裝在FPGA芯片上,外接應(yīng)用處理器;或者,所述的 MVB控制器與應(yīng)用處理器封裝在同一個(gè)FPGA芯片上。與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn)本申請(qǐng)通過(guò)在通信存儲(chǔ)模塊中設(shè)置過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配空間、過(guò)程數(shù)據(jù)配置空間,所述過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間用于記錄過(guò)程數(shù)據(jù)端口的數(shù)量以及啟動(dòng)網(wǎng)卡最新配置;所述過(guò)程數(shù)據(jù)配置空間用于過(guò)程數(shù)據(jù)端口地址以及源宿的配置,實(shí)現(xiàn)端口狀態(tài)刷新;通過(guò)過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配空間、過(guò)程數(shù)據(jù)配置空間將各端口與過(guò)程數(shù)據(jù)配置空間的各地址進(jìn)行一一對(duì)應(yīng),然后根據(jù)該對(duì)應(yīng)關(guān)系配置端口。通過(guò)本申請(qǐng)首先可以用較小的過(guò)程數(shù)據(jù)空間實(shí)現(xiàn)過(guò)程數(shù)據(jù)全地址全功能碼動(dòng)態(tài)選址。其次,較少的存儲(chǔ)空間就可以實(shí)現(xiàn)過(guò)程數(shù)據(jù)4096個(gè)端口全地址選址,可更加能靈活地配置為多類MVB設(shè)備。再次,設(shè)計(jì)可靠、方便升級(jí),并且可以根據(jù)不同的應(yīng)用場(chǎng)合靈活修改。
圖1是本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器結(jié)構(gòu)示意圖;圖2是本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器結(jié)構(gòu)工作示意圖;圖3是本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器處理流程示意圖;圖4是本申請(qǐng)過(guò)程數(shù)據(jù)TM動(dòng)態(tài)分配的MVB控制器通信存儲(chǔ)器地址空間分配圖;圖5是本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制系統(tǒng);圖6是過(guò)程數(shù)據(jù)TM動(dòng)態(tài)分配的MVB控制器封裝接口圖。
具體實(shí)施例方式為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。本申請(qǐng)?zhí)峁┮环N過(guò)程數(shù)據(jù)動(dòng)態(tài)分配的MVB控制器,符合IEC61375-1標(biāo)準(zhǔn),具有全部設(shè)備狀態(tài)性能、過(guò)程數(shù)據(jù)、消息數(shù)據(jù)和總線管理器等功能,本申請(qǐng)過(guò)程數(shù)據(jù)端口可以動(dòng)態(tài)分配地址,可較小過(guò)程數(shù)據(jù)存儲(chǔ)空間(比如128*32byte),實(shí)現(xiàn)MVB過(guò)程數(shù)據(jù)端口全地址 (0-4095)全功能碼(0-4)動(dòng)態(tài)選址,參照?qǐng)D1和圖2,圖1示出了本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器結(jié)構(gòu)示意圖;圖2示出了本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器結(jié)構(gòu)工作示意圖。本申請(qǐng)的一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器包括物理層編碼模塊110、物理層解碼模塊120、發(fā)送緩沖模塊130、接收緩沖模塊140、通信存儲(chǔ)器模塊150、地址仲裁模塊160 和鏈路層控制模塊170。所述的物理層編碼模塊110用于在鏈路層控制模塊的控制下,從發(fā)送緩沖模塊讀出數(shù)據(jù),按照MVB數(shù)據(jù)幀格式向MVB網(wǎng)絡(luò)發(fā)送數(shù)據(jù)。所述的物理層編碼模塊主要實(shí)現(xiàn)MVB幀數(shù)據(jù)的底層編碼,由于MVB數(shù)據(jù)不是采用的標(biāo)準(zhǔn)曼徹斯特編碼,所以需要采用狀態(tài)機(jī)的模式自行設(shè)計(jì)編碼器,在鏈路層控制模塊的控制下,從發(fā)送緩沖模塊讀出數(shù)據(jù),進(jìn)行 CRC(Cyclic Redundancy Check循環(huán)冗余校驗(yàn)碼)校驗(yàn)、奇偶校驗(yàn)并取反,向MVB總線驅(qū)動(dòng)器發(fā)送使能信號(hào),同時(shí)按照發(fā)送時(shí)鐘將MVB數(shù)據(jù)幀格式的數(shù)據(jù)發(fā)送到MVB網(wǎng)絡(luò)。所述的物理層解碼模塊120用于根據(jù)鏈路層控制模塊指定的接收數(shù)據(jù)幀長(zhǎng)度,從 MVB總線獲取數(shù)據(jù)幀,將接收到的數(shù)據(jù)幀存入接收緩沖模塊。所述的物理層解碼模塊根據(jù)鏈路層控制模塊指定的接收數(shù)據(jù)幀長(zhǎng)度,從MVB總線獲取數(shù)據(jù)幀,包括同步、校驗(yàn)、檢錯(cuò)、沖突檢測(cè)和提取數(shù)據(jù)等步驟,在沒(méi)有出錯(cuò)的情況下,正確的數(shù)據(jù)被存入接收緩沖區(qū),并且通知控制單元,將數(shù)據(jù)取走。所述的發(fā)送緩沖模塊130用于臨時(shí)存放欲發(fā)送到MVB網(wǎng)絡(luò)上的數(shù)據(jù)幀。所述的發(fā)送緩沖模塊加在物理層編碼模塊端,提高M(jìn)VB控制器的總線響應(yīng)能力,臨時(shí)存放欲發(fā)送到 MVB網(wǎng)絡(luò)上的數(shù)據(jù)幀,緩沖大小至少能容納一個(gè)完整的數(shù)據(jù)幀,故可設(shè)定為256bits,該緩沖大小可根據(jù)實(shí)際情況設(shè)定。所述的接收緩沖模塊140用于臨時(shí)存放解碼器模塊從MVB網(wǎng)絡(luò)上獲取的數(shù)據(jù)幀。 所述的接收緩沖模塊加在物理層解碼模塊端,提高M(jìn)VB控制器的總線響應(yīng)能力,臨時(shí)存放解碼器模塊從MVB網(wǎng)絡(luò)上獲取的數(shù)據(jù)幀,緩沖大小至少能容納一個(gè)完整的數(shù)據(jù)幀,故可設(shè)定為256bits,該緩沖大小可根據(jù)實(shí)際情況設(shè)定。所述地址仲裁模塊160用于決定應(yīng)用處理器讀寫通信存儲(chǔ)器的數(shù)據(jù)地址。所述地址仲裁模塊用于決定應(yīng)用處理器讀寫通信存儲(chǔ)器的數(shù)據(jù)地址,根據(jù)處理器讀/寫以及地址不同,來(lái)切換訪問(wèn)的地址空間。所述通信存儲(chǔ)器模塊150用于在鏈路層控制模塊的控制下,實(shí)現(xiàn)應(yīng)用處理器與 MVB網(wǎng)絡(luò)的數(shù)據(jù)交換。所述通信存儲(chǔ)器模塊在鏈路層控制模塊的控制下,實(shí)現(xiàn)應(yīng)用處理器與MVB控制器的數(shù)據(jù)交換,其中的數(shù)據(jù)包括過(guò)程數(shù)據(jù),監(jiān)視數(shù)據(jù),消息數(shù)據(jù)及其它端口配置等信息,過(guò)程數(shù)據(jù)和監(jiān)視數(shù)據(jù)存儲(chǔ)采用DPRAM實(shí)現(xiàn),消息隊(duì)列采用FIFO方式。所述的鏈路層控制模塊170用于控制物理層編碼模塊、物理層解碼模塊、發(fā)送緩沖模塊、接收緩沖模塊和通信存儲(chǔ)器模塊完成規(guī)定標(biāo)準(zhǔn)中的所有鏈路層功能。所述的鏈路層控制模塊完成IEC61375-1標(biāo)準(zhǔn)中的所有鏈路層功能,負(fù)責(zé)指揮MVB控制器各個(gè)部分的協(xié)調(diào)工作,完成主幀檢測(cè)接收、從幀檢測(cè)接收、確認(rèn)主幀和從幀的對(duì)應(yīng)關(guān)系、產(chǎn)生各個(gè)存儲(chǔ)器的訪問(wèn)控制信號(hào)和地址信號(hào)、協(xié)調(diào)TM和緩沖區(qū)的數(shù)據(jù)交換以及發(fā)送接收定時(shí)等等。其中,所述通信存儲(chǔ)器模塊包括過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間、過(guò)程數(shù)據(jù)配置空間和過(guò)程數(shù)據(jù)空間所述過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間用于記錄過(guò)程數(shù)據(jù)端口的數(shù)量以及啟動(dòng)網(wǎng)卡最新配置。所述的過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間用于記錄過(guò)程數(shù)據(jù)端口的數(shù)量以及啟動(dòng)網(wǎng)卡最新配置;其中統(tǒng)計(jì)所配置的過(guò)程數(shù)據(jù)端口的數(shù)量放在該空間的Total字節(jié),這樣所有的端口按照配置的順序訪問(wèn)過(guò)程數(shù)據(jù)空間;如需確認(rèn)配置并且啟動(dòng)網(wǎng)卡,則需要將Mart位置1,即Mart字節(jié)置OxAA,當(dāng)網(wǎng)卡復(fù)位時(shí)該位置0。所述過(guò)程數(shù)據(jù)配置空間用于過(guò)程數(shù)據(jù)端口地址以及源宿的配置,實(shí)現(xiàn)端口狀態(tài)刷新。所述的過(guò)程數(shù)據(jù)配置空間用于過(guò)程數(shù)據(jù)端口地址以及源宿的配置,還實(shí)現(xiàn)端口狀態(tài)刷新,每個(gè)端口有4個(gè)字節(jié)的配置信息。
所述過(guò)程數(shù)據(jù)空間用于存儲(chǔ)各個(gè)端口的數(shù)據(jù),并根據(jù)端口類型的源宿,決定向MVB 網(wǎng)絡(luò)發(fā)送數(shù)據(jù)或從MVB網(wǎng)絡(luò)接收數(shù)據(jù)。在實(shí)際應(yīng)用中,所述的過(guò)程數(shù)據(jù)空間用于存儲(chǔ)各個(gè)端口的數(shù)據(jù),每個(gè)端口預(yù)留32個(gè)字節(jié),用128*32byte的空間,實(shí)現(xiàn)MVB過(guò)程數(shù)據(jù)端口全地址(0-40%)全功能碼(0-4)動(dòng)態(tài)選址,根據(jù)端口類型的源宿,決定向MVB網(wǎng)絡(luò)發(fā)送數(shù)據(jù),還是從MVB網(wǎng)絡(luò)接收數(shù)據(jù)。實(shí)際中該過(guò)程數(shù)據(jù)配置空間可以根據(jù)實(shí)際端口數(shù)量的需求預(yù)留。另外,所述通信存儲(chǔ)器模塊還包括設(shè)備配置空間、消息數(shù)據(jù)隊(duì)列和監(jiān)視數(shù)據(jù)空間。所述的備控制空間用于存放該MVB設(shè)備在網(wǎng)絡(luò)中的物理地址,也是監(jiān)視數(shù)據(jù)和消息數(shù)據(jù)的收發(fā)地址,并且標(biāo)識(shí)該設(shè)備的事件優(yōu)先級(jí)。所述的設(shè)備控制空間存放該MVB設(shè)備在網(wǎng)絡(luò)中的物理地址,也是監(jiān)視數(shù)據(jù)和消息數(shù)據(jù)的收發(fā)地址,并且標(biāo)識(shí)該設(shè)備的事件優(yōu)先級(jí)。所述的消息數(shù)據(jù)隊(duì)列包括發(fā)送消息FIFO和接收消息FIFO,用于收發(fā)MVB消息數(shù)據(jù)。所述發(fā)送消息FIFO和接收消息FIFO,用來(lái)實(shí)現(xiàn)MVB消息數(shù)據(jù)的收發(fā),每次發(fā)送消息數(shù)據(jù),判斷信號(hào)接口 mqsncLalmostfull為0,則可以寫入32字節(jié)即256位消息數(shù)據(jù);判斷信號(hào)接口 mqrCV_alm0Stempty為0,表示有一個(gè)完整消息數(shù)據(jù)收到,讀出32字節(jié)即256位消息數(shù)據(jù)。所述監(jiān)視數(shù)據(jù)空間用于決定是否向MVB網(wǎng)絡(luò)發(fā)送監(jiān)視數(shù)據(jù)以及發(fā)送監(jiān)視數(shù)據(jù)的內(nèi)容。所述監(jiān)視數(shù)據(jù)空間決定是否向MVB網(wǎng)絡(luò)發(fā)送監(jiān)視數(shù)據(jù)以及發(fā)送監(jiān)視數(shù)據(jù)的內(nèi)容,主要是設(shè)備狀態(tài)以及事件查詢幀。另外,本申請(qǐng)可根據(jù)上電配置實(shí)現(xiàn)MVB的1類設(shè)備(class 1 device)、或2類設(shè)備 (class 2 device)、或 3 類設(shè)備(class 3 device)、或 4 類設(shè)備(class 4 device)。另外,本申請(qǐng)一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配處理方法的流程示意圖,包括獲取配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N;依次讀取N個(gè)過(guò)程數(shù)據(jù)端口的配置信息;當(dāng)N個(gè)過(guò)程數(shù)據(jù)端口的配置信息讀取完畢后,對(duì)于主幀中的過(guò)程數(shù)據(jù)輪詢,根據(jù)主幀指定的端口和配置信息為所述過(guò)程數(shù)據(jù)輪詢分配的動(dòng)態(tài)地址,獲得相應(yīng)地址的端口配置;根據(jù)所述過(guò)程數(shù)據(jù)端口屬性對(duì)過(guò)程數(shù)據(jù)進(jìn)行處理;其中,所述的配置信息通過(guò)如下步驟獲得對(duì)于應(yīng)用的N個(gè)過(guò)程數(shù)據(jù)端口和過(guò)程數(shù)據(jù)空間中的N個(gè)地址,在過(guò)程數(shù)據(jù)配置空間配置所述端口與地址的一一對(duì)應(yīng)關(guān)系;根據(jù)所述一一對(duì)應(yīng)關(guān)系,將所述地址進(jìn)行端口配置。其中,在獲取配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N之前還包括確認(rèn)系統(tǒng)的配置信息配置完畢。其中,通過(guò)如下步驟確認(rèn)系統(tǒng)的配置信息配置完畢判斷開(kāi)始標(biāo)識(shí)是否為OxAA,如果是,確認(rèn)系統(tǒng)的配置信息配置完畢;其中,通過(guò)以下步驟根據(jù)所述過(guò)程數(shù)據(jù)端口屬性對(duì)過(guò)程數(shù)據(jù)進(jìn)行處理如果該端口屬性為源端口,則從動(dòng)態(tài)分配的過(guò)程數(shù)據(jù)空間地址中讀出數(shù)據(jù);如果該端口屬性為宿端口,把得到的從幀寫入動(dòng)態(tài)分配的過(guò)程數(shù)據(jù)空間地址中;
如果主幀中所指定的端口為無(wú)效端口,返回到等待主幀狀態(tài)。根據(jù)圖2的工作示意圖,本申請(qǐng)優(yōu)選的數(shù)據(jù)處理過(guò)程參照?qǐng)D3,包括1、系統(tǒng)上電復(fù)位;2、讀取Mart標(biāo)識(shí)字節(jié),如果是OxAA,則表明系統(tǒng)已經(jīng)配置完畢并且可以開(kāi)始工作,否則繼續(xù)等待系統(tǒng)啟動(dòng)信號(hào);3、一旦系統(tǒng)啟動(dòng),則讀取Total字節(jié),獲得配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N ;4、依次讀取N個(gè)過(guò)程數(shù)據(jù)端口配置信息,放在緩存里;5、車載設(shè)備進(jìn)入等待主幀狀態(tài);6、同時(shí),MVB主控制器在每毫秒開(kāi)始時(shí),判斷端口是否需要刷新;如果需要刷新, 則獲取端口配置;判斷端口類型是否是宿端口,若是,則首先獲取端口刷新定時(shí)器值,更新值后,再次寫入到端口刷新定時(shí)寄存器,之后回到等待主幀狀態(tài);7、收到主幀后,把主幀從接收緩沖中讀出,解析功能碼和地址;8、如果該主幀是本設(shè)備所期待的主設(shè)備輪詢事件,且事件懸掛標(biāo)志有效,則首先清空事件懸掛標(biāo)志,表示該事件已經(jīng)發(fā)生;9、根據(jù)主幀中的功能碼判斷輪詢是過(guò)程數(shù)據(jù)輪詢、消息數(shù)據(jù)輪詢還是監(jiān)視數(shù)據(jù)輪詢;10、如果是過(guò)程數(shù)據(jù)輪詢,則對(duì)應(yīng)配置信息分配的動(dòng)態(tài)地址,獲得所指定地址的端口配置狀況;如果該端口屬性為源端口,則從動(dòng)態(tài)分配的通信存儲(chǔ)器過(guò)程數(shù)據(jù)區(qū)域讀出數(shù)據(jù)并寫入發(fā)送緩沖,待發(fā)送定時(shí)到后,啟動(dòng)編碼器,發(fā)送從幀;如果該端口屬性為宿端口,則等待響應(yīng)的從幀,在指定的時(shí)間內(nèi)如果得到響應(yīng)從幀,則把從幀從接收緩沖中讀出,再寫入動(dòng)態(tài)分配的通信存儲(chǔ)器模塊對(duì)應(yīng)的過(guò)程數(shù)據(jù)區(qū)域;如果等待從幀超時(shí),則繼續(xù)返回到等待從幀狀態(tài);如果主幀中所指定的端口為無(wú)效端口,亦返回到等待主幀狀態(tài);11、如果是消息數(shù)據(jù)輪詢,判斷主幀中指定的地址是否同本設(shè)備的設(shè)備地址相同; 若相同,則判斷是否有消息數(shù)據(jù)需要發(fā)送,如果有則從消息輸出隊(duì)列讀出數(shù)據(jù),寫入發(fā)送緩沖,待發(fā)送定時(shí)到后,啟動(dòng)編碼器,發(fā)送從幀;如果沒(méi)有消息數(shù)據(jù)需要發(fā)送,則返回到等待主幀狀態(tài);若主幀中的地址與本車載設(shè)備的設(shè)備地址不同,則等待接收從幀;收到從幀后,首先分析從幀中的內(nèi)容,看該消息數(shù)據(jù)是否是發(fā)給本車載設(shè)備的,如果是,則從接收緩沖讀出數(shù)據(jù),寫入消息輸入隊(duì)列;否則,拋棄該消息數(shù)據(jù),返回到等待主幀狀態(tài);如果出現(xiàn)等待從幀超時(shí)狀況,亦回到等待主幀狀態(tài);12、如果是監(jiān)視數(shù)據(jù)輪詢,判斷主幀中指定的地址是否同本車載設(shè)備的設(shè)備地址相同;若相同,則從通信存儲(chǔ)器模塊讀出監(jiān)視數(shù)據(jù),寫入發(fā)送緩沖,待發(fā)送定時(shí)到,啟動(dòng)編碼器,發(fā)送從幀;若不同,則返回到等待主幀狀態(tài)。通信存儲(chǔ)器(Traffic Memory)是MVB總線控制器和應(yīng)用處理器通信的橋梁,其中的數(shù)據(jù)包括過(guò)程數(shù)據(jù),監(jiān)視數(shù)據(jù),消息數(shù)據(jù)及其它端口配置等信息。過(guò)程數(shù)據(jù)和監(jiān)視數(shù)據(jù)存儲(chǔ)采用 DPRAM(Dual Port RAM,雙口 RAM)實(shí)現(xiàn),消息隊(duì)列采用 FIFO (First In First Out, 先入先出)方式,DPRAM和FIFO兩種存儲(chǔ)器均可以通過(guò)FPGA內(nèi)部的存儲(chǔ)器模塊實(shí)現(xiàn)。參照?qǐng)D4,圖4是過(guò)程數(shù)據(jù)TM動(dòng)態(tài)分配的MVB控制器通信存儲(chǔ)器地址空間分配圖。雖然表面看只有1 個(gè)過(guò)程數(shù)據(jù)端口的尋址空間,但是卻使用動(dòng)態(tài)分配的方法,達(dá)到過(guò)程數(shù)據(jù)端口全地址全功能碼的通信,同時(shí)具備消息數(shù)據(jù)和監(jiān)視數(shù)據(jù)處理能力。
圖5是其示出了一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制系統(tǒng)。另外,本申請(qǐng)?zhí)峁┝艘环N過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制系統(tǒng),包括權(quán)利要求1或2所述的MVB控制器和應(yīng)用處理器;所述的應(yīng)用處理器用于MVB控制器進(jìn)行設(shè)備配置,過(guò)程數(shù)據(jù)端口配置和啟動(dòng)MVB控制器的過(guò)程。 所述的MVB控制器封裝在FPGA芯片上,外接應(yīng)用處理器?;蛘撸龅腗VB控制器與應(yīng)用處理器封裝在同一個(gè)FPGA芯片上。圖5給出了兩種應(yīng)用系統(tǒng),一種是使用FPGA基本實(shí)現(xiàn) MVB控制器,外接任何應(yīng)用處理器,兩者采用數(shù)據(jù)、地址和控制總線進(jìn)行通信,實(shí)現(xiàn)訪問(wèn)MVB 總線;另一種是在FPGA中不僅包括了 MVB控制器,還同時(shí)封裝一個(gè)Nios II CPU,兩者采用 Avalon總線通信,實(shí)現(xiàn)真正的SOPC系統(tǒng),提高系統(tǒng)集成度。與MVB接口部分則采用雙路冗余,輸出信號(hào)有 MVB_IN_A、MVB_0UT_A、MVB_0UTEN_A 和 MVB_IN_B、MVB_0UT_B> MVB_0UTEN_ B兩組,外圍再根據(jù)不同的MVB介質(zhì)采用不同的接口驅(qū)動(dòng)電路,以實(shí)現(xiàn)ESD/EMD/0GF介質(zhì)通
fn °參照?qǐng)D6是過(guò)程數(shù)據(jù)TM動(dòng)態(tài)分配的MVB控制器封裝接口圖。圖6給出了該MVB 控制器封裝的對(duì)外接口。另外如表1 列出過(guò)程數(shù)據(jù)TM動(dòng)態(tài)分配的MVB控制器的對(duì)外信號(hào)定義。
10
權(quán)利要求
1.一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器,包括物理層編碼模塊、物理層解碼模塊、發(fā)送緩沖模塊、接收緩沖模塊、通信存儲(chǔ)器模塊、地址仲裁模塊和鏈路層控制模塊,其特征在于所述的物理層編碼模塊用于在鏈路層控制模塊的控制下,從發(fā)送緩沖模塊讀出數(shù)據(jù), 按照MVB數(shù)據(jù)幀格式向MVB網(wǎng)絡(luò)發(fā)送數(shù)據(jù);所述的物理層解碼模塊用于根據(jù)鏈路層控制模塊指定的接收數(shù)據(jù)幀長(zhǎng)度,從MVB總線獲取數(shù)據(jù)幀,將接收到的數(shù)據(jù)幀存入接收緩沖模塊;所述的發(fā)送緩沖模塊用于臨時(shí)存放欲發(fā)送到MVB網(wǎng)絡(luò)上的數(shù)據(jù)幀; 所述的接收緩沖模塊用于臨時(shí)存放解碼器模塊從MVB網(wǎng)絡(luò)上獲取的數(shù)據(jù)幀; 所述地址仲裁模塊用于決定應(yīng)用處理器讀寫通信存儲(chǔ)器的數(shù)據(jù)地址; 所述通信存儲(chǔ)器模塊用于在鏈路層控制模塊的控制下,實(shí)現(xiàn)應(yīng)用處理器與MVB網(wǎng)絡(luò)的數(shù)據(jù)交換;所述的鏈路層控制模塊用于控制物理層編碼模塊、物理層解碼模塊、發(fā)送緩沖模塊、接收緩沖模塊和通信存儲(chǔ)器模塊完成規(guī)定標(biāo)準(zhǔn)中的所有鏈路層功能;其中,所述通信存儲(chǔ)器模塊包括程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間、過(guò)程數(shù)據(jù)配置空間和過(guò)程數(shù)據(jù)空間所述過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配控制空間用于記錄過(guò)程數(shù)據(jù)端口的數(shù)量以及啟動(dòng)網(wǎng)卡最新配置;所述過(guò)程數(shù)據(jù)配置空間用于過(guò)程數(shù)據(jù)端口地址以及源宿的配置,實(shí)現(xiàn)端口狀態(tài)刷新;所述過(guò)程數(shù)據(jù)空間用于存儲(chǔ)各個(gè)端口的數(shù)據(jù),并根據(jù)端口類型的源宿,決定向MVB網(wǎng)絡(luò)發(fā)送數(shù)據(jù)或從MVB網(wǎng)絡(luò)接收數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通信存儲(chǔ)器模塊還包括 設(shè)備配置空間、消息數(shù)據(jù)隊(duì)列和監(jiān)視數(shù)據(jù)空間;所述的備控制空間用于存放該MVB設(shè)備在網(wǎng)絡(luò)中的物理地址,也是監(jiān)視數(shù)據(jù)和消息數(shù)據(jù)的收發(fā)地址,并且標(biāo)識(shí)該設(shè)備的事件優(yōu)先級(jí);所述的消息數(shù)據(jù)隊(duì)列包括發(fā)送消息FIFO和接收消息FIFO,用于收發(fā)MVB消息數(shù)據(jù); 所述監(jiān)視數(shù)據(jù)空間用于決定是否向MVB網(wǎng)絡(luò)發(fā)送監(jiān)視數(shù)據(jù)以及發(fā)送監(jiān)視數(shù)據(jù)的內(nèi)容。
3.根據(jù)權(quán)利要求1所述的一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配的MVB控制器,其特征在于 根據(jù)上電配置實(shí)現(xiàn)MVB的1類設(shè)備、或2類設(shè)備、或3類設(shè)備、或4類設(shè)備。
4.一種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB處理數(shù)據(jù)方法,其特征在于,包括 獲取配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N ;依次讀取N個(gè)過(guò)程數(shù)據(jù)端口的配置信息;當(dāng)N個(gè)過(guò)程數(shù)據(jù)端口的配置信息讀取完畢后,對(duì)于主幀中的過(guò)程數(shù)據(jù)輪詢,根據(jù)主幀指定的端口和配置信息為所述過(guò)程數(shù)據(jù)輪詢分配的動(dòng)態(tài)地址,獲得相應(yīng)地址的端口配置; 根據(jù)所述過(guò)程數(shù)據(jù)端口屬性對(duì)過(guò)程數(shù)據(jù)進(jìn)行處理; 其中,所述的配置信息通過(guò)如下步驟獲得對(duì)于應(yīng)用的N個(gè)過(guò)程數(shù)據(jù)端口和過(guò)程數(shù)據(jù)空間中的N個(gè)地址,在過(guò)程數(shù)據(jù)配置空間配置所述端口與地址的一一對(duì)應(yīng)關(guān)系;根據(jù)所述一一對(duì)應(yīng)關(guān)系,將所述地址進(jìn)行端口配置。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在獲取配置的過(guò)程數(shù)據(jù)端口個(gè)數(shù)N之前還包括確認(rèn)系統(tǒng)的配置信息配置完畢。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,通過(guò)如下步驟確認(rèn)系統(tǒng)的配置信息配置完畢判斷開(kāi)始標(biāo)識(shí)是否為OxAA,如果是,確認(rèn)系統(tǒng)的配置信息配置完畢;
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,通過(guò)以下步驟根據(jù)所述過(guò)程數(shù)據(jù)端口屬性對(duì)過(guò)程數(shù)據(jù)進(jìn)行處理如果該端口屬性為源端口,則從動(dòng)態(tài)分配的過(guò)程數(shù)據(jù)空間地址中讀出數(shù)據(jù); 如果該端口屬性為宿端口,把得到的從幀寫入動(dòng)態(tài)分配的過(guò)程數(shù)據(jù)空間地址中; 如果主幀中所指定的端口為無(wú)效端口,返回到等待主幀狀態(tài)。
8.—種過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制系統(tǒng),其特征在于包括權(quán)利要求1或2所述的MVB控制器和應(yīng)用處理器;所述的應(yīng)用處理器用于MVB控制器進(jìn)行設(shè)備配置,過(guò)程數(shù)據(jù)端口配置和啟動(dòng)MVB控制器的過(guò)程。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述的MVB控制器封裝在FPGA芯片上,外接應(yīng)用處理器; 或者,所述的MVB控制器與應(yīng)用處理器封裝在同一個(gè)FPGA芯片上。
全文摘要
本申請(qǐng)?zhí)峁┝艘环N過(guò)程數(shù)據(jù)動(dòng)態(tài)分配MVB控制器和處理數(shù)據(jù)方法,涉及列車控制網(wǎng)絡(luò)系統(tǒng)技術(shù)領(lǐng)域。本申請(qǐng)通過(guò)在通信存儲(chǔ)模塊中設(shè)置過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配空間、過(guò)程數(shù)據(jù)配置空間,通過(guò)過(guò)程數(shù)據(jù)端口地址動(dòng)態(tài)分配空間、過(guò)程數(shù)據(jù)配置空間將各端口與過(guò)程數(shù)據(jù)配置空間的各地址進(jìn)行一一對(duì)應(yīng),然后根據(jù)該對(duì)應(yīng)關(guān)系配置端口。通過(guò)本申請(qǐng)可以用較小的過(guò)程數(shù)據(jù)空間實(shí)現(xiàn)過(guò)程數(shù)據(jù)全地址全功能碼動(dòng)態(tài)選址;用較少的存儲(chǔ)空間就可以實(shí)現(xiàn)過(guò)程數(shù)據(jù)4096個(gè)端口全地址選址,可更加能靈活地配置為多類MVB設(shè)備;并且設(shè)計(jì)可靠、方便升級(jí),并且可以根據(jù)不同的應(yīng)用場(chǎng)合靈活修改。
文檔編號(hào)H04L29/08GK102523265SQ20111040279
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月7日 優(yōu)先權(quán)日2011年12月7日
發(fā)明者嚴(yán)翔, 宋娟, 王立德 申請(qǐng)人:北京交通大學(xué)