網絡和現場總線模塊-CANopen
CANopen是針對第7層(ISO/OSI模型中的用戶層)的通信協議,配置具有高度的靈活性,可以使用CAN作為第2層傳輸介質。它最初是專為運動控制應用而開發的,現在已成為廣泛應用于醫學工程,海事導航,鐵路,甚至樓宇自動化領域的通信協議。 |
CANopen并非是一個典型的主從系統,它運行客戶端 - 服務器服務并遵循生產者-消費者機制。
它可以提供標準化的通信對象:配置對象目錄項的服務數據對象(SDO),傳輸實時數據的過程數據對象(PDO),控制與監控節點的網絡管理對象(NMT)以及其它對象如同步對象,時間戳和緊急報文。
CAN的報文格式
- 圖顯示了CAN的報文格式。報文起始由的顯性位發送,緊接著是11位標識符以及區分數據報文和數據請求報文(遠程幀)的更遠一位。借助遠程幀,網絡節點可以觸發系統中另一個節點的報文傳輸。控制字段了一個報文的發送格式(標準/擴展)以及隨后數據的字節數。
- CAN報文的數據場范圍為0至8個字節。數據場之后是15位的CRC場。該場用于接收器檢查接收到的報文。在應答場中,報文發送器期望從至少一個接收的網絡節點處獲得所傳送報文的無差錯接收的應答信號。網絡中所有接收到無差錯報文的節點給出此應答,并在應答間隙中發送一個顯性位。此應答專門用于傳輸側的故障排除。
- 最后,幀結束場顯示完整的無差錯CAN報文。
在ISO 11898標準中,從OSI數據通信模型的角度來看,CAN協議定義了第1層和第2層。然而,更廣泛的功能對于實現網絡相當必要。針對嵌入式系統和工業自動化應用,有兩個標準可選:CANopen和DeviceNet。
高效的錯誤檢測和故障排除
,CAN協議的特點之一是它能夠檢測傳輸錯誤。因此這可以滿足的要求,例如針對機動車輛中的控制設備網絡。的錯誤檢測能力是由不同的錯誤檢測措施的組合實現的。這方面的措施之一是由能檢測所有全局有效錯誤的報文發送器監控總線電平。此外,每個報文接收器都會檢查每個接收到的報文,它們基于已定義的格式元素和CRC場。以這種方式檢測錯誤只有局部有效。除了檢測傳輸錯誤之外,CAN協議還包含一種檢測并關閉有缺陷的網絡節點的機制。這將確保有缺陷的網絡節點無法持續干擾報文傳輸。