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

          新聞中心

          EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > CAN總線在機(jī)車監(jiān)控系統(tǒng)中的應(yīng)用

          CAN總線在機(jī)車監(jiān)控系統(tǒng)中的應(yīng)用

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

          中的應(yīng)用

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

          以Philips公司的SJA1000為例,介紹了現(xiàn)場(chǎng)的特點(diǎn),控制器的功能、結(jié)構(gòu)和2.0B協(xié)議的基本內(nèi)容,闡述了一個(gè)基于CAN總線的火車,及其性能要求、系統(tǒng)硬件構(gòu)建、軟件設(shè)計(jì)思路和應(yīng)用結(jié)果,由此說(shuō)明CAN總線的優(yōu)點(diǎn)及其用于工業(yè)現(xiàn)場(chǎng)控制系統(tǒng)的一個(gè)通用設(shè)計(jì)過(guò)程。

          關(guān)鍵詞:CAN,現(xiàn)場(chǎng)總線,SJA1000初始化,系統(tǒng),信號(hào)檢測(cè),局域網(wǎng)

          1 引 言

          對(duì)火車機(jī)車監(jiān)控系統(tǒng)而言,數(shù)據(jù)測(cè)量/傳輸?shù)目焖傩?、?zhǔn)確性、可靠性、通訊的靈活性都是至關(guān)重要的。以前的機(jī)車數(shù)據(jù)監(jiān)控僅僅提供現(xiàn)場(chǎng)數(shù)據(jù)的顯示和報(bào)警,在各設(shè)備上加智能儀表,比較分散,不便于觀察機(jī)車運(yùn)行情況和進(jìn)行及時(shí)檢修,機(jī)車運(yùn)行數(shù)據(jù)也無(wú)法保存,而這些數(shù)據(jù)是查清機(jī)車故障原因和檢修的重要依據(jù);智能儀表的各種操作,如調(diào)零、限值、精度都因環(huán)境和人為因素,影響了簡(jiǎn)單儀表的顯示、報(bào)警功能,加之工作現(xiàn)場(chǎng)環(huán)境惡劣(高溫、震動(dòng)、電磁波輻射等),導(dǎo)致其實(shí)時(shí)性、準(zhǔn)確性都較差。隨著國(guó)內(nèi)現(xiàn)場(chǎng)總線技術(shù)的發(fā)展,有必要及時(shí)更新原來(lái)的檢測(cè)系統(tǒng)。

          機(jī)車監(jiān)控系統(tǒng)本身有幾十個(gè)數(shù)據(jù)采集節(jié)點(diǎn)(采用單片微機(jī)AT89C51),一個(gè)上位工控機(jī)負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和記錄,由于采集點(diǎn)多、采集頻率較高(20Hz),因此,總線上的數(shù)據(jù)通常比較擁擠,而系統(tǒng)對(duì)數(shù)據(jù)傳輸?shù)臏?zhǔn)確性、報(bào)警數(shù)據(jù)的實(shí)時(shí)性要求特別高,鑒于此,我們選擇CAN現(xiàn)場(chǎng)總線搭建數(shù)據(jù)平臺(tái),它兼具了靈活性、實(shí)時(shí)性、準(zhǔn)確性、可靠性各方面的優(yōu)勢(shì)。

          CAN是控制器局域網(wǎng)絡(luò)(Controller Area Net)的簡(jiǎn)稱,是80年代德國(guó)奔馳汽車公司制定的一種串行通訊協(xié)議,主要用于汽車多個(gè)控制設(shè)備和多個(gè)儀器儀表之間的數(shù)據(jù)通訊,鏈路層采用CAN2.0B協(xié)議?,F(xiàn)在,它已廣泛應(yīng)用于各種工業(yè)現(xiàn)場(chǎng),特別適用于做優(yōu)化、分析及維護(hù)的系統(tǒng)。90年代,國(guó)內(nèi)開(kāi)始對(duì)CAN總線應(yīng)用進(jìn)行研究,目前已在諸多領(lǐng)域中應(yīng)用CAN總線技術(shù)。

          本系統(tǒng)就是一個(gè)依照CAN2.0B構(gòu)建的局域網(wǎng),總線控制器采用德國(guó)Philips公司的SJA1000,驅(qū)動(dòng)器為與其匹配的PCA82C250,下位機(jī)和上位機(jī)通過(guò)CANH、CANL雙絞線進(jìn)行雙向通信。此系統(tǒng)的整個(gè)硬件結(jié)構(gòu)又可以作為CAN網(wǎng)絡(luò)的一個(gè)標(biāo)準(zhǔn)節(jié)點(diǎn),構(gòu)成樹(shù)狀網(wǎng)絡(luò),它是CAN總線系統(tǒng)的最小構(gòu)成和典型應(yīng)用。

          2 CAN總線特點(diǎn)簡(jiǎn)介

          CAN總線的最大特征就是,網(wǎng)絡(luò)內(nèi)各節(jié)點(diǎn)以多主方式工作,各節(jié)點(diǎn)在任意時(shí)刻都可以點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)向其他節(jié)點(diǎn)發(fā)送信息,不分主從,靈活性好。

          CAN總線上同時(shí)傳送的數(shù)據(jù)采用非破壞性仲裁,ID小的優(yōu)先傳送,低優(yōu)先級(jí)數(shù)據(jù)延遲發(fā)送,這對(duì)負(fù)載較重的網(wǎng)絡(luò)解決網(wǎng)絡(luò)癱瘓、網(wǎng)絡(luò)阻塞及提高效率很有效。

          CAN還有較強(qiáng)的校驗(yàn)功能,出錯(cuò)的數(shù)據(jù)自動(dòng)重新發(fā)送,可靠性很高。

          另外,CAN通訊介質(zhì)選擇雙絞線,機(jī)車現(xiàn)場(chǎng)空間狹窄,雙絞線的現(xiàn)場(chǎng)布線、安裝、拆卸都比較簡(jiǎn)單。最大通信距離長(zhǎng)達(dá)10km,比特率可達(dá)1Mbps(通信距離較大時(shí),比特率會(huì)有所降低),可同時(shí)傳送16個(gè)報(bào)文。Philips公司的SJA1000的工作溫度范圍:-40℃~+125℃,存儲(chǔ)溫度范圍:-65℃~+150℃。

          對(duì)于系統(tǒng)選用的SJA1000CAN控制器,其功能模塊主要有:接口管理邏輯(Interface ManagementLogic)、接收FIFO棧(Receive FIFO)、接收過(guò)濾器(Acceptance Filter)、發(fā)送緩沖器(Transmit Buffer)和CAN核心模塊(CAN Core Block),結(jié)構(gòu)如圖1所示(見(jiàn)Philips Semiconductors公司的資料:ApplicationNote——SJA1000 Stand-alone CAN ControllerAN97076,1997)。

          11.jpg

          接口管理邏輯主要處理和微控制器的信號(hào)交換,通過(guò)CS、ALE/AS、RD、WR、INT等控制信號(hào)與微控制器進(jìn)行數(shù)據(jù)讀寫。而CAN核心模塊就是CAN2.0B的執(zhí)行部分。

          接收過(guò)濾器接收經(jīng)CAN核心模塊轉(zhuǎn)換過(guò)的數(shù)據(jù),通過(guò)寄存器接收碼寄存器(Acceptance CodeRegister,ACR)、接收屏蔽寄存器(Acceptance MaskRegister,AMR)做過(guò)濾處理,符合ID要求的數(shù)據(jù)才予以接收。ACR提供本機(jī)ID,AMR提供ID過(guò)濾時(shí)的有效位信息。接收FIFO棧用來(lái)暫存通過(guò)過(guò)濾器過(guò)濾而接收的數(shù)據(jù)。

          發(fā)送緩沖器(TB)存儲(chǔ)欲發(fā)送的數(shù)據(jù),CAN核心模塊從發(fā)送緩沖器讀數(shù),依照CAN2.0B協(xié)議發(fā)送數(shù)據(jù)。

          3 系統(tǒng)功能及硬件實(shí)現(xiàn)

          此系統(tǒng)除了常規(guī)系統(tǒng)提供的功能之外,還具有模塊優(yōu)先級(jí)可調(diào)(ID可調(diào))、報(bào)警限值可調(diào)、報(bào)警歷史數(shù)據(jù)的保存等功能。

          工作現(xiàn)場(chǎng)由多個(gè)模擬儀表和一些開(kāi)關(guān)信號(hào)組成,每一個(gè)儀表配一塊數(shù)據(jù)采集板,開(kāi)關(guān)量的采集由一個(gè)和模擬量采集板相似的單獨(dú)模塊完成。下位機(jī)采用ATMEL公司的AT89C51微型單片機(jī),主要做通信數(shù)據(jù)的采集、簡(jiǎn)單判斷和數(shù)據(jù)發(fā)送的準(zhǔn)備工作;通信部分由總線控制器SJA1000及其配套的驅(qū)動(dòng)器PCA82C250構(gòu)成,它們可以完成數(shù)據(jù)鏈路層和物理層的所有工作;另有上位工控機(jī),帶有5M字節(jié)的閃存E2PROM,能提供10萬(wàn)次擦除和10年的數(shù)據(jù)保存期,用以存儲(chǔ)各個(gè)采集模塊報(bào)警前、后1min的數(shù)據(jù),機(jī)車每個(gè)運(yùn)行周期結(jié)束后,就將E2PROM中的數(shù)據(jù)導(dǎo)出,以備日后的性能分析;監(jiān)控報(bào)警模塊,用來(lái)進(jìn)行數(shù)據(jù)的實(shí)時(shí)顯示及報(bào)警,為了防止上位機(jī)出現(xiàn)瓶頸現(xiàn)象,各模塊的報(bào)警任務(wù)分散給下位機(jī)完成,向上位機(jī)發(fā)送數(shù)據(jù)只需將報(bào)警標(biāo)志位置復(fù)位即可;總線終端接100Ω~120Ω電阻以抑制信號(hào)反射,保證通信可靠性。雙絞線連接各個(gè)模塊節(jié)點(diǎn),形成多主控制的局域網(wǎng)。另外,為了防止系統(tǒng)運(yùn)行意外,還加了X25045(美國(guó)Xicor公司的外圍器件,集成了Watchdog、復(fù)位控制器、帶Block鎖的CMOS串行E2PROM陣列三種功能)作看門狗,4KB的SPI(Serial Peripheral Interface)E2PROM可以存儲(chǔ)此節(jié)點(diǎn)的報(bào)警限值等一些重要數(shù)據(jù)。系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖2所示。

          22.jpg

          4 上位/下位機(jī)的數(shù)據(jù)通訊

          SJA1000支持CAN2.0B規(guī)范協(xié)議,且有2種工作方式:BasicCAN和PeliCAN,本系統(tǒng)采用BasicCAN。

          各AT89C51單片機(jī)每隔0.05s主動(dòng)給上位機(jī)發(fā)送一次數(shù)據(jù),下位機(jī)的CPU相對(duì)上位機(jī)來(lái)說(shuō)不太忙,因此,為了防止外部干擾信號(hào)引起錯(cuò)誤報(bào)警,下位機(jī)發(fā)送數(shù)據(jù)之前對(duì)數(shù)據(jù)進(jìn)行數(shù)字濾波:0.05s分為5次采集,取其平均值發(fā)送,這樣就可以避免對(duì)瞬間高頻干擾信號(hào)的誤報(bào)警。

          而上位工控機(jī)發(fā)給下位機(jī)的數(shù)據(jù)一般都是針對(duì)某個(gè)下位機(jī)的命令,下位單片機(jī)接收數(shù)據(jù)是用外部中斷INT0完成的。上位機(jī)時(shí)刻監(jiān)聽(tīng)所有下位單片機(jī),下位機(jī)也時(shí)時(shí)監(jiān)聽(tīng)上位機(jī),接收發(fā)給自己的命令。

          SJA1000以BasicCAN工作模式接收數(shù)據(jù)時(shí),先裝入到過(guò)濾器中,順序如下:

          22a.jpg

          其中,ID的高八位接收AMR碼屏蔽之后,與ACR八位接收碼進(jìn)行比較,符合則傳入接收FIFO,否則不予接收。因CAN2.0B協(xié)議中ID越小的優(yōu)先級(jí)越高,所以,可以將ID最高位ID10設(shè)為報(bào)警數(shù)據(jù)的標(biāo)志(數(shù)據(jù)超限時(shí)此位為零),以保證有報(bào)警的模塊數(shù)據(jù)優(yōu)先傳送。而對(duì)于上位機(jī),要接收所有下位單片微機(jī)的數(shù)  據(jù),ID高八位應(yīng)全部屏蔽,而低三位ID2~I(xiàn)D0用來(lái)作為上位工控機(jī)向下位單片機(jī)發(fā)送命令(如修改報(bào)警限值等)的標(biāo)志位,因此,在系統(tǒng)工作期間各個(gè)模塊的限值可以由上位機(jī)發(fā)送命令加以調(diào)節(jié)。

          下位機(jī)在發(fā)送數(shù)據(jù)時(shí),先從寄存器讀入限值,判斷是否超限,如超限,ID10置0,否則置1。然后在ID9~I(xiàn)D3填入本模塊的ID號(hào),將發(fā)送命令位置位,之后單片機(jī)就不參與此次數(shù)據(jù)發(fā)送進(jìn)程了,其他工作就由SJA1000和PCA82C250完成。由于ID也可以決定數(shù)據(jù)的優(yōu)先級(jí),單片機(jī)復(fù)位時(shí)總是先從P2口上讀入外部8位撥動(dòng)開(kāi)關(guān)作為ID,這樣,各個(gè)模塊的優(yōu)先級(jí)就可以人為改變,增強(qiáng)了系統(tǒng)的靈活性。

          AT89C51在主程序中向上位機(jī)發(fā)送數(shù)據(jù),在0#外部中斷程序中接收上位機(jī)的命令,利用ID低三位判斷約定命令的意義,在此不再細(xì)述,只給出主程序和SJA1000的初始化程序流程,其中,在各個(gè)主程序開(kāi)始,為了防止網(wǎng)絡(luò)由于所有下位機(jī)復(fù)位的時(shí)間、采集周期、軟件均一致而導(dǎo)致BUS上負(fù)荷不均勻,上位機(jī)工作量時(shí)而很大的問(wèn)題,各個(gè)下位機(jī)每次復(fù)位時(shí)主程序特意安排不同時(shí)間長(zhǎng)短的延時(shí),這樣,各模塊發(fā)送數(shù)據(jù)的時(shí)刻就能均勻分布。

          33.jpg

          44.jpg

          上位機(jī)接收到數(shù)據(jù)后,先查看報(bào)警標(biāo)志位,判斷是否報(bào)警,若是,將寄存器中前1分鐘的數(shù)據(jù)及對(duì)應(yīng)的時(shí)間向E2PROM中寫入,并且繼續(xù)寫入接收到的報(bào)警實(shí)時(shí)數(shù)據(jù),直到報(bào)警停止以后一分鐘。否則,將數(shù)據(jù)加上當(dāng)前時(shí)間以隊(duì)列方式存入寄存器,寄存器滿,將最舊的數(shù)據(jù)刷掉。

          監(jiān)控報(bào)警模塊和上位工控機(jī)一樣接收數(shù)據(jù),只是每個(gè)儀表模塊對(duì)應(yīng)一個(gè)報(bào)警裝置,n個(gè)報(bào)警裝置實(shí)時(shí)顯示各個(gè)儀表的超限狀態(tài),另有液晶屏一塊,顯示有報(bào)警模塊的實(shí)時(shí)數(shù)據(jù),無(wú)報(bào)警時(shí)顯示ID最小的模塊的實(shí)時(shí)數(shù)據(jù)。

          以上介紹的就是一個(gè)單獨(dú)的下位采集模塊和上位機(jī)通訊的基本過(guò)程和原理,整個(gè)系統(tǒng)由若干個(gè)相對(duì)獨(dú)立的、相似的下位模塊和一個(gè)上位機(jī)組成,下位機(jī)之間暫時(shí)無(wú)通信。

          5 結(jié)束語(yǔ)

          此系統(tǒng)是為西安某公司改進(jìn)機(jī)車控制臺(tái)開(kāi)發(fā)的,經(jīng)過(guò)試驗(yàn)、軟件調(diào)試直到試車運(yùn)行(采集模塊20個(gè))表明,性能穩(wěn)定,采集數(shù)據(jù)的波動(dòng)幅度小于0.05%,試車時(shí)數(shù)據(jù)傳輸率設(shè)為125kbps,無(wú)數(shù)據(jù)丟失,上位機(jī)和下位機(jī)間無(wú)數(shù)據(jù)傳送出錯(cuò)現(xiàn)象,最高比特率可達(dá)1Mb/s,抗干擾能力、抗高溫能力(-40℃~+120℃)、數(shù)據(jù)準(zhǔn)確性都令人滿意,充分體現(xiàn)了CAN總線的優(yōu)越性。遺憾的是,機(jī)車儀表報(bào)警以后,目前還只能以人工方式解決問(wèn)題。

          下一步還會(huì)考慮更高一層的上位機(jī)與次系統(tǒng)的通信(仍會(huì)采用CAN現(xiàn)場(chǎng)總線),若能實(shí)現(xiàn),車站及相關(guān)部門與各列車的聯(lián)絡(luò)、運(yùn)行情況的及時(shí)匯報(bào)和監(jiān)控等問(wèn)題都將迎刃而解。

          參考文獻(xiàn)

          1 何立民.單片機(jī)應(yīng)用技術(shù)選編.北京:北京航空航天大學(xué)出版社,1999

          2 鄔寬明.單片機(jī)外圍器件實(shí)用手冊(cè)——數(shù)據(jù)傳輸接口器件分冊(cè).北京:北京航空航天大學(xué)出版社,1998

          3 鄔寬明.CAN總線原理及應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1996



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();