張小磊,徐俊臣,胡軼群,邱文博,王亞丁
(國家海洋技術中心,天津 300112)
在海洋自動觀測領域,隨著大規(guī)模集成電路技術和微處理器技術的快速發(fā)展,各種形式的測量傳感器和海洋觀測儀器已經(jīng)實現(xiàn)了高度的數(shù)字化和自動化(蔡樹群等,2007)。而近年來計算機網(wǎng)絡尤其是物聯(lián)網(wǎng)技術的高速發(fā)展(李四海等,2012),已經(jīng)成為信息化時代的核心,網(wǎng)絡通訊技術的發(fā)展不僅深入到人們的工作和生活,也為自動觀測設備提供了一種通用、快速、經(jīng)濟的標準接口和數(shù)據(jù)傳輸通道(沈蘇彬等,2009)。具有網(wǎng)絡接口的海洋觀測儀器不僅可以方便和其他設備以及計算機系統(tǒng)連接,便于系統(tǒng)集成和數(shù)據(jù)共享,更可以憑借因特網(wǎng)這一高速通道實現(xiàn)遠程設備管理和數(shù)據(jù)通訊,極大擴展了設備的通訊范圍和應用靈活性(李嘉等,2001)。因此,網(wǎng)絡化和智能化已經(jīng)成為自動觀測設備的一種發(fā)展趨勢。
目前大多數(shù)自動儀器設備實現(xiàn)網(wǎng)絡接入可以采用以下方式,第一種是基于單片機和以太網(wǎng)控制芯片來實現(xiàn)(劉亞萍等,2010),這種方式硬件電路簡單,僅需兩個主要芯片,價格低,但由于單片機的資源和性能所限,網(wǎng)絡通訊能力受到一定制約,同時對軟件設計人員的要求較高,需要熟練掌握TCP/IP 網(wǎng)絡協(xié)議,代碼設計工作量和難度都較大;第二種方式是采用高端ARM 芯片并移植網(wǎng)絡操作系統(tǒng)(徐榮珍等,2006),使用操作系統(tǒng)提供網(wǎng)絡功能,這種方式需要較高的硬件電路配置以運行操作系統(tǒng),并需要專業(yè)人員負責網(wǎng)絡操作系統(tǒng)的移植,系統(tǒng)功耗較大且成本較高。
本文介紹的基于W7100A 芯片來實現(xiàn)網(wǎng)絡接口設計,網(wǎng)絡部分采用高集成度的工業(yè)級單芯片設計,具有硬件電路簡單、功耗及成本低、工業(yè)級設計、尤其適應海洋工作環(huán)境的特點,同時由于芯片內(nèi)置硬件TCP/IP 協(xié)議,極大地簡化了軟件設計難度,軟件設計人員無需過多的了解復雜的TCP/IP協(xié)議,只需具有一定的socket 編程基礎即可實現(xiàn)網(wǎng)絡編程。
W7100A 是韓國WIZnet 公司在原網(wǎng)絡協(xié)議芯片W5100 的基礎上于2011年推出的新一代網(wǎng)絡芯片,該芯片在原有硬件TCP/IP 協(xié)議棧、MAC 層和物理層接口的基礎上,為方便嵌入式設備應用而集成了高速微控制器和大容量程序及數(shù)據(jù)存儲器,可單芯片構(gòu)成網(wǎng)絡接口,非常適合應用于自動化儀器設備尤其是沒有網(wǎng)絡操作系統(tǒng)支持的現(xiàn)場觀測儀器設備的網(wǎng)絡通信模塊設計。
圖1 為網(wǎng)絡接口的電路原理圖,該模塊設計為通用接口模塊,實現(xiàn)了標準RS-232 串行數(shù)據(jù)接口到TCP/IP 網(wǎng)絡接口的協(xié)議轉(zhuǎn)換。任何具有標準RS-232 接口的儀器設備無需做任何改動,就可通過該模塊實現(xiàn)網(wǎng)絡接入。硬件電路設計要點如下:
圖1 網(wǎng)絡接口電路原理圖
(1) 為降低模塊功耗提高供電效率,模塊采用開關電源設計,開關電源芯片選取LM2594,供電范圍可達直流(5-30) V,其輸出電壓為3.3 V,效率高達80%,模塊內(nèi)全部芯片均選用3.3 V 供電,為減小開關電源的輸出噪聲,電源系統(tǒng)增加了電源濾波設計;
(2) W7100A 芯片的UART 接口信號通過電平變換電路MAX3243 構(gòu)成標準RS-232 接口,該接口有兩個功能,當控制線RTS 有效時(高電平)可以與觀測儀器的通訊接口相接實現(xiàn)網(wǎng)絡通訊應用,當控制線RTS 無效時(低電平) 可以通過此接口實現(xiàn)網(wǎng)絡參數(shù)的設置與查詢;
(3) 網(wǎng)絡變壓器13F60 實現(xiàn)W7100A 芯片的網(wǎng)絡輸入輸出信號的隔離,構(gòu)成模塊的網(wǎng)絡接口。由于網(wǎng)絡通訊速度高達100 M,為減小電干擾,W7100A 芯片的網(wǎng)絡數(shù)據(jù)輸入和輸出的兩對信號線要分別平行布放且不要與其他連線交叉;
(4) 芯片24MAC402 通過I2C 接口與W7100A芯片相連接,該芯片實現(xiàn)兩個功能,其一該芯片內(nèi)部具有一組全世界唯一的48bit 的MAC 地址(物理地址) 供W7100A 讀取使用,以保證網(wǎng)卡在因特網(wǎng)中的唯一性和合法性,確保不會造成地址沖突,其二該芯片具有256 字節(jié)的EEPROM 存儲器,用來保存網(wǎng)絡通訊參數(shù)如網(wǎng)關地址、子網(wǎng)掩碼、本機IP 地址、本機端口號、服務器IP 地址、服務器端口號和通訊方式設置等;
(5) 為了方便使用和調(diào)試,模塊設計有POW、LINK、RTD 和TCP 共四個指示燈,分別用來指示電源是否正常、網(wǎng)絡連接是否正常、是否有網(wǎng)絡數(shù)據(jù)接收或發(fā)送和TCP 連接是否已經(jīng)建立;
(6) 模塊軟件運行在W7100A 內(nèi)部,具備較好的抗干擾能力,但海洋觀測現(xiàn)場(如海洋站、調(diào)查船) 具有大功率雷達等電子設備,電磁環(huán)境較為惡劣。為保證系統(tǒng)在海洋觀測現(xiàn)場的可靠性和穩(wěn)定性,模塊設計有專用的復位電路MAX809R,當觀測系統(tǒng)電源出現(xiàn)不穩(wěn)定的情況下,確保系統(tǒng)的正確復位和恢復運行,同時配合使用芯片內(nèi)部看門狗的使用,確保軟件的穩(wěn)定運行。
系統(tǒng)軟件由自檢模塊、串口通訊模塊、參數(shù)設置查詢模塊、網(wǎng)絡連接通訊模塊組成。系統(tǒng)的軟件流程如圖2。模塊具有兩種運行模式,即設置模式和工作模式,運行模式取決于串口的RTS 信號。當RTS 信號無效時,運行在設置模式,此時上位機可通過串口設置和查詢模塊的網(wǎng)絡工作參數(shù);當RTS 信號有效時,運行在工作模式,實現(xiàn)網(wǎng)絡連接和通訊功能。
自檢模塊由I2C 接口讀寫等程序組成,可以完成24MAC402 芯片MAC 地址讀取以及該芯片256字節(jié)的EEPROM 存儲器的讀寫操作。當I2C 接口不能正常工作時,該模塊提示系統(tǒng)故障報警。串口通訊模塊由串口初始化程序、串口接收程序和串口發(fā)送程序組成。參數(shù)設置查詢模塊在設置模式下分析串口命令,完成新參數(shù)的存儲和當前參數(shù)的查詢。網(wǎng)絡模塊連接和通訊模塊負責網(wǎng)絡連接的建立、維護和指示,同時負責網(wǎng)絡數(shù)據(jù)的接收和發(fā)送。
圖2 軟件流程圖
基于W7100A 芯片的網(wǎng)絡接口模塊可以同時支持8 個socket 通道,在軟件的控制下,每一個socket 通道都可任意設置使用TCP 通訊協(xié)議和UDP 通訊協(xié)議,極大地提高了應用的靈活性?;诤Q笥^測數(shù)據(jù)的重要性,軟件使用高可靠傳輸?shù)腡CP 協(xié)議(Andrew,2004)。在TCP 模式下,本模塊既可以以客戶端的形式主動與遠端的服務器建立網(wǎng)絡連接,又可以以服務器的形式等待與遠端的客戶端建立網(wǎng)絡連接,待連接建立成功后就可以與遠端的設備通過網(wǎng)絡實現(xiàn)數(shù)據(jù)的雙向透明傳輸。
由于W7100A 芯片內(nèi)部集成了TCP/IP 硬件協(xié)議棧,因此軟件設計人員無需對復雜龐大的協(xié)議棧有深入的了解,直接在單片機上用socket 編程就可實現(xiàn)網(wǎng)絡通訊,極大簡化了用戶軟件設計工作。用戶僅需發(fā)出初始化、連接網(wǎng)絡、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)、斷開連接、檢查狀態(tài)等命令即可實現(xiàn)網(wǎng)絡通訊功能。同時芯片內(nèi)部集成的TCP/IP 核內(nèi)包含了16 KB 的發(fā)送緩沖區(qū)和16 KB 的接收緩沖區(qū),用戶可以根據(jù)自己的數(shù)據(jù)量的大小為各個socket 靈活分配緩沖區(qū)的大小,提高數(shù)據(jù)吞吐量,改善通訊效率。
當模塊工作在客戶端模式時,軟件設計流程圖如圖3 所示,模塊初始化完畢后按照預先設置的服務器參數(shù)建立并維護與服務器的網(wǎng)絡連接,當連接失敗或網(wǎng)絡連接斷開時,軟件控制模塊自動重新建立連接,同時在網(wǎng)絡連接正常的條件下在儀器設備和網(wǎng)絡間透明傳輸數(shù)據(jù)。
數(shù)據(jù)發(fā)送程序負責檢查相應socket 發(fā)送緩沖區(qū)是否有足夠的存儲空間并將需要發(fā)送的數(shù)據(jù)直接放入發(fā)送緩沖區(qū)內(nèi);數(shù)據(jù)接收程序負責檢查相應socket 接收緩沖區(qū)是否有已經(jīng)收到數(shù)據(jù)并迅速取出數(shù)據(jù)。
圖3 客戶端模式軟件流程圖
當模塊工作在TCP 服務器模式時,模塊初始化完成后進入監(jiān)聽狀態(tài),等待遠端的客戶端的連接請求。當收到客戶端的連接請求后建立TCP 連接并傳輸數(shù)據(jù),網(wǎng)絡連接的維護和數(shù)據(jù)傳輸與客戶端模式相同。本模塊支持同時可最多建立八個服務連接。
海洋觀測儀器的工作環(huán)境較為惡劣,高溫、低溫、高濕、供電能力差,有些地方無人值守,因此海洋觀測儀器的設計上除了滿足測量功能以外,還要有較高的可靠性、低功耗、環(huán)境適應性。
4.1.1 通訊性能測試
模塊的RS-232 接口與PC 機的標準串口連接并且運行SSCOM3.2 串口調(diào)試助手軟件;串口設置為速率57 600 bps,8 位數(shù)據(jù)位,1 位停止位,無校驗位;模塊的網(wǎng)絡接口連接到PC 機的網(wǎng)口,運行TCP&UDP1.02 測試工具,PC 機工作在服務器模式,被測模塊工作在客戶端模式。測試的方法是串口向網(wǎng)口每100 ms 發(fā)送300Byte 的數(shù)據(jù),該速率滿足大部分海洋儀器的應用需求,同時網(wǎng)口向串口也以同樣的速率發(fā)送數(shù)據(jù)。實驗結(jié)果數(shù)據(jù)如表1 所示,數(shù)據(jù)傳輸穩(wěn)定無差錯。
表1 實驗測試數(shù)據(jù)
4.1.2 模塊功耗測試
在網(wǎng)絡模塊正常通訊的條件下,分別給模塊加入不同的工作電壓,功耗測量結(jié)果如表2 所示,結(jié)果顯示模塊的整體功耗小于等于0.7 瓦。
表2 網(wǎng)絡模塊功耗測試
4.1.3 環(huán)境適應測試
海洋儀器的環(huán)境試驗按《HY 016.1-016.15—1992 海洋儀器基本環(huán)境試驗方法》執(zhí)行。試驗項目包括低溫試驗、低溫貯存、高溫試驗、高溫貯存、震動試驗、沖擊試驗和交變濕熱試驗。基于W7100A 芯片的網(wǎng)絡接口模塊與XZY3 型自動水文氣象站一起通過了上述試驗項目。其中低溫試驗和高溫試驗過程如下。
將網(wǎng)絡通訊模塊置于環(huán)境試驗箱中,在溫度降至-35 ℃后保持2 h,然后進行加電測試,網(wǎng)絡模塊數(shù)據(jù)通訊正常且無數(shù)據(jù)丟失;同樣將網(wǎng)絡通訊模塊置于環(huán)境試驗箱中,在溫度升至+50 ℃后保持2 h,然后進行加電測試,網(wǎng)絡模塊數(shù)據(jù)通訊正常進行無數(shù)據(jù)丟失,滿足海洋儀器對工作環(huán)境的實際需求。
圖4 是網(wǎng)絡通訊模塊在福建海洋預報臺潮汐監(jiān)測系統(tǒng)中的應用。
在此項應用中,共有13 個水位站分布在福建省內(nèi)各個觀測點,分別通過網(wǎng)絡模塊接入海洋觀測專網(wǎng)中。這些觀測站點均為無人值守站點,采用太陽能蓄電池組供電,現(xiàn)場環(huán)境和供電條件較差,對設備的穩(wěn)定性、功耗和環(huán)境適應性要求較高。系統(tǒng)運行時每個水位站每分鐘實時傳輸觀測數(shù)據(jù)到省數(shù)據(jù)中心,每次傳輸?shù)臄?shù)據(jù)大小276 字節(jié)。通過統(tǒng)計系統(tǒng)運行的時間和所接收的字節(jié)數(shù)可以推斷出傳輸成功率。
圖4 福建海洋預報臺潮汐監(jiān)測系統(tǒng)
早期設備中的網(wǎng)絡通訊模塊為某型進口產(chǎn)品,分別對進口產(chǎn)品和本網(wǎng)絡模塊的運行情況進行統(tǒng)計分析對比,其結(jié)果如表3 所示。
表3 本網(wǎng)絡模塊與某進口產(chǎn)品的對比
通過與進口產(chǎn)品比較,基于W7100A 芯片的網(wǎng)絡接口模塊的優(yōu)勢明顯。首先,其功耗僅為進口產(chǎn)品的三分之一,適合電池供電的產(chǎn)品使用;其次,由于增加了軟件心跳包功能,模塊在任何情況下都能判斷與服務器的連接狀況,具有很高的可靠性,數(shù)據(jù)傳輸成功率明顯高于進口產(chǎn)品,適合無人值守應用。此外,網(wǎng)絡通訊模塊滿足海洋儀器的工作環(huán)境,運行期間無故障出現(xiàn),適合在惡劣環(huán)境下使用。
以W7100A 芯片為核心設計的網(wǎng)絡接口通用模塊,具有如下特點:可以通過標準串口控制RTS信號來切換模塊的運行模式,因此可以通過軟件來實現(xiàn)設備運行模式的切換;具有極低的功耗,非常適合應用于供電能力有限的工作環(huán)境中,尤其是應用在海洋無人站中需要太陽能供電的條件下;設備中所有的器件都達到工業(yè)級水平,適應海洋中的惡劣環(huán)境,設備工作溫度范圍廣,最低可在-35 ℃環(huán)境下工作。該設備經(jīng)歷了海洋觀測無人站惡劣環(huán)境的實際考驗,并通過與同類其他產(chǎn)品進行對比,較其他產(chǎn)品更適合應用于海洋儀器中。模塊化的設計,方便設備集成使用或直接移植到海洋儀器內(nèi)部,使海洋儀器快速實現(xiàn)網(wǎng)絡接口功能,具有良好的應用前景。
Andrew,2004.計算機網(wǎng)絡.北京:清華大學出版社.
蔡樹群,張文靜,王盛安,2007.海洋環(huán)境觀測技術研究進展.熱帶海洋學報,26(3):76-81.
李嘉,楊佃福,2001.引入以太網(wǎng)技術是現(xiàn)場總線技術發(fā)展的一個必然趨勢.自動化儀表,22(5):1-4.
李四海,張峰,2012.物聯(lián)網(wǎng)技術綜述及海洋信息化發(fā)展對策.海洋通報,31(3):354-359.
劉亞萍,甄國涌,劉東海,2010.基于MSP430 和DM9000 的以太網(wǎng)接口設計.自動化與儀表,25(7):17-20.
沈蘇彬,范曲立,宗平,2009.物聯(lián)網(wǎng)的體系結(jié)構(gòu)與相關技術研究.南京郵電大學學報,29(6):1-11.
徐榮珍,李加文,郭偉,等,2006.基于μClinux 的串口/以太網(wǎng)數(shù)據(jù)轉(zhuǎn)換設備開發(fā).計算機工程,32(17):265-267.