[發明專利]一種基于CAN總線的網絡控制方法有效
| 申請號: | 200810059419.9 | 申請日: | 2008-01-21 |
| 公開(公告)號: | CN101217444A | 公開(公告)日: | 2008-07-09 |
| 發明(設計)人: | 吳朝暉;楊國青;周海娟;張呂紅;俞建德;呂攀 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | H04L12/40 | 分類號: | H04L12/40;G05B19/418 |
| 代理公司: | 杭州求是專利事務所有限公司 | 代理人: | 林懷禹 |
| 地址: | 310027浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 can 總線 網絡 控制 方法 | ||
技術領域
本發明涉及計算機領域的嵌入式實時控制系統,更具體的說,是涉及一種基于CAN總線的網絡控制方法。
背景技術
實時系統是指如果邏輯和時序出現偏差會引起嚴重后果的系統,廣泛應用于工廠生產過程控制、汽車業、辦公自動化、計算機外設、通信設備、機器人、航空航天和民用消費等領域。實時控制系統中,主要使用總線網絡進行通訊。一般是指經過網絡層、鏈路層、物理層等的電子控制單元之間的通信。對于嵌入式實時控制系統,電子控制單元之間的通信是非常必須和重要的,通信系統的速度和可靠性直接影響著汽車的性能和駕駛安全。
CAN(Controller?Area?Network)是控制(器)局域網的簡稱,是德國Bosch公司在1986年為解決現代汽車中眾多測量控制部件之間的數據交換而開發的一種串行數據通信總線。CAN最初是為汽車的監測、控制系統而設計的,現已在航天、電力、石化、冶金、紡織、造紙、倉儲等行業廣泛采用。在火車、輪船、機器人、樓宇自控、醫療器械、數控機床、智能傳感器、過程自動化儀表等自控設備中,都廣泛采用CAN技術。
目前的CAN總線網絡系統,涉及網絡管理的方法還非常有限,不能對總線網絡及連接在該網絡上的所有CAN控制器提供統一的管理方法,這樣就增加了系統的復雜性,并且在出現錯誤時不能統一的監控與管理,在實際應用時有諸多不便。
發明內容
為克服現有技術中的不足,本發明的目的在于提供了一種基于CAN總線的網絡控制方法。
本發明解決其技術問題所采用的技術方案是:
本發明假設一個基于CAN總線的網絡,可以分為三個層次:最下面一層是CAN驅動層,所有對底層CAN控制器硬件的訪問都要通過CAN驅動來實現,是對底層硬件的唯一訪問接口,驅動層為上層用戶提供統一的接口,盡可能地隱藏了微控制器的硬件相關屬性;CAN驅動層之上是CAN接口層,抽象了CAN控制器和電子控制單元的硬件布局,為所有的微控制器提供相同的訪問總線通道的機制而不管其具體的物理位置;最上面一層統稱為通訊服務層,包括傳輸控制,消息路由,通訊管理和網絡管理等模塊,主要是基于底層CAN網絡的傳輸應用與管理。
本發明主要是在CAN接口層(硬件抽象層)實現對底層CAN網絡的狀態或稱之為操作模式的控制。這樣所有連接在同一CAN網絡上的CAN控制器當前的操作模式都可通過一定的程序接口來讀取和改變。CAN總線網絡的操作模式分為未初始化、停止、啟動、休眠和總線關閉五種狀態。一些操作將會引起CAN網絡的操作模式從一個狀態轉換至另一個狀態。通過對操作模式狀態的控制,可以實現對CAN網絡更加靈活的使用并能實時檢測CAN網絡中的軟硬件故障。本方法特別適用于對可靠性、健壯性、容錯要求高的系統。
本發明提供了一種控制底層CAN網絡通訊模式的方法。這種方法假設可將若干個同一類型的CAN控制器連接在同一個CAN網絡上,CAN接口層的網絡模式控制管理將會統一地影響到所有這些CAN控制器。連接在一個CAN網絡上的多個CAN控制器由相應的應用程序接口通過獲取當前的控制器模式。
在具體實施步驟如下:將總線網絡劃分為五個狀態,分別為未初始化、停止、啟動、休眠和總線關閉狀態,限定了每個狀態下可執行的操作,并規定了從一個狀態轉變至另一個狀態。
在系統上電后,整個總線網絡先是處于未初始化狀態,在CAN接口層和CAN驅動層完成對整個總線網絡以及網絡上每個CAN控制器的初始化工作后,總線網絡進入停止狀態,在停止狀態,能夠根據需要更改網絡上的某個CAN控制器的初始化設置,之后整個網絡還是處于停止狀態。
在停止狀態,將會阻止CAN控制器發送符合CAN數據幀格式的協議數據單元,CAN接口層也會阻塞隨后的到CAN驅動層的傳輸請求,所有被掛起的傳輸請求被取消,傳輸緩沖中的內容被刪除,同時,也不能執行任何從總線網絡上接收符合CAN數據幀格式的協議數據單元的操作。
在啟動狀態下,CAN控制器能夠執行所有的發送接收數據的操作,所有的傳輸請求都能傳至CAN驅動;同時CAN驅動能夠接收到CAN總線上的協議數據單元并能將接收指示發送至上層應用模塊。
在休眠狀態下,須將同一個CAN網絡上的所有CAN控制器全部設置成為休眠狀態,如果系統支持喚醒中斷,要開啟每個CAN控制器的喚醒中斷,如果CAN控制器不支持喚醒中斷,則由CAN驅動封裝這一功能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810059419.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種祛濕藥酒
- 下一篇:一種利用網格植生袋進行邊坡綠化的方法





