劉寅虎,魯進軍,蔡亮亮
(南京中車浦鎮海泰制動設備有限公司, 南京 211800)
隨著軌道交通的迅速發展,城軌車輛在生活中扮演越來越重要的角色,制動控制系統作為列車網絡的關鍵子系統,其可靠性是列車安全運行的基本保障[1]。國內地鐵車輛普遍采用微機控制的電氣指令式電控制動系統,控制網路傳輸大量的諸如車速、車重、制動級位、當前電制動力等制動信息。當系統發生故障時,列車只能采用純空氣制動,會造成運行的不穩定,甚至引發安全事故[2]。因此對列車制動系統進行實時狀態監控,及時消除安全隱患與故障,對列車的安全運行具有重要意義。
CAN 總線具有靈活的通信方式、快速的通信速率以及良好的糾錯檢錯能力,在軌道交通方面已被大量應用于制動、空調、門控及牽引控制中[3]。在地鐵列車中,電子制動控制單元(EBCU)是制動系統的核心部件,主要實現制動力計算、制動控制、故障診斷、網絡通信等功能,各個EBCU之間的相互通信利用CAN 總線完成[4]。
在對CAN 總線常見故障的研究基礎上,采用基于數據驅動的機器學習方法,對制動系統CAN總線進行實時監測與健康管理,可以提前預警網絡故障,及時發現網絡性能退化,將原來的定期檢修上升為狀態檢修,既能夠節省運營維護成本,還能提高城軌車輛智能化水平,最大程度的避免出現故障,保證列車安全運行[5-6]。對CAN 總線的健康管理需要大量的運行數據(包括正常狀態與故障狀態),設計了一種數據采集裝置,能夠實現CAN 總線物理波形的采集并進行相關分析,也為以后的機器學習提供數據基礎。
各個EBCU 之間的信息傳輸通過CAN 總線完成,其網絡拓撲圖如圖1 所示。通常來講,每節車輛都應配備1 個ECBU,因此可根據列車的數量來設置CAN 總線的連接[6]。

圖1 制動控制系統網絡示意圖
在CAN 總線的實際通信中,造成通信故障的原因是多樣性的。斷路和短路故障由于故障現象明顯易于診斷,而介質性能退化、網絡阻抗不匹配、間歇性連接故障和接地故障等4 類故障因其故障現象不明顯、故障表現間歇性出現等原因,在檢修維護中不易于發現[7]。4 類不易于檢測的故障有:
(1)介質退化。振動和安裝不當會改變電纜的電阻、電感和電容等電子特性。盡管退化的電纜可能不會立即影響網絡通信,但將影響到通信信號的質量,使系統易受外界干擾。
(2)網絡阻抗不匹配。ISO 11898 協議規定,在網絡的每個終端都需要1 個120 Ω 的電阻。然而,由于人為因素造成錯誤設置,使網絡中會2 個以上或以下的電阻器。終端電阻減少會降低網絡對噪聲的魯棒性,過多的電阻可能產生信號反射問題,干擾原信號。
(3)間歇性連接故障。間歇性連接是工業網絡中最常見、最麻煩的故障模式之一。通常發生在現場設備與網絡中繼器或分支電纜的連接中,由于外部因素,使得這些連接出現故障,使得設備與網絡之間通信出錯,甚至通信中斷。
(4)接地問題:當系統不正確接地時,外部干擾會影響網絡通信。例如在汽車制造中,系統會受到繼電器、焊接設備等環境的高度電磁干擾。但接地問題可以通過測量屏蔽電纜上對地電壓與電流來識別,即物理波形中CAN_H 和CAN_L 的電平突變進行判斷。
文中所設計的CAN 數據采集裝置整體硬件結構如圖2 所示。CAN 數據采集與信號分析裝置要實現的設計功能包括實現CAN 總線數據的解析、CAN 總線波形的采集,并通過USB 接口對2 部分數據進行存儲上傳,然后由上位機軟件對上傳數據進行收集和分析、處理,最終達到對CAN 總線的故障預測和定位功能。

