當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于CAN總線的光電經(jīng)緯儀遠(yuǎn)程監(jiān)控系統(tǒng)

1 引言                                                                                                                  

CAN (Controller Area Network,控制器局域網(wǎng))總線最初是德國(guó)BOSCH公司為汽車的監(jiān)測(cè)、控制系統(tǒng)而設(shè)計(jì)的一種有效支持分布式實(shí)時(shí)控制的串行通信網(wǎng)絡(luò),由于CAN總線具有通信率高、實(shí)時(shí)性好、可靠性高、連接方便和性價(jià)比高等特點(diǎn),推動(dòng)了其應(yīng)用開發(fā)的迅速發(fā)展。由于CAN總線本身的特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而擴(kuò)展到了機(jī)械工業(yè)、紡織機(jī)械、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療機(jī)械、家用電器及傳感器等領(lǐng)域。CAN總線是目前惟一有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,并已被公認(rèn)為最有前途的現(xiàn)場(chǎng)總線之一。

然而,隨著計(jì)算機(jī)、控制、通信、網(wǎng)絡(luò)等信息技術(shù)的發(fā)展, 信息交換的領(lǐng)域已經(jīng)覆蓋了工廠、企業(yè)乃至世界各地的市場(chǎng)。為實(shí)現(xiàn)工業(yè)企業(yè)的綜合自動(dòng)化, 需要建立包含從工業(yè)現(xiàn)場(chǎng)設(shè)備層到企業(yè)控制層、管理層等各個(gè)層次的網(wǎng)絡(luò)平臺(tái)。以太網(wǎng)以其能便捷地訪問(wèn)遠(yuǎn)程系統(tǒng)、共享/訪問(wèn)多數(shù)據(jù)庫(kù)等優(yōu)勢(shì),許多現(xiàn)場(chǎng)總線系統(tǒng)最終都連接到以太網(wǎng)。

本文從大型光電跟蹤設(shè)備的網(wǎng)絡(luò)化出發(fā),設(shè)計(jì)一種基于CAN總線網(wǎng)絡(luò)的光電經(jīng)緯儀的遠(yuǎn)程通信方案。

2 光電經(jīng)緯儀內(nèi)部通信網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)

2.1 CAN總線技術(shù)特點(diǎn)

CAN總線可有效支持分布式控制或?qū)崟r(shí)控制。該總線的通信介質(zhì)可以是雙絞線、同軸電纜或光纖,其主要特點(diǎn)如下: CAN總線為多主站總線,各節(jié)點(diǎn)可在任意時(shí)刻向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,且不分主從: CAN總線采用獨(dú)特的非破壞性總線仲裁技術(shù),高優(yōu)先級(jí)節(jié)點(diǎn)優(yōu)先傳送數(shù)據(jù),故實(shí)時(shí)性好; CAN總線具有點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播傳送數(shù)據(jù)的功能;CAN總線采用短幀結(jié)構(gòu),每幀有效字節(jié)數(shù)最多為8個(gè),數(shù)據(jù)傳輸時(shí)間短,并有CRC及其它校驗(yàn)措施,數(shù)據(jù)出錯(cuò)率極低; CAN總線上某一節(jié)點(diǎn)出現(xiàn)嚴(yán)重錯(cuò)誤時(shí),可自動(dòng)脫離總線,而總線上的其他操作不受影響; CAN總線系統(tǒng)擴(kuò)充時(shí),可直接將新節(jié)點(diǎn)掛在總線上,因而走線少,系統(tǒng)擴(kuò)充容易,改型靈活; CAN總線的最大傳輸速率可達(dá)1Mb/s,直接通信距離最遠(yuǎn)可達(dá)到10km(速率在5kbps以下); CAN總線上的節(jié)點(diǎn)數(shù)取決于總線驅(qū)動(dòng)電路。在標(biāo)準(zhǔn)幀(11位報(bào)文標(biāo)識(shí)符)時(shí)可達(dá)到110個(gè),而在擴(kuò)展幀(29位報(bào)文標(biāo)識(shí)符)時(shí),個(gè)數(shù)不受限。     

2.2 光電經(jīng)緯儀CAN總線網(wǎng)絡(luò)系統(tǒng)架構(gòu)

光電經(jīng)緯儀之間的實(shí)時(shí)通信在傳統(tǒng)上使用串行接口,但其存在較多的先天性缺陷:通信速率低、傳輸距離短、線路利用率低、容錯(cuò)性差、不易擴(kuò)展、難以維修和測(cè)試。CAN總線應(yīng)用于光電經(jīng)緯儀內(nèi)部通訊可以簡(jiǎn)化系統(tǒng)結(jié)構(gòu),提高通訊實(shí)時(shí)性、傳輸速率,降低誤碼率,具有較好的抗電磁干擾性和系統(tǒng)的可擴(kuò)展性。

