關(guān)鍵字:CAN總線 光電經(jīng)緯儀 遠程監(jiān)控
1 引言
CAN (Controller Area Network,控制器局域網(wǎng))總線最初是德國BOSCH公司為汽車的監(jiān)測,、控制系統(tǒng)而設(shè)計的一種有效支持分布式實時控制的串行通信網(wǎng)絡(luò),,由于CAN總線具有通信率高、實時性好,、可靠性高,、連接方便和性價比高等特點,推動了其應(yīng)用開發(fā)的迅速發(fā)展,。由于CAN總線本身的特點,,其應(yīng)用范圍目前已不再局限于汽車行業(yè),而擴展到了機械工業(yè)、紡織機械,、農(nóng)用機械,、機器人、數(shù)控機床,、醫(yī)療機械,、家用電器及傳感器等領(lǐng)域。CAN總線是目前惟一有國際標準的現(xiàn)場總線,,并已被公認為最有前途的現(xiàn)場總線之一,。
然而,隨著計算機、控制,、通信,、網(wǎng)絡(luò)等信息技術(shù)的發(fā)展, 信息交換的領(lǐng)域已經(jīng)覆蓋了工廠、企業(yè)乃至世界各地的市場,。為實現(xiàn)工業(yè)企業(yè)的綜合自動化, 需要建立包含從工業(yè)現(xiàn)場設(shè)備層到企業(yè)控制層,、管理層等各個層次的網(wǎng)絡(luò)平臺。以太網(wǎng)以其能便捷地訪問遠程系統(tǒng),、共享/訪問多數(shù)據(jù)庫等優(yōu)勢,許多現(xiàn)場總線系統(tǒng)最終都連接到以太網(wǎng),。
本文從大型光電跟蹤設(shè)備的網(wǎng)絡(luò)化出發(fā),設(shè)計一種基于CAN總線網(wǎng)絡(luò)的光電經(jīng)緯儀的遠程通信方案,。
2 光電經(jīng)緯儀內(nèi)部通信網(wǎng)絡(luò)設(shè)計與實現(xiàn)
2.1 CAN總線技術(shù)特點
CAN總線可有效支持分布式控制或?qū)崟r控制,。該總線的通信介質(zhì)可以是雙絞線、同軸電纜或光纖,,其主要特點如下: CAN總線為多主站總線,,各節(jié)點可在任意時刻向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,且不分主從: CAN總線采用獨特的非破壞性總線仲裁技術(shù),,高優(yōu)先級節(jié)點優(yōu)先傳送數(shù)據(jù),,故實時性好; CAN總線具有點對點,、一點對多點及全局廣播傳送數(shù)據(jù)的功能,;CAN總線采用短幀結(jié)構(gòu),每幀有效字節(jié)數(shù)最多為8個,,數(shù)據(jù)傳輸時間短,,并有CRC及其它校驗措施,數(shù)據(jù)出錯率極低,; CAN總線上某一節(jié)點出現(xiàn)嚴重錯誤時,,可自動脫離總線,而總線上的其他操作不受影響,; CAN總線系統(tǒng)擴充時,,可直接將新節(jié)點掛在總線上,,因而走線少,系統(tǒng)擴充容易,,改型靈活,; CAN總線的最大傳輸速率可達1Mb/s,直接通信距離最遠可達到10km(速率在5kbps以下),; CAN總線上的節(jié)點數(shù)取決于總線驅(qū)動電路,。在標準幀(11位報文標識符)時可達到110個,而在擴展幀(29位報文標識符)時,,個數(shù)不受限,。
2.2 光電經(jīng)緯儀CAN總線網(wǎng)絡(luò)系統(tǒng)架構(gòu)
光電經(jīng)緯儀之間的實時通信在傳統(tǒng)上使用串行接口,但其存在較多的先天性缺陷:通信速率低,、傳輸距離短,、線路利用率低、容錯性差,、不易擴展,、難以維修和測試。CAN總線應(yīng)用于光電經(jīng)緯儀內(nèi)部通訊可以簡化系統(tǒng)結(jié)構(gòu),,提高通訊實時性,、傳輸速率,降低誤碼率,,具有較好的抗電磁干擾性和系統(tǒng)的可擴展性,。
在任何測控系統(tǒng)中,都要通過測量裝置獲取環(huán)境和相關(guān)的輸入?yún)?shù),,然后執(zhí)行控制算法,,做出相應(yīng)的控制決策,,啟動執(zhí)行設(shè)備來實現(xiàn)對系統(tǒng)的控制,。基于現(xiàn)場總線建立的測控系統(tǒng)將單個分散的測量儀表和控制設(shè)備變成網(wǎng)絡(luò)節(jié)點,,將控制系統(tǒng)中所需的基本控制,、補償計算、參數(shù)修改,、報警,、顯示、監(jiān)控,、優(yōu)化等功能也分散到各個節(jié)點中,。因而總線上的節(jié)點應(yīng)該具有總線通信功能、測量或控制功能,,還要具有相當?shù)膮f(xié)調(diào)能力,,這必然離不開微處理器,,這種類型的節(jié)點稱為智能節(jié)點。
大型光電經(jīng)緯儀是一種多傳感器融合的測控設(shè)備,,一般由機上數(shù)據(jù)通信系統(tǒng),,機上控制系統(tǒng),調(diào)焦系統(tǒng),,激光系統(tǒng),,衛(wèi)星電視系統(tǒng),伺服系統(tǒng),,紅外電視系統(tǒng),,編碼器電控系統(tǒng)等分系統(tǒng)組成,不同型號的經(jīng)緯儀內(nèi)部系統(tǒng)構(gòu)成不同,。
以上述八個系統(tǒng)組成為例設(shè)計光電經(jīng)緯儀內(nèi)部通信系統(tǒng)架構(gòu)[1]如下:
圖1 光電經(jīng)緯儀內(nèi)部CAN通信網(wǎng)絡(luò)
在圖1所示CAN總線網(wǎng)絡(luò)中,,每一個分系統(tǒng)都是一個智能節(jié)點,各分系統(tǒng)共用總線實現(xiàn)系統(tǒng)之間的數(shù)據(jù)傳送,。在這種由CAN總線網(wǎng)絡(luò)構(gòu)成的通信系統(tǒng)中,,每一個分系統(tǒng)完成自身的數(shù)據(jù)的采集、處理,,把需要跟其它分系統(tǒng)交互通信的信息發(fā)送到總線上,,比如狀態(tài)信息、命令信息等等,。各個分系統(tǒng)之間可以完成點對點,,點對多點以及廣播式數(shù)據(jù)通信。
2.3 CAN智能節(jié)點的硬件架構(gòu)
本系統(tǒng)中,,CAN節(jié)點采用: ECU(AT89C51)+CAN控制器(SJA1000)+CAN收發(fā)器(PCA82C250)的電路結(jié)構(gòu),,CAN總線控制器、總線驅(qū)動器和單片機連接基本方法[2]如圖2:
2.4光電經(jīng)緯儀內(nèi)部通信系統(tǒng)中CAN應(yīng)用層協(xié)議
本協(xié)議遵循CAN2.0B規(guī)范,,根據(jù)經(jīng)緯儀內(nèi)部各系統(tǒng)相互之間通信方式的特點,,采用源→目的方法,每個節(jié)點都有自己固定的標識地址,,且節(jié)點數(shù)小于64,,設(shè)計時把機上數(shù)據(jù)通信系統(tǒng)作為主節(jié)點,而將機上控制系統(tǒng),,調(diào)焦系統(tǒng),,激光系統(tǒng),衛(wèi)星電視系統(tǒng),,導(dǎo)航電視系
圖2 CAN總線接口電路原理圖
統(tǒng),,紅外電視系統(tǒng),編碼器電控系統(tǒng)設(shè)置為從節(jié)點,。本協(xié)議可完成以下功能: (1)特定信息的廣播(廣播幀),; (2)任意節(jié)點之間的連接(單播幀),; (3)點對多點的信息交換(組播幀)。 本設(shè)計中SJA1000工作在PeliCAN模式,,它支持標準幀和擴展幀兩種幀格式,,采用單濾波和雙濾波兩種模式實現(xiàn)節(jié)點之間的組播、廣播和單播[5],。組播幀采用標準幀格式,,單濾波模式,廣播和單播幀采用擴展幀格式,,雙濾波模式,。 組播、廣播和單播幀的標識符分配如圖3所示:
組播 |
28 |
27 |
26 |
25 |
24 |
23~18 |
DB1.~DB1.4 |
DB1.~DB1.0 |
|||||||
1 |
源節(jié)點地址 |
自定義 |
目標組編號 |
||||||||||||
廣播 |
28 |
27 |
26 |
25 |
24 |
23~13 |
|
||||||||
1 |
源節(jié)點地址 |
自定義 |
|||||||||||||
單播 |
28 |
27~24 |
24~21 |
20~17 |
16~13 |
||||||||||
0 |
源節(jié)點地址 |
目標節(jié)點地址 |
自定義 |
目標節(jié)點所在組編號 |
|||||||||||
圖3 幀標識符分配
自定義的標識符可以設(shè)置成命令屬性或狀態(tài),、報告等等,。對所有的命令或狀態(tài)、數(shù)據(jù),、報告屬性,、除定時采集發(fā)送的數(shù)據(jù)外,原則上均需應(yīng)答(發(fā)送確認幀以保證通訊正常),。
3 光電經(jīng)緯儀內(nèi)部CAN網(wǎng)絡(luò)與Internet連接的設(shè)計與實現(xiàn)
人們往往采用嵌入式技術(shù)設(shè)計一個僅能連接以太網(wǎng)與CAN 總線的網(wǎng)關(guān)用來實現(xiàn)CAN網(wǎng)絡(luò)與以太網(wǎng)的連接,。將這種應(yīng)用方案應(yīng)用在大型光電跟蹤設(shè)備上就可以實現(xiàn)對光電跟蹤設(shè)備的遠程監(jiān)控以及信息的共享。通過遠程控制來實現(xiàn)不適合人員長期操控或惡劣環(huán)境下的無
人操作測量,,無人操控測量可以減少測量結(jié)果中的人為誤差,,使測控更加地精確。
3.1 嵌入式網(wǎng)關(guān)設(shè)計
在本設(shè)計中,,嵌入式網(wǎng)關(guān)通過以太網(wǎng)控制器接口與以太網(wǎng)相連,,通過CAN控制器接口與現(xiàn)場總線相連,,硬件連接框圖如圖4所示,。
圖4中采用集成CAN通信控制器的MC68HC05X16單片機和RTL8019AS以太網(wǎng)控制器來實現(xiàn)CAN與以太網(wǎng)的連接,。RTL8019AS是臺灣Realtek公司制造的一種高集成度的全雙工10Mbps 以太網(wǎng)控制芯片[4],,可實現(xiàn)基于Ethernet協(xié)議的MAC層的全部功能,,內(nèi)置16KB的SRAM,、雙DMA通道和FIFO,,可完成數(shù)據(jù)包的接收和發(fā)送功能。MC68HC05X16采用RTL8019AS同以太網(wǎng)上的操作站進行數(shù)據(jù)交換,,通過內(nèi)置CAN控制器與CAN總線上其它節(jié)點進行數(shù)據(jù)交換。在交互過程中MC68HC05X16依據(jù)應(yīng)用要求對數(shù)據(jù)進行處理,。
處理器MC68HC05XI6負責(zé)對以太網(wǎng)控制器RTL8019AS和SJAIO00的控制,。微處理器內(nèi)駐有TCP/IP通信協(xié)議和CAN協(xié)議,完成以太網(wǎng)協(xié)議和CAN總線協(xié)議轉(zhuǎn)換,,實現(xiàn)以太網(wǎng)和CAN間的數(shù)據(jù)通信,。
4 軟件設(shè)計
通信軟件包括RTLS019AS和CAN的發(fā)送,、接收程序。對于CAN的發(fā)送接收程序在文獻[2]中已給出詳細程序,,由于篇幅限制此處不再贅述,。對RTLS019AS的軟件操作,有查詢和中斷方式有實時性要求的環(huán)境一般采用中斷方式處理RTLS019AS數(shù)據(jù)的收發(fā),。程序入口根據(jù)讀取的RTLS019AS中斷狀態(tài)寄存器(ISR)值進行相應(yīng)處理
以太網(wǎng)通信部分的軟件主要有兩部分:一是RTL8019AS的驅(qū)動程序(包括RTL8019AS初始化,、以太網(wǎng)報文的接收和發(fā)送);二是為實現(xiàn)數(shù)據(jù)遠程傳輸而進行的TCP/IP協(xié)議處理,,將從光電經(jīng)緯儀采集到的數(shù)據(jù)按TCP/IP協(xié)議進行封裝,,使數(shù)據(jù)能夠通過Internet直接傳輸?shù)侥康闹鳈C上。RTL8019AS初始化的過程實際上就是完成對RTL8019AS的內(nèi)部寄存器的配置,,確定發(fā)送和接收條件,,并對以太網(wǎng)控制芯片緩沖區(qū)進行劃分。
收發(fā)數(shù)據(jù)的過程實際上就是通過DMA對RTL8019AS內(nèi)部RAM進行讀寫操作的過程[3],。8019接收緩沖區(qū)實際上是一個循環(huán)FIFO(先進先出)隊列,,芯片內(nèi)RAM讀寫操作不采用中斷方式,而是以查詢方式,,即CURR(當前頁寄存器)值是否等于BNRY+1來判斷是否接收到新數(shù)據(jù),。接收流程圖如圖5所示
圖5 RTL8019AS數(shù)據(jù)接收流程圖
當MC68HC05XI6接收到來自以太網(wǎng)的TCP數(shù)據(jù)報,標志位置1,,在CAN處理子程序中,,根據(jù)該標志位判斷是否有數(shù)據(jù)要發(fā)送給另一節(jié)點。在具體調(diào)試時使一個CAN節(jié)點每隔一段時間向網(wǎng)關(guān)轉(zhuǎn)換模塊發(fā)送一些數(shù)據(jù),。網(wǎng)關(guān)接收數(shù)據(jù)后,,通過以太網(wǎng)轉(zhuǎn)發(fā)給上位機,上位機通過超級終端顯示接收的數(shù)據(jù),。同樣,,可以通過超級終端發(fā)送一些鍵入的數(shù)據(jù)。經(jīng)過轉(zhuǎn)換模塊傳給另一個CAN節(jié)點,,從而改變它的一些內(nèi)部數(shù)據(jù),。
5 結(jié)束語
本文作者創(chuàng)新點是將CAN總線網(wǎng)絡(luò)應(yīng)用于大型光電測控設(shè)備,從而簡化了設(shè)備的龐大復(fù)雜的內(nèi)部結(jié)構(gòu),,并且由于CAN自身的優(yōu)點,,使得設(shè)備的可靠性、數(shù)據(jù)傳輸速率均得到提高,,并且降低了誤碼率?,F(xiàn)場技術(shù)與控制技術(shù)相結(jié)合使現(xiàn)場總線在以太網(wǎng)遠程監(jiān)控系統(tǒng)中得到了廣泛的應(yīng)用,CAN網(wǎng)絡(luò)與以太網(wǎng)的連接可以實現(xiàn)對光電經(jīng)緯儀的遠程操控以及信息共享,這已成為測控領(lǐng)域的發(fā)展趨勢,。
參考文獻:
[1]劉曉晶,,續(xù)志軍,絕對式光電軸角編碼器CAN總線接口[J],,微計算機信息,,2007,23:1-2
[2]饒運濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN 原理與應(yīng)用技術(shù)[M],北京航空航天大學(xué)出版社
[3]杜尚豐,,曹曉鐘,,徐津.CAN總線測控技術(shù)及其應(yīng)用[M],電子工業(yè)出版社
[4] 林士兵,,袁 焱,,楊煜普.TCP/IP 網(wǎng)絡(luò)與CAN 網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J],計算機工程2007.02
[5]孫立輝,和志強.基于SJA1000的CAN總線系統(tǒng)中廣播和組播的實現(xiàn)[J],,儀表技術(shù)與傳感器,,2003