何曄 陳健 楊楠 陳翔 鄭少彬
摘要:針對(duì)列車三取二邏輯控制單元產(chǎn)品采用控制器局域網(wǎng)絡(luò)進(jìn)行內(nèi)部、外部通信,產(chǎn)生大量通信過程數(shù)據(jù)的情況,分析了CAN總線質(zhì)量對(duì)通信數(shù)據(jù)可能造成的干擾,提出一種更高效的CAN通信智能監(jiān)測(cè)方法。目前經(jīng)過測(cè)試,該三取二LCU系統(tǒng)已示范應(yīng)用于廣州市軌道交通二十一號(hào)線兩列車,應(yīng)用情況良好。
關(guān)鍵詞:城軌列車;三取二邏輯控制單元;CAN通信數(shù)據(jù)測(cè)試技術(shù);機(jī)器學(xué)習(xí)
0 ? ?引言
城軌列車三取二LCU為實(shí)時(shí)同步控制系統(tǒng),各模塊間通過控制器局域網(wǎng)絡(luò)(CAN)進(jìn)行數(shù)據(jù)共享,這些數(shù)據(jù)的通信質(zhì)量直接關(guān)系到LCU系統(tǒng)運(yùn)行的正確性和穩(wěn)定性。LCU的存儲(chǔ)模塊,由于存儲(chǔ)空間限制,只能記錄LCU輸入、輸出、故障等關(guān)鍵數(shù)據(jù),不能對(duì)系統(tǒng)整體協(xié)議做出符合性檢測(cè)。人工分析雖然能夠在明確目標(biāo)時(shí)針對(duì)性找出錯(cuò)誤,但針對(duì)海量報(bào)文會(huì)耗費(fèi)大量人力和時(shí)間。同時(shí),LCU在不同配置下會(huì)產(chǎn)生不同報(bào)文,人工分析不具備經(jīng)濟(jì)可行性。軟件應(yīng)能自動(dòng)、實(shí)時(shí)監(jiān)測(cè)通信報(bào)文,識(shí)別出與協(xié)議不符的報(bào)文、錯(cuò)包、重包、亂序、篡改等錯(cuò)誤,解決人工分析重復(fù)性、準(zhǔn)確性、適應(yīng)性差,效率低等問題。
1 ? ?通信架構(gòu)與CAN通信報(bào)文設(shè)計(jì)思想
三取二LCU包含三類通信總線:級(jí)聯(lián)CAN總線、組間CAN總線、組內(nèi)CAN總線。級(jí)聯(lián)CAN總線用于多個(gè)LCU間數(shù)據(jù)通信;組間CAN總線用于單臺(tái)LCU內(nèi)部主控板、IO板、CAN板、MVB板不同功能板卡間數(shù)據(jù)通信;組內(nèi)CAN總線用于LCU同組功能板卡間通信。
為防止通信報(bào)文在通信過程中發(fā)生重復(fù)、刪除、插入、重排序、損壞、延時(shí)錯(cuò)誤,影響LCU功能和性能,三取二LCU級(jí)聯(lián)CAN、組間CAN、組內(nèi)CAN通信協(xié)議均采用了序列號(hào)、報(bào)文校驗(yàn)、超時(shí)識(shí)別等防護(hù)措施。
2 ? ?通信智能監(jiān)測(cè)軟件架構(gòu)
三取二LCU CAN通信智能監(jiān)測(cè)軟件按功能分為通信報(bào)文采集處理模塊、通信報(bào)文智能分析模塊、UI模塊。配合軟件工作的外部設(shè)備還包括CAN通信終端。
2.1 ? ?通信報(bào)文采集處理模塊
2.1.1 ? ?功能
智能監(jiān)測(cè)軟件可以連接三取二LCU級(jí)聯(lián)CAN總線、組間CAN總線、組內(nèi)CAN總線,智能識(shí)別和關(guān)聯(lián)相應(yīng)CAN總線。連接CAN通信終端后,智能監(jiān)測(cè)軟件根據(jù)配置數(shù)據(jù),自動(dòng)采集相應(yīng)報(bào)文,并將采集的報(bào)文按照采集到的時(shí)間先后順序存儲(chǔ),供智能分析模塊分析。
2.1.2 ? ?結(jié)構(gòu)
通信報(bào)文采集處理模塊分為CAN報(bào)文采集、CAN報(bào)文存儲(chǔ)。CAN報(bào)文采集通過連接到CAN總線的CAN通信終端接收CAN報(bào)文,并為CAN報(bào)文打時(shí)間戳。CAN報(bào)文存儲(chǔ)將CAN報(bào)文ID、報(bào)文數(shù)據(jù)、報(bào)文時(shí)間戳存儲(chǔ)到數(shù)據(jù)庫。
2.2 ? ?通信報(bào)文智能分析模塊
2.2.1 ? ?功能
三取二LCU根據(jù)應(yīng)用場景不同,其配置的IO板組數(shù)存在差異,不同配置的LCU在級(jí)聯(lián)CAN、組間CAN、組內(nèi)CAN的通信報(bào)文的時(shí)間間隔、報(bào)文ID、報(bào)文數(shù)據(jù)量會(huì)產(chǎn)生較大差異。三取二LCU CAN通信智能監(jiān)測(cè)軟件通過智能學(xué)習(xí),以CAN通信協(xié)議為基準(zhǔn),從LCU被測(cè)CAN總線采集的訓(xùn)練報(bào)文樣本為輸入,智能生成CAN總線通信模型,比如各報(bào)文期望間隔、數(shù)據(jù)期望內(nèi)容等,供對(duì)應(yīng)LCU的該CAN總線通信海量數(shù)據(jù)分析使用。
離線分析:先將采集的通信報(bào)文存儲(chǔ)起來,智能分析系統(tǒng)不與LCU聯(lián)機(jī)的情況下,分析存儲(chǔ)的通信報(bào)文。離線模式常用于LCU在地鐵車輛運(yùn)行、環(huán)境試驗(yàn)等不方便實(shí)時(shí)監(jiān)控的時(shí)候。
2.2.2 ? ?智能學(xué)習(xí)模塊
智能學(xué)習(xí)模塊通過逐條提取CAN報(bào)文學(xué)習(xí)樣本中的CAN ID加數(shù)據(jù)內(nèi)容,去除重復(fù)部分后,將該條CAN報(bào)文ID與CAN通信協(xié)議中的ID對(duì)比,當(dāng)ID合法時(shí),產(chǎn)生CAN通信期望周期,并將CAN ID、數(shù)據(jù)內(nèi)容、期望周期輸出至智能監(jiān)測(cè)模塊數(shù)據(jù)期望區(qū)。當(dāng)ID非法時(shí),向UI模塊輸出錯(cuò)誤。如此循環(huán),直至完成CAN總線報(bào)文學(xué)習(xí)樣本解析。
2.2.3 ? ?數(shù)據(jù)分析模塊
當(dāng)數(shù)據(jù)分析模塊接收到來自智能學(xué)習(xí)模塊的允許運(yùn)行通知及開始分析指令后,開始從最舊一個(gè)待分析CAN總線數(shù)據(jù)存儲(chǔ)文件進(jìn)行分析。分析開始后,首先進(jìn)行本文件異常ID剔除。對(duì)比來自智能學(xué)習(xí)模塊輸出的數(shù)據(jù)期望區(qū)期望CAN ID與待分析文件所有CAN ID,如果發(fā)現(xiàn)不一致,則將存在不一致的CAN ID報(bào)文全部內(nèi)容輸出至UI模塊。
2.3 ? ?UI模塊
監(jiān)測(cè)結(jié)果輸出用于持續(xù)監(jiān)測(cè)數(shù)據(jù)分析模塊是否有異常數(shù)據(jù)報(bào)告,這些報(bào)告包括:樣本中存在非法ID、被分析文件中CAN ID與期望不一致、被分析文件中數(shù)據(jù)內(nèi)容與期望不一致、被分析文件中數(shù)據(jù)周期與期望不一致等。同時(shí)報(bào)文CAN ID、接收時(shí)間、數(shù)據(jù)區(qū)數(shù)據(jù)內(nèi)容將作為唯一特征被一并記錄。這些數(shù)據(jù)將被實(shí)時(shí)顯示、刷新,并記錄在一個(gè)日志文件中,以備后續(xù)數(shù)據(jù)異常原因排查。
3 ? ?三取二LCU CAN通信智能監(jiān)測(cè)軟件對(duì)通信異常驗(yàn)證測(cè)試
根據(jù)對(duì)CAN通信波形分析,如圖1所示,箭頭處CAN通信差分信號(hào)在高電平期間應(yīng)持續(xù)為1,但波形產(chǎn)生了畸變。該幀CAN報(bào)文由于數(shù)據(jù)區(qū)與校驗(yàn)區(qū)不一致,導(dǎo)致CRC校驗(yàn)錯(cuò)誤,產(chǎn)生重發(fā)或丟幀現(xiàn)象。
類似地,下方CRC校驗(yàn)因波形異常影響采樣點(diǎn),導(dǎo)致校驗(yàn)失敗。同樣在監(jiān)測(cè)時(shí)發(fā)現(xiàn)CAN報(bào)文丟幀現(xiàn)象。CAN通信波形異常導(dǎo)致的錯(cuò)誤,會(huì)體現(xiàn)在通信成功率上,若造成校驗(yàn)錯(cuò)誤,可能導(dǎo)致CAN通信丟幀。當(dāng)CAN通信接收終端采樣點(diǎn)處受到的干擾在同一幀報(bào)文多個(gè)波形處達(dá)到一定數(shù)量和幅度時(shí),該幀CAN報(bào)文可能由于數(shù)據(jù)區(qū)與校驗(yàn)區(qū)同時(shí)受干擾,導(dǎo)致CRC校驗(yàn)異常通過,將產(chǎn)生CAN報(bào)文數(shù)據(jù)跳變,通過監(jiān)測(cè)軟件測(cè)試,該異常表現(xiàn)為報(bào)文數(shù)據(jù)異常。
對(duì)報(bào)文數(shù)據(jù)異常的設(shè)備進(jìn)行眼圖測(cè)試,發(fā)現(xiàn)CAN通信上升沿、下降沿散亂,影響采樣點(diǎn),其表現(xiàn)為CAN通信波形眼圖不收斂,長時(shí)間監(jiān)測(cè)仍然離散形態(tài)。在較高總線負(fù)載下,易導(dǎo)致CAN通信丟幀、數(shù)據(jù)跳變等問題。
眼圖不收斂的現(xiàn)象經(jīng)過充分調(diào)測(cè),CAN通信波形眼圖可表現(xiàn)為清晰、收斂。相同環(huán)境下運(yùn)行測(cè)試,其長時(shí)間監(jiān)測(cè)丟包率等于0。同時(shí)通過智能監(jiān)測(cè)軟件再次測(cè)試,丟幀、數(shù)據(jù)跳變現(xiàn)象不再出現(xiàn)。
4 ? ?結(jié)語
本文針對(duì)城軌列車三取二LCU提出一種更高效、更準(zhǔn)確的CAN數(shù)據(jù)監(jiān)測(cè)分析方法——基于軟件智能學(xué)習(xí)的CAN通信智能監(jiān)測(cè)軟件。通過學(xué)習(xí)、提取樣本報(bào)文,實(shí)現(xiàn)快速、低成本的對(duì)CAN通信報(bào)文的監(jiān)測(cè),提升了三取二LCU在單板測(cè)試、集成測(cè)試、裝車聯(lián)調(diào)、初期運(yùn)營等不同運(yùn)用、調(diào)測(cè)階段定位和排除CAN通信問題的效率。
[參考文獻(xiàn)]
[1] 鄭玄,何曄,蘇釗頤,等.城軌列車三取二邏輯控制單元設(shè)計(jì)[J].電力機(jī)車與城軌車輛,2019,42(6):21-23.
[2] 呂強(qiáng).地鐵列車LCU系統(tǒng)技術(shù)發(fā)展與應(yīng)用[J].科技創(chuàng)新導(dǎo)報(bào),2016,13(28):1-2.
[3] 王肅伏.地鐵車輛無觸點(diǎn)邏輯控制單元的研制[J].中國鐵路,2014(8):109-112.
收稿日期:2020-08-03
作者簡介:何曄(1964—),男,廣東廣州人,教授級(jí)高工,研究方向:城市軌道交通車輛技術(shù)。