




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 CAN總線技術及其在船舶監(jiān)控系統(tǒng)的應用摘 要:在CAN總線通信網(wǎng)絡的建設中, CAN總線控制器實現(xiàn)了CAN總線協(xié)議的大部分內(nèi)容。首先介紹了CAN總線的概況,簡單介紹了CAN總協(xié)議的內(nèi)容,詳細介紹了有限狀態(tài)自動機的組成特點以及利用有限狀態(tài)自動機實現(xiàn)CAN總線協(xié)議的方法,論述智能測控單元 CAN 通訊接口設計、CAN控制器外圍硬件電路和 CAN 通信軟件的實現(xià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),是世界上得到廣泛應用的現(xiàn)場總線之一。由于CAN的基本設計規(guī)范要求有高的位速率、高抗電磁干擾性、而且能夠檢測出產(chǎn)生的任何錯誤,使得它在汽車工業(yè)、航空工業(yè)、船舶工業(yè)等其他領域也得到了廣泛應用。CAN總線規(guī)范已被ISO國際標準組織制訂為國際標準,CAN總線協(xié)議也是建立在國際標準組織的開放系統(tǒng)互連參考模型基礎上的,主要工作在數(shù)據(jù)鏈路層和物理層。實際的CAN總線網(wǎng)絡建設中, CAN總線協(xié)議一般都固化在CAN總線控中,SJA10001。文中主要討論在CAN總線控制器設計中CAN總線協(xié)議的實現(xiàn)問題。2 CAN總線協(xié)議介紹CAN總線協(xié)議主要描述設備之間的信息傳遞方式
5、,并為任意2個CAN儀器之間建立兼容性,如電氣特性和數(shù)據(jù)轉(zhuǎn)換等方面。2.1 CAN總線的層結構CAN總線中各個層的定義與開放系統(tǒng)互連模型(OSI)相一致。如圖1所示, CAN被分為應用層、數(shù)據(jù)鏈路層和物理層3層2-3。其中數(shù)據(jù)鏈路層又被分為邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC),各層之間相互獨立且透明。每一層只與另一設備上相同的那一層通訊,而實際的通訊則發(fā)生在每一個設備上的相鄰的2層,而各個設備之間則只通過物理層的通信介質(zhì)連接在一起。CAN的規(guī)范定義了模型的最下面2層:數(shù)據(jù)鏈路層和物理層。應用層協(xié)議可以由CAN用戶定義成適合特別工業(yè)領域的任何方案,如已在工業(yè)控制和制造業(yè)領域得到
6、廣泛應用的標準DeviceNe,t在汽車工業(yè)中,許多制造商都擁有他們自己的應用層標準。2.2 CAN總線協(xié)議的主要內(nèi)容CAN總線協(xié)議主要定義了數(shù)據(jù)鏈路層的MAC子層和LLC子層,其內(nèi)容主要包括:1)報文競爭總線時的仲裁方式,定義了當2個或2個以上的節(jié)點同時開始發(fā)送報文時總線訪問權獲得的問題;2)報文傳輸規(guī)則,定義幀格式、幀類型、接收器與發(fā)送器之間的應答、報文校驗等;3)錯誤處理,定義錯誤的種類、錯誤的處理方式等;4)故障界定,定義節(jié)點的錯誤狀態(tài)及錯誤狀態(tài)間的轉(zhuǎn)換關系;5)位定時,定義物理層位傳輸時間片斷劃分、同步方式以及重新同步方式等。3 CAN 總線在船舶的應用 CAN 在船舶中的應用始于
7、20 世紀 90 年代初。1994 年德國MTU 公司成功地研制了基于 CAN 的 MCS-51 監(jiān)控系統(tǒng),開創(chuàng)了CAN 網(wǎng)絡船舶系統(tǒng)應用的新紀元。此后,CAN 網(wǎng)絡被廣泛地用于船舶的遠程控制、巡回檢測、電站監(jiān)控以及火災報警系統(tǒng)中。CAN 網(wǎng)絡在船舶控制系統(tǒng)中的成功應用為解決船舶設備級 (傳感器、執(zhí)行器、控制模塊)的互聯(lián)網(wǎng)絡通信問題提供了新的數(shù)據(jù)傳輸協(xié)議,并由 CAN 控制器硬件完成協(xié)議的功能和服務。在CAN 網(wǎng)絡中,通過一根可同時傳輸電源和數(shù)據(jù)信號的總線可將所有滿足 CAN 協(xié)議的設備掛接,并提供點對點、一點對多點和廣播式三種通信方式。針對 CAN 在船舶中的日益廣泛應用,美國 國 家 海
8、洋 電 子 協(xié) 會 (NMEA,national marine electronsassciation) 擴 展 了 原 有 的 NMEA0813 協(xié) 議 , 形 成 了 新 的NMEA2000 協(xié)議,為 CAN 網(wǎng)絡在船舶中應用制定了統(tǒng)一的標準和接口協(xié)議。4 監(jiān)控系統(tǒng)的基本結構 在一個監(jiān)控系統(tǒng)中,測量、控制和執(zhí)行單元是必不可少的。同時,在一個基本的通信網(wǎng)絡中,網(wǎng)絡硬件和協(xié)議控制器也是必需的。典型的基于 CAN 的監(jiān)控系統(tǒng)結構設計如圖 1 所示 在圖 1 中,基于 CAN 的監(jiān)控系統(tǒng)包括以下幾個部分: (1)上位 PC 機收集總線上傳輸?shù)乃行畔?,對系統(tǒng)的運行狀態(tài)進行監(jiān)控,檢測所有設備的運行參
9、數(shù)的調(diào)整及越限時的聲光報警等功能。并通過 CAN 接口卡接入網(wǎng)絡之中。 (2)智能測控單元(下位機系統(tǒng))包括智能傳感器、智能執(zhí)行器和智能控制器等,它們被安裝在測控現(xiàn)場,用于直接獲取現(xiàn)場設備的參數(shù)或者執(zhí)行相應操作和功能。智能測控單元和傳統(tǒng)設備相比,區(qū)別在于它們本身帶有支持 CAN 總線通信協(xié)議的 CAN控制器模塊。因而,單元 3 不僅可與上位機系統(tǒng)通信,同時也可根據(jù)系統(tǒng)設計需要從單元 1 接收數(shù)據(jù)或者向單元;2 發(fā)送數(shù)據(jù),實現(xiàn)現(xiàn)場底層設備之間的通信,這點對于某些系統(tǒng)來說是非常重要的。4.1 智能測控單元 CAN 通訊接口設計 智能測控單元主要以 Cygnal 公司出品的 C8051F040 單片
10、機為核心構成。該單片機是完全集成的混合信號系統(tǒng)級芯片(SOC),具有與 MCS-51 完全兼容的指令內(nèi)核。內(nèi)部采用流水線結構,機器周期由標準的 12 個系統(tǒng)周期將為 1 個系統(tǒng)周期,峰值性能達到 25MIPS。此外,C8051F040 的內(nèi)能還集成有 CAN 控制器、高速 A/D 轉(zhuǎn)換器等,可以簡化系統(tǒng)設計。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 干預,這就使得用于 CAN 通信對 CPU干涉最小。該 CAN 控制器是可實現(xiàn)的 Bosch 全功能 CAN
12、模塊,完全符合 CAN 規(guī)范 2.0A 和 2.0B。CAN 控制器的原理框圖如圖 2 所示。CAN 核提供移位輸出和輸入(CANTX 和 CANRX)、消息的串/并轉(zhuǎn)換及其它協(xié)議相關的任務(如數(shù)據(jù)發(fā)送和接收過濾)。消息 RAM 可存儲 32 個可以在 CAN 網(wǎng)絡上接收發(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 構成的隔離電路后再與 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 通信部分主要完成的任務是:將檢測到的數(shù)據(jù)傳送給上位機或其它下位機節(jié)點。同時,上位機可以對下位機的相關參數(shù)進行設置。由以上可知,CAN 節(jié)點通信主要包括系統(tǒng)初始化、發(fā)送程序、接收程序等。在本例中,系統(tǒng)軟件采用結構化程序設計方案,使其具有較好的模塊性和可移植性.4.1.3系統(tǒng)初始化 系統(tǒng)初始化初始化程序主要完成對所有報文對象的初始化(一般將所有值置零),對 CAN 控制器寄存器 (CAN0CN)、位定時寄存器(BITREG)進行設置,還要對發(fā)送報文對象和接收報文對象分別進行初始化。其中,
16、位定時寄存器的設置較為復雜,這里使用外部晶振為 11.0592MHz,CAN 通信速率為 1Mbps。(1)初始化 CAN 控制器的一般步驟為:將 SFRPAGE 寄存器設置為 CAN0_PAGE;將 CAN0CN 寄存器中的 INIT 和 CCE 位設置為 1;設置位定時寄存器和 BRP 擴展寄存器中的時序參數(shù);初始化每個消息對象或?qū)⑵銶sgVal為設置為0(無效);將INIT清零。(2)初始化發(fā)送對象的過程包括設置發(fā)送消息對象的命令屏蔽寄存器;設置仲裁寄存器;消息發(fā)送方向;指明消息長度和幀類型;選擇發(fā)送消息號。部分代碼如下: void init_msg_object_TX (char Ms
17、gNum) SFRPAGE=CAN0_PAGE; CAN0ADR=IF1CMDMSK; / 指向命令掩碼寄存器 1 CAN0DAT=0x00B2; / 設為寫,除了標識掩碼和數(shù)據(jù)位 CAN0ADR=IF1ARB1; / 指向仲裁寄存器 CAN0DAT=0x0000; / 將仲裁 ID 設為最高優(yōu)先級 CAN0DAT=0xA000; / 設置消息有效位,沒有擴展ID,方向為寫 CAN0DAT=0x0088; / 數(shù)據(jù)長度為 8,數(shù)據(jù)幀 CAN0ADR=IF1CMDRQST; / 指向命令請求寄存器 CAN0DAT=MsgNum; / 寫消息對象號,即對哪個消息對象進行操作 / 36 個 CAN
18、時鐘周期后,IF 寄存器中的內(nèi)容將被移到CAN 存儲器的消息對象中 初始化接收對象與發(fā)送對象類似,只需要將消息發(fā)送方向改為接收即可。 (3)CAN 啟動主要包括設置位定時寄存器;設置消息對象的命令屏蔽寄存器;設置CAN允許Init位;開中斷即可。代碼如下: void start_CAN (void) SFRPAGE=CAN0_PAGE; CAN0CN |=0x41; / 使能 CCE 和 INIT 位 CAN0ADR=BITREG; / 指向位定時寄存器 CAN0DAT=0x2640; / 指向命令掩碼寄存器 1 CAN0ADR=IF1CMDMSK; /設置 CAN RAM 為寫,寫數(shù)據(jù)字節(jié),
19、置位 TXrqst/NewDat,Clr IntPnd CAN0DAT=0x0087; CAN0ADR=IF2CMDMSK; / 指向命令掩碼寄存器 2 CAN0DATL=0x1F;/設置接收:讀 CAN RAM,讀數(shù)據(jù)字節(jié) CAN0CN |=0x06; / 全局初始化 IE 和 SIE CAN0CN &=0x41; / 清除 CCE 和 INIT 位 (4)數(shù)據(jù)發(fā)送和接收。配置好以上信息,C8051F040 就可以接收到 CAN 總線上的數(shù)據(jù)幀,執(zhí)行相應命令或進行相應的數(shù)據(jù)處理,將反饋信息送入CAN數(shù)據(jù)寄存器,告知CAN發(fā)送消息號就可以將反饋數(shù)據(jù)傳送到上位機處理。發(fā)送程序的部分代碼如下:void CAN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年發(fā)展崗面試試題及答案
- 2025年執(zhí)法資格考試試題及答案
- 國際安全的概念
- 大綜合 提升行政執(zhí)法能力 業(yè)務培訓
- 2025-2030年中國直射式超低頻音箱數(shù)據(jù)監(jiān)測研究報告
- 2025屆貴州省安順市高三下學期3月聯(lián)考(二模)歷史試題
- 部編版小學五年級語文下冊非連續(xù)性文本閱讀訓練(含答案)
- 部編版五年級下冊道德與法治期末測試卷(含答案)
- Unit 5 Do you want to watch a game show?Section A(1a-2d)同步提升練習(含答案)
- 花藝軟裝造景施工方案
- 2025年湖南益陽市生態(tài)環(huán)境局招聘10人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 2025年深圳市高三語文一?!梆囸I感缺失是好事嗎”作文分析
- 2025年江蘇省職業(yè)院校技能大賽高職組(人力資源服務)參考試題庫資料及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 護林員系統(tǒng)培訓
- 辦公耗材采購 投標方案(技術方案)
- 南寧市普通住宅小區(qū)物業(yè)服務等級及收費標準
- 河北省建筑施工安全技術資料管理標準
- WC55Y支架搬運車PPT課件
- 壓力容器涂敷運輸包裝工藝規(guī)程
- XDFA操作手冊
評論
0/150
提交評論