




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 CAN總線技術(shù)及其在船舶監(jiān)控系統(tǒng)的應(yīng)用摘 要:在CAN總線通信網(wǎng)絡(luò)的建設(shè)中, CAN總線控制器實現(xiàn)了CAN總線協(xié)議的大部分內(nèi)容。首先介紹了CAN總線的概況,簡單介紹了CAN總協(xié)議的內(nèi)容,詳細介紹了有限狀態(tài)自動機的組成特點以及利用有限狀態(tài)自動機實現(xiàn)CAN總線協(xié)議的方法,論述智能測控單元 CAN 通訊接口設(shè)計、CAN控制器外圍硬件電路和 CAN 通信軟件的實現(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)場總線之一。由于CAN的基本設(shè)計規(guī)范要求有高的位速率、高抗電磁干擾性、而且能夠檢測出產(chǎn)生的任何錯誤,使得它在汽車工業(yè)、航空工業(yè)、船舶工業(yè)等其他領(lǐng)域也得到了廣泛應(yīng)用。CAN總線規(guī)范已被ISO國際標準組織制訂為國際標準,CAN總線協(xié)議也是建立在國際標準組織的開放系統(tǒng)互連參考模型基礎(chǔ)上的,主要工作在數(shù)據(jù)鏈路層和物理層。實際的CAN總線網(wǎng)絡(luò)建設(shè)中, CAN總線協(xié)議一般都固化在CAN總線控中,SJA10001。文中主要討論在CAN總線控制器設(shè)計中CAN總線協(xié)議的實現(xiàn)問題。2 CAN總線協(xié)議介紹CAN總線協(xié)議主要描述設(shè)備之間的信息傳遞方式
5、,并為任意2個CAN儀器之間建立兼容性,如電氣特性和數(shù)據(jù)轉(zhuǎn)換等方面。2.1 CAN總線的層結(jié)構(gòu)CAN總線中各個層的定義與開放系統(tǒng)互連模型(OSI)相一致。如圖1所示, CAN被分為應(yīng)用層、數(shù)據(jù)鏈路層和物理層3層2-3。其中數(shù)據(jù)鏈路層又被分為邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC),各層之間相互獨立且透明。每一層只與另一設(shè)備上相同的那一層通訊,而實際的通訊則發(fā)生在每一個設(shè)備上的相鄰的2層,而各個設(shè)備之間則只通過物理層的通信介質(zhì)連接在一起。CAN的規(guī)范定義了模型的最下面2層:數(shù)據(jù)鏈路層和物理層。應(yīng)用層協(xié)議可以由CAN用戶定義成適合特別工業(yè)領(lǐng)域的任何方案,如已在工業(yè)控制和制造業(yè)領(lǐng)域得到
6、廣泛應(yīng)用的標準DeviceNe,t在汽車工業(yè)中,許多制造商都擁有他們自己的應(yīng)用層標準。2.2 CAN總線協(xié)議的主要內(nèi)容CAN總線協(xié)議主要定義了數(shù)據(jù)鏈路層的MAC子層和LLC子層,其內(nèi)容主要包括:1)報文競爭總線時的仲裁方式,定義了當2個或2個以上的節(jié)點同時開始發(fā)送報文時總線訪問權(quán)獲得的問題;2)報文傳輸規(guī)則,定義幀格式、幀類型、接收器與發(fā)送器之間的應(yīng)答、報文校驗等;3)錯誤處理,定義錯誤的種類、錯誤的處理方式等;4)故障界定,定義節(jié)點的錯誤狀態(tài)及錯誤狀態(tài)間的轉(zhuǎn)換關(guān)系;5)位定時,定義物理層位傳輸時間片斷劃分、同步方式以及重新同步方式等。3 CAN 總線在船舶的應(yīng)用 CAN 在船舶中的應(yīng)用始于
7、20 世紀 90 年代初。1994 年德國MTU 公司成功地研制了基于 CAN 的 MCS-51 監(jiān)控系統(tǒng),開創(chuàng)了CAN 網(wǎng)絡(luò)船舶系統(tǒng)應(yīng)用的新紀元。此后,CAN 網(wǎng)絡(luò)被廣泛地用于船舶的遠程控制、巡回檢測、電站監(jiān)控以及火災(zāi)報警系統(tǒng)中。CAN 網(wǎng)絡(luò)在船舶控制系統(tǒng)中的成功應(yīng)用為解決船舶設(shè)備級 (傳感器、執(zhí)行器、控制模塊)的互聯(lián)網(wǎng)絡(luò)通信問題提供了新的數(shù)據(jù)傳輸協(xié)議,并由 CAN 控制器硬件完成協(xié)議的功能和服務(wù)。在CAN 網(wǎng)絡(luò)中,通過一根可同時傳輸電源和數(shù)據(jù)信號的總線可將所有滿足 CAN 協(xié)議的設(shè)備掛接,并提供點對點、一點對多點和廣播式三種通信方式。針對 CAN 在船舶中的日益廣泛應(yīng)用,美國 國 家 海
8、洋 電 子 協(xié) 會 (NMEA,national marine electronsassciation) 擴 展 了 原 有 的 NMEA0813 協(xié) 議 , 形 成 了 新 的NMEA2000 協(xié)議,為 CAN 網(wǎng)絡(luò)在船舶中應(yīng)用制定了統(tǒng)一的標準和接口協(xié)議。4 監(jiān)控系統(tǒng)的基本結(jié)構(gòu) 在一個監(jiān)控系統(tǒng)中,測量、控制和執(zhí)行單元是必不可少的。同時,在一個基本的通信網(wǎng)絡(luò)中,網(wǎng)絡(luò)硬件和協(xié)議控制器也是必需的。典型的基于 CAN 的監(jiān)控系統(tǒng)結(jié)構(gòu)設(shè)計如圖 1 所示 在圖 1 中,基于 CAN 的監(jiān)控系統(tǒng)包括以下幾個部分: (1)上位 PC 機收集總線上傳輸?shù)乃行畔ⅲ瑢ο到y(tǒng)的運行狀態(tài)進行監(jiān)控,檢測所有設(shè)備的運行參
9、數(shù)的調(diào)整及越限時的聲光報警等功能。并通過 CAN 接口卡接入網(wǎng)絡(luò)之中。 (2)智能測控單元(下位機系統(tǒng))包括智能傳感器、智能執(zhí)行器和智能控制器等,它們被安裝在測控現(xiàn)場,用于直接獲取現(xiàn)場設(shè)備的參數(shù)或者執(zhí)行相應(yīng)操作和功能。智能測控單元和傳統(tǒng)設(shè)備相比,區(qū)別在于它們本身帶有支持 CAN 總線通信協(xié)議的 CAN控制器模塊。因而,單元 3 不僅可與上位機系統(tǒng)通信,同時也可根據(jù)系統(tǒng)設(shè)計需要從單元 1 接收數(shù)據(jù)或者向單元;2 發(fā)送數(shù)據(jù),實現(xiàn)現(xiàn)場底層設(shè)備之間的通信,這點對于某些系統(tǒng)來說是非常重要的。4.1 智能測控單元 CAN 通訊接口設(shè)計 智能測控單元主要以 Cygnal 公司出品的 C8051F040 單片
10、機為核心構(gòu)成。該單片機是完全集成的混合信號系統(tǒng)級芯片(SOC),具有與 MCS-51 完全兼容的指令內(nèi)核。內(nèi)部采用流水線結(jié)構(gòu),機器周期由標準的 12 個系統(tǒng)周期將為 1 個系統(tǒng)周期,峰值性能達到 25MIPS。此外,C8051F040 的內(nèi)能還集成有 CAN 控制器、高速 A/D 轉(zhuǎn)換器等,可以簡化系統(tǒng)設(shè)計。C8051F040 集成的是 CAN 控制器,要使 CAN 總線得以運行,還需在單片機上接CAN 收發(fā)器,進行電氣轉(zhuǎn)換,將邏輯信號轉(zhuǎn)換為平衡差分碼。常用的 CAN 收發(fā)器為 PHILIPS 公司出品的 PCA82C250、高速TJA1050 等。這里選用的是 PCA82C250,它可以提供
11、對總線的差動發(fā)送和接收功能,與 ISO11898 標準完全兼容,有三種不同的工作方式,即高速(最高可達 1Mbps)、斜率控制和待機,可根據(jù)實際情況選擇。C8051F040 中的 CAN 的工作位速率可達 1Mbps ,實際速率可能受 CAN 總線上所選擇的傳輸數(shù)據(jù)的物理層的限制。CAN 處理器有 32 個消息對象,可以被配置為發(fā)送或接收數(shù)據(jù)。輸入數(shù)據(jù)、消息對象及其標識掩碼存儲在 CAN 消息RAM 中。所有數(shù)據(jù)發(fā)送和接收過濾的協(xié)議處理全部由 CAN 控制器完成,不需要 CIP-51 干預(yù),這就使得用于 CAN 通信對 CPU干涉最小。該 CAN 控制器是可實現(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ā)送和接收過濾)。消息 RAM 可存儲 32 個可以在 CAN 網(wǎng)絡(luò)上接收發(fā)送的消息對象。CAN 寄存器和消息處理器為 CAN 寄存器和消息處理器為 CAN 控制器和 CIP-51 之間的數(shù)據(jù)傳送和狀態(tài)通知提供接口。CIP-51 可以通過特殊寄存器直接或間接訪問 CAN 控制器中的 CAN 控制器寄存器(CAN0CN)、CAN 測試寄存器(CAN0TST)和 CAN 狀態(tài)寄存器(CAN0STA)。其
13、它寄存器必須通過間接索引法訪問。4.1.1CAN 控制器外圍硬件電路實現(xiàn)為了進一步提高系統(tǒng)的抗干擾能力,在 CAN 控制器引腳CANTX、CANRX 和收發(fā)器 PCA82C250 之間并不是直接相連,而是通過高速光耦 6N173 構(gòu)成的隔離電路后再與 PCA82C250 相連,這樣就可以很好的實現(xiàn)總線上各節(jié)點的電氣隔離。此通信物理層電路圖如圖 3 所示。在 PCA82C250 與 CAN 總線接口部分也采用了一些安全和抗干擾措施。PCA82C250 的 CANH 和 CANL 引腳各自通過一個5 的電阻與 CAN 總線連接,電阻可以起到一定的限流作用,從而保護 PCA82C250 免受過流的沖
14、擊。在 CANH 和 CANL 與地之間各自接一個 30pF 的小電容,可以起到濾除總線上的高頻干擾和防電磁輻射的能力。另外,在 CANH 和 CANL 之間并聯(lián)一個15V 的瞬態(tài)電壓抑制二極管(TVS),可以保護 PCA82C250 在瞬間高電壓情況下而不受損壞。PCA82C250 的 RS 引腳上接有一個下拉電阻,電阻的大小可根據(jù)總線速率適當?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ū)動其工作,在 CANTX 引腳上接一上拉電阻,其值為 4.7K。4.1.2CAN 通信軟件實現(xiàn)下位機 CAN 通信部分主要完成的任務(wù)是:將檢測到的數(shù)據(jù)傳送給上位機或其它下位機節(jié)點。同時,上位機可以對下位機的相關(guān)參數(shù)進行設(shè)置。由以上可知,CAN 節(jié)點通信主要包括系統(tǒng)初始化、發(fā)送程序、接收程序等。在本例中,系統(tǒng)軟件采用結(jié)構(gòu)化程序設(shè)計方案,使其具有較好的模塊性和可移植性.4.1.3系統(tǒng)初始化 系統(tǒng)初始化初始化程序主要完成對所有報文對象的初始化(一般將所有值置零),對 CAN 控制器寄存器 (CAN0CN)、位定時寄存器(BITREG)進行設(shè)置,還要對發(fā)送報文對象和接收報文對象分別進行初始化。其中,
16、位定時寄存器的設(shè)置較為復(fù)雜,這里使用外部晶振為 11.0592MHz,CAN 通信速率為 1Mbps。(1)初始化 CAN 控制器的一般步驟為:將 SFRPAGE 寄存器設(shè)置為 CAN0_PAGE;將 CAN0CN 寄存器中的 INIT 和 CCE 位設(shè)置為 1;設(shè)置位定時寄存器和 BRP 擴展寄存器中的時序參數(shù);初始化每個消息對象或?qū)⑵銶sgVal為設(shè)置為0(無效);將INIT清零。(2)初始化發(fā)送對象的過程包括設(shè)置發(fā)送消息對象的命令屏蔽寄存器;設(shè)置仲裁寄存器;消息發(fā)送方向;指明消息長度和幀類型;選擇發(fā)送消息號。部分代碼如下: void init_msg_object_TX (char Ms
17、gNum) SFRPAGE=CAN0_PAGE; CAN0ADR=IF1CMDMSK; / 指向命令掩碼寄存器 1 CAN0DAT=0x00B2; / 設(shè)為寫,除了標識掩碼和數(shù)據(jù)位 CAN0ADR=IF1ARB1; / 指向仲裁寄存器 CAN0DAT=0x0000; / 將仲裁 ID 設(shè)為最高優(yōu)先級 CAN0DAT=0xA000; / 設(shè)置消息有效位,沒有擴展ID,方向為寫 CAN0DAT=0x0088; / 數(shù)據(jù)長度為 8,數(shù)據(jù)幀 CAN0ADR=IF1CMDRQST; / 指向命令請求寄存器 CAN0DAT=MsgNum; / 寫消息對象號,即對哪個消息對象進行操作 / 36 個 CAN
18、時鐘周期后,IF 寄存器中的內(nèi)容將被移到CAN 存儲器的消息對象中 初始化接收對象與發(fā)送對象類似,只需要將消息發(fā)送方向改為接收即可。 (3)CAN 啟動主要包括設(shè)置位定時寄存器;設(shè)置消息對象的命令屏蔽寄存器;設(shè)置CAN允許Init位;開中斷即可。代碼如下: void start_CAN (void) SFRPAGE=CAN0_PAGE; CAN0CN |=0x41; / 使能 CCE 和 INIT 位 CAN0ADR=BITREG; / 指向位定時寄存器 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)命令或進行相應(yīng)的數(shù)據(jù)處理,將反饋信息送入CAN數(shù)據(jù)寄存器,告知CAN發(fā)送消息號就可以將反饋數(shù)據(jù)傳送到上位機處理。發(fā)送程序的部分代碼如下:void CAN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年小學(xué)英語畢業(yè)考試模擬試卷:英語翻譯技巧實戰(zhàn)技巧與實戰(zhàn)技巧與實戰(zhàn)技巧與實戰(zhàn)案例試題
- 2025年小學(xué)語文畢業(yè)升學(xué)考試全真模擬卷(語文綜合素養(yǎng)測評)-語文閱讀理解能力提升技巧試題
- 2025年安全生產(chǎn)考試題庫(建筑施工安全)安全生產(chǎn)技術(shù)與管理規(guī)范試題解析
- 2025年帆船教練職業(yè)技能測試試卷:帆船運動發(fā)展趨勢與市場分析試題
- 2025年消防執(zhí)業(yè)資格考試題庫:消防救援隊伍管理法規(guī)實戰(zhàn)演練試題
- 2025年小學(xué)語文畢業(yè)升學(xué)考試全真模擬卷(基礎(chǔ)夯實版)-作文素材積累與運用策略拓展
- 云南師范大學(xué)《混凝土結(jié)構(gòu)課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北國土資源職業(yè)學(xué)院《城市綠地和風(fēng)景園林規(guī)劃設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 咸陽職業(yè)技術(shù)學(xué)院《計算機系統(tǒng)應(yīng)用基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鹽城幼兒師范高等??茖W(xué)校《建筑工程計里與計價》2023-2024學(xué)年第二學(xué)期期末試卷
- 南開一模試題及答案物理
- 茶葉生產(chǎn)關(guān)鍵影響因素與高產(chǎn)栽培技術(shù)研究
- 施工質(zhì)量獎懲考核實施細則
- 人教版五年級音樂下冊(簡譜)第二單元《阿嘍嘍》教學(xué)設(shè)計
- 2024-2025學(xué)年七年級數(shù)學(xué)北師大版(2024)下學(xué)期期中考試模擬卷B卷(含解析)
- 杭州2025年浙江杭州余杭區(qū)余杭街道招聘編外勞務(wù)派遣人員25人筆試歷年參考題庫附帶答案詳解
- 江蘇省2024年中職職教高考文化統(tǒng)考機電一體化專業(yè)綜合理論真題試卷
- (二模)溫州市2025屆高三第二次適應(yīng)性考試地理試卷(含答案)
- 河南省安陽市滑縣2024-2025學(xué)年九年級下學(xué)期3月月考英語試題(原卷版+解析版)
- 頸動脈斑塊的識別與處理
- 2025年郵政社招筆試試題及答案
評論
0/150
提交評論