專利名稱:一種自適應(yīng)多總線融合方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機領(lǐng)域,涉及了多總線融合方法,具體涉及了一種自適應(yīng)多總線 融合方法,可用于實現(xiàn)多種現(xiàn)場總線的數(shù)據(jù)傳輸。
背景技術(shù):
多種現(xiàn)場總線標準并存的現(xiàn)實、工業(yè)應(yīng)用需求的多樣化以及技術(shù)發(fā)展的連續(xù)性和 延遲性,必然導(dǎo)致基于多現(xiàn)場總線融合的控制系統(tǒng)的實現(xiàn)成為技術(shù)發(fā)展的趨勢。圖1給出了多現(xiàn)場總線控制系統(tǒng)的結(jié)構(gòu),它主要包括控制模塊、多總線融合方法 模塊、分任務(wù)模塊。其中分任務(wù)模塊由RS-422分任務(wù)模塊、1553B分任務(wù)模塊、RS485分任 務(wù)模塊、ARINC429分任務(wù)模塊、CAN總線分任務(wù)模塊構(gòu)成。各分任務(wù)模塊分別通過相應(yīng)的現(xiàn) 場總線,經(jīng)過多總線融合模塊與控制模塊實現(xiàn)數(shù)據(jù)通信。該系統(tǒng)的核心在于如何實現(xiàn)多總 線的融合。目前,多總線融合方法主要有以下兩種方法之一,基于OPC技術(shù)的多總線融合方法。OPC技術(shù)將各種現(xiàn)場總線的底層硬件 驅(qū)動程序和上層應(yīng)用程序有效地分割開,使用統(tǒng)一的OPC標準接口實現(xiàn)不同總線協(xié)議的數(shù) 據(jù)互訪。OPC技術(shù)的實現(xiàn)包括OPC服務(wù)器及OPC客戶端(這里即控制模塊)兩個組成部分。 OPC服務(wù)器是一種典型現(xiàn)場數(shù)據(jù)遠程程序,它收集各分任務(wù)系統(tǒng)的數(shù)據(jù)信息,通過標準OPC 接口傳給OPC客戶端(控制模塊)。從而實現(xiàn)各分任務(wù)系統(tǒng)與控制系統(tǒng)的數(shù)據(jù)通信,OPC客 戶端(控制模塊)通過OPC標準接口與OPC服務(wù)器通信,獲取OPC服務(wù)器的各種信息,實現(xiàn) 控制模塊對各分任務(wù)模塊的控制。實現(xiàn)這種方法的缺點是需要另外開發(fā)OPC服務(wù)器,其開 發(fā)過程復(fù)雜且成本高,不能實現(xiàn)對數(shù)據(jù)傳輸速率的自動檢測。方法之二,基于網(wǎng)關(guān)技術(shù)的多總線融合方法。在該方法中,通過協(xié)議轉(zhuǎn)換式網(wǎng)關(guān)將 它所連接的兩種不同總線的各層協(xié)議進行轉(zhuǎn)換,包括應(yīng)用層數(shù)據(jù)和所涉及的相關(guān)服務(wù)等, 可以比較徹底地屏蔽總線差異,從而實現(xiàn)兩種現(xiàn)場總線數(shù)據(jù)傳輸?shù)哪康摹5沁@種方法只 適用于兩種現(xiàn)場總線協(xié)議之間的轉(zhuǎn)換,需要專門的協(xié)議轉(zhuǎn)換式網(wǎng)關(guān),且不能實現(xiàn)對數(shù)據(jù)傳 輸波特率的自動檢測。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述已有技術(shù)的不足,提供一種自適應(yīng)多總線融合方法, 以在無需開發(fā)專門的協(xié)議轉(zhuǎn)換器或者OPC服務(wù)器的條件下,實現(xiàn)多現(xiàn)場總線協(xié)議之間的轉(zhuǎn) 換,且能實現(xiàn)對數(shù)據(jù)傳輸波特率的自動檢測。為了達到上述目的,本發(fā)明的技術(shù)方案包括(1)數(shù)據(jù)傳輸波特率的自動檢測步驟;la)使用串行通信接口 SCIA通道,接收分任務(wù)模塊發(fā)送的數(shù)據(jù)傳輸波特率檢測字 符00000001,其中0為低電平,1為高電平;lb)將SCIA通道沒有接收到數(shù)據(jù)時空閑位設(shè)為高電平,當(dāng)SCIA通道接收到檢測字
3符的第一位低電平時,在空閑位到第一位低電平之間的下降沿處啟動定時器TimerO開始 計時;Ic)當(dāng)SCIA通道接收到檢測字符的第一位高電平時,在低電平和第一位高電平之 間的上升沿處停止定時器TimerO計時,得到計時時間為t ;Id)通過波特率表選取最接近Ι/t的波特率,將其設(shè)置為SCIA通道當(dāng)前數(shù)據(jù)傳輸 的波特率;Ie)以當(dāng)前數(shù)據(jù)傳輸波特率,由SCIA通道向分任務(wù)模塊發(fā)送確認信息0x55AA,當(dāng) SCIA通道接收到分任務(wù)模塊回發(fā)的確認信息0x55AA時,表示自動數(shù)據(jù)傳輸波特率檢測成 功;(2)多總線協(xié)議格式和標準以太網(wǎng)協(xié)議格式之間的轉(zhuǎn)換步驟;2a)將TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域劃分為RS422總線子數(shù)據(jù)域、1553B總線子數(shù)據(jù) 域、RS485總線子數(shù)據(jù)域、ARINC429總線子數(shù)據(jù)域和CAN總線子數(shù)據(jù)域,并分別設(shè)置RS-422 總線子數(shù)據(jù)域的幀頭格式為0x0110,1553B總線子數(shù)據(jù)域的幀頭格式為0x0120,RS485總線 子數(shù)據(jù)域的幀頭格式為0x0130,ARINC429總線子數(shù)據(jù)域的幀頭格式為0x0140,CAN總線子 數(shù)據(jù)域的幀頭格式為0x0150 ;2b)當(dāng)SCIA通道接收到各分任務(wù)模塊發(fā)來的不同總線的數(shù)據(jù)時,對其進行拆包, 提取各現(xiàn)場總線的數(shù)據(jù)位,將其直接添加到TCP/IP數(shù)據(jù)幀中的相應(yīng)子數(shù)據(jù)域,并通過標準 以太網(wǎng)接口將TCP/IP數(shù)據(jù)幀發(fā)送到控制模塊,實現(xiàn)將多總線數(shù)據(jù)幀格式轉(zhuǎn)換為TCP/IP數(shù) 據(jù)幀格式;2c)當(dāng)SCIA通道接收到控制模塊的數(shù)據(jù)時,對TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域進行解 包,提取各個子數(shù)據(jù)域的數(shù)據(jù),通過判斷各子數(shù)據(jù)域的幀頭格式,將相應(yīng)子數(shù)據(jù)域內(nèi)的數(shù)據(jù) 經(jīng)過組包添加到相應(yīng)的總線數(shù)據(jù)幀格式中,并通過相應(yīng)總線接口將其發(fā)送到各分任務(wù)模 塊,實現(xiàn)將TCP/IP數(shù)據(jù)幀格式轉(zhuǎn)換為多種總線數(shù)據(jù)幀格式。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(1)本發(fā)明由于使用了多總線協(xié)議格式和標準以太網(wǎng)協(xié)議格式轉(zhuǎn)換的方法,從而 克服了現(xiàn)有技術(shù)需要開發(fā)專門的協(xié)議轉(zhuǎn)換器或者OPC服務(wù)器的缺點,能夠方便地實現(xiàn)多現(xiàn) 場總線協(xié)議之間的轉(zhuǎn)換。(2)本發(fā)明由于使用串行通道SCIA和計時器TimerO,對接收來自分任務(wù)模塊的 數(shù)據(jù)傳輸波特率檢測字符進行計時,通過計算和查波特率表實現(xiàn)數(shù)據(jù)傳輸波特率的自動檢 測,無需預(yù)先設(shè)定雙方數(shù)據(jù)傳輸波特率。
圖1是多現(xiàn)場總線控制系統(tǒng)的結(jié)構(gòu)框圖;圖2是本發(fā)明的流程圖.
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
進行詳細的說明。參照圖2,本發(fā)明的實現(xiàn)步驟如下步驟1,數(shù)據(jù)傳輸速率的自動檢測。
4
la)使用SCIA通道接收分任務(wù)模塊發(fā)送的數(shù)據(jù)傳輸波特率檢測字符00000001,其 中0為低電平,1為高電平;lb)將SCIA通道沒有接收到數(shù)據(jù)時空閑位設(shè)為高電平,當(dāng)SCIA通道接收到檢測字 符的第一位低電平時,在空閑位到第一位低電平之間的下降沿處啟動定時器TimerO開始 計時;Ic)當(dāng)SCIA通道接收到檢測字符的第一位高電平時,在低電平和第一位高電平之 間的上升沿處停止定時器TimerO計時,得到計時時間為t ;Id)通過波特率表選取最接近Ι/t的波特率,將其設(shè)置為SCIA通道當(dāng)前數(shù)據(jù)傳輸 的波特率,其中,Ι/t即為檢測得到的數(shù)據(jù)傳輸波特率,由于由于定時器計數(shù)誤差,Ι/t所計 算得到的波特率必然存在偏差,此時通過查波特率表,選取最接近Ι/t的波特率設(shè)置為 SCIA通道當(dāng)前數(shù)據(jù)傳輸波特率消除誤差;Ie)以當(dāng)前數(shù)據(jù)傳輸波特率,由SCIA通道向分任務(wù)模塊發(fā)送確認信息0x55AA,當(dāng) SCIA通道接收到分任務(wù)模塊回發(fā)的確認信息0x55AA時,表示自動數(shù)據(jù)傳輸波特率檢測成功。步驟2,多總線協(xié)議格式和標準以太網(wǎng)協(xié)議格式之間的轉(zhuǎn)換。2a)將TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域劃分為RS422總線子數(shù)據(jù)域、1553B總線子數(shù)據(jù) 域、RS485總線子數(shù)據(jù)域、ARINC429總線子數(shù)據(jù)域和CAN總線子數(shù)據(jù)域,并分別設(shè)置RS-422 總線子數(shù)據(jù)域的幀頭格式為0x0110,1553B總線子數(shù)據(jù)域的幀頭格式為0x0120,RS485總線 子數(shù)據(jù)域的幀頭格式為0x0130,ARINC429總線子數(shù)據(jù)域的幀頭格式為0x0140,CAN總線子 數(shù)據(jù)域的幀頭格式為0x0150 ;2b)當(dāng)SCIA通道接收到各分任務(wù)模塊發(fā)來的不同總線的數(shù)據(jù)時,對其進行拆包, 提取各現(xiàn)場總線的數(shù)據(jù)位,將其直接添加到TCP/IP數(shù)據(jù)幀中的相應(yīng)子數(shù)據(jù)域,并通過標準 以太網(wǎng)接口將TCP/IP數(shù)據(jù)幀發(fā)送到控制模塊,實現(xiàn)將多總線數(shù)據(jù)幀格式轉(zhuǎn)換為TCP/IP數(shù) 據(jù)幀格式,所述的拆包,是依據(jù)各種現(xiàn)場總線數(shù)據(jù)幀格式的特征,將數(shù)據(jù)包拆分成各種現(xiàn)場 總線的數(shù)據(jù)幀格式,再分別對各種現(xiàn)場總線的數(shù)據(jù)幀進行去除幀頭、幀尾、校驗位的處理, 得到各種現(xiàn)場總線的數(shù)據(jù)位。2c)當(dāng)SCIA通道接收到控制模塊的數(shù)據(jù)時,先對TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域進行 解包,提取出RS-422總線子數(shù)據(jù)域、1553B總線子數(shù)據(jù)域、RS485總線子數(shù)據(jù)域、ARINC429 總線子數(shù)據(jù)域和CAN總線子數(shù)據(jù)域的數(shù)據(jù);再依據(jù)步驟2a)中對各個子數(shù)據(jù)域幀頭格式的 設(shè)置,判斷子數(shù)據(jù)域的幀頭格式當(dāng)幀頭格式為0x0110時,將子數(shù)據(jù)域的數(shù)據(jù)經(jīng)過組包添 加到RS-422總線數(shù)據(jù)幀格式中,通過RS-422總線接口將其發(fā)送到RS-422分任務(wù)模塊;當(dāng) 幀頭格式為0x0120時,將子數(shù)據(jù)域的數(shù)據(jù)經(jīng)過組包添加到1553B總線數(shù)據(jù)幀格式中,通過 1553B總線接口將其發(fā)送到1553B分任務(wù)模塊;當(dāng)幀頭格式為0x0130時,將子數(shù)據(jù)域的數(shù) 據(jù)經(jīng)過組包添加到RS485總線數(shù)據(jù)幀格式中,通過RS485總線接口將其發(fā)送到RS485分任 務(wù)模塊;當(dāng)幀頭格式為0x0140時,將子數(shù)據(jù)域的數(shù)據(jù)經(jīng)過組包添加到ARINC429總線數(shù)據(jù)幀 格式中,通過ARINC429總線接口將其發(fā)送到ARINC429分任務(wù)模塊;當(dāng)幀頭格式為0x0150 時,將子數(shù)據(jù)域的數(shù)據(jù)經(jīng)過組包添加到CAN總線數(shù)據(jù)幀格式中,通過CAN總線接口將其發(fā)送
5到CAN分任務(wù)模塊,從而實現(xiàn)將TCP/IP數(shù)據(jù)幀格式轉(zhuǎn)換為多種總線數(shù)據(jù)幀格式。
所述的解包,是先對TCP/IP數(shù)據(jù)幀進行去除幀頭、幀尾、校驗位的處理,提取出 TCP/IP數(shù)據(jù)幀的數(shù)據(jù)域;再依據(jù)步驟2a)所述的對TCP/IP數(shù)據(jù)幀數(shù)據(jù)域的劃分,將提取到 的TCP/IP數(shù)據(jù)域拆分成RS-422總線子數(shù)據(jù)域、1553B總線子數(shù)據(jù)域、RS485總線子數(shù)據(jù)域、 ARINC429總線子數(shù)據(jù)域和CAN總線子數(shù)據(jù)域,得到各個子數(shù)據(jù)域的數(shù)據(jù)。
權(quán)利要求
一種自適應(yīng)多總線融合方法,包括(1)數(shù)據(jù)傳輸波特率的自動檢測步驟1a)使用串行通信接口SCIA通道,接收分任務(wù)模塊發(fā)送的數(shù)據(jù)傳輸波特率檢測字符00000001,其中0為低電平,1為高電平;1b)將SCIA通道沒有接收到數(shù)據(jù)時空閑位設(shè)為高電平,當(dāng)SCIA通道接收到檢測字符的第一位低電平時,在空閑位到第一位低電平之間的下降沿處啟動定時器Timer0開始計時;1c)當(dāng)SCIA通道接收到檢測字符的第一位高電平時,在低電平和第一位高電平之間的上升沿處停止定時器Timer0計時,得到計時時間為t;1d)通過波特率表選取最接近1/t的波特率,將其設(shè)置為SCIA通道當(dāng)前數(shù)據(jù)傳輸?shù)牟ㄌ芈剩?e)以當(dāng)前數(shù)據(jù)傳輸波特率,由SCIA通道向分任務(wù)模塊發(fā)送確認信息0x55AA,當(dāng)SCIA通道接收到分任務(wù)模塊回發(fā)的確認信息0x55AA時,表示自動數(shù)據(jù)傳輸波特率檢測成功;(2)多總線協(xié)議格式和標準以太網(wǎng)協(xié)議格式之間的轉(zhuǎn)換步驟2a)將TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域劃分為RS422總線子數(shù)據(jù)域、1553B總線子數(shù)據(jù)域、RS485總線子數(shù)據(jù)域、ARINC429總線子數(shù)據(jù)域和CAN總線子數(shù)據(jù)域,并分別設(shè)置RS 422總線子數(shù)據(jù)域的幀頭格式為0x0110,1553B總線子數(shù)據(jù)域的幀頭格式為0x0120,RS485總線子數(shù)據(jù)域的幀頭格式為0x0130,ARINC429總線子數(shù)據(jù)域的幀頭格式為0x0140,CAN總線子數(shù)據(jù)域的幀頭格式為0x0150;2b)當(dāng)SCIA通道接收到各分任務(wù)模塊發(fā)來的不同總線的數(shù)據(jù)時,對其進行拆包,提取各現(xiàn)場總線的數(shù)據(jù)位,將其直接添加到TCP/IP數(shù)據(jù)幀中的相應(yīng)子數(shù)據(jù)域,并通過標準以太網(wǎng)接口將TCP/IP數(shù)據(jù)幀發(fā)送到控制模塊,實現(xiàn)將多總線數(shù)據(jù)幀格式轉(zhuǎn)換為TCP/IP數(shù)據(jù)幀格式;2c)當(dāng)SCIA通道接收到控制模塊的數(shù)據(jù)時,對TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域進行解包,提取各個子數(shù)據(jù)域的數(shù)據(jù),通過判斷各子數(shù)據(jù)域的幀頭格式,將相應(yīng)子數(shù)據(jù)域內(nèi)的數(shù)據(jù)經(jīng)過組包添加到相應(yīng)的總線數(shù)據(jù)幀格式中,并通過相應(yīng)總線接口將其發(fā)送到各分任務(wù)模塊,實現(xiàn)將TCP/IP數(shù)據(jù)幀格式轉(zhuǎn)換為多種總線數(shù)據(jù)幀格式。
2.根據(jù)權(quán)利要求1所述的自適應(yīng)多總線融合方法,其中步驟2b)所述的當(dāng)SCIA通道接 收到各分任務(wù)模塊發(fā)來的不同總線的數(shù)據(jù)時,對其進行拆包,是依據(jù)各種現(xiàn)場總線數(shù)據(jù)幀 格式的特征,將數(shù)據(jù)包拆分成各種現(xiàn)場總線的數(shù)據(jù)幀格式,再分別對各種現(xiàn)場總線的數(shù)據(jù) 幀進行去除幀頭、幀尾、校驗位的處理,得到各種現(xiàn)場總線的數(shù)據(jù)位。
3.根據(jù)權(quán)利要求1所述的自適應(yīng)多總線融合方法,其中步驟2c)所述的當(dāng)SCIA通道接 收到控制模塊的數(shù)據(jù)時,對TCP/IP數(shù)據(jù)幀中的數(shù)據(jù)域進行解包,是先對TCP/IP數(shù)據(jù)幀進行 去除幀頭、幀尾、校驗位的處理,提取出TCP/IP數(shù)據(jù)幀的數(shù)據(jù)域;再依據(jù)步驟2a)所述的對 TCP/IP數(shù)據(jù)巾貞數(shù)據(jù)域的劃分,將提取到的TCP/IP數(shù)據(jù)位拆分成各個子數(shù)據(jù)域,得到各個子 數(shù)據(jù)域的數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種自適應(yīng)多總線融合方法,主要克服現(xiàn)有多總線融合需要開發(fā)專門的網(wǎng)關(guān)或OPC服務(wù)器問題。其步驟為依據(jù)SCIA通道接收到的檢測字符00000001電平變化,控制定時器Timer0開啟和關(guān)閉,得到計數(shù)時間,實現(xiàn)數(shù)據(jù)傳輸波特率的自動檢測;將TCP/IP數(shù)據(jù)幀的數(shù)據(jù)域劃分為各種總線子數(shù)據(jù)域,對不同總線數(shù)據(jù)幀,通過拆包,提取各總線的數(shù)據(jù)位添加到相應(yīng)TCP/IP數(shù)據(jù)幀的子數(shù)據(jù)域中,實現(xiàn)不同總線數(shù)據(jù)幀格式轉(zhuǎn)換為TCP/IP數(shù)據(jù)幀格式,對TCP/IP數(shù)據(jù)幀通過解包,提取各個子數(shù)據(jù)域的數(shù)據(jù),通過組包添加到相應(yīng)的總線數(shù)據(jù)幀格式,實現(xiàn)TCP/IP數(shù)據(jù)幀格式轉(zhuǎn)換為不同總線數(shù)據(jù)幀格式。本發(fā)明可在無需專門開發(fā)網(wǎng)關(guān)或OPC服務(wù)器條件下實現(xiàn)多總線融合,可用于實現(xiàn)多種現(xiàn)場總線的數(shù)據(jù)傳輸。
文檔編號H04L12/26GK101917322SQ201010251458
公開日2010年12月15日 申請日期2010年8月10日 優(yōu)先權(quán)日2010年8月10日
發(fā)明者上官瑞春, 劉校偉, 徐連軍, 相征 申請人:西安電子科技大學(xué)