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