<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ò) 收藏

          1、概述

          現(xiàn)場(chǎng)總線是一種用于智能化現(xiàn)場(chǎng)設(shè)備和自動(dòng)化系統(tǒng)的開放式、數(shù)字化、雙向串行、多節(jié)點(diǎn)的通信總線。

          在實(shí)際的生產(chǎn)建設(shè)中,我們將會(huì)經(jīng)常遇到將不同現(xiàn)場(chǎng)總線的設(shè)備集成在一起或者在某一現(xiàn)場(chǎng)總線中利用其他現(xiàn)場(chǎng)總線協(xié)議的設(shè)備的問(wèn)題。這就涉及到了不同的現(xiàn)場(chǎng)總線協(xié)議的協(xié)議轉(zhuǎn)化。數(shù)據(jù)鍵路層的幀轉(zhuǎn)換是這些協(xié)議轉(zhuǎn)化中的一個(gè)很關(guān)鍵的問(wèn)題。
          在這里,我們以Profibus-DP和CAN這兩種當(dāng)今使用廣泛的現(xiàn)場(chǎng)總線來(lái)研究現(xiàn)場(chǎng)總線的協(xié)議幀轉(zhuǎn)化。

          2、CAN現(xiàn)場(chǎng)總線的傳輸層協(xié)議簡(jiǎn)介

          傳輸層是CAN協(xié)議的核心。它把接收到的報(bào)文提供給對(duì)象層,以及接收來(lái)自對(duì)象層的報(bào)文。傳輸層負(fù)責(zé)位定時(shí)及同步、報(bào)文分幀、仲裁、應(yīng)答、錯(cuò)誤檢測(cè)和標(biāo)定、故障界定。

          報(bào)文路由:報(bào)文的內(nèi)容由識(shí)別符命名。識(shí)別符不指出報(bào)文的目的地,但解釋數(shù)據(jù)的含義。因此,網(wǎng)絡(luò)上所有的節(jié)點(diǎn)可以通過(guò)報(bào)文濾波確定是否應(yīng)對(duì)該數(shù)據(jù)做出反應(yīng)。

          報(bào)文傳輸由以下4個(gè)不同的幀類型所表示和控制:

          ? 數(shù)據(jù)幀:數(shù)據(jù)幀攜帶數(shù)據(jù)從發(fā)送器至接收器。
          ? 遠(yuǎn)程幀:總線單元發(fā)出遠(yuǎn)程幀,請(qǐng)求發(fā)送具有同一識(shí)別符的數(shù)據(jù)幀。
          ? 錯(cuò)誤幀:任何單元檢測(cè)到一總線錯(cuò)誤就發(fā)出錯(cuò)誤幀。
          ? 過(guò)載幀:過(guò)載幀用以在先行的和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí)。

          數(shù)據(jù)幀(或遠(yuǎn)程幀)通過(guò)幀間空間與前述的各幀分開。

          在這里我們以數(shù)據(jù)幀為例來(lái)分析CAN的幀結(jié)構(gòu)。

          2.1 數(shù)據(jù)幀

          數(shù)據(jù)幀由7個(gè)不同的位場(chǎng)組成,如圖1所示:


          圖1 數(shù)據(jù)幀的結(jié)構(gòu)

          (1)幀起始

          它標(biāo)志數(shù)據(jù)幀和遠(yuǎn)程幀的起始,由一個(gè)單獨(dú)的“顯性”位組成。

          (2)仲裁域

          仲裁域包括識(shí)別符(ID)和遠(yuǎn)程發(fā)送請(qǐng)求位(RTR)。

          識(shí)別符(ID):識(shí)別符的長(zhǎng)度為11位。這些位的發(fā)送順序是從ID-10到ID-0。最低位是ID-0。最高的7位(ID-10到ID-4)必須不能全是“隱性”。

          RTR位:該位在數(shù)據(jù)幀里必須為“顯性”,而在遠(yuǎn)程幀里必須為“隱性”。


          圖2 仲載域


          圖3 控制域

          (3)控制域

          控制域由6個(gè)位組成,包括數(shù)據(jù)長(zhǎng)度代碼和兩個(gè)將來(lái)作為擴(kuò)展用的保留位。所發(fā)送的保留位必須為“顯性”。數(shù)據(jù)長(zhǎng)度代碼指示了數(shù)據(jù)域中字節(jié)數(shù)量,長(zhǎng)度為4個(gè)位。

          (4)CRC域

          CRC域包括CRC序列,其后是CRC界定符,它包含一個(gè)單獨(dú)的“隱性”位。

          (5)應(yīng)答域

          應(yīng)答域長(zhǎng)度為2位,包含應(yīng)答間隙和應(yīng)答界定符。在應(yīng)答域里,發(fā)送站發(fā)送兩個(gè)“隱性”位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙期間發(fā)送ACK信號(hào),向發(fā)送器發(fā)送一“顯性”的位以示應(yīng)答。

          (6)幀結(jié)尾

          每一個(gè)數(shù)據(jù)幀和遠(yuǎn)程幀均由一標(biāo)志序列界定。這個(gè)標(biāo)志序列由7個(gè)“隱性”位組成。

          2.2 傳輸控制

          (1)幀間空隙

          對(duì)于不是“錯(cuò)誤被動(dòng)”的站,或者此站已作為前一報(bào)文的接收器,其幀間空隙如圖4所示:


          圖4 幀間空隙(非錯(cuò)誤被動(dòng))

          對(duì)于已作為前——報(bào)文發(fā)送器的“錯(cuò)誤被動(dòng)”的站,其幀間空間如圖5所示:


          圖5 幀間空間(錯(cuò)誤被動(dòng))

          其中,intermission是強(qiáng)制性的3個(gè)隱性位。

          (2)位流編碼

          幀的部分,諸如幀起始、仲裁域、控制域、數(shù)據(jù)域以及CRC序列,均通過(guò)位填充的方法編碼。無(wú)論何時(shí),發(fā)送器只要檢測(cè)到位流里有5個(gè)連續(xù)識(shí)別值的位,便自動(dòng)在位流里插入——補(bǔ)碼位。

          數(shù)據(jù)幀或遠(yuǎn)程幀(CRC界定符、應(yīng)答域和幀末尾)的剩余位域形式相同,不填充。錯(cuò)誤幀和過(guò)載幀的形式也相同,但并不通過(guò)位填充的方法進(jìn)行編碼。其報(bào)文里的位流根據(jù)“不返回到零”之方法來(lái)編碼。這就是說(shuō),在整個(gè)位時(shí)間里,位電平要么為“顯性”,要么為“隱性”。

          CAN協(xié)議范圍只規(guī)定了“顯性”和“隱性”兩種邏輯值,而沒有明確規(guī)定表示這些邏輯電平的物理狀態(tài)。根據(jù)邏輯關(guān)系,我們可以設(shè)“顯性”邏輯值為邏輯“0”,“隱性”邏輯值為邏輯1。

          3、Profibus數(shù)據(jù)鏈路層幀格式及相關(guān)的地址規(guī)定

          (1)幀字符(UART字符)

          幀由幀字符組成

          每個(gè)幀字符由11個(gè)位組成:1個(gè)開始位(ST);8個(gè)信息位;1個(gè)奇偶校驗(yàn)位(P);1個(gè)停止位。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(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); })();