新聞中心

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ī)定了“顯性”和“隱性”兩種邏輯值,而沒(méi)有明確規(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)閉