圖2 CAN 數據采集裝置硬件結構圖
CAN 數據采集與信號分析板卡的整體硬件方案設計,包括以FPGA 為核心的最小系統、基于高速AD 芯片的波形采集模塊、以STM32 為核心的CAN 總線數據解析模塊、以USB 控制芯片為基礎的高速數據傳輸模塊等組成。在硬件結構中,以FPGA 為核心的最小系統用來滿足數據采集與分析的基本要求,包括供電電路、時鐘電路、配置電路與基本的輸入輸出電路。基于高速AD 芯片的波形采集模塊負責完成模數轉換,還原模擬信號中的數字量,能夠更精準的還原物理波形。以STM32 為核心的數據解析模塊負責完成CAN 報文的解析,通過C 語言程序解析得到CAN 的幀報文數據,并通過SPI 接口與FPGA 通信。基于USB控制芯片的高速數據傳輸模塊負責完成在FPGA與上位機之間高性能數據傳輸。
此次設計需要具備虛擬示波器功能、CAN 總線協議解析功能、單片機通信功能。基于設計要求,FPGA 選 擇Altera 公 司 的Cyclone III 系 列 的EP3C25F324I7 為核心芯片,該芯片作為Altera 公司的第3 代芯片,可以滿足本設計的基本需求,同時能夠留出足夠的空間以備后續功能的拓展,也降低了成本,FPGA 的最小系統的設計主要包含時鐘電路、電源電路與配置電路。
高速AD 采樣電路是CAN 數據采集與信號分析板卡的核心部分。作為根據奈奎斯特采樣定理,在進行模數轉換時,采樣頻率大于采樣信號中的最高頻率的2 倍,就可以實現采樣后的數字信號保留原先的信息。然而在實際應用中,為了能夠精準的還原物理波形,采樣頻率應在采樣信號的5倍 以 上[8]。地 鐵 列 車EBCU 的CAN 總 線 速 率 為250 kbit/s 和125 kbit/s 2 種速率,根據測試,當采樣頻率為10 MHz 時,便能夠符合要求。因此,設計中AD 芯片選用ADI 公司的AD9287,其具有4 通道、100 MSPS 最高采樣速率與串行LVDS 輸出。
為確保AD 采樣的精度要求,AD 芯片的采樣時鐘要盡可能精確,同時為了使采樣頻率可調,此設計采用外加鎖相環芯片的方式提供時鐘。時鐘電路采用高頻鎖相芯片ADF4360-9,該芯片集成了VCO(壓控振蕩器),利用外加電感設置其中心頻率,VCO 輸出頻率范圍在65~400 MHz 之間,同時它帶有1 個附加分頻器,允許對VCO 信號進行分頻。鎖相環時鐘的電路設計如圖3 所示。

圖3 鎖相環電路圖
鎖相環時鐘的輸出級電路采用串聯電感至VVCO能夠為輸出時鐘提供更多功率,同時串接LC諧振電路,更好地過濾掉二次諧波。AD 采樣部分電路設計如圖4 所示。CAN 信號經過差分衰減器后進入AD 芯片,由鎖相環芯片輸出時鐘控制AD芯片的采樣,AD 采集數據后,經LVDS 數據線傳至FPGA,同時FPGA 也通過SPI 控制線控制鎖相環與AD 芯片。

