国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種低成本高速以太網(wǎng)-RS485網(wǎng)關(guān)設(shè)計

2014-03-08 02:01:37賀春艷庹先國李懷良
自動化與儀表 2014年8期
關(guān)鍵詞:系統(tǒng)資源網(wǎng)關(guān)以太網(wǎng)

賀春艷 ,庹先國 ,,劉 勇 ,,李懷良

(1.成都理工大學(xué) 地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護國家重點實驗室,成都 610059;2.西南科技大學(xué) 核廢物與環(huán)境安全國防重點學(xué)科實驗室,綿陽 621010)

網(wǎng)絡(luò)互聯(lián)設(shè)備一直是分布式數(shù)據(jù)采集的核心構(gòu)件之一。隨著電子技術(shù)的發(fā)展,包括路由器在內(nèi)的通用網(wǎng)絡(luò)互聯(lián)設(shè)備技術(shù)已經(jīng)非常成熟,但在一些特殊應(yīng)用領(lǐng)域,如地震勘探,設(shè)計出能滿足實際需求的網(wǎng)絡(luò)設(shè)備,仍然是一項挑戰(zhàn)。特別是三維地震勘探中,由于以太網(wǎng)在多節(jié)點通信條件下實時能力較差[1],在考慮儀器體積、施工效率的基礎(chǔ)上,單一采集鏈普遍采用RS485等串行總線網(wǎng)絡(luò)[2],這與上層數(shù)據(jù)傳輸以太網(wǎng)不能直接兼容,極大降低了儀器的擴展能力和應(yīng)用效果[3]。由于數(shù)據(jù)采集鏈與以太網(wǎng)不能直接互聯(lián)而導(dǎo)致的系統(tǒng)勘探效率低下等問題已成為嚴重制約三維分布式地震勘探廣泛應(yīng)用的技術(shù)瓶頸之一。

1 分布式地震數(shù)據(jù)采集應(yīng)用需求背景

如圖1所示為分布式地震勘探系統(tǒng)示意圖,數(shù)據(jù)中心、同步器、控制主機、遠程終端以及網(wǎng)關(guān)組成地震數(shù)據(jù)采集局域網(wǎng),各采集節(jié)點獲取的地震數(shù)據(jù)通過RS485總線(采集鏈)傳送到網(wǎng)關(guān)處理后,由局域網(wǎng)發(fā)送到控制主機。局域網(wǎng)硬件主要由以太網(wǎng)設(shè)備構(gòu)成,相關(guān)產(chǎn)品已經(jīng)非常成熟,限制系統(tǒng)性能的主要因素在網(wǎng)關(guān)上,需要其同時具備高速以太網(wǎng)和RS485兩種網(wǎng)絡(luò)接入能力,以及協(xié)議轉(zhuǎn)換功能[4]。目前市面上還沒有相關(guān)產(chǎn)品,參考設(shè)計也較少。因此,本文介紹一種采用DP83848和STM32等集成芯片設(shè)計的低成本高性能以太網(wǎng)—RS485網(wǎng)關(guān),應(yīng)用于三維分布式地震勘探中,可極大提高儀器擴展能力和施工效率。

圖1 分布式地震數(shù)據(jù)采集系統(tǒng)示意圖Fig.1 Distributed seismic data acquisition system diagram

2 硬件結(jié)構(gòu)設(shè)計

