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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的分布式嵌入式遠(yuǎn)程監(jiān)控研制

          基于CAN總線的分布式嵌入式遠(yuǎn)程監(jiān)控研制

          作者: 時間:2008-11-26 來源:網(wǎng)絡(luò) 收藏

            

            摘 要:介紹了針對通信用多逆變電源設(shè)備的遠(yuǎn)程監(jiān)控要求,利用與底層多逆變連接、通過Web服務(wù)器連入Internet的嵌入式。本系統(tǒng)授權(quán)用戶可在Internet任意一點(diǎn)應(yīng)用瀏覽器訪問該系統(tǒng),實(shí)現(xiàn)對底層設(shè)備群的監(jiān)控和管理。該系統(tǒng)也可以移植應(yīng)用到樓宇自動化、工業(yè)底層現(xiàn)場設(shè)備網(wǎng)絡(luò)等遠(yuǎn)程監(jiān)控場合。

            關(guān)鍵詞:遠(yuǎn)程監(jiān)控;;分布式;

            前 言

            隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet網(wǎng)已成為信息交流的重要渠道,基于WebB/S(BroWser/Server)遠(yuǎn)程監(jiān)控技術(shù)的應(yīng)用也越來越廣泛。將這種技術(shù)應(yīng)用于工業(yè)現(xiàn)場控制,用戶可在Internet接入的地方,實(shí)現(xiàn)對工業(yè)現(xiàn)場設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控,是當(dāng)前倍受關(guān)注和研究熱點(diǎn)的真正意義上的工業(yè)控制。CAN bus是一種有效支持分布式控制和實(shí)時控制的優(yōu)秀工業(yè)控制現(xiàn)場總線,與其它通信總線相比,具有突出的可靠性、實(shí)時性和靈活性。由組成的分布式控制系統(tǒng)與Internet網(wǎng)絡(luò)連接的集成后的,可把工業(yè)控制現(xiàn)場的數(shù)據(jù)信息實(shí)時可靠地傳輸,實(shí)現(xiàn)工控現(xiàn)場與管理信息系統(tǒng)(MIS)的無縫連接。本系統(tǒng)針對通信用多逆變電源系統(tǒng)的遠(yuǎn)程監(jiān)控要求,通過CAN總線與底層多逆變電源模塊連接、通過Web服務(wù)器接入Internet的,成功實(shí)現(xiàn)了對底層工業(yè)現(xiàn)場設(shè)備的遠(yuǎn)程監(jiān)控和管理。

            CAN總線與

            CAN(CoNtroller Area Net)總線

            CAN總線是一種多主總線,通信速率可達(dá)1Mb/s。CAN總線的通信接口集成了的物理層和數(shù)據(jù)鏈路層功能,可完成包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級判別等通信數(shù)據(jù)的成幀處理。CAN bus協(xié)議廢除了傳統(tǒng)的站地址編碼,采用了對通信數(shù)據(jù)塊進(jìn)行編碼的方式,這種方法可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個數(shù)在理論上不受限制。數(shù)據(jù)塊的標(biāo)識碼由11位或29位二進(jìn)制數(shù)組成,即可定義211或229個不同的數(shù)據(jù)塊。這種按數(shù)據(jù)塊編碼的方式,可以使不同的節(jié)點(diǎn)同時接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。因?yàn)镃AN bus采用短幀格式通信,每幀最多有8個字節(jié)數(shù)據(jù),可滿足工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測試數(shù)據(jù)的一般要求。同時,8個字節(jié)不會占用總線時間過長,保證了通信系統(tǒng)的實(shí)時性要求。同時CAN bus協(xié)議采用CRC檢驗(yàn)并提供相應(yīng)的錯誤處理功能,保證了數(shù)據(jù)通信的可靠性。CAN總線的上述特點(diǎn)非常適合工業(yè)現(xiàn)場過程監(jiān)控設(shè)備的互連。

            CAN總線采用多主競爭方式工作和非破壞性技術(shù),總線上任意節(jié)點(diǎn)可在任意時刻主動地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。當(dāng)多個節(jié)點(diǎn)同時向總線發(fā)信息時,優(yōu)先級較低的節(jié)點(diǎn)會主動退出發(fā)送,而優(yōu)先級較高的節(jié)點(diǎn)不受影響。大大節(jié)省了總線沖突仲裁時間,在網(wǎng)絡(luò)負(fù)載很重的情況下,也不會出現(xiàn)網(wǎng)絡(luò)癱瘓的情況。因此,適用于分布式監(jiān)控系統(tǒng)的數(shù)據(jù)通訊。

            

            (Embedded Operation System簡稱EOS)是嵌入式技術(shù)或嵌入式系統(tǒng)的關(guān)鍵技術(shù)之一。嵌入式系統(tǒng)(Embedded System)是對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。簡單的嵌入式系統(tǒng)并不使用操作系統(tǒng),只包含一些控制流程。但當(dāng)功能復(fù)雜化以后(如圖像用戶界面和網(wǎng)絡(luò)支持等),簡單的流程控制不能滿足系統(tǒng)的要求,這時就必須考慮采用操作系統(tǒng)作為系統(tǒng)軟件。嵌入式操作系統(tǒng)uclinux是在Linux2. 0版本的基礎(chǔ)上裁減掉存儲器管理單元(Memory Management Unit簡稱MMU)得到的。此外,為了將系統(tǒng)設(shè)置成為網(wǎng)絡(luò)服務(wù)器,需另外移植并調(diào)試通過支持公共網(wǎng)關(guān)接口(CG I:Common Gateway Interface)的HTTP服務(wù)器軟件BOA。

            系統(tǒng)工作原理

            系統(tǒng)簡介

            針對通信用多逆變模塊電源系統(tǒng)的遠(yuǎn)程監(jiān)控要求,在嵌入式核心板的基礎(chǔ)上擴(kuò)展了CAN總線接口,整個系統(tǒng)稱為嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)(uCremM)。它基于Motorola公司的ColdFire5272CPU,2M FLASHMEMORY、32M DRAM以及UART、ETHERNET網(wǎng)卡等外圍設(shè)備接口,CAN總線控制芯片采用英飛凌的82C900,SPI接口支持CAN2. 0B。

            監(jiān)控系統(tǒng)板利用RS232串口線和雙絞線與宿主PC機(jī)相連,組成可以交叉編譯的開發(fā)環(huán)境。編譯語言為標(biāo)準(zhǔn)C,在宿主PC機(jī)上編譯uClinux內(nèi)核并下載到uCremM板上,由uCremMMOUNT上宿主機(jī)上的應(yīng)用程序開發(fā)目錄,就可以在PC機(jī)的L inux環(huán)境下進(jìn)行嵌入式應(yīng)用程序開發(fā),最后重新編譯包括應(yīng)用程序的內(nèi)核并燒寫到uCremM上的FLASHMEMORY 就完成了監(jiān)控系統(tǒng)的軟件。


          上一頁 1 2 3 4 下一頁

          評論


          相關(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); })();