孫振超,朱廣超,2,3,李申龍,2,閆迷軍,趙紅衛(wèi),2,3
(1 北京縱橫機(jī)電科技有限公司,北京100094;2 中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 機(jī)車車輛研究所,北京100081;3 動(dòng)車組和機(jī)車牽引與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京100081)
新時(shí)期軌道交通正在向高速化、舒適化和智能化方向發(fā)展,列車控制、監(jiān)視、故障診斷及乘客娛樂等網(wǎng)絡(luò)信息數(shù)據(jù)量也不斷增大。傳統(tǒng)現(xiàn)場(chǎng)總線 如TCN[1]、ARCNET、LonWorks 和CAN 等 網(wǎng) 絡(luò)因帶寬受限,難以滿足未來列車大容量數(shù)據(jù)通信的需求。與此同時(shí),在IEC 61375-3-4-2014 中規(guī)定了列車通信網(wǎng)絡(luò)(Train Communication Network TCN)中以太網(wǎng)通訊網(wǎng)絡(luò)(Ethernet Consist Network ECN)的標(biāo)準(zhǔn)[2-3]?;谝蕴W(wǎng)的車輛網(wǎng)絡(luò)控制系統(tǒng)相比于傳統(tǒng)現(xiàn)場(chǎng)總線其傳輸速率大大提高,能夠很好的應(yīng)對(duì)未來多樣化和高帶寬的傳輸需求,而且網(wǎng)絡(luò)拓?fù)潇`活,系統(tǒng)的可擴(kuò)展性好。
近年來,國(guó)內(nèi)外對(duì)列車以太網(wǎng)的研究逐漸成為熱點(diǎn)[4],2008 年加拿大龐巴迪公司首次在德國(guó)和荷蘭的區(qū)域性列車上配備了車載以太網(wǎng)系統(tǒng)。德國(guó)西門子于2017 年在ICE 4 高鐵列車配備了基于PROFINET 實(shí)時(shí)工業(yè)以太網(wǎng)的Sibas PN 控制系統(tǒng)。美國(guó)西蒙公司開發(fā)了基于Ethernet IP 的列車實(shí)時(shí)以太網(wǎng)控制系統(tǒng)。在日本,日立、三菱等公司采用的是基于以太網(wǎng)改進(jìn)的ARCNET 總線列車網(wǎng)絡(luò)。杜根、阿密特等公司也相繼推出TRDP(Train Real-time Data Protocol)以太網(wǎng)卡產(chǎn)品。
文中重點(diǎn)介紹基于Xilinx SOC 芯片ZYNQ 7000 硬件平臺(tái)開發(fā)的列車TRDP 協(xié)議實(shí)時(shí)以太網(wǎng)卡的自主化研制,重點(diǎn)包括系統(tǒng)的硬件設(shè)計(jì)、軟件設(shè)計(jì)。結(jié)合以太網(wǎng)卡的功能需求進(jìn)行了功能測(cè)試和驗(yàn)證。該網(wǎng)卡通過以太網(wǎng)一致性測(cè)試,具有良好的實(shí)時(shí)性,支持多COMID 收發(fā),滿足以太網(wǎng)控車的需求。
列車實(shí)時(shí)數(shù)據(jù)協(xié)議TRDP 是由IEC 61375-2-3標(biāo)準(zhǔn)定義,位于TCP/UDP 傳輸層之上。列車實(shí)時(shí)數(shù)據(jù)協(xié)議TRDP 規(guī)定了TCN 過程數(shù)據(jù)和消息數(shù)據(jù)在列車通信網(wǎng)絡(luò)中的通信流程。以標(biāo)準(zhǔn)以太網(wǎng)協(xié)議棧為基礎(chǔ),列車實(shí)時(shí)數(shù)據(jù)協(xié)議在傳輸層與應(yīng)用層之間增加了TRDP 層,TRDP 協(xié)議層規(guī)定了報(bào)文的數(shù)據(jù)發(fā)送序列(SequenceCounter)、消息類型標(biāo)識(shí)(MsyType)、用戶數(shù)據(jù)標(biāo)識(shí)(COMID)、數(shù)據(jù)長(zhǎng)度、首部校驗(yàn)等重要協(xié)議層信息,如圖1 所示。使其能夠?yàn)榱熊嚲W(wǎng)絡(luò)中任意2 個(gè)設(shè)備之間的過程數(shù)據(jù)和消息數(shù)據(jù)通信提供有安全保障的端到端數(shù)據(jù)傳輸。
圖1 TRDP 以太網(wǎng)協(xié)議棧
TRDP 網(wǎng)卡是列車以太網(wǎng)控車的關(guān)鍵設(shè)備,通過該網(wǎng)卡可以將終端設(shè)備連接到整車的以太網(wǎng)網(wǎng)絡(luò)中,實(shí)現(xiàn)控制信息和狀態(tài)信息的交互,TRDP 網(wǎng)卡主要有如下幾項(xiàng)功能特點(diǎn):
(1)TRDP 網(wǎng)卡保證列車以太網(wǎng)數(shù)據(jù)的通信,具有實(shí)時(shí)性和可靠性。
(2)支持雙網(wǎng)口獨(dú)立收發(fā),以滿足列車控制的冗余功能,完成過程數(shù)據(jù)、維護(hù)數(shù)據(jù)以及消息數(shù)據(jù)等多種信息交互。
由于研制的TRDP 以太網(wǎng)卡是作為列車關(guān)鍵設(shè)備(中央控制單元、制動(dòng)控制單元、牽引控制單元等)的以太網(wǎng)通信接口網(wǎng)卡,既要滿足大容量、高帶寬的特性還要滿足不同實(shí)時(shí)性要求的數(shù)據(jù)傳輸。因此在設(shè)計(jì)網(wǎng)卡時(shí)的平臺(tái)選型上既要滿足當(dāng)前任務(wù),還要兼顧未來功能、服務(wù)的升級(jí)。另外,考慮到中央控制單元等上層設(shè)備的CPU 板卡要運(yùn)行自身的多種邏輯軟件,任務(wù)繁重,因此要求作為下層通信板卡的TRDP 以太網(wǎng)卡在功能設(shè)計(jì)上要盡量少占用上層CPU 板卡的資源,最大程度地減少上層CPU 的負(fù)擔(dān)。
根據(jù)上一節(jié)以太網(wǎng)卡功能需求分析,在硬件設(shè)計(jì)中采用Xillinx 公司的ZYNQ 系列可擴(kuò)展處理平臺(tái)。該芯片將高性能ARM Cortex-A9 系列處理器和高性能FPGA 在單芯片內(nèi)緊密結(jié)合,內(nèi)部ARM 處理器和FPGA 之間采用AXI 標(biāo)準(zhǔn)總線互聯(lián),充分發(fā)揮ARM 處理器和FPGA 的性能優(yōu)勢(shì)。此外該芯片集成度高,將FPGA 和ARM 芯片集成在同一塊芯片中,節(jié)省硬件布線面積,省掉ARM和FPGA 中間通信總線的能量消耗。
文中開發(fā)的TRDP 以太網(wǎng)卡采以ZYNQ7020芯片為基礎(chǔ),設(shè)計(jì)硬件架構(gòu)如圖2 所示。
圖2 基于ZYNQ7020 的TRDP 以太網(wǎng)硬件板卡架構(gòu)
核心的ZYNQ7000 系列的芯片型號(hào)為XC7Z020-2CLG484,芯片可分成處理器系統(tǒng)部分Processor System(PS)和可編程邏輯部分Programmable Logic(PL)。PS 部 分 基 于ARM 雙 核CortexA-9 的 應(yīng) 用處理器,ARM-v7 架構(gòu)高達(dá)1 GHz,滿足網(wǎng)卡高速收發(fā)的應(yīng)用程序的運(yùn)行需要。外圍設(shè)計(jì)包括4 GB的EMMC 存儲(chǔ)芯片用于掛載驅(qū)動(dòng)和應(yīng)用程序;1 GB 的DDR3 緩存用于存儲(chǔ)收發(fā)數(shù)據(jù);32 MB 的QSPI flash 燒錄網(wǎng)卡的啟動(dòng)程序和硬件邏輯,另外還外留UART 接口用于板卡的監(jiān)控與調(diào)試。設(shè)計(jì)了RTC 模塊,完成掉電時(shí)間保持功能。PL 端引出2 個(gè)以太網(wǎng)網(wǎng)口(網(wǎng)口1 和網(wǎng)口2),用于列車實(shí)時(shí)以太網(wǎng)信息收發(fā)通道;PS 端引出以太網(wǎng)網(wǎng)口3,用作于板卡的調(diào)試、配置以及板卡運(yùn)行監(jiān)控。
TRDP 以太網(wǎng)的FPGA 邏輯基于Xilinx 公司的Vivado 工 具 進(jìn) 行 開 發(fā),在ZYNQ 的PL 中 基 于IP 核結(jié)構(gòu)搭建2 個(gè)獨(dú)立的以太網(wǎng)數(shù)據(jù)包收發(fā)通路,細(xì)節(jié)框圖如圖3 所示。
圖3 TRDP 以太網(wǎng)卡FPGA 邏輯框圖
設(shè)計(jì)中,主要IP 核包括:以太網(wǎng)MAC 控制器、DMA 控制器、中斷連接器、ISA 總線交互模塊等。在各模塊之間通過AXI 總線連接器進(jìn)行數(shù)據(jù)交互。PL 端中各模塊控制接口通過AXI_lite 總線與PS 端的GP 接口連接,對(duì)各模塊的寄存器進(jìn)行讀寫,完成模塊的配置、控制與檢測(cè)等功能。
DMA 控制器啟動(dòng)S/G 傳輸模式,通過獨(dú)立的AXI S/G 通道從DDR 中獲取描述符信息,協(xié)調(diào)以太網(wǎng)和DDR 間的數(shù)據(jù)傳輸。在設(shè)計(jì)中,描述符和數(shù)據(jù)都是通過AXI_stream 型總線與HP 接口交互,數(shù)據(jù)方向分為存儲(chǔ)區(qū)到以太網(wǎng)數(shù)據(jù)流MM2S(Memory Mapped to Stream)和以太網(wǎng)數(shù)據(jù)流到存儲(chǔ) 區(qū)S2MM(Stream to Memory Mapped)。 利 用AXI_Stream 總線完成DDR 和DMA 之間網(wǎng)卡交互數(shù)據(jù)的搬運(yùn),可以保證網(wǎng)卡信息高速率傳輸。
以太網(wǎng)MAC 控制模塊(Ethernet MAC Ctrl)主要完成以太網(wǎng)鏈路層報(bào)文封裝與解包、數(shù)據(jù)幀的校驗(yàn)以及通過MII 總線對(duì)PHY 芯片進(jìn)行配置和控制等功能。
ISA 總線交互模塊中例化RAM 和寄存器實(shí)現(xiàn)上層CPU 與網(wǎng)卡ZYNQ 的ARM 之間的網(wǎng)絡(luò)信息交互。此外,可以根據(jù)上層應(yīng)用CPU 不同的接口需求,充分利用ZYNQ 芯片的高擴(kuò)展性擴(kuò)展實(shí)現(xiàn)SPI、LVDS、CAN 等串行總線接口,方便實(shí)現(xiàn)與上層CPU 之間的信息交互。
TRDP 以太網(wǎng)卡的軟件設(shè)計(jì)分為2 部分:一是運(yùn)行在上層CPU 上的驅(qū)動(dòng)軟件;二是運(yùn)行在板卡ZYNQ PS 端ARM 上的嵌入式軟件。2 部分軟件相互配合,實(shí)現(xiàn)TRDP 以太網(wǎng)卡的各項(xiàng)通信功能,軟件結(jié)構(gòu)如圖4 所示。運(yùn)行在上層CPU 上的軟件通過板卡背板ISA 總線的硬件接口和板卡ARM 軟件提供的軟件接口,完成板卡的啟動(dòng)、初始化配置、COMID 端口訂閱和發(fā)布,以及過程數(shù)據(jù)的發(fā)送和接收等功能。整個(gè)TRDP 以太網(wǎng)卡的軟件架構(gòu)基于QNX 實(shí)時(shí)操作系統(tǒng),底層通過QNX BSP 驅(qū)動(dòng)完成對(duì)板卡硬件的控制,包括以太網(wǎng)物理接口、背板接口、串口以及狀態(tài)指示燈。通過實(shí)時(shí)以太網(wǎng)底層接口程序驅(qū)動(dòng)DMA 和以太網(wǎng)MAC 控制器完成報(bào)文數(shù)據(jù)搬運(yùn)。
圖4 TRDP 以太網(wǎng)卡的軟件結(jié)構(gòu)圖
板卡上電后,加載QNX 系統(tǒng)啟動(dòng)板卡應(yīng)用程序,完成網(wǎng)卡的初始化配置,開啟網(wǎng)口收發(fā)線程和背板交互線程,等待上層CPU 的命令。上層CPU的命令接口函數(shù)見表1。
表1 TRDP 以太網(wǎng)卡應(yīng)用程序主要接口函數(shù)
在發(fā)送數(shù)據(jù)時(shí),上層CPU 通過接口程序下達(dá)發(fā)送數(shù)據(jù)命令,利用背板總線將數(shù)據(jù)寫入板卡緩存,同時(shí)該數(shù)據(jù)包的相關(guān)發(fā)送周期、COMID、超時(shí)時(shí)間等相關(guān)信息一同傳達(dá)給板卡,板卡上的過程數(shù)據(jù)應(yīng)用接口通過TCNopen 維護(hù)程序?qū)?shù)據(jù)添加TRDP 協(xié)議,按照發(fā)送周期將數(shù)據(jù)包傳遞給QNX操作系統(tǒng)自帶的UDP 發(fā)送程序,通過socket 函數(shù)將數(shù)據(jù)包傳遞給MAC 層發(fā)送模塊進(jìn)行實(shí)時(shí)發(fā)送。
同樣,當(dāng)有以太網(wǎng)幀到達(dá)時(shí),網(wǎng)卡對(duì)數(shù)據(jù)包包頭進(jìn)行識(shí)別,如果該數(shù)據(jù)包不符合接收條件,則被丟棄;如果該數(shù)據(jù)包符合接收條件,程序?qū)?shù)據(jù)包進(jìn)行解包,將應(yīng)用數(shù)據(jù)填入板卡的緩存區(qū),等待上層CPU 通過背板總線周期性提取。
雙網(wǎng)口雙通道的設(shè)計(jì)可以滿足以太網(wǎng)控車系統(tǒng)中的冗余功能,2 個(gè)通道可以發(fā)送不同VLAN 的數(shù)據(jù),彼此互不影響,上層通過邏輯來取信其中一路數(shù)據(jù),待取信路出現(xiàn)異常時(shí),切換取信另一路。此外,除了PL 端搭建的用于傳輸實(shí)時(shí)數(shù)據(jù)的2 個(gè)以太網(wǎng)口外,在PS 端還引出1 個(gè)網(wǎng)口3,通過QNX操作系統(tǒng)內(nèi)部命令的設(shè)置,可以將網(wǎng)口3 的數(shù)據(jù)以橋接的方式轉(zhuǎn)接到PL 端的網(wǎng)口。在實(shí)車應(yīng)用中,將PS 端的網(wǎng)口3 連接到網(wǎng)卡所在的整機(jī)設(shè)備的維護(hù)接口,維護(hù)口的數(shù)據(jù)就可以共享控制網(wǎng)絡(luò)的線路通道。該功能可以實(shí)現(xiàn)列車網(wǎng)絡(luò)中的控制網(wǎng)和維護(hù)網(wǎng)的融合,雙網(wǎng)合一。
研制的TRDP 以太網(wǎng)卡采用了標(biāo)準(zhǔn)的3U 板卡結(jié)構(gòu),可以方便地集成在中央控制單元等網(wǎng)絡(luò)設(shè)備的機(jī)箱中,自主研制的TRDP 以太網(wǎng)卡實(shí)物如圖5 所示。
圖5 3U 標(biāo)準(zhǔn)的TRDP 以太網(wǎng)卡實(shí)物圖
列車以太網(wǎng)和傳統(tǒng)以太網(wǎng)除通信協(xié)議的差異外,主要區(qū)別在于需要考慮列車上更為復(fù)雜的電磁環(huán)境,以太網(wǎng)信號(hào)傳輸將受到更多的干擾。接入列車以太網(wǎng)的終端設(shè)備,必須通過其在復(fù)雜的電磁環(huán)境中保障數(shù)據(jù)傳輸質(zhì)量的以太網(wǎng)傳輸標(biāo)準(zhǔn)的符合性驗(yàn)證[5],需要對(duì)TRDP 以太網(wǎng)卡的物理層信號(hào)進(jìn)行測(cè)試。
為了驗(yàn)證研制板卡的以太網(wǎng)一致性功能,按照測(cè)試要求,在實(shí)驗(yàn)室的以太網(wǎng)一致性測(cè)試平臺(tái)上對(duì)研制的TRDP 以太網(wǎng)卡物理層信號(hào)及鏈路層通信進(jìn)行一致性測(cè)試。測(cè)試項(xiàng)點(diǎn)及結(jié)果見表2,眼圖的測(cè)試結(jié)果如圖6、圖7 所示,阻抗回輸損耗的測(cè)試結(jié)果如圖8、圖9 所示。通過測(cè)試結(jié)果表明研制的TRDP 以太網(wǎng)卡符合以太網(wǎng)一致性測(cè)試標(biāo)準(zhǔn)。
圖6 眼圖測(cè)試結(jié)果(正面)
圖7 眼圖測(cè)試結(jié)果(反面)
圖8 阻抗回輸損耗測(cè)試結(jié)果(發(fā)送)
圖9 阻抗回輸損耗測(cè)試結(jié)果(接收)
表2 TRDP 以太網(wǎng)卡一致性測(cè)試結(jié)果
列車實(shí)時(shí)以太網(wǎng)卡發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的實(shí)時(shí)性是最重要的特性之一。目前列車的實(shí)際應(yīng)用中,用到的最小發(fā)送周期為30 ms。為了驗(yàn)證TRDP 以太網(wǎng)卡的實(shí)時(shí)性功能,將研制的TRDP 插入中央控制單元主機(jī)中,中央控制單元模擬列車應(yīng)用,通過上層驅(qū)動(dòng)程序控制TRDP 以太網(wǎng)卡收發(fā)數(shù)據(jù),利用電腦開啟wireshark 工具連接以太網(wǎng)網(wǎng)口進(jìn)行抓包監(jiān)視。
在測(cè)試中,TRDP 網(wǎng)卡可以成功連續(xù)發(fā)送30個(gè)不同COMID 的數(shù)據(jù)包,研制的TRDP 以太網(wǎng)卡滿足多COMID 收發(fā)功能。其中挑選發(fā)送周期為30 ms、COMID 為21304 的數(shù)據(jù)包進(jìn)行單獨(dú)觀測(cè),其抖動(dòng)測(cè)試結(jié)果如圖10 所示。結(jié)果顯示周期為30 ms 的數(shù)據(jù)包的抖動(dòng)在±1.2 ms 以內(nèi),滿足IEC 61375-3-4 標(biāo)準(zhǔn)中周期為30 ms 的報(bào)文抖動(dòng)在±10 ms 以內(nèi)的要求。
圖10 TRDP 以太網(wǎng)數(shù)據(jù)包發(fā)送抖動(dòng)測(cè)試結(jié)果
上述結(jié)果驗(yàn)證了所研制板卡滿足當(dāng)前的應(yīng)用需求,為了進(jìn)一步測(cè)試板卡的性能,進(jìn)行更高指標(biāo)的測(cè)試。經(jīng)測(cè)試TRDP 可以同時(shí)完成200 個(gè)COMID 的收發(fā);縮小發(fā)送周期至10 ms,結(jié)果網(wǎng)卡發(fā)送數(shù)據(jù)包的抖動(dòng)在±1.5 ms 以內(nèi)。該結(jié)果顯示,研制的基于ZYNQ 平臺(tái)的TRDP 以太網(wǎng)卡具有良好的實(shí)時(shí)性,滿足大容量多通道數(shù)據(jù)的收發(fā)。
研制的TRDP 網(wǎng)卡進(jìn)行了一系列的功能測(cè)試,并通過了高低溫、振動(dòng)、電磁兼容等相關(guān)的型式試驗(yàn),速度250 km/h 復(fù)興號(hào)動(dòng)車組裝車考核表明,TRDP 以太網(wǎng)卡設(shè)計(jì)方案可行,完全達(dá)到預(yù)期設(shè)計(jì)要求。
TRDP 以太網(wǎng)卡是列車以太網(wǎng)控車網(wǎng)絡(luò)中關(guān)鍵設(shè)備,文中介紹了基于Xilinx 公司ZYNQ 平臺(tái)研制的TRDP 以太網(wǎng)卡的硬件設(shè)計(jì)和軟件設(shè)計(jì)。該網(wǎng)卡通過了以太網(wǎng)一致性測(cè)試和實(shí)時(shí)性功能驗(yàn)證,并在速度250 km/h 復(fù)興號(hào)動(dòng)車組上實(shí)現(xiàn)了裝車應(yīng)用。研制TRDP 以太網(wǎng)卡對(duì)于我國(guó)實(shí)現(xiàn)新型以太網(wǎng)控車技術(shù)具有重要意義。