Profibus和CAN現場(chǎng)總線(xiàn)的幀轉換
1、概述
現場(chǎng)總線(xiàn)是一種用于智能化現場(chǎng)設備和自動(dòng)化系統的開(kāi)放式、數字化、雙向串行、多節點(diǎn)的通信總線(xiàn)。
在實(shí)際的生產(chǎn)建設中,我們將會(huì )經(jīng)常遇到將不同現場(chǎng)總線(xiàn)的設備集成在一起或者在某一現場(chǎng)總線(xiàn)中利用其他現場(chǎng)總線(xiàn)協(xié)議的設備的問(wèn)題。這就涉及到了不同的現場(chǎng)總線(xiàn)協(xié)議的協(xié)議轉化。數據鍵路層的幀轉換是這些協(xié)議轉化中的一個(gè)很關(guān)鍵的問(wèn)題。
在這里,我們以Profibus-DP和CAN這兩種當今使用廣泛的現場(chǎng)總線(xiàn)來(lái)研究現場(chǎng)總線(xiàn)的協(xié)議幀轉化。
2、CAN現場(chǎng)總線(xiàn)的傳輸層協(xié)議簡(jiǎn)介
傳輸層是CAN協(xié)議的核心。它把接收到的報文提供給對象層,以及接收來(lái)自對象層的報文。傳輸層負責位定時(shí)及同步、報文分幀、仲裁、應答、錯誤檢測和標定、故障界定。
報文路由:報文的內容由識別符命名。識別符不指出報文的目的地,但解釋數據的含義。因此,網(wǎng)絡(luò )上所有的節點(diǎn)可以通過(guò)報文濾波確定是否應對該數據做出反應。
報文傳輸由以下4個(gè)不同的幀類(lèi)型所表示和控制:
? 數據幀:數據幀攜帶數據從發(fā)送器至接收器。
? 遠程幀:總線(xiàn)單元發(fā)出遠程幀,請求發(fā)送具有同一識別符的數據幀。
? 錯誤幀:任何單元檢測到一總線(xiàn)錯誤就發(fā)出錯誤幀。
? 過(guò)載幀:過(guò)載幀用以在先行的和后續的數據幀(或遠程幀)之間提供一附加的延時(shí)。
數據幀(或遠程幀)通過(guò)幀間空間與前述的各幀分開(kāi)。
在這里我們以數據幀為例來(lái)分析CAN的幀結構。
2.1 數據幀
數據幀由7個(gè)不同的位場(chǎng)組成,如圖1所示:
圖1 數據幀的結構
(1)幀起始
它標志數據幀和遠程幀的起始,由一個(gè)單獨的“顯性”位組成。
(2)仲裁域
仲裁域包括識別符(ID)和遠程發(fā)送請求位(RTR)。
識別符(ID):識別符的長(cháng)度為11位。這些位的發(fā)送順序是從ID-10到ID-0。最低位是ID-0。最高的7位(ID-10到ID-4)必須不能全是“隱性”。
RTR位:該位在數據幀里必須為“顯性”,而在遠程幀里必須為“隱性”。
圖2 仲載域
圖3 控制域
(3)控制域
控制域由6個(gè)位組成,包括數據長(cháng)度代碼和兩個(gè)將來(lái)作為擴展用的保留位。所發(fā)送的保留位必須為“顯性”。數據長(cháng)度代碼指示了數據域中字節數量,長(cháng)度為4個(gè)位。
(4)CRC域
CRC域包括CRC序列,其后是CRC界定符,它包含一個(gè)單獨的“隱性”位。
(5)應答域
應答域長(cháng)度為2位,包含應答間隙和應答界定符。在應答域里,發(fā)送站發(fā)送兩個(gè)“隱性”位。當接收器正確地接收到有效的報文,接收器就會(huì )在應答間隙期間發(fā)送ACK信號,向發(fā)送器發(fā)送一“顯性”的位以示應答。
(6)幀結尾
每一個(gè)數據幀和遠程幀均由一標志序列界定。這個(gè)標志序列由7個(gè)“隱性”位組成。
2.2 傳輸控制
(1)幀間空隙
對于不是“錯誤被動(dòng)”的站,或者此站已作為前一報文的接收器,其幀間空隙如圖4所示:
圖4 幀間空隙(非錯誤被動(dòng))
對于已作為前——報文發(fā)送器的“錯誤被動(dòng)”的站,其幀間空間如圖5所示:
圖5 幀間空間(錯誤被動(dòng))
其中,intermission是強制性的3個(gè)隱性位。
(2)位流編碼
幀的部分,諸如幀起始、仲裁域、控制域、數據域以及CRC序列,均通過(guò)位填充的方法編碼。無(wú)論何時(shí),發(fā)送器只要檢測到位流里有5個(gè)連續識別值的位,便自動(dòng)在位流里插入——補碼位。
數據幀或遠程幀(CRC界定符、應答域和幀末尾)的剩余位域形式相同,不填充。錯誤幀和過(guò)載幀的形式也相同,但并不通過(guò)位填充的方法進(jìn)行編碼。其報文里的位流根據“不返回到零”之方法來(lái)編碼。這就是說(shuō),在整個(gè)位時(shí)間里,位電平要么為“顯性”,要么為“隱性”。
CAN協(xié)議范圍只規定了“顯性”和“隱性”兩種邏輯值,而沒(méi)有明確規定表示這些邏輯電平的物理狀態(tài)。根據邏輯關(guān)系,我們可以設“顯性”邏輯值為邏輯“0”,“隱性”邏輯值為邏輯1。
3、Profibus數據鏈路層幀格式及相關(guān)的地址規定
(1)幀字符(UART字符)
幀由幀字符組成
每個(gè)幀字符由11個(gè)位組成:1個(gè)開(kāi)始位(ST);8個(gè)信息位;1個(gè)奇偶校驗位(P);1個(gè)停止位。
評論