摘要:OSI是Open System Interconnection的縮寫,意為開放式系統互聯。國際標準化組織(ISO)制定了OSI模型,該模型定義了不同計算機互聯的標準,是設計和描述計算機網絡通信的基本框架。OSI模型把網絡通信的工作分為7層,分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。 從OSI的7層網絡模型的角度來看同,CAN(Controller Area Network)現場總線僅僅定義了第1層(物理層,見ISO11898-2標準)、第2層(數據鏈路層,見ISO11898-1標準);而在實際設計中,這兩層完全由硬件實現,設計人員無需再為此開發相關軟件(Software)或固件(Firmware),只要了解如何調用相關的接口和寄存器,即可完成對CAN的控制。如圖 1所示。 圖 1 CAN控制器結構 但CAN沒有規定應用層。也就是沒有規定與實際應用相關的邏輯,比如開關量輸入輸出,模擬量輸入輸出。所以本身對于應用來說,是不完整的。這就像鐵礦石(物理層)冶煉成鐵錠(數據鏈路層),然后針對具體應用,再加工做成汽車、輪船、鋼筋、坦克、鋼結構建筑等等。如圖 2所示。 圖 2 從物理層到應用層 因此,基本每個行業的CAN應用,都需要一個高層協議來定義CAN報文中的11/29位標識符、8字節數據的使用。但在CAN總線的工業自動化應用中,由于設備的互通互聯的需求越來越多,所以需要一個開放的、標準化的高層協議:這個協議支持各種CAN廠商設備的互用性、互換性,能夠實現在CAN網絡中提供標準的、統一的系統通訊模式,提供設備功能描述方式,執行網絡管理功能。其中包括: 應用層(Application layer):為網絡中每一個有效設備都能夠提供一組有用的服務與協議。 通訊描述(Communication profile):提供配置設備、通訊數據的含義,定義數據通訊方式。 設備描述(Device proflile):為設備(類)增加符合規范的行為。 |