標(biāo)題: CANopen協(xié)議中文版(共21頁pdf下載) [打印本頁]

作者: modouyulb    時間: 2018-9-20 10:32
標(biāo)題: CANopen協(xié)議中文版(共21頁pdf下載)
canopen協(xié)議是流行于歐洲的一種協(xié)議,初看還是挺懵逼的,有需要的同學(xué)可以下來看看

1、介紹
從OSI網(wǎng)絡(luò)模型的角度來看同,現(xiàn)場總線網(wǎng)絡(luò)一般只實現(xiàn)了第1層(物理層) 、第2 層(數(shù)據(jù)鏈路層) 、第7層(應(yīng)用層) 。因為現(xiàn)場總線通常只包括一個網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡(luò)層) ,也不需要第5層(會話層)第6層(描述層)的作用。 CAN(Controller Area Network)現(xiàn)場總線僅僅定義了第1 層、第2層(見ISO11898標(biāo)準(zhǔn)) ;實際設(shè)計中,這兩層完全由硬件實現(xiàn),設(shè)計人員無需再為此開發(fā)相關(guān)軟件(Software)或固件(Firmware) 。 同時,CAN只定義物理層和數(shù)據(jù)鏈路層,沒有規(guī)定應(yīng)用層,本身并不完整,需要一個高層協(xié)議來定義CAN報文中的 11/29位標(biāo)識符、8字節(jié)數(shù)據(jù)的使用。而且,基于CAN總線的工業(yè)自動化應(yīng)用中,越來越需要一個開放的、標(biāo)準(zhǔn)化的高層協(xié)議:這個協(xié)議支持各種CAN 廠商設(shè)備的互用性、互換性,能夠?qū)崿F(xiàn)在CAN網(wǎng)絡(luò)中提供標(biāo)準(zhǔn)的、統(tǒng)一的系統(tǒng)通訊模式,提供設(shè)備功能描述方式,執(zhí)行網(wǎng)絡(luò)管理功能。
z  應(yīng)用層(Application layer) :為網(wǎng)絡(luò)中每一個有效設(shè)備都能夠提供一組有用的服務(wù)與協(xié)議。
z  通訊描述(Communication profile) :提供配置設(shè)備、通訊數(shù)據(jù)的含義,定義數(shù)據(jù)通訊方式。
z  設(shè)備描述(Device proflile) :為設(shè)備(類)增加符合規(guī)范的行為。
下面的章節(jié)將介紹基于CAN 的高層協(xié)議: CAL協(xié)議和基于CAL協(xié)議擴展的CANopen 協(xié)議。 CANopen協(xié)議是CAN-in-Automation(CiA)定義的標(biāo)準(zhǔn)之一,并且在發(fā)布后不久就獲得了廣泛的承認(rèn)。尤其是在歐洲,CANopen協(xié)議被認(rèn)為是在基于CAN的工業(yè)系統(tǒng)中占領(lǐng)導(dǎo)地位的標(biāo)準(zhǔn)。大多數(shù)重要的設(shè)備類型,例如數(shù)字和模擬的輸入輸出模塊、驅(qū)動設(shè)備、操作設(shè)備、控制器、可編程控制器或編碼器,都在稱為“設(shè)備描述”的協(xié)議中進行描述; “設(shè)備描述”定義了不同類型的標(biāo)準(zhǔn)設(shè)備及其相應(yīng)的功能。依靠CANopen協(xié)議的支持,可以對不同廠商的設(shè)備通過總線進行配置。
在OSI模型中,CAN標(biāo)準(zhǔn)、CANopen協(xié)議之間的關(guān)系如下圖所示:

圖1.1   CAN、CANopen標(biāo)準(zhǔn)在OSI網(wǎng)絡(luò)模型中的位置框圖

