<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線(xiàn)的機(jī)車(chē)實(shí)時(shí)監(jiān)控系統(tǒng)

          基于CAN總線(xiàn)的機(jī)車(chē)實(shí)時(shí)監(jiān)控系統(tǒng)

          作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言

          本文引用地址:http://www.ex-cimer.com/article/201609/303363.htm

          傳統(tǒng)監(jiān)控裝置通過(guò)轉(zhuǎn)存將運(yùn)行過(guò)程中所記錄的數(shù)據(jù)轉(zhuǎn)存到地面二次開(kāi)發(fā)平臺(tái),在地面進(jìn)行運(yùn)行數(shù)據(jù)分析和故障診斷,這樣的檢測(cè)設(shè)備實(shí)時(shí)性不強(qiáng),不能實(shí)時(shí)監(jiān)測(cè)機(jī)車(chē)的運(yùn)行狀態(tài);隨著鐵路信息化數(shù)字化的發(fā)展,提出了機(jī)車(chē)在線(xiàn)以及機(jī)車(chē)檢修應(yīng)向狀態(tài)修發(fā)展。近年來(lái)國(guó)內(nèi)現(xiàn)場(chǎng)總線(xiàn)技術(shù)的成熟和不斷發(fā)展以及移動(dòng)通信 gprs(通用分組無(wú)線(xiàn)業(yè)務(wù)general packet radioservice)的無(wú)線(xiàn)數(shù)據(jù)傳輸業(yè)務(wù)的成熟,使機(jī)車(chē)車(chē)輛的實(shí)時(shí)監(jiān)測(cè)成為可能。為此,筆者根據(jù)自己實(shí)踐,介紹一種基于 can(controller area network)總線(xiàn)的機(jī)車(chē)系統(tǒng)。系統(tǒng)通過(guò)gprs的短信息業(yè)務(wù),實(shí)現(xiàn)車(chē)載數(shù)據(jù)采集模塊與地面監(jiān)控系統(tǒng)的實(shí)時(shí)通信,實(shí)現(xiàn)地面監(jiān)控中心列車(chē) 運(yùn)行狀態(tài)。

          can總線(xiàn)是眾多現(xiàn)場(chǎng)總線(xiàn)標(biāo)準(zhǔn)之一,具有使用簡(jiǎn)單、性能可靠以及系統(tǒng)可擴(kuò)展性能好等優(yōu)點(diǎn)。can總線(xiàn)有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),采用短 報(bào)文幀及gsma/cd-amp(帶有信息優(yōu)先權(quán)及沖突檢測(cè)的載波監(jiān)聽(tīng)多路訪(fǎng)問(wèn))的mac(媒介訪(fǎng)問(wèn)控制)方式,在工業(yè)自動(dòng)控制化領(lǐng)域得到廣泛應(yīng)用。特別適用于做優(yōu)化、分析及維護(hù)的系統(tǒng)。90年代,國(guó)內(nèi)開(kāi)始對(duì)can總線(xiàn)應(yīng)用進(jìn)行研究,目前已在諸多領(lǐng)域中應(yīng)用can總線(xiàn)技術(shù)。

          2 基本原理

          圖1 機(jī)車(chē)監(jiān)控系統(tǒng)結(jié)構(gòu)圖

          圖1為機(jī)車(chē)實(shí)時(shí)監(jiān)控系統(tǒng)結(jié)構(gòu)圖。包括三個(gè)數(shù)據(jù)采集模塊、一個(gè)存貯發(fā)射模塊和地面監(jiān)控系統(tǒng)(地面系統(tǒng)部分圖中未示)。數(shù)據(jù)采集模塊負(fù)責(zé)采集牽引電機(jī)電樞電 壓、電樞電流、勵(lì)磁電流等重要模擬量數(shù)據(jù);各種風(fēng)機(jī)接觸器的開(kāi)閉狀態(tài)的開(kāi)關(guān)量;機(jī)車(chē)基本信息(包括機(jī)車(chē)速度、機(jī)車(chē)位置、機(jī)車(chē)車(chē)號(hào)等)數(shù)字編碼量。存貯發(fā)射 模塊負(fù)責(zé)各數(shù)據(jù)采集模塊的協(xié)調(diào)工作,通過(guò)gprs將各采集的數(shù)據(jù)發(fā)送到地面監(jiān)控系統(tǒng)。地面系統(tǒng)由pc機(jī)與gprs無(wú)線(xiàn)天線(xiàn)等模塊組成,通過(guò)gprs天線(xiàn)向 車(chē)載系統(tǒng)發(fā)送指令,指示車(chē)載模塊按地面要求進(jìn)行工作。地面系統(tǒng)同時(shí)接收存貯發(fā)射模塊發(fā)送來(lái)的現(xiàn)場(chǎng)數(shù)據(jù),數(shù)據(jù)按gprs的短信息業(yè)務(wù)格式發(fā)送接收。地面系統(tǒng) 軟件采用visual c++軟件編寫(xiě)。軟件使用友好人機(jī)對(duì)話(huà)界面實(shí)時(shí)顯示、跟蹤、監(jiān)控列車(chē)運(yùn)行狀態(tài),實(shí)現(xiàn)對(duì)機(jī)車(chē)實(shí)時(shí)在線(xiàn)故障檢測(cè)與診斷,機(jī)車(chē)出現(xiàn)故障時(shí),還可以及時(shí)向司機(jī)提供操作建議,在機(jī)車(chē)庫(kù)檢時(shí),系統(tǒng)還提供檢修指導(dǎo),限于篇幅所限本文將重點(diǎn)介紹車(chē)載部分。

          3 硬件結(jié)構(gòu)設(shè)計(jì)

          本系統(tǒng)是一個(gè)依照can2.0b構(gòu)建的控制局域網(wǎng)(controller area network),總線(xiàn)控制器采用philips公司p87c591微控器內(nèi)置的can控制器。p8xc591是一個(gè)單片8位高性能微控制器,具有片內(nèi) can控制器,采用強(qiáng)大的80c51指令集并成功的包括了半導(dǎo)體 sja1000 can控制器的pelican功能。can總線(xiàn)驅(qū)動(dòng)器采用與sja1000 can控制器相匹配的pca82c250,下位機(jī)和上位機(jī)通過(guò)canh、canl屏蔽雙絞線(xiàn)進(jìn)行雙向通信??偩€(xiàn)終端需跨接100ω~120ω電阻以抑制信 號(hào)反射,保證通信可靠性。雙絞線(xiàn)連接各個(gè)模塊節(jié)點(diǎn),形成多主控制的局域網(wǎng)。為增強(qiáng)can總線(xiàn)節(jié)點(diǎn)的抗干擾能力,p87c591的rxdc和txdc腳,通 過(guò)高速光耦6n173后與82c250相連,保證總線(xiàn)上各can節(jié)點(diǎn)間的電氣隔離,光耦部份電路所采用的兩個(gè)電源必須完全隔離。圖2為各節(jié)點(diǎn)和can總線(xiàn) 間的接口電路圖。

          圖2 can總線(xiàn)接口電路圖

          模擬量采集單元主要功能可以劃分為微處理器及其控制部分、can通訊接口部分、多路模擬量輸入通道選擇開(kāi)關(guān)、模數(shù)轉(zhuǎn)換芯片等。模擬量直接由機(jī)車(chē)微機(jī)柜內(nèi)引 入,信號(hào)在微機(jī)柜內(nèi)已調(diào)理成適合a/d轉(zhuǎn)換的電平。模擬量信號(hào)的采樣和量化工作由一片ads774完成。ads774是美國(guó)burr-brown公司生產(chǎn) 的12位逐次逼近并行a/d轉(zhuǎn)換器,典型轉(zhuǎn)換時(shí)間為8.5μs。選擇mcp506a作為16路信號(hào)通道轉(zhuǎn)換開(kāi)關(guān),分時(shí)對(duì)16路模擬信號(hào)采樣及a/d轉(zhuǎn)換。

          開(kāi)關(guān)量采集單元采集的信號(hào)均來(lái)自機(jī)車(chē)電氣控制柜,采集板需采用光電隔離,增強(qiáng)抗干擾能力,實(shí)現(xiàn)與采樣電路的電氣隔離。系統(tǒng)采用兩片8255a擴(kuò)展p0口以 對(duì)48路開(kāi)關(guān)信號(hào)采樣,兩片8255a的a,b,c口設(shè)定為模式0和輸入方式。四個(gè)模塊結(jié)構(gòu)基本相似,在此不一一綴述。

          存貯發(fā)射模塊包括:閃存、帶斷電保護(hù)的時(shí)鐘芯片ds12887以及gprs天線(xiàn)組成。閃存具有斷電后保存數(shù)據(jù)特點(diǎn),作為存放機(jī)車(chē)數(shù)據(jù)的黑匣子。gprs天 線(xiàn)和單片機(jī)通過(guò)rs-232相聯(lián)接,單片機(jī)通過(guò)讀寫(xiě)串行口實(shí)現(xiàn)和中國(guó)移動(dòng)網(wǎng)絡(luò)之間的數(shù)據(jù)接收和發(fā)送。用一片64kb的hm6264ram存儲(chǔ)有關(guān)控制信息 并作為與中國(guó)移動(dòng)網(wǎng)絡(luò)和存貯發(fā)射模塊的數(shù)據(jù)交換區(qū)。

          4 系統(tǒng)軟件設(shè)計(jì)

          4.1 can初始化子程序

          can控制器的初始化是系統(tǒng)設(shè)計(jì)工作中極為重要的部分,它是can總線(xiàn)正常工作的前提,關(guān)系整個(gè)車(chē)載系統(tǒng)能否正常工作,初始化工作既是一個(gè)重點(diǎn),也是一個(gè)難點(diǎn)。can通信初始化包括操作模式的設(shè)置、驗(yàn)收濾波器的設(shè)置、總線(xiàn)定時(shí)器的設(shè)置等。驗(yàn)收濾波器的設(shè)置決定了節(jié)點(diǎn)所接收的信息的格式;定時(shí)器設(shè)置確定 can總線(xiàn)數(shù)據(jù)傳輸波特率。80c51cpu接口將pelican與p87c591微控制器內(nèi)部總線(xiàn)相連,通過(guò)5個(gè)特殊功能寄存器canadr、 candat、canmod、cansta和cancon對(duì)pelican寄存器和ram區(qū)進(jìn)行快捷的訪(fǎng)問(wèn)。對(duì)can進(jìn)行初始化實(shí)際就是對(duì)以上5個(gè)特殊功 能寄存器的進(jìn)行讀寫(xiě)訪(fǎng)問(wèn)。以下是用c語(yǔ)言編寫(xiě)的初始化子程序代碼。

          void init_can(void)

          {

          canmod=0x01;

          //將can控制器設(shè)置為復(fù)位模式以啟動(dòng)初始化

          p1m2=p1m2|0x02;

          //p1m2.1=`1`,p1m1.1=`0`(默 認(rèn))

          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;

          //將地址設(shè)置到驗(yàn)收代碼寄存器0(bank1)

          candat=0x40; // 驗(yàn)收濾波代碼

          candat=0xe0; //驗(yàn)收濾波代碼

          canadr=amr10;


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();