圖4 AD 采樣部分電路結構圖
通用串行總線(USB)由于其配置簡單、操作方便,已經成為PC 連接外圍設備的首選方式[9]。設計采用了Cypress 的EZ-USB FX2LP 系列的CY7C68013A 芯片,主要包含:工業級標準的8051內核、集成USB2.0 收發器、FIFO 存儲器、雙口RAM 與 通 用I/O 接 口。
CAN 信號分析電路采取了STM32+TJA1050的組合電路實現對CAN 報文的解析,通過C 語言編程解析得到CAN 的幀報文數據。STM32 芯片選擇STM32F103C8T6,通過CAN2.0 接口接收數據,由SPI 接口實現對FPGA 的通信[10]。
CAN 總線數據采集裝置的軟件功能有FPGA功能與USB 功能2 部分。其中,FPGA 的功能有AD 數據采集與存儲、STM32 數據處理、數據上傳模塊等;USB 功能為上位機與FPGA 之間數據傳輸。
FPGA 功能模塊如圖5 所示,主要包含頂層例化模塊、FIFO_MEM 存儲模塊、輸入輸出控制模塊、讀RAM 模 塊、SPI 模 塊、寫RAM 模 塊 和AD 控制模塊。設計中采用FPGA 內部的嵌入式存儲單元對AD 采樣數據進行存儲,并通過指針對存儲數據進行轉發,與USB 共同完成FIFO 功能。FPGA內部存儲單元可以用來生成單口或雙口RAM、先進先出緩存單元(FIFO)等,且支持高達250 MHz的操作時鐘。讀/寫使能模塊是實現使RAM 功能可靠實現的關鍵程序,是AD 數據轉發控制的主體部分,因此對讀/寫使能需要進行單獨的控制。

圖5 FPGA 功能模塊
采樣數據通過異步FIFO 方式進行讀寫,該功能的實現需要用到雙口RAM。由于該裝置中數據為單向流通,即由AD 輸入RAM,再由RAM 輸出到USB,不存在反向傳輸,故基本的雙口RAM 便可實現。在代碼編寫中,讀寫信號均為高信號有效,在寫信號有效時,在時鐘的上升沿將總線上的數據寫入RAM 相應地址中,當讀信號有效時,同樣在上升沿將RAM 對應地址內的數據進行輸出。因此,只要根據寫滿與讀空狀態控制寫與讀信號,便可通過雙口RAM 實現異步FIFO。
采集到CAN 總線上的物理波形后,通過STM32 解析得到數據幀,再由FPGA 傳送至上位機,STM32 與FPGA 之間的通信采用了SPI 通信模式。此設計將FPGA 作為主設備,STM32 作為從設備。在FPGA 中設計了串行時鐘與片選信號,將接受到從設備的數據轉發到主機。為滿足SPI 接口的速率要求,設計中對系統時鐘進行了6 分頻,以4 MHz 的串行時鐘控制從設備。而數據的轉發與接收通過狀態機實現,其SPI 控制狀態機如圖6所示。

圖6 SPI 控制狀態機
由于AD 芯片自帶寄存器可對其功能進行設置,例如功耗模式、失調、測試I/O、輸出模式、輸出相位等。設計中采用了AD 芯片的默認設置,只預留了SPI 的配置接口,沒有進行編程控制,如需設置擴展功能,可進行二次開發。AD 芯片采用4 通道的輸入與輸出,且共用1 個采樣時鐘,輸出4 路LVDS 信號,同時共用1 路幀時鐘輸出LVDS 信號和1 路位時鐘LVDS 信號,其時序圖如圖7 所示。

圖7 AD9287 輸出時序圖
AD 在采樣時鐘的上升沿采樣,每一點的數據用8 bits 二進制碼表示,數據輸出采用雙倍數據速率,即在輸出位時鐘的上升沿和下降沿均輸出1 個二進制數據,因此輸出位時鐘速率為采樣時鐘的4倍,輸出幀時鐘速率等于采樣時鐘。對LVDS 串行數據的處理通過FPGA 的IP 核自動將串行數據解串為8 位的并行數據,通過片內PLL 生成的時鐘對各個數據存儲和輸出模塊進行頻率和相位控制完成。
由于該LVDS 模塊只有1 個位時鐘輸入,故其本身無法實現字對齊功能。依據其工作原理:在位時鐘的上升沿開始采集輸入引腳上的串行數據,隨后在時鐘的上升沿和下降沿都會進行數據采集,并在每個輸入時鐘的上升沿輸出一個8 位寬的數據,該數據由此前8 位串行數據解串而得。故在設計中,每個幀時鐘周期內,LVDS 模塊輸出4個不同的并行數據,其中只有1 個為期望的正確數據,甚至這4 個數據都不是正確的數據。通過控制幀時鐘FCO 的相位來選擇LVDS 輸出的4 個數據,若該4 個數據均不正確,則需要控制輸入LVDS 模塊的位時鐘DCO 的相位。由于該模塊只在DCO的上升沿輸出一次數據,故將DCO 的相位進行180°移相后,即可獲得另一組(4 個)輸出數據,通過對2 個時鐘的相位控制,能夠獲得8 種解串得到的并行數據,其中必有一組為所需的正確數據。
為了確保采樣精度,由鎖相環控制器提供串行時鐘,鎖相環控制器同樣采用SPI 通信方式。但只需對R 計數寄存器、控制寄存器和N 計數寄存器進行配置即可,利用Quarters 中的定時器便能完成,如圖8 所示。

