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