基于ARM處理器的MVB 2類(lèi)設(shè)備研究
1引 言
列車(chē)需要傳輸大量的設(shè)備控制和旅客服務(wù)信息,隨著這些信息的數(shù)量和種類(lèi)不斷地增長(zhǎng),迫切需要一種大容量,高速度的信息傳輸系統(tǒng)。為此,國(guó)際電工委員會(huì)(IEC)制定了一項(xiàng)用于規(guī)范車(chē)載設(shè)備數(shù)據(jù)通信的標(biāo)準(zhǔn)——IEC61375(列車(chē)通信網(wǎng)標(biāo)準(zhǔn)),即TCN標(biāo)準(zhǔn),該標(biāo)準(zhǔn)于1999年6月成為國(guó)際標(biāo)準(zhǔn)。目前國(guó)際上主要的TCN產(chǎn)品供應(yīng)商是德國(guó)西門(mén)子和瑞士Duagon公司,國(guó)內(nèi)的株洲電力機(jī)車(chē)研究所和大連北車(chē)集團(tuán)電力牽引研究所等單位進(jìn)行了大量的TCN相關(guān)研究工作并取得了豐碩的科研成果。
TCN標(biāo)準(zhǔn)推薦在機(jī)車(chē)上層使用絞線(xiàn)式列車(chē)總線(xiàn)WTB,在下層使用多功能車(chē)輛總線(xiàn)MVB。MVB總線(xiàn)和機(jī)車(chē)中的各種電氣設(shè)備相連,這些設(shè)備按性能可以分為5類(lèi),其中二類(lèi)設(shè)備的主要特征是具有消息數(shù)據(jù)通信的功能。為了實(shí)現(xiàn)消息數(shù)據(jù)通信,需要在實(shí)時(shí)操作系統(tǒng)的支持下采用軟件編程,利用應(yīng)用程序接口API等接口來(lái)調(diào)用網(wǎng)絡(luò)協(xié)議的各種功能,從而實(shí)現(xiàn)消息數(shù)據(jù)的通信。MVB 2類(lèi)設(shè)備硬件核心采用ARM7內(nèi)核微處理器NET+50作為主CPU實(shí)現(xiàn)系統(tǒng)的總體控制,采用MVBC01芯片作為MVB通信控制器實(shí)現(xiàn)鏈路層的數(shù)據(jù)處理,軟件核心采用嵌入式實(shí)時(shí)操作系統(tǒng)Nucleus Plus來(lái)實(shí)現(xiàn)任務(wù)管理、中斷管理等上層管理。
2 MVB 2類(lèi)設(shè)備系統(tǒng)硬件設(shè)計(jì)
硬件系統(tǒng)設(shè)計(jì)主要包括應(yīng)用處理器模塊、通信存儲(chǔ)器模塊、通信控制器模塊、存儲(chǔ)器模塊、PC104接口模塊、物理層接口模塊等幾部分的設(shè)計(jì),其中核心模塊是ARM處理器和MVB通信控制器MVBC01。系統(tǒng)硬件設(shè)計(jì)框圖如圖1所示。
系統(tǒng)硬件各部分電路的功能和設(shè)計(jì)方法如下:
2.1 應(yīng)用處理器模塊
應(yīng)用處理器采用ARM核微處理器NET+50作為核心處理器。NET十50由Netsilicon公司生產(chǎn),屬于ARM7系列。NET+50處理器包括一個(gè)ARM7TDMI核,32位內(nèi)部總線(xiàn),支持所有SRAM,SDRAM,F(xiàn)LASH,E2PROM,有40個(gè)可編程I/O接口引腳,16個(gè)輸入接口引腳,36個(gè)可編程中斷,2個(gè)完全獨(dú)立的HDLC/UART/SPI串行口以及完整的以太網(wǎng)控制器。
2.2 存儲(chǔ)器模塊
存儲(chǔ)器模塊為ARM處理器NET+50正常工作時(shí)提供所需的程序存貯空間,內(nèi)存空間和數(shù)據(jù)存儲(chǔ)空間。NET+50集成了內(nèi)存控制器模塊(Memory Controller Mod-ule),為存儲(chǔ)設(shè)備提供無(wú)縫連接,系統(tǒng)通過(guò)配置內(nèi)存控制器模塊的控制寄存器和片選CS控制寄存器來(lái)實(shí)現(xiàn)訪(fǎng)問(wèn)相應(yīng)存儲(chǔ)器的信號(hào)和邏輯。
本設(shè)計(jì)中選用大小為16 MB的高速SDRAM為系統(tǒng)提供內(nèi)存服務(wù),選用大小為512 kB的NVRAM為系統(tǒng)提供數(shù)據(jù)存儲(chǔ)空間,選用大小為4 MB的FLASH為系統(tǒng)提供程序存儲(chǔ)空間。使用ARM處理器的地址線(xiàn)、數(shù)據(jù)線(xiàn)以及相應(yīng)的片選、讀/寫(xiě)、時(shí)鐘線(xiàn)完成對(duì)存儲(chǔ)器的尋址。
2.3 通信控制器模塊
通信控制器MVBC是MVB總線(xiàn)上的新一代核心處理器,他獨(dú)立于物理層和功能設(shè)備,為在總線(xiàn)上的各個(gè)設(shè)備提供通訊接口和通訊服務(wù),可通過(guò)配置應(yīng)用在符合TCN標(biāo)準(zhǔn)的1,2,3,4類(lèi)設(shè)備中。MVBC把來(lái)自于MVB總線(xiàn)的串行化信號(hào)轉(zhuǎn)換為并行的數(shù)據(jù)字節(jié),也把需發(fā)送的字節(jié)交由串行化電路發(fā)送到傳輸介質(zhì)上。MVBC可實(shí)現(xiàn)數(shù)據(jù)鏈路層以及一部分傳輸層的數(shù)據(jù)處理,并通過(guò)通訊存儲(chǔ)器來(lái)與上層軟件交互。
本系統(tǒng)中MVB通信控制器采用MVBC01 ASIC專(zhuān)用芯片,符合IEC61375-1國(guó)際標(biāo)準(zhǔn)。MVBC01專(zhuān)用芯片采用16位數(shù)據(jù)總線(xiàn),提供了豐富的接口控制信號(hào),簡(jiǎn)化了與各種宿主CPU以及通信存儲(chǔ)器的接口設(shè)計(jì),支持MVB協(xié)議中鏈路層及以下的功能。
2.4 通信存儲(chǔ)器模塊
通信存儲(chǔ)器地址空間保存MVBC01的所有數(shù)據(jù)和信息,既可以被MVBC01訪(fǎng)問(wèn)又可以被ARM處理器訪(fǎng)問(wèn)。本系統(tǒng)中采用兩片512 kB大小的SRAM cy62148擴(kuò)展成1 MB的尋址空間。通信存儲(chǔ)器的尋址空間劃分為4部分,分別為L(zhǎng)ogical AddreSS Space(LA),Device AddressSpace(DA),Service Area(1 kB)和Miscellany。
通信存儲(chǔ)器分別通過(guò)數(shù)據(jù)線(xiàn),地址線(xiàn)和ARM處理器以及MVBC01相連,從而實(shí)現(xiàn)數(shù)據(jù)交換和地址尋址,ARM處理器、MVBC01和通信存儲(chǔ)器的連接示意圖如圖2所示。
MVBC01內(nèi)部集成Traffic Memory Controller(TMC)模塊,負(fù)責(zé)控制通信存儲(chǔ)器的訪(fǎng)問(wèn)模式,TMC與仲裁控制器和邏輯地址密切相關(guān)。TMC模塊負(fù)責(zé)控制3種存儲(chǔ)器訪(fǎng)問(wèn)模式,分別是:ARM CPU訪(fǎng)問(wèn)通信存儲(chǔ)器;ARM CPU訪(fǎng)問(wèn)MVBC內(nèi)部寄存器;MVBC01訪(fǎng)問(wèn)通信存儲(chǔ)器。TMC模塊還對(duì)ARM處理器和MVBC同時(shí)訪(fǎng)問(wèn)通信存儲(chǔ)器所產(chǎn)生的訪(fǎng)問(wèn)沖突做出仲裁。
2.5 MVB物理層接口電路模塊
物理層接口電路模塊的設(shè)計(jì)如圖3所示。物理層接口采用電氣短距離介質(zhì)ESD+接口,系統(tǒng)信號(hào)通道使用光耦實(shí)現(xiàn)主系統(tǒng)與外界得電隔離以提高系統(tǒng)可靠性,使用RS 485芯片作為收發(fā)器,并使用過(guò)壓保護(hù)模塊來(lái)防止瞬問(wèn)過(guò)壓對(duì)器件的損壞。
圖3所示的MVBC端口ICA(MVB Input Data Chan-nel A)和ICB(MVB Input Data Channel B)分別為MVB輸入數(shù)據(jù)通道A和輸入數(shù)據(jù)通道B,來(lái)自物理層收發(fā)器的MVB信號(hào)由此端口送入MVB通信控制器MVBC01中;MVBC端口OC(MVB Output Data Channel)是MVB數(shù)據(jù)輸出端口,數(shù)據(jù)經(jīng)由此端口將發(fā)送至物理層收發(fā)器;MVBC端口SF(Send Frame)為輸出端口,輸出信號(hào)可作為物理層的使能信號(hào),該信號(hào)有效時(shí)表示一個(gè)報(bào)文正在通過(guò)MVBC端口OC(MVB Output Data Channel)輸出。
2.6 其他
在MVB設(shè)備正常運(yùn)行時(shí),可以通過(guò)RS 485/RS 232通信接口進(jìn)行程序的監(jiān)控和調(diào)試。系統(tǒng)可以通過(guò)跳線(xiàn)選擇RS 485/RS 232接口是工作在RS 485還是RS 232下。
其他還有諸如看門(mén)狗、JTAG接口、時(shí)鐘、電源、PC104接口等模塊,本文不再詳述。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 系統(tǒng)軟件體系結(jié)構(gòu)
MVB 2類(lèi)設(shè)備軟件體系采用典型的嵌入式軟件體系結(jié)構(gòu),包括驅(qū)動(dòng)層、操作系統(tǒng)層、應(yīng)用軟件層,其中操作系統(tǒng)層是軟件體系的核心。系統(tǒng)的軟件結(jié)構(gòu)如圖4所示。
系統(tǒng)軟件結(jié)構(gòu)各部分功能如下:
3.1.1 驅(qū)動(dòng)層
驅(qū)動(dòng)層是直接和硬件相聯(lián)系的一層,他對(duì)操作系統(tǒng)和應(yīng)用提供所需的驅(qū)動(dòng)支持。該層主要包括3種類(lèi)型的程序:板級(jí)支持BSP、系統(tǒng)級(jí)驅(qū)動(dòng)和應(yīng)用級(jí)驅(qū)動(dòng)。
板級(jí)支持BSP 在用戶(hù)的應(yīng)用程序啟動(dòng)之前,完成對(duì)系統(tǒng)的初始化必須有專(zhuān)門(mén)的一段啟動(dòng)代碼,即板級(jí)支持BSP。板級(jí)支持BSP介于物理硬件和實(shí)時(shí)操作系統(tǒng)之間,在系統(tǒng)上電后,初始化系統(tǒng)的硬件環(huán)境,包括初始化ARM處理器、初始化中斷控制器、初始化存儲(chǔ)器、初始化堆棧等。NucleusPlus操作系統(tǒng)的BSP初始化程序流程如圖5所示。
系統(tǒng)級(jí)驅(qū)動(dòng) 與系統(tǒng)軟件相關(guān)的驅(qū)動(dòng),這類(lèi)驅(qū)動(dòng)是操作系統(tǒng)和中間件等系統(tǒng)軟件所需的驅(qū)動(dòng)程序,他們的開(kāi)發(fā)要按照系統(tǒng)軟件的要求進(jìn)行。
應(yīng)用級(jí)驅(qū)動(dòng) 與應(yīng)用程序相關(guān)的驅(qū)動(dòng),和操作系統(tǒng)無(wú)關(guān),由應(yīng)用決定。
3.1.2 操作系統(tǒng)層
操作系統(tǒng)層足嵌入式軟件的核心,是系統(tǒng)的軟件支持平臺(tái)。主要包括實(shí)時(shí)操作系統(tǒng)內(nèi)核、文件系統(tǒng)、電源管理、嵌入式GUI系統(tǒng)、嵌入式網(wǎng)絡(luò)系統(tǒng)。其中嵌入式內(nèi)核是基礎(chǔ)和必備的部分,主要完成任務(wù)調(diào)度、內(nèi)存管理、任務(wù)間通信、任務(wù)的同步與互斥、中斷管理、定時(shí)器等功能。本系統(tǒng)采用Nucleus Plus嵌入式操作系統(tǒng),能完全滿(mǎn)足MVB對(duì)于實(shí)時(shí)性、可靠性、完整性和有效性的要求。NucleusPlus采用了軟件組件的方法,每個(gè)組件具有單一而明確的目的,包括任務(wù)控制管理、內(nèi)存控制管理、定時(shí)器管理、中斷、系統(tǒng)診斷、I/O驅(qū)動(dòng)管理等16個(gè)組件。
3.1.3 應(yīng)用軟件層
應(yīng)用軟件層主要由多個(gè)相對(duì)獨(dú)立的應(yīng)用任務(wù)組成,每個(gè)應(yīng)用完成一個(gè)特定的工作,這里主要包括MVB協(xié)議棧軟件。MVB協(xié)議棧軟件在實(shí)時(shí)操作系統(tǒng)內(nèi)核的支持下,通過(guò)MVB驅(qū)動(dòng)模塊完成MVB網(wǎng)絡(luò)數(shù)據(jù)通信任務(wù)。用戶(hù)應(yīng)用可以利用MVB協(xié)議棧的接口函數(shù)訪(fǎng)問(wèn)需要的數(shù)據(jù)集,并利用收到或者發(fā)送的數(shù)據(jù)進(jìn)行相應(yīng)的控制或其他數(shù)據(jù)處理工作。
3.2 實(shí)時(shí)協(xié)議
每個(gè)網(wǎng)絡(luò)都要有與之相應(yīng)的網(wǎng)絡(luò)軟件在其上運(yùn)行,這些軟件被稱(chēng)為協(xié)議。在互聯(lián)網(wǎng)上運(yùn)行的協(xié)議我們稱(chēng)之為T(mén)CP/IP協(xié)議,在列車(chē)通信網(wǎng)上運(yùn)行的類(lèi)似TCP/IP的協(xié)議我們稱(chēng)之為實(shí)時(shí)協(xié)議(Real Time Protocol,RTP),實(shí)時(shí)協(xié)議為一個(gè)應(yīng)用與另一個(gè)應(yīng)用在列車(chē)通信網(wǎng)上的通信提供協(xié)議和服務(wù)。
實(shí)時(shí)協(xié)議分層結(jié)構(gòu)如圖6所示。由圖中的分層結(jié)構(gòu)可知MVB實(shí)時(shí)協(xié)議包括過(guò)程變量通訊和消息數(shù)據(jù)通訊兩部分。由圖可知變量的協(xié)議和服務(wù)包括過(guò)程數(shù)據(jù)鏈路層接口(LPI)和變量的應(yīng)用層接口(AVI)。消息協(xié)議和服務(wù)包括消息數(shù)據(jù)鏈路層接口(LMI)、網(wǎng)絡(luò)層、傳送層、會(huì)話(huà)層、應(yīng)用層接口(AMI)。其中鏈路層接口又稱(chēng)為低層接口,他規(guī)定來(lái)自總線(xiàn)的服務(wù),應(yīng)用層接口又稱(chēng)為高層接口,他規(guī)定提供給應(yīng)用的應(yīng)用層接口。
3.3 消息通信機(jī)制及其實(shí)現(xiàn)
MVB 2類(lèi)設(shè)備的主要特征是實(shí)現(xiàn)消息數(shù)據(jù)的發(fā)送和接收。消息通信中實(shí)時(shí)協(xié)議是由信使執(zhí)行的,他是作為獨(dú)立的進(jìn)程與應(yīng)用并行運(yùn)行。實(shí)時(shí)協(xié)議的網(wǎng)絡(luò)層、傳輸層、會(huì)話(huà)層、表示層是由信使來(lái)執(zhí)行并實(shí)現(xiàn)的,信使與應(yīng)用層有一個(gè)消息應(yīng)用層接口(AMI),通過(guò)這個(gè)接口應(yīng)用可以調(diào)用信使的服務(wù)。同時(shí)信使與鏈路層也有一個(gè)接口:消息鏈路層接口(LMI),鏈路層通過(guò)這個(gè)接口向信使提供服務(wù)。在編程實(shí)現(xiàn)消息通信時(shí),只需要使用消息應(yīng)用層接口。
用戶(hù)開(kāi)發(fā)程序來(lái)實(shí)現(xiàn)消息通信,就是使用消息應(yīng)用層接口中的接口函數(shù)來(lái)調(diào)用信使的各項(xiàng)功能,實(shí)現(xiàn)消息通信的應(yīng)用程序就是按照這個(gè)順序編寫(xiě)和執(zhí)行的。消息數(shù)據(jù)的實(shí)現(xiàn)程序的流程如圖7所示。
4 結(jié) 語(yǔ)
使用符合TCN標(biāo)準(zhǔn)的產(chǎn)品是開(kāi)發(fā)下一代新式列車(chē)的重要發(fā)展趨勢(shì),本文通過(guò)對(duì)IEC61375-1列車(chē)通訊網(wǎng)絡(luò)標(biāo)準(zhǔn)的研究,提出了MVB 2類(lèi)設(shè)備軟硬件的設(shè)計(jì)方案并完成了系統(tǒng)硬件各功能模塊設(shè)計(jì)和上層軟件的部分設(shè)計(jì),對(duì)MVB實(shí)時(shí)協(xié)議RTP和消息通信的機(jī)制也做了深入的研究,并給出了消息通信的編程實(shí)現(xiàn)方法。通過(guò)對(duì)基于ARM處理器的MVB 2類(lèi)設(shè)備的深入研究和功能設(shè)計(jì)實(shí)現(xiàn),不但為以后開(kāi)發(fā)更高類(lèi)別的MVB設(shè)備積累了經(jīng)驗(yàn),而且為進(jìn)一步自主開(kāi)發(fā)其他符合TCN標(biāo)準(zhǔn)的MVB產(chǎn)品提供了借鑒。
評(píng)論