<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Profibus和CAN現(xiàn)場(chǎng)總線的幀轉(zhuǎn)換

          Profibus和CAN現(xiàn)場(chǎng)總線的幀轉(zhuǎn)換

          作者: 時(shí)間:2016-12-20 來(lái)源:網(wǎng)絡(luò) 收藏

          (2)幀格式舉例

          Profibus的幀有4種

          1)無(wú)數(shù)據(jù)字段的固定長(zhǎng)度的幀

          2)有數(shù)據(jù)字段的固定長(zhǎng)度的幀

          3)有可變數(shù)據(jù)字段長(zhǎng)度的幀

          4)令牌幀

          其中:

          SYN同步時(shí)間,所有的主動(dòng)幀前都必須有。
          SD1開(kāi)始定界符,值l0H
          SD2開(kāi)始定界符,值68H
          SD1開(kāi)始定界符,值A(chǔ)2H
          SD1開(kāi)始定界符,值DCH LE信息字節(jié)長(zhǎng)度。該長(zhǎng)度包括DA, SA,FC和DATA_UNIT。
          LEr重復(fù)信息字節(jié)長(zhǎng)度。 DA目的地址
          SA源地址 FC幀控制 DATA UNIT數(shù)據(jù)字段。在固定長(zhǎng)度的幀中為8個(gè)字符,在可變數(shù)據(jù)字段長(zhǎng)度的幀中由LE決定,最大246個(gè)字符。
          FCS幀檢查順序 ED結(jié)束定界符,值16H。 SC短應(yīng)答幀的單一字符,值E5H。

          (3)地址

          在幀首部的地址字符結(jié)構(gòu)是這樣的:

          地址位組的低7位為其所指示的站地址。這樣在不擴(kuò)展的情況下就有127個(gè)站地址(0~126)可以提供給主站和從站(其中127是作為全局地址來(lái)用的)。

          EXT位用來(lái)指示在DATA UNIT中有無(wú)地址擴(kuò)展。為了效率的緣故,Profibus-DP的數(shù)據(jù)交換功能禁止了地址擴(kuò)展。

          (4)服務(wù)存取點(diǎn)SAP

          ProfibuS-DP協(xié)議使用FDL的服務(wù)存取點(diǎn)SAP作為基本功能代碼。這個(gè)SAP有點(diǎn)類似于我們熟悉的TCP/IP協(xié)議中的端口:

          在Profibus-DP協(xié)議中通常使用的幀格式如下,其中地址欄的最高位是1。

          4、幀的內(nèi)容的轉(zhuǎn)化

          一般說(shuō)來(lái),Profibus現(xiàn)場(chǎng)總線是主從結(jié)構(gòu)的,Master和Slave之間是通過(guò)輪詢來(lái)通訊的。CAN也有主從結(jié)構(gòu)的,但它的通訊方式是優(yōu)先級(jí)逐位仲裁的競(jìng)爭(zhēng)式通訊(CSMA/MBA)。

          如果把這兩種現(xiàn)場(chǎng)總線連在一起的話,大多數(shù)情況下應(yīng)該是把CAN段作為Profibus的Slave。

          CAN的幀比較短,每個(gè)幀都有嚴(yán)格的差錯(cuò)控制,在每個(gè)CAN的幀中,數(shù)據(jù)域最長(zhǎng)是8個(gè)字節(jié);而Profibus常用的有可變數(shù)據(jù)字段的單幀數(shù)據(jù)容量可達(dá)246字節(jié),但它的每個(gè)字節(jié)(UART字符)都有比較好的差錯(cuò)控制。在這種轉(zhuǎn)化中我們需要集中考慮地址轉(zhuǎn)化和幀的拆分問(wèn)題。

          4.1 地址轉(zhuǎn)化

          如前所述,Profibus-DP的站地址(DA/SA)在幀中用1個(gè)字節(jié)的低7位來(lái)表示;但是CAN協(xié)議的幀中卻沒(méi)有明顯的地址位,它是利用仲裁域中的11位(CAN2. OA)或29位(CAN2.OB)表示符ID來(lái)表示幀的有關(guān)接收信息,讓接受節(jié)點(diǎn)自己來(lái)確定是否接收。這樣,實(shí)際上的地址信息就應(yīng)當(dāng)包含在ID中了。CAN協(xié)議沒(méi)有規(guī)定信息標(biāo)識(shí)符(ID)的分配,可以根據(jù)不同的應(yīng)用使用不同的方法。確定標(biāo)識(shí)符的分配非常重要,是高層協(xié)議、應(yīng)用層協(xié)議的一個(gè)主要研究項(xiàng)目。

          在本文中,為簡(jiǎn)單起見(jiàn),我們只采用CAN2. OA格式的幀。首先我們來(lái)研究其標(biāo)識(shí)符的分配方法。世界上已經(jīng)有很多現(xiàn)場(chǎng)總線的高層協(xié)議是基于CAN協(xié)議的,如CANopen, Modbus,DeviceNET等。出于研究方便,現(xiàn)在我們就采用“HiLon協(xié)議B”,協(xié)議。
          下面對(duì)“HiLon協(xié)議B”作簡(jiǎn)單介紹。

          HiLon協(xié)議B是一個(gè)通用協(xié)議。該協(xié)議基于對(duì)稱型多主網(wǎng)絡(luò)結(jié)構(gòu),支持廣播和點(diǎn)對(duì)點(diǎn)傳送命令數(shù)據(jù)。命令數(shù)據(jù)包可長(zhǎng)達(dá)256字節(jié)。

          協(xié)議以CAN2. OA幀結(jié)構(gòu)為基礎(chǔ)。下圖是幀報(bào)文格式,一個(gè)CAN2. OA標(biāo)準(zhǔn)幀由11位ID、1位RTR、4位DLC、數(shù)據(jù)區(qū)(最多8個(gè)字節(jié))組成。

          PRI:保留位(可作優(yōu)先級(jí)位)。通常,保留位設(shè)置為1。保留位亦可作為優(yōu)先級(jí)位,這時(shí)1為低優(yōu)先級(jí)0為高優(yōu)先級(jí)而剩余的優(yōu)先級(jí)由源地址決定,低地址優(yōu)先級(jí)高。該保留功能可有效支持緊急信息傳送,如報(bào)警等。

          source address:源地址,表示發(fā)送數(shù)據(jù)的節(jié)點(diǎn)地址,范圍只能設(shè)定為0~125。

          TYPE:幀類型。見(jiàn)下表中的幀類型說(shuō)明。

          DLC:每幀字節(jié)數(shù)(1~8)



          destination address:目標(biāo)地址,表示接收數(shù)據(jù)的節(jié)點(diǎn)地址,范圍只能設(shè)定為0~125。

          index:索引字節(jié)。對(duì)于單幀數(shù)據(jù),該字節(jié)表示傳輸數(shù)據(jù)的第一個(gè)字節(jié);對(duì)于多幀數(shù)據(jù),此字節(jié)表示索引字節(jié),即此幀數(shù)據(jù)在數(shù)據(jù)包中的位置。

          data:數(shù)據(jù)。

          Profibus有127個(gè)站地址,地址范圍是0~126,127是全局地址。

          兩者的差距并不大。因?yàn)橹皇茄芯坑?,我們不妨把HilonB協(xié)議稍許修改,地址范圍擴(kuò)充到0~126,這樣做,對(duì)整個(gè)CAN幀的長(zhǎng)度和結(jié)構(gòu)并無(wú)任何影響。

          于是,我們就可以對(duì)所有的Profibus設(shè)備和CAN設(shè)備統(tǒng)一編址。整個(gè)系統(tǒng)里的站地址是唯一的,在幀轉(zhuǎn)化時(shí)我們只要把相應(yīng)位的地址信息直接拷貝進(jìn)去就是了。

          4.2 幀的拆分和合并

          要把profibus的長(zhǎng)幀裝到CAN的短幀里去,就只能把Profibus的幀里的數(shù)據(jù)拆分成適合CAN的幀傳輸?shù)拈L(zhǎng)度。



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();