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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 礦用攝像機嵌入式CAN總線遠程控制技術(shù)

          礦用攝像機嵌入式CAN總線遠程控制技術(shù)

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

          在煤礦監(jiān)控系統(tǒng)中使用廣泛,尤其對一些重要場所更需要在集控室遠程操控實現(xiàn)移動、調(diào)焦等功能。對的控制使用RS一485的較多,文獻[1]以AT89C52單片機為控制器設(shè)計了構(gòu)建于RS.485基礎(chǔ)上的攝像機工作臺控制系統(tǒng)。在現(xiàn)場使用這種方法進行控制的過程中,筆者發(fā)現(xiàn):當控制距離較遠(超出1 km)以及掛接控制器較 (在某礦發(fā)電廠實測大于36臺)時會出現(xiàn)部分攝像機失控、誤動現(xiàn)象,其中頻繁地誤動還會導致工作臺的故障,給工作帶來不便。為解決以上問題,本文以處理器LPC2129為主控芯片設(shè)計了攝像機控制器,并通過(contoller area network)實現(xiàn)了。總線屬于現(xiàn)場總線的一種,它具有可靠性 高、通信距離遠、連線簡單、性價比高等特點。

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

          采用非破壞總線仲裁,從而大大節(jié)省了總線沖突仲裁時間。尤其是在網(wǎng)絡(luò)負載很重的情況下,也不會出 現(xiàn)網(wǎng)絡(luò)癱瘓情況(以太網(wǎng)則可能)。CAN的通信距離最遠可達10 km(速率5 kbit/s以下時) ,因此煤礦 很適合采用CAN總線。另外CAN總線可以使用雙絞線作為通信介質(zhì),這使得原有RS-485網(wǎng)絡(luò) 的控制系統(tǒng)不用重新布線就可以升級為CAN總線控制系統(tǒng),可大大節(jié)約成本。

          當前系統(tǒng)成熟、應用廣泛。這主要得益于它的處理器將通用CPU中許多由板卡完成的任務(wù)精簡到芯片內(nèi)部,在保證特定功能的前提下使系統(tǒng)設(shè)計趨于小型化,便于系統(tǒng)集成。LPC2129是飛利浦公司生產(chǎn)的基于16/32位ARM7TDMI—S內(nèi)核的處理器。其內(nèi)部具有256 KB的Flash、16 KB的 RAM、2路CAN控制器。其他外圍接口也很豐富,這樣無需外擴存儲器就可以移植實時操作系統(tǒng)。因此,本文選用LPC2129作為主控芯片,另外使用嵌入式系統(tǒng)所設(shè)計的控制器尺寸小,從而使其可方便地嵌入到防爆工作臺。

          1 控制系統(tǒng)工作原理

          控制系統(tǒng)如圖1所示,監(jiān)控上位機通過RS-232串口與1/S.232-CAN轉(zhuǎn)接器相連,轉(zhuǎn)接器與控制器構(gòu)成CAN總線網(wǎng)絡(luò),控制器直接控制攝像機和工作臺。系統(tǒng)控制原理如下:上位機通過鼠標及鍵盤接收特定攝像機控制動作命令,通過軟件轉(zhuǎn)換為攝像機控制器地址及控制命令,然后打包為控制字,再通過串口發(fā)送給轉(zhuǎn)接器。轉(zhuǎn)接器按協(xié)議將控制字轉(zhuǎn)換為CAN總線幀格式并將幀發(fā)送到總線上。地址相符的控制器接收該幀數(shù)據(jù),根據(jù)控制命令產(chǎn)生控制信號,控制攝像機及工作臺完成相關(guān)動作。

          點擊放大圖片

          圖1 控制系統(tǒng)

          2 控制系統(tǒng)電路設(shè)計

          控制系統(tǒng)的電路設(shè)計按功能分為3個部分:控制器電路、CAN總線電路、轉(zhuǎn)接器電路。

          2.1 控制器電路

          考慮到本系統(tǒng)的被控對象是攝像機和工作臺,而攝像機選用索尼FCB系列的攝像模塊,該模塊支持RS-232串M通信,所以控制器電路設(shè)計如圖2上部所示。圖中利用LPC2129的串口0(P0.0、P0.1)經(jīng)電平轉(zhuǎn)換芯片ST3232構(gòu)成控制器串口,外接攝像機模塊,完成對攝像機的控制。由于本設(shè)計沒有采用傳統(tǒng)的撥碼開關(guān)設(shè)定控制器地址,地址的設(shè)定要通過上位機來完成,因此通過LPC2129的串口1(P0.8、P0.9)完成與上位機的通信,實現(xiàn)地址的寫入。對工作臺的控制實際上是控制工作臺的兩個驅(qū)動電機,使用LPC2129的PWM接口P0.7、P0.21以及通用I/O接口P1.17、P1.19經(jīng)光電隔離后進行驅(qū)動,控制電機的轉(zhuǎn)動,從而帶動工作臺的轉(zhuǎn)動。

          點擊放大圖片

          圖2 電路原理圖

          2.2 CAN總線電路

          LPC2129內(nèi)部集成了CAN控制器,使用它無需外接單獨的CAN芯片就可以方便地構(gòu)成CAN總線。電路如圖2下部所示,由LPC2129的CAN引腳P0.23、P0.24外掛收發(fā)器模塊CTM8250接入CAN總線系統(tǒng)。CTM8250是周立功公司生產(chǎn)的一款帶隔離的通用CAN收發(fā)器芯片,該芯片內(nèi)部集成了所有必需的CAN隔離及CAN收發(fā)器件,芯片的主要功能是將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平并且具有DC 2500 V的隔離功能。此處使用該模塊是為了保證在煤礦現(xiàn)場總線工作的穩(wěn)定性和可靠性。與RS-485總線類似,在總線的最遠端要串接120Ω電阻R20a為防止掉電后控制器CAN地址丟失,系統(tǒng)外擴了一片I2C總線的非易失性存儲器24C04,I2C總線上的電阻R4、R5的作用是進行電位上拉。

          2.3 轉(zhuǎn)接器電路

          轉(zhuǎn)接器的作用是連接上位機與CAN總線。由圖2可以看出,只需將對攝像機和工作臺的控制部分去掉就可以完成此功能。為簡化沒計,本文沒有使用其他處理器,轉(zhuǎn)接器仍然利用LPC2129的串口1完成與上位機的通信,并通過CAN引腳外掛收發(fā)器模塊CTM8250完成CAN總線通信。在轉(zhuǎn)接器里也外擴了24C04,主要用于存儲控制器的地址映射表。

          3 控制協(xié)議

          控制系統(tǒng)中上位機要首先與轉(zhuǎn)接器通信,傳送控制命令,這部分需要一個串口通信協(xié)議。通信時采用兩次握手的方法,地址使用邏輯地址(詳見控制器地址配置部分),數(shù)據(jù)的格式直接采用后面的CAN數(shù)據(jù)格式,在數(shù)據(jù)之后加一個字節(jié)的校驗和作為通信校驗。鑒于串口通信的文獻較多,此處不再贅述。

          由于轉(zhuǎn)接器里的控制命令要通過CAN總線遠距離傳輸,而CAN V2.0B規(guī)范只規(guī)定了底層協(xié)議標準,并沒有對高層協(xié)議做統(tǒng)一規(guī)定,因此高層的控制協(xié)議需要單獨開發(fā)。CAN的報文由4個不同的幀類型表示和控制,即數(shù)據(jù)幀、遠程幀、錯誤幀、過載幀。鑒于攝像機控制系統(tǒng)中控制命令不多,故本文采用數(shù)據(jù)幀的標準格式發(fā)送控制命令,這樣做的優(yōu)點是可以減少網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高控制系統(tǒng)響應的實時性。協(xié)議具體設(shè)置如圖3所示,數(shù)據(jù)幀包括幀起始、仲裁域、控制域、數(shù)據(jù)域、CRC域、應答域以及幀結(jié)束共7個部分。其中幀起始、CRC域、應答域、幀結(jié)束4個部分在文獻[5]中已經(jīng)詳細規(guī)定,此處從略。

          點擊放大圖片

          圖3 CAN控制數(shù)據(jù)報文幀格式圖

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


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