【摘要】分析了地鐵車輛級網絡結構,利用NI(美國國家儀器)硬件,自主開發CANopen應用層協議。測試效果表明總線通訊數據正常,未出現錯誤幀,誤碼率低,通訊質量好。
【關鍵詞】地鐵網絡;CANopen;Labview
一、概述
為提高主機廠系統集成能力和對部件供應商的控制能力,自主研發國產網絡控制系統。依托NI(美國國家儀器)公司強大的硬件實力,自主開發軟件,搭建有自主知識產權的網絡控制系統。
車輛級的網絡采用CANopen以及HDLC485,分別負擔不同的設備,這部分CANopen是在標準的CAN模塊上進行的二次開發,適應范圍相對更廣范。網絡拓撲結構見圖1:
本系統CANopen總線結構示意圖如圖1所示:
二、CANopen總線概述
CAN(Controller Area Network)現場總線僅僅定義了第1層、第2層(見ISO11898標準);實際設計中,這兩層完全由硬件實現,設計人員無需再為此開發相關軟件(Software)或固件(Firmware)。CANopen是在CAN基礎上開發的,使用了CAN通訊和服務協議子集,提供了分布式控制系統的一種實現方案。CANopen在保證網絡節點互用性的同時允許節點的功能隨意擴展。
CAN(Controller area network)最初是由德國BOSCH公司于1986年為解決現代汽車中眾多測量控制部件之間的數據交換問題而開發的一種串行數據通信總線。現已成為國際標準ISO11898(高速應用)和ISO11519(低速應用),獲得了非常廣泛的應用,CAN總線在列車通信中也得到了應用。CAN作為數字式串行通信技術,在可靠性、實時性和靈活性方面具有獨特的優勢。
三、CANopen總線系統設計
(一)系統硬件設計
系統硬件選用NI(美國國家儀器)公司的CompactRIO系列產品,質量可靠,振動沖擊和電磁兼容等參數均符合地鐵車輛應用的標準要求,可靠性高。控制器選用CompactRIO9074,其帶有8個擴展槽,用來擴展模塊。擴展模塊9853是專用的標準高速CAN模塊(包括兩路獨立的CAN接口),在CAN的基礎上自主開發CANopen系統。
NI CompactRIO是一款工業級嵌入式測控系統,集成了嵌入式實時(Real-time)控制器、可編程硬件邏輯(FPGA)和可重配置的I/O模塊。由于采用嵌入式設計,整個系統具有低功耗的優點,而創新的集成FPGA更使系統具備高速并行的運算能力。NI CompactRIO系統設計精巧而堅固,支持熱插拔的I/O模塊內置了信號調理和數模轉換電路,可直接與外部的傳感器/驅動器互聯。NI CompactRIO和Labview開發環境無縫連接是用戶可以輕松的通過圖形化開發環境訪問底層硬件,快速建立嵌入式系統控制和數據采集應用,可大大縮短設計系統原型的時間,降低系統開發、生產的技術風險。實時控制器和FPGA具備以下功能特點:
1.實時控制器(Real-Time Control,RT)
(1)內置主頻高達800M的微處理器和VxWorks實時操作系統;
(2)系統進程調度完全按照優先級進行,不會“死機”;
(3)系統確定性、可靠性高,循環周期抖動在微秒量級;
(4)可通過USB接口、SD存儲模塊或網絡硬盤等方式擴展數據存儲容量。
2.FPGA
(1)提供大容量的可編程邏輯陣列,40MHZ基準時鐘,可滿足復雜的高速并行處理要求;
(2)以25ns時間分辨率執行定時、觸發和自定義控制循環,實現高確定、高可靠性的硬件決策;
(3)FPGA直接與IO模塊互聯,可進行高速的數據采集、計算和控制操作PID控制速率高達200KHZ。
(二)系統軟件設計
系統軟件使用Labview編程實現。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標代替文本行創建應用程序的圖形化編程語言。傳統文本編程語言根據語句和指令的先后順序決定程序執行順序,而LabVIEW則采用數據流編程方式,程序框圖中節點之間的數據流向決定了VI及函數的執行順序。VI指虛擬儀器,是LabVIEW的程序模塊。
LabVIEW提供很多外觀與傳統儀器(如示波器、萬用表)類似的控件,可用來方便地創建用戶界面。用戶界面在LabVIEW中被稱為前面板。前面板創建完畢后,便可使用圖形化的函數添加源代碼來控制前面板上的對象。在程序框圖上添加圖形化代碼,即G代碼或程序框圖代碼。因此又被稱作程序框圖代碼。
軟件設計又分為FPGA編程和RT編程。由于FPGA的運行速度快,在FPGA上主要實現對CAN端口的讀寫和數據存儲工作;在RT上主要實現CANopen應用層的協議。
由于車輛上的子系統應用的是非標準的CANopen協議,根據給出的通訊規格書編寫軟件。軟件流程圖如圖2所示。
四、應用測試
(一)總線物理層測試
CAN總線節點的收發環節通過CAN-High(CANH)和CAN-Low(CANL)兩條線路被動的連接到總線電纜上。實際的數據傳輸采用具有良好干擾免疫性的差分電壓信號。在這個過程中,兩條總線電纜之間的電壓差被計算。為了表示總線上傳輸的數據,ISO1898中定義了兩個不同的差分電壓范圍,也就是隱形和顯性的總線等級。
由以上波形可以看出,總線電壓波形正常,電壓等級符合ISO1898標準。
(二)總線應用層測試
用以確定從站工作正常,通訊周期正常,總線干擾情況:
1.用CANalyzer記錄總線通訊數據
選取其中部分數據(如圖6所示)。
2.誤碼率測試
由CANalyzer分析總線數據得出:
由以上數據可以看出,總線通訊數據正常,未出現錯誤幀,誤碼率低,通訊狀態良好。
五、結束語
自主開發的CANopen總線能正常有效的工作,總線負載率低,總線干擾對通訊影響小,在測試期間未出現錯誤幀,總線運行狀態良好。
自主開發的CANopen總線有以下幾個優勢:
(1)靈活性高,可以與標準及非標準的CAN-open總線通訊,更能適用于現車實際情況(現車網絡系統的并不是標準CANopen總線),可以方便的與第三方非標準的CANopen接口連接。
(2)自主性高,可以及時快速的響應通訊協議內容改動,及時更新軟件版本。
參考文獻
[1]陳錫輝,張銀鴻.LabVIEW 8.20程序設計從入門到精通[M].清華大學出版社,2007.
[2]饒運濤.現場總線CAN原理與應用技術[M].北京航空航天大學出版社,2007.
[3]CIA,CANopen Application Layer and Communication Profile[M].1-312.
作者簡介:
尹法偉(1981—),男,山東青島人,大學本科,工程師,現供職于南車青島四方機車車輛股份有限公司。
王云飛(1982—),男,山東齊河人,碩士,工程師,現供職于南車青島四方機車車輛股份有限公司。
楊朝青(1983—),男,吉林長春人,大學本科,工程師,現供職于南車青島四方機車車輛股份有限公司。