新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN和DeviceNet總線

        CAN和DeviceNet總線

        作者: 時間:2016-12-14 來源:網絡 收藏
          DeviceNet的數據鏈路層完全根據CAN規范和CAN控制器芯片實際特性來定義。CAN規范定義了兩種總線狀態,“顯性”(邏輯0)和“隱性”(邏輯1)。任何發送器都可以將總線驅動為“顯性”狀態。沒有發送器處于顯性狀態時,總線只能是隱性狀態:

          CAN定義了四種類型的幀:
          l 數據幀 l 遠程幀
          l 超載幀 l 出錯幀
          DeviceNet使用數據幀傳送數據。遠程幀在DeviceNet中沒有被使用,超載幀和出錯幀則用于例外情況的處理。數據幀格式如圖所示。
          
          較高優先權的數據取得總線通信權
          同以太網類似,DeviceNet在總線空閑時任何節點都可以嘗試發送,這提供了網絡固有的點對點的通信能力。當兩個或多個節點同時想要訪問網絡時,非破壞性逐位仲裁機制會解決潛在的沖突,而不會損失數據或浪費帶寬。比較而言,以太網所使用的沖突檢測器,會導致丟失數據和帶寬的浪費。發生沖突的兩個節點必須回退并重新發送數據。  
          
          CAN使用唯一的、非破壞性逐位仲裁機制。CAN的這一特性使得在解決總線沖突(決定“勝者”時,不會因為要求優先權高的節點重發數據而損失總線的吞吐能力。

          CAN使用逐位仲裁的方法解決沖突。CAN網絡上所有接收器通過一個幀的起始位(由隱性轉變為顯性)同步。標識符和RTR(遠程傳送請求)位一起組成仲裁區,仲裁區是為了便于媒體訪問。DeviceNet不使用RTR位,因此總線訪問優先權也不將其考慮在內。當設備進行發送時,它要監視(接收)自己發送的內容,以確定兩者是否一致,從而可以在發送時進行檢測。在節點發送仲裁區時,如果發送了一個隱性位同時卻接收到一個顯性位,它就停止發送。同時進行發送的兩個節點中,仲裁的勝者是具有較低值的11位標識符的節點。CAN還規定了具有29位標識符的數據幀格式,但DeviceNet沒有使用該格式。

          控制區包括兩個固定位和一個4位的長度區。長度區可以是0-8中的任一個數字,表示數據區中的字節數。0-8字節的數據長度對于具有少量但必須頻繁交換I/O數據的低端設備來說很理想。同時8個字節使簡單設備可以靈活地發送診斷數據,或向驅動器發送速度基準和加速度值。
          
          CRC校驗區是循環冗余校驗字,CAN控制器用它來檢測幀錯誤。校驗字通過對它前面的位進行計算得到。ACK應答中的顯性位表明除了發送者以外至少有一個接收器接受到報文。
          CAN使用包括CRC和自動重試在內的多種錯誤檢測和故障限制方法。這些對應用來說高度透明的方法,可以防止故障節點破壞(中斷)網絡。


        關鍵詞: CANDeviceNet總

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汾阳市| 铜山县| 张家港市| 芒康县| 阜平县| 焦作市| 乌审旗| 无棣县| 西安市| 井陉县| 西盟| 镇沅| 乐都县| 唐海县| 秦皇岛市| 萝北县| 苏尼特左旗| 中牟县| 东至县| 铁力市| 察哈| 双桥区| 望城县| 霍山县| 晋江市| 泾阳县| 灵璧县| 天水市| 宣恩县| 法库县| 长沙市| 天气| 龙海市| 澳门| 饶河县| 金塔县| 乌拉特中旗| 江门市| 丰宁| 肥乡县| 清原|