DeviceNet和CAN有什么不同?
CAN規(guī)范定義了通信系統(tǒng)的物理層和數(shù)據(jù)鏈路層。CAN規(guī)范是由Bosch開發(fā)的(ISO 11898-1),它完整定義了數(shù)據(jù)鏈路層。 CAN的物理層則有不同的標(biāo)準(zhǔn)(參考下面的鏈接)。使用CAN規(guī)范,網(wǎng)絡(luò)設(shè)計者就擁有了在CAN總線上傳輸和接收幀的方法。指定數(shù)據(jù)如何以幀的方式傳輸就取決于設(shè)計者。
CAN規(guī)范提供了一種穩(wěn)健的信道并且內(nèi)嵌了錯誤檢測和限制。DeviceNet 使用了CAN標(biāo)準(zhǔn)作為更高層通信協(xié)議的基礎(chǔ)。 DeviceNet常常被看作CAN的一種應(yīng)用層協(xié)議。 DeviceNet規(guī)范的主要目的是允許不同廠商的DeviceNet設(shè)備之間的互連和可交換。為了實現(xiàn)這種目的,DeviceNet定義了:
CAN物理層 - 為CAN的物理連接定義了單獨的標(biāo)準(zhǔn)。使用的標(biāo)準(zhǔn)是高速CAN(ISO 11898-2)。該規(guī)范也包含了總線供電電壓、可連設(shè)備數(shù)目、允許的連接器類型、線纜長度以及波特率。
CAN數(shù)據(jù)鏈路層 - 該規(guī)范不可更改。標(biāo)準(zhǔn)的CAN控制器(例如Intel 82527)可以用于DeviceNet設(shè)備。
應(yīng)用層 - DeviceNet規(guī)范的主要貢獻是指定了數(shù)據(jù)組織和設(shè)備間數(shù)據(jù)傳輸?shù)姆椒?。DeviceNet指定了一種設(shè)備需要實現(xiàn)的對象模型。這種方法使得所有的設(shè)備為網(wǎng)絡(luò)其它部分提供了一致的接口,并隱藏了設(shè)備內(nèi)部的細(xì)節(jié)。
在應(yīng)用程序開發(fā)方面,使用NI-CAN編寫應(yīng)用程序的開發(fā)人員會使用幀,需要具備網(wǎng)絡(luò)上其它設(shè)備詳細(xì)的知識,并且能夠使用仲裁ID對它們尋址。這對小型的、“封閉的”網(wǎng)絡(luò)足夠了,例如一個汽車網(wǎng)絡(luò),其主要目標(biāo)是一個快速并且非常可靠的通信網(wǎng)絡(luò)。
使用NI-DNET,開發(fā)人員可以打開和網(wǎng)絡(luò)上的其它設(shè)備通信的對象。DeviceNet規(guī)范提供了檢測網(wǎng)絡(luò)上設(shè)備以及從一個節(jié)點將信息路由到其它節(jié)點的方法。這樣,NI-DNET驅(qū)動可以和任何DeviceNet兼容的設(shè)備進行通信。這考慮到了不同廠商提供的功能相同的設(shè)備之間的可交換性。
還有其它CAN應(yīng)用層協(xié)議,例如: CAL (CAN Application Layer)、CANopen、PCAL、SDS (Smart Distributed System) 以及CAN Kingdom。 National Instruments的產(chǎn)品僅支持DeviceNet。
評論