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