網(wǎng)關(guān)由以太網(wǎng)控制器、網(wǎng)口、RS485控制器、主控CPU、系統(tǒng)電源等模塊組成。主控CPU采用STM32F407RG,它是一款基于ARM Cortex M4內(nèi)核的高性能低功耗微控制器,運算能力可達210 DMIPS;以太網(wǎng)控制器采用DP83848V,支持IEEE802.3全雙工流量控制以及自動極性翻轉(zhuǎn)功能,提供10 M/100 M以太網(wǎng)收發(fā)能力,其MAC控制器集成在主控CPU中,利用MII/RMII接口與其通信,可減少電路板上連接走線,提高抗干擾能力。同時,采用內(nèi)部集成網(wǎng)絡(luò)變壓器的RJ45網(wǎng)口HR911105與其配合,可最大限度提高100 M以太網(wǎng)通信的穩(wěn)定性;RS485收發(fā)器采用內(nèi)部集成了三通道隔離器、三態(tài)差分線路驅(qū)動器、差分輸入接收機和隔離式DC/DC轉(zhuǎn)換器的單芯片ADM2582,其能提供最高16 Mb/s通信速率,滿足高速數(shù)據(jù)采集鏈的網(wǎng)絡(luò)通信需求。

如圖2所示,以太網(wǎng)收發(fā)芯片利用其RMII接口與主控CPU的MAC控制器外設(shè)連接,包括數(shù)據(jù)通信引腳 TXD [1..0]、RXD[1..0]、TX_EN、CRS_DV以及管理通信引腳MDIO、MDC。以太網(wǎng)物理收發(fā)芯片和MAC控制器時鐘均采用外部50 MHz高精度有源晶振提供。為增強系統(tǒng)抗干擾能力,減少PCB高頻布線長度,本設(shè)計采用帶網(wǎng)絡(luò)變壓器芯片的RJ45接口,將高速模擬差分信號線完全集成在網(wǎng)口芯片內(nèi)部,在PCB板上僅需要將以太網(wǎng)收發(fā)芯片的TD+、TD-、RD+、RD-四根高頻差分數(shù)據(jù)引腳, 分別通過49.9 Ω精密上拉電阻與RJ45接口 (網(wǎng)口變壓器)對應(yīng)引腳連接,在實際布線過程中,盡量將這4根高頻線布設(shè)為最短等長直線,以便降低電磁干擾,提高通信質(zhì)量。RS485收發(fā)芯片的TXD、RXD引腳分別與主控CPU串口外設(shè)對應(yīng)引腳連接,同時為控制RS485通信方向,將其RE、DE引腳分別與CPU輸出口引腳連接,當RE和DE為高電平時,收發(fā)器處于發(fā)送模式。為降低RS485總線上的反射干擾,在其差分輸出引腳處接入120 Ω匹配電阻,用于吸收總線上的高頻反射,同時接入保護二極管,避免因意外高壓產(chǎn)生的危險。

圖2 網(wǎng)關(guān)硬件電路Fig.2 Gateway hardware circuit

3 軟件設(shè)計

3.1 前后臺程序軟件運行架構(gòu)

系統(tǒng)軟件按照功能可分為初始化代碼段、后臺程序代碼段、前臺程序代碼段3部分。如圖3所示為軟件運行主流程。初始化代碼段在系統(tǒng)上電復(fù)位后只運行一次,包括系統(tǒng)資源初始化、協(xié)議棧初始化、應(yīng)用程序初始化。其中系統(tǒng)資源初始化主要完成對系統(tǒng)時鐘、定時器、中斷向量寄存器等系統(tǒng)資源進行配置,提供程序運行的基本環(huán)境;在系統(tǒng)資源初始化完成后,系統(tǒng)依次進行RS485和TCP/IP協(xié)議棧初始化;協(xié)議棧啟動后,便可運行RS485客戶端應(yīng)用程序和TCP/IP服務(wù)器應(yīng)用程序。整個初始化段代碼運行完成后,便一直循環(huán)運行后臺程序代碼段,依次實現(xiàn)對兩種協(xié)議棧和外部事件的循環(huán)處理。串口、網(wǎng)口中斷程序位于前臺程序代碼段,平時處于休眠狀態(tài),只有產(chǎn)生相應(yīng)事件后,后臺程序才進入暫停狀態(tài),系統(tǒng)轉(zhuǎn)去執(zhí)行前臺中斷程序。

圖3 軟件運行主流程Fig.3 Main process software running