在任何測(cè)控系統(tǒng)中,都要通過(guò)測(cè)量裝置獲取環(huán)境和相關(guān)的輸入?yún)?shù),然后執(zhí)行控制算法,做出相應(yīng)的控制決策,啟動(dòng)執(zhí)行設(shè)備來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)的控制?;诂F(xiàn)場(chǎng)總線建立的測(cè)控系統(tǒng)將單個(gè)分散的測(cè)量?jī)x表和控制設(shè)備變成網(wǎng)絡(luò)節(jié)點(diǎn),將控制系統(tǒng)中所需的基本控制、補(bǔ)償計(jì)算、參數(shù)修改、報(bào)警、顯示、監(jiān)控、優(yōu)化等功能也分散到各個(gè)節(jié)點(diǎn)中。因而總線上的節(jié)點(diǎn)應(yīng)該具有總線通信功能、測(cè)量或控制功能,還要具有相當(dāng)?shù)膮f(xié)調(diào)能力,這必然離不開微處理器,這種類型的節(jié)點(diǎn)稱為智能節(jié)點(diǎn)。

大型光電經(jīng)緯儀是一種多傳感器融合的測(cè)控設(shè)備,一般由機(jī)上數(shù)據(jù)通信系統(tǒng),機(jī)上控制系統(tǒng),調(diào)焦系統(tǒng),激光系統(tǒng),衛(wèi)星電視系統(tǒng),伺服系統(tǒng),紅外電視系統(tǒng),編碼器電控系統(tǒng)等分系統(tǒng)組成,不同型號(hào)的經(jīng)緯儀內(nèi)部系統(tǒng)構(gòu)成不同。

以上述八個(gè)系統(tǒng)組成為例設(shè)計(jì)光電經(jīng)緯儀內(nèi)部通信系統(tǒng)架構(gòu)[1]如下:

圖1 光電經(jīng)緯儀內(nèi)部CAN通信網(wǎng)絡(luò)

 在圖1所示CAN總線網(wǎng)絡(luò)中,每一個(gè)分系統(tǒng)都是一個(gè)智能節(jié)點(diǎn),各分系統(tǒng)共用總線實(shí)現(xiàn)系統(tǒng)之間的數(shù)據(jù)傳送。在這種由CAN總線網(wǎng)絡(luò)構(gòu)成的通信系統(tǒng)中,每一個(gè)分系統(tǒng)完成自身的數(shù)據(jù)的采集、處理,把需要跟其它分系統(tǒng)交互通信的信息發(fā)送到總線上,比如狀態(tài)信息、命令信息等等。各個(gè)分系統(tǒng)之間可以完成點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多點(diǎn)以及廣播式數(shù)據(jù)通信。

2.3 CAN智能節(jié)點(diǎn)的硬件架構(gòu)

本系統(tǒng)中,CAN節(jié)點(diǎn)采用: ECU(AT89C51)+CAN控制器(SJA1000)+CAN收發(fā)器(PCA82C250)的電路結(jié)構(gòu),CAN總線控制器、總線驅(qū)動(dòng)器和單片機(jī)連接基本方法[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)相互之間通信方式的特點(diǎn),采用源→目的方法,每個(gè)節(jié)點(diǎn)都有自己固定的標(biāo)識(shí)地址,且節(jié)點(diǎn)數(shù)小于64,設(shè)計(jì)時(shí)把機(jī)上數(shù)據(jù)通信系統(tǒng)作為主節(jié)點(diǎn),而將機(jī)上控制系統(tǒng),調(diào)焦系統(tǒng),激光系統(tǒng),衛(wèi)星電視系統(tǒng),導(dǎo)航電視系  

圖2  CAN總線接口電路原理圖

統(tǒng),紅外電視系統(tǒng),編碼器電控系統(tǒng)設(shè)置為從節(jié)點(diǎn)。本協(xié)議可完成以下功能: (1)特定信息的廣播(廣播幀); (2)任意節(jié)點(diǎn)之間的連接(單播幀); (3)點(diǎn)對(duì)多點(diǎn)的信息交換(組播幀)。 本設(shè)計(jì)中SJA1000工作在PeliCAN模式,它支持標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種幀格式,采用單濾波和雙濾波兩種模式實(shí)現(xiàn)節(jié)點(diǎn)之間的組播、廣播和單播[5]。組播幀采用標(biāo)準(zhǔn)幀格式,單濾波模式,廣播和單播幀采用擴(kuò)展幀格式,雙濾波模式。 組播、廣播和單播幀的標(biāo)識(shí)符分配如圖3所示:

