<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 現場(chǎng)總線(xiàn)CANopen學(xué)習總結筆記三---基本原理和通信對象

現場(chǎng)總線(xiàn)CANopen學(xué)習總結筆記三---基本原理和通信對象

作者: 時(shí)間:2016-12-14 來(lái)源:網(wǎng)絡(luò ) 收藏
第四章,應用層,為重點(diǎn)章。

主要包含知識點(diǎn)基本原理、通信對象、對象字典、網(wǎng)絡(luò )管理系統、CAN標識符分配、節點(diǎn)ID分配。

本文引用地址:http://dyxdggzs.com/article/201612/329854.htm

這篇筆記主要是先記錄基本原理和通信對象。

4.1基本原理

為了便于統一觀(guān)察CANopen設備,我們引入一種基本的設備模型,其包含:通信單元、應用過(guò)程、對象字典。

通信單元由CAN收發(fā)器、CAN控制器和CANopen協(xié)議棧組成,協(xié)議棧中包括通信對象(PDO和SDO)和狀態(tài)機。

對象字典是應用單元與通信單元之間的接口,實(shí)際上是設備的所有參數列表。

CANopen協(xié)議中定義了3種不同類(lèi)型的通信關(guān)系:分別為主機-從機模型、客戶(hù)端-服務(wù)端模型以及生產(chǎn)者-消費者模型。

主機-從機模型僅用于網(wǎng)絡(luò )管理(NMT),每組主機-從機模型都需要一個(gè)CAN標識符。

客戶(hù)端-服務(wù)器描述的是兩個(gè)設備之間的通信關(guān)系。需要兩個(gè)CAN標識符,只用于SDO通信。

生產(chǎn)者-消費者模型描述一個(gè)生產(chǎn)者和一個(gè)或多個(gè)消費者的一對多通信關(guān)系,只需要一個(gè)CAN標識符。

4.2通信對象

CANopen應用層詳細描述了各種不同類(lèi)型的通信對象(COB),分4種類(lèi)型:

過(guò)程數據對象(PDO)

服務(wù)數據對象(SDO)

預定義對象

網(wǎng)絡(luò )管理對象

過(guò)程數據對象(PDO):

1.通信參數

通信參數用來(lái)描述PDO特性。通信參數按照定義好的地址保存在設備對象,用戶(hù)可以通過(guò)服務(wù)數據對象對通信參數進(jìn)行訪(fǎng)問(wèn)。

通信參數記錄有5個(gè)可用的子條目:COB標識符、傳輸類(lèi)型、禁止時(shí)間、事件計數器和同步初始值。前兩項為必選。

2.PDO的CAN標識符

COB標識符(COB-ID)位于通信參數的子索引01h上,COB標識符是一個(gè)32位值,0~10位是CAN標準幀標識符。只有在預操作狀態(tài)下才能對PDO的COB標識符進(jìn)行訪(fǎng)問(wèn)。

3.PDO鏈路

如果使用生產(chǎn)者-消費者模型在不可編程的NMT從機之間直接進(jìn)行數據交換,用戶(hù)還必須為這些從機配置適當的CAN標識符,使生產(chǎn)者的CAN標識符和消費者的CAN標識符一致,這種方法叫做PDO鏈路。

4.PDO的通信類(lèi)型

PDO的通信類(lèi)型有事件驅動(dòng)、遠程請求或輪詢(xún)、同步傳輸。

事件驅動(dòng)是當輸入值發(fā)生改變的時(shí)候,數據立即被發(fā)送出去。

PDO通信參數索引02h為PDO傳輸類(lèi)型,其定義了觸發(fā)TPDO傳輸或處理收到的RPDO的方法。

傳輸類(lèi)型有0,1~240,241~251,252,253,254、255。書(shū)中的表4.2PDO傳輸類(lèi)型“×”表示選中的類(lèi)型,而并非是不支持的意思。

5.禁止時(shí)間和事件計時(shí)器

禁止時(shí)間(子索引03h)的功能相當于PDO發(fā)送過(guò)濾器,在PDO輸入數據第一次變化時(shí),無(wú)等待地直接發(fā)送該PDO數據,之后PDO輸入數據再發(fā)生變化時(shí)就不會(huì )立即觸發(fā)PDO發(fā)送。禁止時(shí)間可以避免PDO占用全部總線(xiàn)帶寬,從而妨礙發(fā)送最低優(yōu)先級的PDO。

子索引(05h)為異步PDO傳輸設置一個(gè)事件計時(shí)器。

子索引06h(同步初始值)定義了同步計數器的初始值,在傳輸同步信息時(shí),同步計數器不斷遞增以進(jìn)行同步。

6.PDO通信的優(yōu)化

在優(yōu)化中具有決定性意義的是保留足夠的總線(xiàn)帶寬可供其他功能使用。

需要注意PDO通信的優(yōu)缺點(diǎn),總線(xiàn)負載,“浪涌”的概念,其中總線(xiàn)負載是指多個(gè)循環(huán)范圍內的CAN總線(xiàn)占有率的平均值。