后臺程序在運行過程中,依次查詢是否有未處理的各種通信事件和外部事件產(chǎn)生,并根據(jù)查詢結(jié)果,執(zhí)行相應(yīng)指令。主要通信事件有:RS485幀收到、RS485幀發(fā)送、以太網(wǎng)幀收到、以太網(wǎng)幀發(fā)送、外部觸發(fā)中斷等。所有事件均在前臺中斷程序中進行預(yù)處理并置相應(yīng)標志位,但不做實際具體處理,而將具體事件處理過程放在后臺程序中依次查詢執(zhí)行。

TCP/IP協(xié)議棧、RS485協(xié)議棧和外部事件處理代碼段各自分配一個非固定時間片,按順序輪換執(zhí)行,其長度根據(jù)當前協(xié)議棧所需處理事件的多少和優(yōu)先級來決定,一旦該代碼段事件處理完成,便立即進入下一個代碼段,代碼段切換資源耗費幾乎為零,這種“分時切換”和“前后臺程序”配合的程序運行機制,可避免2種協(xié)議在高速運行過程中產(chǎn)生相互干擾而導(dǎo)致的系統(tǒng)混亂問題,而且運行效率也比較高。

3.2 RS485通信協(xié)議實現(xiàn)

在后臺程序循環(huán)中,當查詢到有RS485事件時,便進入RS485主處理函數(shù),依次判斷“是否有幀發(fā)送請求”、“是否收到完整數(shù)據(jù)幀”、“是否幀發(fā)送完成”等標志位,并根據(jù)判斷結(jié)果調(diào)用相應(yīng)處理程序,包括產(chǎn)生發(fā)送幀數(shù)據(jù)、幀數(shù)據(jù)解析、調(diào)用應(yīng)用程序處理、置相應(yīng)標志位等。協(xié)議棧在運行過程中,將需要用戶處理的數(shù)據(jù)統(tǒng)一放置在全局幀數(shù)據(jù)緩沖中,并在適當時候調(diào)用用戶程序進行處理,用戶將需要發(fā)送的幀數(shù)據(jù)放置回全局發(fā)送緩沖幀中,由協(xié)議棧進行發(fā)送。如圖4所示為RS485協(xié)議棧主處理流程。

圖4 RS485協(xié)議棧主處理流程Fig.4 Main process of protocol stack

考慮數(shù)據(jù)采集節(jié)點CPU系統(tǒng)資源限制及總線大數(shù)據(jù)量和多種控制指令傳輸需求,各采集節(jié)點和網(wǎng)關(guān)之間采用面向串行通信的精簡的點對點鏈路層通信協(xié)議(PPP),如圖5所示為改進后的PPP幀格式及應(yīng)用報文組織形式。

圖5 改進后的PPP幀結(jié)構(gòu)及應(yīng)用報文組織形式Fig.5 PPP frame structure and application packets organization improved

改進的幀由6部分組成:幀頭定界符(0x7E)、幀頭(目地地址、源地址)、數(shù)據(jù)協(xié)議類型、數(shù)據(jù)、校驗、幀尾定界符(0x7E)。其中數(shù)據(jù)協(xié)議類型根據(jù)地震數(shù)據(jù)采集需求,包括動態(tài)網(wǎng)絡(luò)配置數(shù)據(jù)報文(DNCP)和用戶網(wǎng)絡(luò)數(shù)據(jù)報文(CNDP),DNCP 報文主要包含動態(tài)地址配置信息及網(wǎng)絡(luò)環(huán)境監(jiān)測信息,CNDP數(shù)據(jù)段又封裝了用戶實際發(fā)送的用戶數(shù)據(jù)。

3.3 TCP/IP協(xié)議棧實現(xiàn)