2、CAL  協(xié)議
CAL(CAN Application Layer)協(xié)議是目前基于 CAN的高層通訊協(xié)議中的一種,最早由 Philips醫(yī)療設(shè)備部門制定,F(xiàn)在CAL由獨立的CAN用戶和制造商集團CiA(CAN in Automation)協(xié)會負(fù)責(zé)管理、發(fā)展和推廣。
CAL提供了4種應(yīng)用層服務(wù)功能:
z  CMS (CAN-based Message Specification)
CMS 提供了一個開放的、面向?qū)ο蟮沫h(huán)境,用于實現(xiàn)用戶的應(yīng)用。CMS 提供基于變量、事件、域類型的對象,以設(shè)計和規(guī)定一個設(shè)備(節(jié)點)的功能如何被訪問(例如,如何上載下載超過8 字節(jié)的一組數(shù)據(jù)(域) ,并且有終止傳輸?shù)墓δ埽?。
CMS 從MMS (Manufacturing Message Specification)繼承而來。MMS是OSI 為工業(yè)設(shè)備的遠(yuǎn)程控制和監(jiān)控而制定的應(yīng)用層規(guī)范。
z  NMT (Network ManagemenT)
提供網(wǎng)絡(luò)管理(如初始化、啟動和停止節(jié)點,偵測失效節(jié)點)服務(wù)。這種服務(wù)是采用主從通訊模式(所以只有一個NMT主節(jié)點)來實現(xiàn)的。
z  DBT (DistriBuTor)
提供動態(tài)分配CAN ID(正式名稱為COB-ID,Communication Object Identifier)服務(wù)。這種服務(wù)是采用主從通訊模式(所以只有一個DBT主節(jié)點)來實現(xiàn)的。
z  LMT (Layer ManagemenT)
LMT提供修改層參數(shù)的服務(wù):一個節(jié)點(LMT Master)可以設(shè)置另外一個節(jié)點(LMT Slave)的某層參數(shù)(如改變一個節(jié)點的NMT地址,或改變CAN接口的位定時和波特率) 。

CMS為它的消息定義了8個優(yōu)先級,每個優(yōu)先級擁有220個COB-ID,范圍從1到1760。剩余的標(biāo)志(0,1761-2031)保留給NMT,DBT和LMT,見表2-1。



注意這是CAN2.0A標(biāo)準(zhǔn),11 位ID范圍[0,2047],由于歷史原因限制在[0,2031]。如果使用CAN2.0B標(biāo)準(zhǔn), 29位ID并不改變這個描述; 表中的11位映射到29位COB-ID中的最高11位, 以至于表中的COB-ID范圍變得增大許多。

3、CANopen
CAL提供了所有的網(wǎng)絡(luò)管理服務(wù)和報文傳送協(xié)議,但并沒有定義CMS 對象的內(nèi)容或者正在通訊的對象的類型(它只定義了how,沒有定義what) 。而這正是CANopen切入點。 CANopen是在 CAL基礎(chǔ)上開發(fā)的,使用了CAL通訊和服務(wù)協(xié)議子集,提供了分布式控制系統(tǒng)的一種實現(xiàn)方案。CANopen在保證網(wǎng)絡(luò)節(jié)點互用性的同時允許節(jié)點的功能隨意擴展:或簡單或復(fù)雜。 CANopen的核心概念是設(shè)備對象字典 (OD: Object Dictionary) , 在其它現(xiàn)場總線 (Profibus, Interbus-S)系統(tǒng)中也使用這種設(shè)備描述形式。注意:對象字典不是CAL的一部分,而是在CANopen中實現(xiàn)的。 下面先介紹對象字典(OD:Object Dictionary) ,然后再介紹CANopen通訊機制。
3.1   對象字典 OD
對象字典(OD:Object Dictionary)是一個有序的對象組;每個對象采用一個16位的索引值來尋址,為了允許訪問數(shù)據(jù)結(jié)構(gòu)中的單個元素,同時定義了一個8位的子索引,對象字典的結(jié)構(gòu)參照表3-1。不要被對象字典中索引值低于 0x0FFF 的‘data types’項所迷惑,它們僅僅是一些數(shù)據(jù)類型定義。一個節(jié)點的對象字典的有關(guān)范圍在0x1000到0x9FFF之間。

完整的pdf格式文檔51黑下載地址(共21頁):
canopen中文協(xié)議.pdf (2.08 MB, 下載次數(shù): 238)



作者: ggderek    時間: 2020-5-9 14:53
謝謝,正好需要
作者: ZZH3    時間: 2021-3-5 18:09
感謝樓主的分享,正好需要學(xué)習(xí)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1