基于CAN總線的機車實時監(jiān)控系統(tǒng)
1 引言
本文引用地址:http://m.butianyuan.cn/article/201609/303363.htm傳統(tǒng)機車監(jiān)控裝置通過轉存將機車運行過程中所記錄的數(shù)據(jù)轉存到地面二次開發(fā)平臺,在地面進行機車運行數(shù)據(jù)分析和故障診斷,這樣的檢測設備實時性不強,不能實時監(jiān)測機車的運行狀態(tài);隨著鐵路信息化數(shù)字化的發(fā)展,提出了機車在線實時監(jiān)控以及機車檢修應向狀態(tài)修發(fā)展。近年來國內現(xiàn)場總線技術的成熟和不斷發(fā)展以及移動通信 gprs(通用分組無線業(yè)務general packet radioservice)的無線數(shù)據(jù)傳輸業(yè)務的成熟,使機車車輛的實時監(jiān)測成為可能。為此,筆者根據(jù)自己實踐,介紹一種基于 can(controller area network)總線的機車實時監(jiān)控系統(tǒng)。系統(tǒng)通過gprs的短信息業(yè)務,實現(xiàn)車載數(shù)據(jù)采集模塊與地面監(jiān)控系統(tǒng)的實時通信,實現(xiàn)地面監(jiān)控中心實時監(jiān)控列車 運行狀態(tài)。
can總線是眾多現(xiàn)場總線標準之一,具有使用簡單、性能可靠以及系統(tǒng)可擴展性能好等優(yōu)點。can總線有效支持分布式控制或實時控制的串行通信網(wǎng)絡,采用短 報文幀及gsma/cd-amp(帶有信息優(yōu)先權及沖突檢測的載波監(jiān)聽多路訪問)的mac(媒介訪問控制)方式,在工業(yè)自動控制化領域得到廣泛應用。特別適用于做優(yōu)化、分析及維護的系統(tǒng)。90年代,國內開始對can總線應用進行研究,目前已在諸多領域中應用can總線技術。
2 基本原理

圖1 機車監(jiān)控系統(tǒng)結構圖
圖1為機車實時監(jiān)控系統(tǒng)結構圖。包括三個數(shù)據(jù)采集模塊、一個存貯發(fā)射模塊和地面監(jiān)控系統(tǒng)(地面系統(tǒng)部分圖中未示)。數(shù)據(jù)采集模塊負責采集牽引電機電樞電 壓、電樞電流、勵磁電流等重要模擬量數(shù)據(jù);各種風機接觸器的開閉狀態(tài)的開關量;機車基本信息(包括機車速度、機車位置、機車車號等)數(shù)字編碼量。存貯發(fā)射 模塊負責各數(shù)據(jù)采集模塊的協(xié)調工作,通過gprs將各采集的數(shù)據(jù)發(fā)送到地面監(jiān)控系統(tǒng)。地面系統(tǒng)由pc機與gprs無線天線等模塊組成,通過gprs天線向 車載系統(tǒng)發(fā)送指令,指示車載模塊按地面要求進行工作。地面系統(tǒng)同時接收存貯發(fā)射模塊發(fā)送來的現(xiàn)場數(shù)據(jù),數(shù)據(jù)按gprs的短信息業(yè)務格式發(fā)送接收。地面系統(tǒng) 軟件采用visual c++軟件編寫。軟件使用友好人機對話界面實時顯示、跟蹤、監(jiān)控列車運行狀態(tài),實現(xiàn)對機車實時在線故障檢測與診斷,機車出現(xiàn)故障時,還可以及時向司機提供操作建議,在機車庫檢時,系統(tǒng)還提供檢修指導,限于篇幅所限本文將重點介紹車載部分。
3 硬件結構設計
本系統(tǒng)是一個依照can2.0b構建的控制局域網(wǎng)(controller area network),總線控制器采用philips公司p87c591微控器內置的can控制器。p8xc591是一個單片8位高性能微控制器,具有片內 can控制器,采用強大的80c51指令集并成功的包括了半導體 sja1000 can控制器的pelican功能。can總線驅動器采用與sja1000 can控制器相匹配的pca82c250,下位機和上位機通過canh、canl屏蔽雙絞線進行雙向通信??偩€終端需跨接100ω~120ω電阻以抑制信 號反射,保證通信可靠性。雙絞線連接各個模塊節(jié)點,形成多主控制的局域網(wǎng)。為增強can總線節(jié)點的抗干擾能力,p87c591的rxdc和txdc腳,通 過高速光耦6n173后與82c250相連,保證總線上各can節(jié)點間的電氣隔離,光耦部份電路所采用的兩個電源必須完全隔離。圖2為各節(jié)點和can總線 間的接口電路圖。