組播

28

27

26

25

24

23~18

DB1.~DB1.4

DB1.~DB1.0

1

源節(jié)點(diǎn)地址

自定義

目標(biāo)組編號(hào)

廣播

28

27

26

25

24

23~13

 

1

源節(jié)點(diǎn)地址

自定義

單播

28

27~24

24~21

20~17

16~13

0

源節(jié)點(diǎn)地址

目標(biāo)節(jié)點(diǎn)地址

自定義

目標(biāo)節(jié)點(diǎn)所在組編號(hào)

                               

圖3 幀標(biāo)識(shí)符分配

    自定義的標(biāo)識(shí)符可以設(shè)置成命令屬性或狀態(tài)、報(bào)告等等。對(duì)所有的命令或狀態(tài)、數(shù)據(jù)、報(bào)告屬性、除定時(shí)采集發(fā)送的數(shù)據(jù)外,原則上均需應(yīng)答(發(fā)送確認(rèn)幀以保證通訊正常)。

3 光電經(jīng)緯儀內(nèi)部CAN網(wǎng)絡(luò)與Internet連接的設(shè)計(jì)與實(shí)現(xiàn)

人們往往采用嵌入式技術(shù)設(shè)計(jì)一個(gè)僅能連接以太網(wǎng)與CAN 總線的網(wǎng)關(guān)用來(lái)實(shí)現(xiàn)CAN網(wǎng)絡(luò)與以太網(wǎng)的連接。將這種應(yīng)用方案應(yīng)用在大型光電跟蹤設(shè)備上就可以實(shí)現(xiàn)對(duì)光電跟蹤設(shè)備的遠(yuǎn)程監(jiān)控以及信息的共享。通過(guò)遠(yuǎn)程控制來(lái)實(shí)現(xiàn)不適合人員長(zhǎng)期操控或惡劣環(huán)境下的無(wú)

人操作測(cè)量,無(wú)人操控測(cè)量可以減少測(cè)量結(jié)果中的人為誤差,使測(cè)控更加地精確。

3.1 嵌入式網(wǎng)關(guān)設(shè)計(jì)


 

在本設(shè)計(jì)中,嵌入式網(wǎng)關(guān)通過(guò)以太網(wǎng)控制器接口與以太網(wǎng)相連,通過(guò)CAN控制器接口與現(xiàn)場(chǎng)總線相連,硬件連接框圖如圖4所示。

圖4中采用集成CAN通信控制器的MC68HC05X16單片機(jī)和RTL8019AS以太網(wǎng)控制器來(lái)實(shí)現(xiàn)CAN與以太網(wǎng)的連接。RTL8019AS是臺(tái)灣Realtek公司制造的一種高集成度的全雙工10Mbps 以太網(wǎng)控制芯片[4],可實(shí)現(xiàn)基于Ethernet協(xié)議的MAC層的全部功能,內(nèi)置16KB的SRAM、雙DMA通道和FIFO,可完成數(shù)據(jù)包的接收和發(fā)送功能。MC68HC05X16采用RTL8019AS同以太網(wǎng)上的操作站進(jìn)行數(shù)據(jù)交換,通過(guò)內(nèi)置CAN控制器與CAN總線上其它節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換。在交互過(guò)程中MC68HC05X16依據(jù)應(yīng)用要求對(duì)數(shù)據(jù)進(jìn)行處理。

處理器MC68HC05XI6負(fù)責(zé)對(duì)以太網(wǎng)控制器RTL8019AS和SJAIO00的控制。微處理器內(nèi)駐有TCP/IP通信協(xié)議和CAN協(xié)議,完成以太網(wǎng)協(xié)議和CAN總線協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)以太網(wǎng)和CAN間的數(shù)據(jù)通信。

4 軟件設(shè)計(jì)

通信軟件包括RTLS019AS和CAN的發(fā)送、接收程序。對(duì)于CAN的發(fā)送接收程序在文獻(xiàn)[2]中已給出詳細(xì)程序,由于篇幅限制此處不再贅述。對(duì)RTLS019AS的軟件操作,有查詢和中斷方式有實(shí)時(shí)性要求的環(huán)境一般采用中斷方式處理RTLS019AS數(shù)據(jù)的收發(fā)。程序入口根據(jù)讀取的RTLS019AS中斷狀態(tài)寄存器(ISR)值進(jìn)行相應(yīng)處理

