版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 CAN總線技術(shù)及其在船舶監(jiān)控系統(tǒng)的應(yīng)用摘 要:在CAN總線通信網(wǎng)絡(luò)的建設(shè)中, CAN總線控制器實(shí)現(xiàn)了CAN總線協(xié)議的大部分內(nèi)容。首先介紹了CAN總線的概況,簡(jiǎn)單介紹了CAN總協(xié)議的內(nèi)容,詳細(xì)介紹了有限狀態(tài)自動(dòng)機(jī)的組成特點(diǎn)以及利用有限狀態(tài)自動(dòng)機(jī)實(shí)現(xiàn)CAN總線協(xié)議的方法,論述智能測(cè)控單元 CAN 通訊接口設(shè)計(jì)、CAN控制器外圍硬件電路和 CAN 通信軟件的實(shí)現(xiàn)。關(guān)鍵詞:CAN總線;CAN總線協(xié)議;控制局域網(wǎng);船舶監(jiān)控系統(tǒng); Application of CAN bus technology in ship monitoring System Abstract:In the constructio
2、n of CAN bus communication network, CAN bus controller implements most of the contents of the CAN bus protocol. First introduced the CAN bus, introduces the general agreement of CAN content, introduces the method of characteristics of finite state automata and the use of finite state automata implem
3、entation of CAN bus protocol, discusses the design, implementation intelligent measurement and control unit of CAN communication interface in CAN controller hardware circuit and CAN communication software.Keywords:CAN bus; CAN bus protocol; controller area network; monitoring system for ships;1 前言 1
4、.1 選題目的及意義 CAN即控制器局域網(wǎng),是世界上得到廣泛應(yīng)用的現(xiàn)場(chǎng)總線之一。由于CAN的基本設(shè)計(jì)規(guī)范要求有高的位速率、高抗電磁干擾性、而且能夠檢測(cè)出產(chǎn)生的任何錯(cuò)誤,使得它在汽車工業(yè)、航空工業(yè)、船舶工業(yè)等其他領(lǐng)域也得到了廣泛應(yīng)用。CAN總線規(guī)范已被ISO國(guó)際標(biāo)準(zhǔn)組織制訂為國(guó)際標(biāo)準(zhǔn),CAN總線協(xié)議也是建立在國(guó)際標(biāo)準(zhǔn)組織的開(kāi)放系統(tǒng)互連參考模型基礎(chǔ)上的,主要工作在數(shù)據(jù)鏈路層和物理層。實(shí)際的CAN總線網(wǎng)絡(luò)建設(shè)中, CAN總線協(xié)議一般都固化在CAN總線控中,SJA10001。文中主要討論在CAN總線控制器設(shè)計(jì)中CAN總線協(xié)議的實(shí)現(xiàn)問(wèn)題。2 CAN總線協(xié)議介紹CAN總線協(xié)議主要描述設(shè)備之間的信息傳遞方式
5、,并為任意2個(gè)CAN儀器之間建立兼容性,如電氣特性和數(shù)據(jù)轉(zhuǎn)換等方面。2.1 CAN總線的層結(jié)構(gòu)CAN總線中各個(gè)層的定義與開(kāi)放系統(tǒng)互連模型(OSI)相一致。如圖1所示, CAN被分為應(yīng)用層、數(shù)據(jù)鏈路層和物理層3層2-3。其中數(shù)據(jù)鏈路層又被分為邏輯鏈路控制子層(LLC)和媒體訪問(wèn)控制子層(MAC),各層之間相互獨(dú)立且透明。每一層只與另一設(shè)備上相同的那一層通訊,而實(shí)際的通訊則發(fā)生在每一個(gè)設(shè)備上的相鄰的2層,而各個(gè)設(shè)備之間則只通過(guò)物理層的通信介質(zhì)連接在一起。CAN的規(guī)范定義了模型的最下面2層:數(shù)據(jù)鏈路層和物理層。應(yīng)用層協(xié)議可以由CAN用戶定義成適合特別工業(yè)領(lǐng)域的任何方案,如已在工業(yè)控制和制造業(yè)領(lǐng)域得到
6、廣泛應(yīng)用的標(biāo)準(zhǔn)DeviceNe,t在汽車工業(yè)中,許多制造商都擁有他們自己的應(yīng)用層標(biāo)準(zhǔn)。2.2 CAN總線協(xié)議的主要內(nèi)容CAN總線協(xié)議主要定義了數(shù)據(jù)鏈路層的MAC子層和LLC子層,其內(nèi)容主要包括:1)報(bào)文競(jìng)爭(zhēng)總線時(shí)的仲裁方式,定義了當(dāng)2個(gè)或2個(gè)以上的節(jié)點(diǎn)同時(shí)開(kāi)始發(fā)送報(bào)文時(shí)總線訪問(wèn)權(quán)獲得的問(wèn)題;2)報(bào)文傳輸規(guī)則,定義幀格式、幀類型、接收器與發(fā)送器之間的應(yīng)答、報(bào)文校驗(yàn)等;3)錯(cuò)誤處理,定義錯(cuò)誤的種類、錯(cuò)誤的處理方式等;4)故障界定,定義節(jié)點(diǎn)的錯(cuò)誤狀態(tài)及錯(cuò)誤狀態(tài)間的轉(zhuǎn)換關(guān)系;5)位定時(shí),定義物理層位傳輸時(shí)間片斷劃分、同步方式以及重新同步方式等。3 CAN 總線在船舶的應(yīng)用 CAN 在船舶中的應(yīng)用始于
7、20 世紀(jì) 90 年代初。1994 年德國(guó)MTU 公司成功地研制了基于 CAN 的 MCS-51 監(jiān)控系統(tǒng),開(kāi)創(chuàng)了CAN 網(wǎng)絡(luò)船舶系統(tǒng)應(yīng)用的新紀(jì)元。此后,CAN 網(wǎng)絡(luò)被廣泛地用于船舶的遠(yuǎn)程控制、巡回檢測(cè)、電站監(jiān)控以及火災(zāi)報(bào)警系統(tǒng)中。CAN 網(wǎng)絡(luò)在船舶控制系統(tǒng)中的成功應(yīng)用為解決船舶設(shè)備級(jí) (傳感器、執(zhí)行器、控制模塊)的互聯(lián)網(wǎng)絡(luò)通信問(wèn)題提供了新的數(shù)據(jù)傳輸協(xié)議,并由 CAN 控制器硬件完成協(xié)議的功能和服務(wù)。在CAN 網(wǎng)絡(luò)中,通過(guò)一根可同時(shí)傳輸電源和數(shù)據(jù)信號(hào)的總線可將所有滿足 CAN 協(xié)議的設(shè)備掛接,并提供點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)和廣播式三種通信方式。針對(duì) CAN 在船舶中的日益廣泛應(yīng)用,美國(guó) 國(guó) 家 海
8、洋 電 子 協(xié) 會(huì) (NMEA,national marine electronsassciation) 擴(kuò) 展 了 原 有 的 NMEA0813 協(xié) 議 , 形 成 了 新 的NMEA2000 協(xié)議,為 CAN 網(wǎng)絡(luò)在船舶中應(yīng)用制定了統(tǒng)一的標(biāo)準(zhǔn)和接口協(xié)議。4 監(jiān)控系統(tǒng)的基本結(jié)構(gòu) 在一個(gè)監(jiān)控系統(tǒng)中,測(cè)量、控制和執(zhí)行單元是必不可少的。同時(shí),在一個(gè)基本的通信網(wǎng)絡(luò)中,網(wǎng)絡(luò)硬件和協(xié)議控制器也是必需的。典型的基于 CAN 的監(jiān)控系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖 1 所示 在圖 1 中,基于 CAN 的監(jiān)控系統(tǒng)包括以下幾個(gè)部分: (1)上位 PC 機(jī)收集總線上傳輸?shù)乃行畔?,?duì)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行監(jiān)控,檢測(cè)所有設(shè)備的運(yùn)行參
9、數(shù)的調(diào)整及越限時(shí)的聲光報(bào)警等功能。并通過(guò) CAN 接口卡接入網(wǎng)絡(luò)之中。 (2)智能測(cè)控單元(下位機(jī)系統(tǒng))包括智能傳感器、智能執(zhí)行器和智能控制器等,它們被安裝在測(cè)控現(xiàn)場(chǎng),用于直接獲取現(xiàn)場(chǎng)設(shè)備的參數(shù)或者執(zhí)行相應(yīng)操作和功能。智能測(cè)控單元和傳統(tǒng)設(shè)備相比,區(qū)別在于它們本身帶有支持 CAN 總線通信協(xié)議的 CAN控制器模塊。因而,單元 3 不僅可與上位機(jī)系統(tǒng)通信,同時(shí)也可根據(jù)系統(tǒng)設(shè)計(jì)需要從單元 1 接收數(shù)據(jù)或者向單元;2 發(fā)送數(shù)據(jù),實(shí)現(xiàn)現(xiàn)場(chǎng)底層設(shè)備之間的通信,這點(diǎn)對(duì)于某些系統(tǒng)來(lái)說(shuō)是非常重要的。4.1 智能測(cè)控單元 CAN 通訊接口設(shè)計(jì) 智能測(cè)控單元主要以 Cygnal 公司出品的 C8051F040 單片
10、機(jī)為核心構(gòu)成。該單片機(jī)是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片(SOC),具有與 MCS-51 完全兼容的指令內(nèi)核。內(nèi)部采用流水線結(jié)構(gòu),機(jī)器周期由標(biāo)準(zhǔn)的 12 個(gè)系統(tǒng)周期將為 1 個(gè)系統(tǒng)周期,峰值性能達(dá)到 25MIPS。此外,C8051F040 的內(nèi)能還集成有 CAN 控制器、高速 A/D 轉(zhuǎn)換器等,可以簡(jiǎn)化系統(tǒng)設(shè)計(jì)。C8051F040 集成的是 CAN 控制器,要使 CAN 總線得以運(yùn)行,還需在單片機(jī)上接CAN 收發(fā)器,進(jìn)行電氣轉(zhuǎn)換,將邏輯信號(hào)轉(zhuǎn)換為平衡差分碼。常用的 CAN 收發(fā)器為 PHILIPS 公司出品的 PCA82C250、高速TJA1050 等。這里選用的是 PCA82C250,它可以提供
11、對(duì)總線的差動(dòng)發(fā)送和接收功能,與 ISO11898 標(biāo)準(zhǔn)完全兼容,有三種不同的工作方式,即高速(最高可達(dá) 1Mbps)、斜率控制和待機(jī),可根據(jù)實(shí)際情況選擇。C8051F040 中的 CAN 的工作位速率可達(dá) 1Mbps ,實(shí)際速率可能受 CAN 總線上所選擇的傳輸數(shù)據(jù)的物理層的限制。CAN 處理器有 32 個(gè)消息對(duì)象,可以被配置為發(fā)送或接收數(shù)據(jù)。輸入數(shù)據(jù)、消息對(duì)象及其標(biāo)識(shí)掩碼存儲(chǔ)在 CAN 消息RAM 中。所有數(shù)據(jù)發(fā)送和接收過(guò)濾的協(xié)議處理全部由 CAN 控制器完成,不需要 CIP-51 干預(yù),這就使得用于 CAN 通信對(duì) CPU干涉最小。該 CAN 控制器是可實(shí)現(xiàn)的 Bosch 全功能 CAN
12、模塊,完全符合 CAN 規(guī)范 2.0A 和 2.0B。CAN 控制器的原理框圖如圖 2 所示。CAN 核提供移位輸出和輸入(CANTX 和 CANRX)、消息的串/并轉(zhuǎn)換及其它協(xié)議相關(guān)的任務(wù)(如數(shù)據(jù)發(fā)送和接收過(guò)濾)。消息 RAM 可存儲(chǔ) 32 個(gè)可以在 CAN 網(wǎng)絡(luò)上接收發(fā)送的消息對(duì)象。CAN 寄存器和消息處理器為 CAN 寄存器和消息處理器為 CAN 控制器和 CIP-51 之間的數(shù)據(jù)傳送和狀態(tài)通知提供接口。CIP-51 可以通過(guò)特殊寄存器直接或間接訪問(wèn) CAN 控制器中的 CAN 控制器寄存器(CAN0CN)、CAN 測(cè)試寄存器(CAN0TST)和 CAN 狀態(tài)寄存器(CAN0STA)。其
13、它寄存器必須通過(guò)間接索引法訪問(wèn)。4.1.1CAN 控制器外圍硬件電路實(shí)現(xiàn)為了進(jìn)一步提高系統(tǒng)的抗干擾能力,在 CAN 控制器引腳CANTX、CANRX 和收發(fā)器 PCA82C250 之間并不是直接相連,而是通過(guò)高速光耦 6N173 構(gòu)成的隔離電路后再與 PCA82C250 相連,這樣就可以很好的實(shí)現(xiàn)總線上各節(jié)點(diǎn)的電氣隔離。此通信物理層電路圖如圖 3 所示。在 PCA82C250 與 CAN 總線接口部分也采用了一些安全和抗干擾措施。PCA82C250 的 CANH 和 CANL 引腳各自通過(guò)一個(gè)5 的電阻與 CAN 總線連接,電阻可以起到一定的限流作用,從而保護(hù) PCA82C250 免受過(guò)流的沖
14、擊。在 CANH 和 CANL 與地之間各自接一個(gè) 30pF 的小電容,可以起到濾除總線上的高頻干擾和防電磁輻射的能力。另外,在 CANH 和 CANL 之間并聯(lián)一個(gè)15V 的瞬態(tài)電壓抑制二極管(TVS),可以保護(hù) PCA82C250 在瞬間高電壓情況下而不受損壞。PCA82C250 的 RS 引腳上接有一個(gè)下拉電阻,電阻的大小可根據(jù)總線速率適當(dāng)?shù)恼{(diào)整,其值一般在16k-140K 之間,圖 3 中選用 47K。C8051F040 工作電壓為 2.7V3.6V,其所有 I/O 口允許 5V(極限值 5.8V)輸入,但是 I/O 口輸出電平為 VDD,而 PCA82C250為 5V 系統(tǒng),為了能夠
15、驅(qū)動(dòng)其工作,在 CANTX 引腳上接一上拉電阻,其值為 4.7K。4.1.2CAN 通信軟件實(shí)現(xiàn)下位機(jī) CAN 通信部分主要完成的任務(wù)是:將檢測(cè)到的數(shù)據(jù)傳送給上位機(jī)或其它下位機(jī)節(jié)點(diǎn)。同時(shí),上位機(jī)可以對(duì)下位機(jī)的相關(guān)參數(shù)進(jìn)行設(shè)置。由以上可知,CAN 節(jié)點(diǎn)通信主要包括系統(tǒng)初始化、發(fā)送程序、接收程序等。在本例中,系統(tǒng)軟件采用結(jié)構(gòu)化程序設(shè)計(jì)方案,使其具有較好的模塊性和可移植性.4.1.3系統(tǒng)初始化 系統(tǒng)初始化初始化程序主要完成對(duì)所有報(bào)文對(duì)象的初始化(一般將所有值置零),對(duì) CAN 控制器寄存器 (CAN0CN)、位定時(shí)寄存器(BITREG)進(jìn)行設(shè)置,還要對(duì)發(fā)送報(bào)文對(duì)象和接收?qǐng)?bào)文對(duì)象分別進(jìn)行初始化。其中,
16、位定時(shí)寄存器的設(shè)置較為復(fù)雜,這里使用外部晶振為 11.0592MHz,CAN 通信速率為 1Mbps。(1)初始化 CAN 控制器的一般步驟為:將 SFRPAGE 寄存器設(shè)置為 CAN0_PAGE;將 CAN0CN 寄存器中的 INIT 和 CCE 位設(shè)置為 1;設(shè)置位定時(shí)寄存器和 BRP 擴(kuò)展寄存器中的時(shí)序參數(shù);初始化每個(gè)消息對(duì)象或?qū)⑵銶sgVal為設(shè)置為0(無(wú)效);將INIT清零。(2)初始化發(fā)送對(duì)象的過(guò)程包括設(shè)置發(fā)送消息對(duì)象的命令屏蔽寄存器;設(shè)置仲裁寄存器;消息發(fā)送方向;指明消息長(zhǎng)度和幀類型;選擇發(fā)送消息號(hào)。部分代碼如下: void init_msg_object_TX (char Ms
17、gNum) SFRPAGE=CAN0_PAGE; CAN0ADR=IF1CMDMSK; / 指向命令掩碼寄存器 1 CAN0DAT=0x00B2; / 設(shè)為寫,除了標(biāo)識(shí)掩碼和數(shù)據(jù)位 CAN0ADR=IF1ARB1; / 指向仲裁寄存器 CAN0DAT=0x0000; / 將仲裁 ID 設(shè)為最高優(yōu)先級(jí) CAN0DAT=0xA000; / 設(shè)置消息有效位,沒(méi)有擴(kuò)展ID,方向?yàn)閷?CAN0DAT=0x0088; / 數(shù)據(jù)長(zhǎng)度為 8,數(shù)據(jù)幀 CAN0ADR=IF1CMDRQST; / 指向命令請(qǐng)求寄存器 CAN0DAT=MsgNum; / 寫消息對(duì)象號(hào),即對(duì)哪個(gè)消息對(duì)象進(jìn)行操作 / 36 個(gè) CAN
18、時(shí)鐘周期后,IF 寄存器中的內(nèi)容將被移到CAN 存儲(chǔ)器的消息對(duì)象中 初始化接收對(duì)象與發(fā)送對(duì)象類似,只需要將消息發(fā)送方向改為接收即可。 (3)CAN 啟動(dòng)主要包括設(shè)置位定時(shí)寄存器;設(shè)置消息對(duì)象的命令屏蔽寄存器;設(shè)置CAN允許Init位;開(kāi)中斷即可。代碼如下: void start_CAN (void) SFRPAGE=CAN0_PAGE; CAN0CN |=0x41; / 使能 CCE 和 INIT 位 CAN0ADR=BITREG; / 指向位定時(shí)寄存器 CAN0DAT=0x2640; / 指向命令掩碼寄存器 1 CAN0ADR=IF1CMDMSK; /設(shè)置 CAN RAM 為寫,寫數(shù)據(jù)字節(jié),
19、置位 TXrqst/NewDat,Clr IntPnd CAN0DAT=0x0087; CAN0ADR=IF2CMDMSK; / 指向命令掩碼寄存器 2 CAN0DATL=0x1F;/設(shè)置接收:讀 CAN RAM,讀數(shù)據(jù)字節(jié) CAN0CN |=0x06; / 全局初始化 IE 和 SIE CAN0CN &=0x41; / 清除 CCE 和 INIT 位 (4)數(shù)據(jù)發(fā)送和接收。配置好以上信息,C8051F040 就可以接收到 CAN 總線上的數(shù)據(jù)幀,執(zhí)行相應(yīng)命令或進(jìn)行相應(yīng)的數(shù)據(jù)處理,將反饋信息送入CAN數(shù)據(jù)寄存器,告知CAN發(fā)送消息號(hào)就可以將反饋數(shù)據(jù)傳送到上位機(jī)處理。發(fā)送程序的部分代碼如下:void CAN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 麋鹿課件完美教學(xué)課件
- 消防應(yīng)急體系
- 3.1.1 鐵及其性質(zhì) 課件高一上學(xué)期化學(xué)(人教版2019必修第一冊(cè))
- 外匯期貨課件教學(xué)課件
- 池塘邊的小鴨教案反思
- 過(guò)生日說(shuō)課稿
- 2025商場(chǎng)地產(chǎn)蛇年新春國(guó)潮年貨節(jié)(蛇年行大集主題)活動(dòng)策劃方案-47P
- 智慧人工智能:開(kāi)拓人工智能創(chuàng)新應(yīng)用的方案
- 新能源汽車二手房交易合同模板
- 眼鏡制造合作合同
- 金融隨機(jī)分析2課后答案
- 高中心理健康教育-痛并快樂(lè)著-考試后心理輔導(dǎo)教學(xué)課件設(shè)計(jì)
- 項(xiàng)目驗(yàn)收匯報(bào)ppt模板
- 分包合同(施工隊(duì))
- 網(wǎng)電咨詢績(jī)效考核KPI
- 2023-2024學(xué)年廣東省茂名市小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)期末評(píng)估考試題
- 大學(xué)英語(yǔ)四級(jí)考試真題24套及答案
- GB/T 7305-2003石油和合成液水分離性測(cè)定法
- GB/T 4436-2012鋁及鋁合金管材外形尺寸及允許偏差
- 第10講-群體決策模型
- GB/T 3876-2007鉬及鉬合金板
評(píng)論
0/150
提交評(píng)論