由于TCP/IP是一個具有4層體系結(jié)構(gòu)模型的大型互聯(lián)網(wǎng)協(xié)議族,直接實現(xiàn)需要較多的系統(tǒng)資源開銷,且其大部分協(xié)議對本網(wǎng)關(guān)實際應(yīng)用聯(lián)系不大,可對其進行簡化,僅保留IP/TCP/ICMP/ARP/UDP等網(wǎng)絡(luò)層和傳輸層協(xié)議[5],在保證其代碼通用性和結(jié)構(gòu)的穩(wěn)定性的同時,最大限度降低了系統(tǒng)資源消耗。具體實現(xiàn)流程如圖6所示。

圖6 TCP/IP協(xié)議棧實現(xiàn)Fig.6 TCP/IP protocol stack implementation

同RS485協(xié)議棧實現(xiàn)類似,當進入TCP/IP主處理函數(shù)后,首先讀取以太網(wǎng)數(shù)據(jù)幀,并依次判斷“是否收到完整數(shù)據(jù)幀”、“是否定時事件到”、“是否有幀發(fā)送完成”等標志位,并根據(jù)判斷結(jié)果,調(diào)用相應(yīng)處理程序。其中,當收到完整的以太網(wǎng)數(shù)據(jù)包后,首先判斷其是ARP、ICMP、IP中的哪一種,如果是IP數(shù)據(jù)包,還需判斷是UDP還是TCP數(shù)據(jù)包,并再調(diào)用用戶應(yīng)用程序(服務(wù)器應(yīng)用程序)。

3.4 RS485-TCP協(xié)議轉(zhuǎn)換機制

由分布式地震勘探應(yīng)用需求可知,各采集節(jié)點獲取的地震數(shù)據(jù)通過RS485總線傳輸?shù)骄W(wǎng)關(guān)后,由網(wǎng)關(guān)中的RS485協(xié)議棧接收,必須通過某種協(xié)議轉(zhuǎn)換機制,轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù)幀后才能通過數(shù)據(jù)采集局域網(wǎng)傳輸?shù)奖O(jiān)控主機。在前面介紹的2個協(xié)議棧實現(xiàn)過程中,進入各自協(xié)議棧主處理函數(shù)后都首先判斷是否有需要發(fā)送的數(shù)據(jù)幀,該幀發(fā)送需求便是另外一協(xié)議棧產(chǎn)生的需要轉(zhuǎn)換的數(shù)據(jù)包,同時在各自協(xié)議棧主處理流程最后,也都有ACK事件處理操作,也可用于完成協(xié)議棧的相互轉(zhuǎn)換功能。

網(wǎng)關(guān)在2種不同網(wǎng)絡(luò)結(jié)構(gòu)中分別充當不同的網(wǎng)絡(luò)角色:監(jiān)控主機通過以太網(wǎng)與網(wǎng)關(guān)進行連接,在此,網(wǎng)關(guān)作為服務(wù)器,運行TCP/IP服務(wù)器應(yīng)用程序,而監(jiān)控主機位于客戶端,當服務(wù)器收到監(jiān)控主機的數(shù)據(jù)訪問請求后,通過協(xié)議轉(zhuǎn)換,將以太網(wǎng)數(shù)據(jù)請求轉(zhuǎn)換成RS485協(xié)議請求,此后,網(wǎng)關(guān)便作為客戶端,將RS485請求發(fā)送到各數(shù)據(jù)采集節(jié)點服務(wù)器,各采集節(jié)點收到網(wǎng)關(guān)的數(shù)據(jù)請求后,產(chǎn)生回復(fù)數(shù)據(jù),通過RS485發(fā)送給網(wǎng)關(guān);由網(wǎng)關(guān)的RS485客戶端收到數(shù)據(jù)后,轉(zhuǎn)換成以太網(wǎng)數(shù)據(jù)包,并通過TCP/IP服務(wù)器和以太網(wǎng)返回給監(jiān)控主機。

4 性能測試分析

為確定該網(wǎng)關(guān)的網(wǎng)絡(luò)通信能力,對設(shè)計的網(wǎng)關(guān)進行實際現(xiàn)場測試,具體測試條件如下:單網(wǎng)關(guān)連接48道采集節(jié)點,每個節(jié)點內(nèi)部采樣緩存填充固定數(shù)據(jù),循環(huán)發(fā)送相同數(shù)據(jù),依次測試RS485通信速率、距離、誤碼率間的關(guān)系,具體測試數(shù)據(jù)如表1所示。