以太網(wǎng)通信部分的軟件主要有兩部分:一是RTL8019AS的驅(qū)動(dòng)程序(包括RTL8019AS初始化、以太網(wǎng)報(bào)文的接收和發(fā)送);二是為實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)程傳輸而進(jìn)行的TCP/IP協(xié)議處理,將從光電經(jīng)緯儀采集到的數(shù)據(jù)按TCP/IP協(xié)議進(jìn)行封裝,使數(shù)據(jù)能夠通過(guò)Internet直接傳輸?shù)侥康闹鳈C(jī)上。RTL8019AS初始化的過(guò)程實(shí)際上就是完成對(duì)RTL8019AS的內(nèi)部寄存器的配置,確定發(fā)送和接收條件,并對(duì)以太網(wǎng)控制芯片緩沖區(qū)進(jìn)行劃分。

收發(fā)數(shù)據(jù)的過(guò)程實(shí)際上就是通過(guò)DMA對(duì)RTL8019AS內(nèi)部RAM進(jìn)行讀寫操作的過(guò)程[3]。8019接收緩沖區(qū)實(shí)際上是一個(gè)循環(huán)FIFO(先進(jìn)先出)隊(duì)列,芯片內(nèi)RAM讀寫操作不采用中斷方式,而是以查詢方式,即CURR(當(dāng)前頁(yè)寄存器)值是否等于BNRY+1來(lái)判斷是否接收到新數(shù)據(jù)。接收流程圖如圖5所示

圖5 RTL8019AS數(shù)據(jù)接收流程圖

當(dāng)MC68HC05XI6接收到來(lái)自以太網(wǎng)的TCP數(shù)據(jù)報(bào),標(biāo)志位置1,在CAN處理子程序中,根據(jù)該標(biāo)志位判斷是否有數(shù)據(jù)要發(fā)送給另一節(jié)點(diǎn)。在具體調(diào)試時(shí)使一個(gè)CAN節(jié)點(diǎn)每隔一段時(shí)間向網(wǎng)關(guān)轉(zhuǎn)換模塊發(fā)送一些數(shù)據(jù)。網(wǎng)關(guān)接收數(shù)據(jù)后,通過(guò)以太網(wǎng)轉(zhuǎn)發(fā)給上位機(jī),上位機(jī)通過(guò)超級(jí)終端顯示接收的數(shù)據(jù)。同樣,可以通過(guò)超級(jí)終端發(fā)送一些鍵入的數(shù)據(jù)。經(jīng)過(guò)轉(zhuǎn)換模塊傳給另一個(gè)CAN節(jié)點(diǎn),從而改變它的一些內(nèi)部數(shù)據(jù)。

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

本文作者創(chuàng)新點(diǎn)是將CAN總線網(wǎng)絡(luò)應(yīng)用于大型光電測(cè)控設(shè)備,從而簡(jiǎn)化了設(shè)備的龐大復(fù)雜的內(nèi)部結(jié)構(gòu),并且由于CAN自身的優(yōu)點(diǎn),使得設(shè)備的可靠性、數(shù)據(jù)傳輸速率均得到提高,并且降低了誤碼率?,F(xiàn)場(chǎng)技術(shù)與控制技術(shù)相結(jié)合使現(xiàn)場(chǎng)總線在以太網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)中得到了廣泛的應(yīng)用,CAN網(wǎng)絡(luò)與以太網(wǎng)的連接可以實(shí)現(xiàn)對(duì)光電經(jīng)緯儀的遠(yuǎn)程操控以及信息共享,這已成為測(cè)控領(lǐng)域的發(fā)展趨勢(shì)。

 

參考文獻(xiàn)

[1]劉曉晶,續(xù)志軍,絕對(duì)式光電軸角編碼器CAN總線接口[J],微計(jì)算機(jī)信息,2007,23:1-2

[2]饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線CAN 原理與應(yīng)用技術(shù)[M],北京航空航天大學(xué)出版社

[3]杜尚豐,曹曉鐘,徐津.CAN總線測(cè)控技術(shù)及其應(yīng)用[M],電子工業(yè)出版社

[4] 林士兵,袁 焱,楊煜普.TCP/IP 網(wǎng)絡(luò)與CAN 網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J],計(jì)算機(jī)工程2007.02

[5]孫立輝,和志強(qiáng).基于SJA1000的CAN總線系統(tǒng)中廣播和組播的實(shí)現(xiàn)[J],儀表技術(shù)與傳感器,2003

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