劉晨曦, 杜振環(huán), 王 鋒
(中車大連電力牽引研發(fā)中心有限公司, 遼寧大連 116052)
國內(nèi)某型動車組,單列車拓撲可分為“動力車+8輛拖車+控制車”短編組的動車組或“動力車+16輛拖車+動力車”長編組的動車組,配置十分靈活。不同廠家的控制車、動力車通過重聯(lián)網(wǎng)關互聯(lián)互通。
FPGA(現(xiàn)場可編程門陣列)作為 ASIC(Application Specific Integrated Circuit)領域中的一種半定制電路,解決了定制電路的不足,可以實現(xiàn)多種邏輯功能。WTB幀數(shù)據(jù)是曼徹斯特碼,它是一種常用的基帶信號編碼。IEC61375[1]規(guī)定,列車間WTB通信數(shù)據(jù)以曼徹斯特碼傳輸,實現(xiàn)列車間的互操作。
絞線式列車總線WTB(wire train bus)幀格式如圖1所示,包括幀頭(文中研究32 bits幀頭)、幀數(shù)據(jù)、和幀尾(終止分界符)。
(1)幀頭:即前導碼preamble,由高電平“1”起始,接著若干個‘0’‘1’對(文中為15對)并以“1”結束,用于WTB幀數(shù)據(jù)同步;
(2)幀數(shù)據(jù):標準HDLC數(shù)據(jù);
(3)幀尾:兩個時間單位寬度的高電平。
圖1 WTB幀
硬件測試平臺如圖2所示(X1和X2為DB9對外連接器),用于測試WTB編解碼器。ARM處理器AT91SAM3U4E,主頻96 MHz,內(nèi)存256 kB,SRAM是52 kB。FPGA是XILINX公司的Spartan-6系列芯片,型號XC6SLX9,用來實現(xiàn)WTBC編解碼器。用WTB線纜把TCN分析儀串聯(lián)在發(fā)送通道與接收通道之間。
ARM處理器通過可變靜態(tài)存儲控制器FSMC接口訪問配置FPGA,通過WTB鏈路層接口從應用層控制WTB數(shù)據(jù)發(fā)送和接收。初始化成功后,在WTB通信板卡X1接口定時發(fā)送變化的WTB幀數(shù)據(jù),通過TCN分析儀在接口X2接收,應用層軟件對接收數(shù)據(jù)進行統(tǒng)計,可判斷接收數(shù)據(jù)與期望是否相符。對于不同類型請求/響應幀數(shù)據(jù)(包括狀態(tài)請求/狀態(tài)響應幀、檢測請求/檢測響應幀、命名請求/命名響應幀、存在請求/存在響應幀等),通過TCN分析儀進行數(shù)據(jù)統(tǒng)計和分析,達到測試WTB編解碼器的目的。
圖2 硬件測試平臺
WTBC編解碼器核心是編碼器和解碼器。編碼是完成WTB數(shù)據(jù)編碼并進行CRC校驗;解碼是實現(xiàn)接收波形的位同步和數(shù)據(jù)解析,如果計算的CRC與接收到的CRC結果不符,則放棄此幀數(shù)據(jù)。其原理如圖3所示。主要分為以下幾個部分:CPU接口模塊,HDLC控制器模塊及曼徹斯特編解碼模塊。
圖3 WTBC編解碼器
(1)CPU接口模塊
CPU接口模塊包括數(shù)據(jù)線(uPD)、地址線(uPA)、寫(uPWR#)、讀(uPRD#)、片選(uPESCCCS#)、中斷(ESCC_INT#)等信號(如圖4所示)。CPU接口模塊作為WTB編解碼器與外部處理器CPU的接口,是WTB編解碼器與CPU的數(shù)據(jù)傳輸通道,CPU通過訪問編碼器和解碼器的內(nèi)部寄存器,控制WTB數(shù)據(jù)發(fā)送接收。
圖4 WTBC編解碼器CPU接口信號示意圖
(2)HDLC控制器模塊
HDLC數(shù)據(jù)是串行數(shù)據(jù)幀格式,與時序邏輯緊密聯(lián)系,包括HDLC發(fā)送控制器和HDLC接收控制器。
①HDLC發(fā)送控制器。即HDLC編碼器,是功能和時序復雜的時序邏輯電路,可抽象成有限狀態(tài)機。其狀態(tài)轉換與數(shù)據(jù)處理包括HDLC數(shù)據(jù)的0比特插入,CRC校驗等都可以按照ISO 3309標準實現(xiàn)。根據(jù)HDLC編碼協(xié)議,得到HDLC編碼器有限狀態(tài)機:CPU發(fā)送數(shù)據(jù)時首先要讀取發(fā)送寄存器狀態(tài),當TxDo=1時,HDLC控制器緩存CPU發(fā)送的數(shù)據(jù)到RAM中,CPU發(fā)送完一包數(shù)據(jù)后向發(fā)送寄存器寫入TxEN=1命令。發(fā)送緩存接收到TxEN=1指令后跳轉至read狀態(tài),TxOK=1;緩存的數(shù)據(jù)經(jīng)CRC校驗和時鐘同步后,再把并行數(shù)據(jù)轉換成串行數(shù)據(jù),同時檢驗每位數(shù)據(jù)信息,即串行數(shù)據(jù)出現(xiàn)連續(xù)5個‘1’時在其后插入1個‘0’;并行數(shù)據(jù)轉換串行數(shù)據(jù)的起始生成幀頭flag,轉換完成生成幀尾flag。HDLC發(fā)送控制器狀態(tài)轉換如圖5所示。
圖5 HDLC發(fā)送控制器狀態(tài)機
②HDLC接收控制器。即HDLC解碼器,和編碼器一樣是時序邏輯電路,同樣可抽象成有限狀態(tài)機,包括幀頭幀數(shù)據(jù)檢測、CRC校驗、0比特刪除等部分。HDLC接收是發(fā)送的逆過程,需要對接收的每一個數(shù)據(jù)位進行判斷。HDLC接收模塊檢測總線上的數(shù)據(jù),當識別到“01111110”即flag,則FlagDetect=1,并進行串行數(shù)據(jù)到并行數(shù)據(jù)轉換,與此同時執(zhí)行0比特刪除操作,即檢測到連續(xù)5個‘1’則自動將其后面的‘0’刪除;再經(jīng)過時鐘同步和CRC校驗,當WR=1時向雙口RAM寫入1個字節(jié)的數(shù)據(jù),當數(shù)據(jù)長度大于等于31字節(jié)產(chǎn)生FULL中斷,CPU從RAM讀取31個字節(jié)數(shù)據(jù)并把CPU_ACK置1,直到產(chǎn)生EOF幀尾中斷(若幀長度小于31字節(jié)則只產(chǎn)生幀尾中斷),CPU從RAM讀取剩余數(shù)據(jù)并把CPU_ACK再置1,狀態(tài)機恢復到空閑。HDLC接收控制器狀態(tài)轉換如圖6所示。
圖6 HDLC接收控制器狀態(tài)機
(3)曼徹斯特編解碼模塊
曼徹斯特編解碼模塊具有同步HDLC幀與WTB幀,和對數(shù)據(jù)進行曼徹斯特編碼和解碼。幀同步是通過程序中的移位寄存器暫時存放HDLC數(shù)據(jù)并與WTB曼徹斯特編碼模塊進行信號交互來實現(xiàn)。幀同步的狀態(tài)轉換如圖7所示。曼徹斯特編碼模塊生成WTB幀32 bits幀頭、2 bits終止分界符,及HDLC數(shù)據(jù)的曼徹斯特編碼;曼徹斯特解碼模塊用來識別WTB幀頭幀尾并將其刪除,同時對數(shù)據(jù)進行曼徹斯特解碼。
圖7 幀同步狀態(tài)機
根據(jù)上面所描述的方法,采用自頂向下的設計理念,使用VHDL硬件描述語言和ISE14.7開發(fā)工具,仿真綜合實現(xiàn)并下載到FPGA芯片(FPGA仿真如圖8所示,從圖中可以看出,CPU發(fā)送數(shù)據(jù)為0x1f,接收數(shù)據(jù)為0x1f,接收與發(fā)送數(shù)據(jù)相同),使用ChipScope軟件監(jiān)測波形如圖9所示。
圖8 功能仿真
圖9 WTB幀波形
圖9中,RxClk是接收時鐘,Tx是HDLC數(shù)據(jù)幀,MAIN_OUT為WTB數(shù)據(jù)幀,幀頭32 bits,這里以HDLC數(shù)據(jù)是0x1,1個字節(jié)為例。分析WTB波形,與標準要求一致。圖10、圖11是通過示波器監(jiān)測的實際波形,符合WTB一致性要求。通過TCN分析儀多次長時間測試,所設計的WTBC編解碼器能夠被分析儀很好地識別,不存在丟幀和錯幀(如圖12、圖13所示),符合IEC 61375標準規(guī)定。
圖10 測試波形(WTB幀頭)
圖11 測試波形(WTB幀)
圖12 TCN分析儀測試結果
WTB一致性測試檢驗依據(jù)是GB/T 28029.2-2011《列車通信網(wǎng)絡一致性測試》,檢驗項目包括WTB設備節(jié)點的插入損失測試,WTB設備中間設置的輸入阻抗測試,WTB設備發(fā)送器測試,WTB設備發(fā)送器幀尾測試,WTB設備發(fā)送器噪聲測試,WTB設備發(fā)送器容錯測試,WTB設備接收器測試,WTB鏈路層接口測試和穩(wěn)定性測試。檢驗項目全部測試通過,B線發(fā)送幀尾測試如圖14所示。
(1)網(wǎng)關發(fā)送幀尾,輸出信號第一次達到1.100 V電平之后20.0 μs后的波動范圍-B線
(2)網(wǎng)關發(fā)送幀尾,輸出信號第一次達到1.100 V電平之后64.0 μs后的波動范圍-B線
該WTBC編解碼器已應用于某型動車組WTB重聯(lián)網(wǎng)關,并通過了與其他廠家網(wǎng)關的互聯(lián)互通測試,實現(xiàn)不同廠家設備的互控。為了驗證重聯(lián)網(wǎng)關WTBC編解碼器功能和可靠性,在某型動車組列車進行通信試驗,試驗拓撲如圖15所示,TCN網(wǎng)絡分析儀串聯(lián)在主從控車中間(以測試線路B為例),在動車組運行過程中監(jiān)測WTB通信數(shù)據(jù)。在監(jiān)測期間,未發(fā)生WTB初運行,WTB通信正常。
圖14 WTB一致性測試
圖15 測試拓撲圖
WTBC編解碼器是重聯(lián)網(wǎng)關的重要組成部分,數(shù)據(jù)格式符合IEC 61375的要求,目前已應用于某型動車組上。實踐結果表明,帶有該WTBC編解碼器的重聯(lián)網(wǎng)關能夠和其他廠家網(wǎng)關互聯(lián)互通,并通過運營考核,可靠性高。