圖2 can總線接口電路圖
模擬量采集單元主要功能可以劃分為微處理器及其控制部分、can通訊接口部分、多路模擬量輸入通道選擇開關、模數(shù)轉換芯片等。模擬量直接由機車微機柜內引 入,信號在微機柜內已調理成適合a/d轉換的電平。模擬量信號的采樣和量化工作由一片ads774完成。ads774是美國burr-brown公司生產(chǎn) 的12位逐次逼近并行a/d轉換器,典型轉換時間為8.5μs。選擇mcp506a作為16路信號通道轉換開關,分時對16路模擬信號采樣及a/d轉換。
開關量采集單元采集的信號均來自機車電氣控制柜,采集板需采用光電隔離,增強抗干擾能力,實現(xiàn)與采樣電路的電氣隔離。系統(tǒng)采用兩片8255a擴展p0口以 對48路開關信號采樣,兩片8255a的a,b,c口設定為模式0和輸入方式。四個模塊結構基本相似,在此不一一綴述。
存貯發(fā)射模塊包括:閃存、帶斷電保護的時鐘芯片ds12887以及gprs天線組成。閃存具有斷電后保存數(shù)據(jù)特點,作為存放機車數(shù)據(jù)的黑匣子。gprs天 線和單片機通過rs-232相聯(lián)接,單片機通過讀寫串行口實現(xiàn)和中國移動網(wǎng)絡之間的數(shù)據(jù)接收和發(fā)送。用一片64kb的hm6264ram存儲有關控制信息 并作為與中國移動網(wǎng)絡和存貯發(fā)射模塊的數(shù)據(jù)交換區(qū)。
4 系統(tǒng)軟件設計
4.1 can初始化子程序
can控制器的初始化是系統(tǒng)設計工作中極為重要的部分,它是can總線正常工作的前提,關系整個車載系統(tǒng)能否正常工作,初始化工作既是一個重點,也是一個難點。can通信初始化包括操作模式的設置、驗收濾波器的設置、總線定時器的設置等。驗收濾波器的設置決定了節(jié)點所接收的信息的格式;定時器設置確定 can總線數(shù)據(jù)傳輸波特率。80c51cpu接口將pelican與p87c591微控制器內部總線相連,通過5個特殊功能寄存器canadr、 candat、canmod、cansta和cancon對pelican寄存器和ram區(qū)進行快捷的訪問。對can進行初始化實際就是對以上5個特殊功 能寄存器的進行讀寫訪問。以下是用c語言編寫的初始化子程序代碼。
void init_can(void)
{
canmod=0x01;
//將can控制器設置為復位模式以啟動初始化
p1m2=p1m2|0x02;
//p1m2.1=`1`,p1m1.1=`0`(默 認)
canadr=btr0;
//btr0和btr1編程為125kbit/s@12mhz
candat=0x45;
canadr=btr1;
//tseg1=12,tseg2=3,sjw=2
candat=0x2b;
//sample=1->sample point~81%
canadr=acr10;
//將地址設置到驗收代碼寄存器0(bank1)
candat=0x40; // 驗收濾波代碼
candat=0xe0; //驗收濾波代碼
canadr=amr10;
評論