CAN總線內容閱讀筆記

來自CAN總線在醫療中的應用於展望——醫療衛生裝備期刊
DOI:10.7687/J.ISSN1003-8868.2014.08.112
CAN總線在醫療設備上的設計與應用——北航碩士論文

CAN總線的特點

CAN總線是一種串行總線,任何節點都可以掛在在上面;
CAN總線協議是一個開放的體系,可以自己開發高層應用;
CAN總線屬於多主工作方式,支持差分收發;
傳輸介質爲雙絞線,通信速率與總線長度有關。
CAN總線採用短消息報文,每一幀數據段的有效字節數爲8byte.

基於CAN的高層應用協議

CAN總線協議只定義了OSI模型中的物理層和數據鏈路層,相對複雜的應用問題需要一個更高層次的協議——應用層協議(CAL, CAN Application layer)來實現,用戶自己是可以開發CAL的。
CAN總線中物理層和數據鏈路層的功能由CAN控制器和收發器實現。

物理層

主要是網絡上節點間的物力數據傳輸,物理層定義了傳輸線和接口硬件的機械,電氣和電信號特徵和功能。
其中機械特性包含:連接器尺寸,類型等;
電氣特性包含:最大傳輸速率,最大傳輸距離,信號電平狀態代表的含義等;
電信號特性包含:對應電平信號的邏輯信號,信號的傳輸時序,數據採樣方式;

數據鏈路層

CAN網絡數據鏈路層主要分爲邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)
LLC主要功能是,實現邏輯上消息的發送和接收,進行消息與狀態的處理。提供三類功能:幀接收濾波,超載通知和恢復管理。
MAC子層是CAN協議的核心,描述LLC子層接收到的報文和LLC子層發送的認可報文。MAC子層劃分爲發送部分和接收部分。

CT中各設備之間的CAN總線連接關係

CAN總線中設備的物理層和數據鏈路層可以通過覈實的CAN總線控制器和CAN總線收發器來實現

CAN總線上的應用層協議

在醫療領域中,標準化的CANopen通信規範已經成爲毅力哦啊設備中不可或缺的一部分。
根據系統的功能指定CAN總線應用協議,就是具體規定在總線上傳輸的數據代表什麼意義,傳遞什麼信息或命令。
同時把數據組織成CAN協議規定的數據幀格式,執行CAN節點A就可以執行發送子程序發送數據。

CAN總線數據傳輸過程分析

CAN總線採用了半雙工的通信方式,完整的數據通信包括髮送過程和接收過程。
下圖表示CAN協議的數據傳遞過程

如上圖所以,以CT系統爲例,節點A代表GCB(控制盒子系統),節點B代表SC(CT掃描控制系統).

發送

首先GCB的應用層發送的數據向下傳遞到CAN協議的數據鏈路層,在此完成數據的封裝,併產看總線狀態是否開放。如果總線開放,就將數據向下發送到物理層。——應用層——數據鏈路層
物理層接收數據,按照物理層接口規範,通過編碼電路完成數據的位編碼。然後通過闡述介質將數據發送到CAN總線上。——物理層——CAN總線

接收

CAN總線上的device SC的物理層接收到GCB發送的數據。注意,CAN總線上的所有Device的物理層都會接收到數據。
物理層對接收到的數據進行解碼,然後將解碼後的數據向上傳遞到數據鏈路層。——物理層——數據鏈路層
數據鏈路層對接收到的數據進行串/並行轉換,對數據幀進行解裝或拆封(數據幀的結構見上一篇文章)。然後總線控制器的接收濾波器對接收數據進行過濾,只有符合條件(通過數據幀的仲裁段報文識別符進行判斷)的數據才最終確認接收,否則丟棄。——數據鏈路層的判斷
完成數據幀的接收後,CAN控制器將數據存放在接收緩衝區中,系統就會讀取數據,分析數據,根據數據段的協議規定執行相應的動作。

CAN總線上的Device的物理層和數據鏈路層完全有硬件實現,而應用層則需要用軟件實現
對於單個節點來說,應用層主要實現電位器信號的採集功能,按鍵信號的採集功能,開關和傳感器信號的採集功能等。這些軟件實現

開發過程中最主要的是實現應用層軟件上的設計。核心部分是微處理器與CAN總線通信控制器的數據發送和接收程序。
當微處理器將要發送的數據傳遞到CAN通信控制器後,有控制器將數據發送到CAN總線上,再通過總線傳遞到其他節點上,當CAN總線控制器接收到數據後,則要求微處理器從CAN總線控制器中取走數據。

以CT的GCB子系統爲例,該節點電路板需要實現該節點上電位器信號的採集,按鍵信號的採集,開關和傳感器信號的採集等功能。同時節點電路板要實現將採集的數據信息傳遞給其他節點並從其他節點獲得所需的數據信息。( 關鍵之處是選擇合適的單片機,CAN總線控制器和CAN 總線收發器來實現上述電路板功能 )

附錄1

OSI模型
OSI——開放式系統互聯通信參考模型,Open system interconnection reference model.
是一種概念模型,由ISO(國際標準化組織)提出。
OSI將計算機網絡體系結構劃分爲7層
物理層:最底層
數據鏈路層
網絡層
傳輸層
會話層
表示層
應用層:最高層
如圖:

附錄二

在醫療領域CAN的事件
在CAN早期,飛利浦醫療首先採用CAN總線作爲其X線機的內部通信網絡,用來連接諸如準直器,球管,檢查牀等組件。
上世紀90年代初,西門子確定使用CAN總想愛你作爲CT系統的通信骨幹。

參考文獻:
CAN總線在醫療設備上的設計與應用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章