另外,還有一個(gè)相當重要的PDO通信參數---PDO映射參數。PDO映射參數包含指向PDO需要發(fā)送的過(guò)程數據的指針(利用索引和子索引表示)。那么說(shuō)明索引與子索引的組合就是一個(gè)指針,應該可以這樣理解。

PDO映射參數的子索引00h表示的是映射對象的數量。

所有映射過(guò)程參數的最大長(cháng)度都不能超過(guò)8字節,分為靜態(tài)PDO映射、可變PDO映射、動(dòng)態(tài)PDO映射。其中靜態(tài)PDO無(wú)法修改,可變PDO可以修改,不過(guò)要遵守修改方法。

而動(dòng)態(tài)PDO映射是指設備處于操作狀態(tài)時(shí),對其進(jìn)行PDO配置。

7.復用PDO

MPDO融合了PDO和SDO的主要特性,其指定了地址(索引和子索引)的過(guò)程數據將通過(guò)一個(gè)獨有的CAN消息以高速廣播的方式傳播。

(11.28)

其中有兩個(gè)尋址方式,一個(gè)是源模式尋址,一個(gè)是目標模式尋址。主要應用領(lǐng)域一是通過(guò)傳輸過(guò)程數據地址實(shí)現傳輸任意數量的數據,無(wú)需設置PDO。二是群發(fā)消息。

優(yōu)點(diǎn):MPDO映射記錄子索引值為255,而普通PDO在0~64之間。

缺點(diǎn):需要更多的帶寬。

總結一個(gè):PDO是用來(lái)傳輸實(shí)時(shí)數據。

4.2.2服務(wù)數據對象SDO

CANopen設備為用戶(hù)提供了一種訪(fǎng)問(wèn)內部設備數據的標準途徑,設備由一種固定的結構(對象字典)管理。對象字典的條目可以通過(guò)服務(wù)數據對象(SDO)來(lái)訪(fǎng)問(wèn),由此需要成對的SDO服務(wù)器和客戶(hù)端。SDO之間的數據交換通常都是由SDO客戶(hù)端發(fā)起的,這好比是對象字典是在一間房子里面的管家,SDO服務(wù)器是門(mén)禁系統,SDO客戶(hù)端是郵遞員,當有郵遞員來(lái)的時(shí)候,會(huì )發(fā)起門(mén)鈴以告訴門(mén)禁要來(lái)送信(數據)。

SDO之間交換至少需要兩個(gè)CAN報文才能實(shí)現,而且兩個(gè)CAN報文的CAN標識符不能一樣。一個(gè)CAN標識符為節點(diǎn)地址(有服務(wù)器的設備)+1536(600h)的CAN報文用于確定的協(xié)議信息。一個(gè)CAN標識符為節點(diǎn)地址(有服務(wù)器的設備)+1408(580h)的CAN報文來(lái)應答。

SDO傳輸有三個(gè)類(lèi)型:加速SDO傳輸、分段SDO傳輸、塊傳輸。

加速SDO傳輸適用于:傳輸數據不超過(guò)4字節,所以整個(gè)傳輸過(guò)程只需要2條CAN報文。傳輸效率為0.0625~0.25。

分段SDO傳輸適用于:超過(guò)4字節的傳輸數據。傳輸效率為0.218~0.432。

為了彌補這一不足,引入一種擴展SDO傳輸方式,效率更高,速度更快,傳輸量更大------塊傳輸。其中塊傳輸進(jìn)行寫(xiě)操作和讀操作有所不同,不過(guò)兩者都要求有較高的緩沖能力,否則會(huì )發(fā)生溢出。在傳輸發(fā)生溢出時(shí),寫(xiě)操作和讀操作可以不需要重新發(fā)新之前發(fā)送過(guò)的塊段,而是重新安排塊大小以適合傳輸。塊傳輸的效率為0.142~0.836。

4.2.3同步

在通過(guò)網(wǎng)絡(luò )進(jìn)行通信的應用中,發(fā)送和接收之間必須相互協(xié)調和同步。CANopen便引入同步對象。同步對象是指不含數據字節或只含有一個(gè)數據字節的CAN報文。

同步對象的CAN標識符為80h,用戶(hù)可通過(guò)“循環(huán)周期”和“同步窗口長(cháng)度”來(lái)對同步機制進(jìn)行參數設置。循環(huán)周期是指同步對象通過(guò)總線(xiàn)發(fā)送的這段時(shí)間。同步PDO必須在同步對象發(fā)送完畢之后的同步時(shí)間窗口范圍內發(fā)送。

同步對象只適用于已經(jīng)工作在同步模式的PDO。如果只將發(fā)送方的TPDO配置成同步傳輸,且把接收方的RPDO定義為事件驅動(dòng),可以大大改變時(shí)間特性。

如果使用了同步計數器,還可以在PDO通信參數中配置同步初始值。

4.2.4發(fā)送設備錯誤信號

CANopen網(wǎng)絡(luò )設備中出現的錯誤大致分為兩類(lèi):一是通信錯誤,二是應用錯誤。其中緊急報文由標準化機制發(fā)送。緊急報文包含以下信息:緊急錯誤代碼、索引1001h(錯誤寄存器)和協(xié)議或制造商定義信息。緊急錯誤代碼中有不同的代碼值,代表不同的錯誤




評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>