表1說明,該網(wǎng)關(guān)在外接48道采集節(jié)點情況下,最適合的工作速率是2.0 Mb/s,其采集鏈總長可達48×5=240 m。隨著采集節(jié)點距離和通信速率的增加,誤碼率急劇上升。在實際勘探過程中,當采集節(jié)點AD采樣率為1 k,精度為24位時,如果通信速率設(shè)置為2 Mb/s,則單網(wǎng)關(guān)可連接采集道數(shù)超過100道,基本實現(xiàn)了以太網(wǎng)和RS485采集鏈的高速數(shù)據(jù)連接。

表1 測試數(shù)據(jù)Tab.1 Test data

5 結(jié)語

本文采用物理層以太網(wǎng)集成芯片DP83848和STM32微控制器,設(shè)計了一種低成本以太網(wǎng)-RS485網(wǎng)關(guān),實現(xiàn)以太網(wǎng)和RS485采集鏈的高速連接。利用“分時切換”和“前后臺程序”配合的方法,對網(wǎng)關(guān)RS485和TCP/IP協(xié)議棧進行優(yōu)化,避免2種協(xié)議在高速運行過程中產(chǎn)生相互干擾而導(dǎo)致的系統(tǒng)混亂,提高了運行效率,同時也為系統(tǒng)擴展提供了較多資源余量。測試表明,該網(wǎng)關(guān)網(wǎng)絡(luò)通信能力穩(wěn)定,單網(wǎng)關(guān)可掛接采集節(jié)點通道數(shù)超過100道,目前已應(yīng)用到某套試驗樣機系統(tǒng)上。

[1] 陸其鵠,彭克中,易碧金.我國地球物理儀器的發(fā)展[J].地球物理學(xué)進展,2007,22(4):1332-1337.

[2] 張林行,林君,陳祖斌.RS-485通信協(xié)議在分布式地震儀中的應(yīng)用[J].石油儀器,2001,15(6):32-33,38.

[3] 張林行,林君,陳祖斌.基于嵌入式以太網(wǎng)的分布式地震數(shù)據(jù)采集系統(tǒng)[J].計算機應(yīng)用,2006,26(9):2258-2260.

[4] 郭戎瀟,王洪強,李彥.一種小型嵌入式Internet終端的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2005,33(12):99-101.

[5] 黃鐘鳴,葉進,黃建華,等.獨立于操作系統(tǒng)的嵌入式TCP/IP實現(xiàn)[J].桂林電子科技大學(xué)學(xué)報,2011,31(6):473-476. ■

猜你喜歡
系統(tǒng)資源網(wǎng)關(guān)以太網(wǎng)
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
基于改進RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
民用飛機綜合模塊化航電系統(tǒng)資源狀態(tài)監(jiān)控技術(shù)研究
談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
電子制作(2017年24期)2017-02-02 07:14:44
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
移動通信(2015年18期)2015-08-24 07:45:08
一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
一種實時高效的伺服控制網(wǎng)關(guān)設(shè)計
VMware虛擬機技術(shù)在Linux教學(xué)中的應(yīng)用
上杭县| 鹤岗市| 五华县| 遂平县| 伊金霍洛旗| 柏乡县| 德江县| 宣城市| 石渠县| 改则县| 微山县| 元谋县| 格尔木市| 铜陵市| 九寨沟县| 青河县| 怀宁县| 金门县| 惠东县| 邓州市| 卢氏县| 辽宁省| 宁晋县| 托克逊县| 六枝特区| 蒙山县| 西丰县| 乐都县| 绿春县| 宜春市| 冀州市| 江门市| 临西县| 湘乡市| 特克斯县| 榆社县| 应城市| 辰溪县| 大新县| 济宁市| 明水县|