圖8 鎖相環控制器時序
在硬件與軟件都設計完成后,就要對整個裝置的功能進行整體測試,通過下位機采集CAN 總線上的物理波形,再由上位機完成數據接收與波形還原。
ADC 的前級衰減電路的功能是對差分信號進行衰減,以滿足ADC 的2 VP-P 的輸入范圍要求。考慮到故障對差分信號的影響在此對信號進行了5 倍的衰減,即幅值為原信號的五分之一,前級衰減電路波形如圖9 所示。

圖9 前級衰減電路功能實現
AD 采樣電路第一路輸出測試信號如圖10 所示,采樣時鐘為20 MHz,則AD 輸出序列是50 ns 為周期的完全相同的循環輸出,每一周期內第1 位為高電平,后7 位為連續的低電平,因此ADC 的輸出完全正確,與設計相一致。

圖10 AD 輸出測試信號
總線正常運行時,上位機采集到的一幀正常波形如圖11(a)所示,對應的示波器采集的同幀波形如圖11(b)所示。可以看出,上位機較為精確地采集到了幀數據的波形,沒有出現位錯誤或幀錯誤。但受限于采樣頻率,波形細節不如示波器準確,波形會出現微小的抖動,且在上升沿和下降沿會有階梯形變化。

圖11 上位機與示波器采集波形對比
除了能夠采集正常運行時的波形外,該裝置還需采集故障狀態下的物理波形,文中進行了故障試驗,在CAN_H 總線注入100 Ω 電阻。上位機采集的故障波形如圖12(a)所示,示波器采集到的波形如圖12(b)所示。由圖可得,上位機比較精準地采集到了故障波形,正確反映了幀信息,電壓幅值因串聯電阻被拉低到了1 V 左右,而應答位是在總線上其他節點收到幀信息后回復的顯性位電平疊加而得,故不受故障影響,仍然維持在3 V 左右,上位機也準確地采集到了該信息。

圖12 故障時上位機與示波器采集波形對比
通過對整個系統的功能測試,該裝置正常運行與故障運行2 種情況下均能準確地采集到CAN總線上傳輸的物理波形,符合預期的功能要求。
去除一個終端電阻情況下采集到的CAN 總線數據幀一個顯性位和一個隱性位的物理波形細節如圖13 所示,可以看出采用文中設計的CAN 總線高速數據采集板卡能夠準確還原信號波形的細節信息。

圖13 顯性位和隱性位物理波形細節
上位機物理波形還原與特征提取界面如圖14所示,文中設計的CAN 總線數據采集裝置,可以準確還原CAN 總線信號物理波形,能夠滿足一致性測試要求。上位機提取物理波形特征,為CAN 總線健康狀態評估和故障診斷提供了數據支持。

圖14 上位機物理波形還原與特征提取界面
制動系統的可靠運行關系到城軌車輛安全運行,其中多個電子制動控制單元的相互通信由CAN 總線完成,因此對列車制動系統中CAN 總線進行狀態監測具有重要意義。文中針對制動控制網絡的CAN 總線設計了一種數據采集與分析裝置,闡述了數據采集裝置的硬件與軟件設計方案,最后在實驗室環境下進行了測試。測試結果表明,文中設計的CAN 總線數據采集板卡能夠有效地采集到在正常與故障2 種運行狀態下的物理波形,為之后利用機器學習對通信網絡進行健康管理提供了數據基礎。