《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于LwIP的海洋數據采集與傳輸系統
基于LwIP的海洋數據采集與傳輸系統
來源:電子技術應用2012年第8期
王 暉,周巧娣,章雪挺,盛慶華
杭州電子科技大學 電子信息學院,浙江 杭州310018
摘要: 針對海洋數據采集系統中串行數據傳輸能力不能滿足海洋環境實時監測需求的現狀,設計并實現了一種傳輸速率較高的以太網數據傳輸系統。系統以STM32F207VGT6處理器為核心,選擇輕量級的LwIP作為以太網協議棧,將LwIP TCP/IP協議棧移植到STM32F207VGT6上,在應用層實現了一個網絡、串口數據雙向傳輸的數據傳輸系統。經測試,其傳輸速率優于同條件下RS232、RS485、CAN總線的傳輸速度,滿足了設計要求。
中圖分類號: TP274+.2
文獻標識碼: A
文章編號: 0258-7998(2012)08-0026-04
A marine data collection and transmission system based on LwIP
Wang Hui,Zhou Qiaodi,Zhang Xueting,Sheng Qinghua
Electronic Information College,Hangzhou Dianzi University, Hangzhou 310018,China
Abstract: Due to the status quo that serial data transmission capacity can not meet the demand of marine environment real-time detection in the marine data acquisition system,this paper designs and implements a faster Ethernet data transmission system, which mainly consists of STM32F207VGT6 processor and a lightweight LwIP as protocol stack. By means of transplanting LwIP protocol stack into processer, it implements a two-way data transmission system between serial data and Ethernet data in application layer. The test shows that transfer rate with this method is superior to RS232、RS485、CAN bus in the same condition,which meets the design requirements.
Key words : data collection;LwIP;TCP/IP;data transmission

    以海底觀測節點為載體的海洋數據采集與傳輸系統,可以實現海平面以下水環境監測數據的實時、自動獲取,它由各個傳感器、CPU控制器、數據傳輸接口以及水上遠程監測平臺組成,可為海洋的探索和監測提供豐富的信息和資料。從我國開始研制海洋數據采集與監測系統至今,先后采用了多種數據傳輸方式[1],包括RS232、RS485、CAN總線等,各個傳輸方式各有利弊。RS232支持全雙工通信,雖然是眾多設備的直接連接渠道,但傳輸速率慢、抗干擾能力差、傳輸距離短;RS485只支持半雙工通信,抗噪聲干擾性好,傳輸距離較RS232遠,但傳輸速率慢;CAN總線只支持半雙工通信,通信距離遠,抗干擾能力強,但傳輸速率仍有限制[2]。根據數據采集及傳輸系統對數據傳輸速率的要求,本文利用LwIP作為以太網協議棧,完成LwIP TCP/IP協議棧在STM32F207VGT6的移植;考慮到以太網支持全雙工通信,同時利用以太網中的UDP傳輸方式實現各類傳感器開啟、采集間隔的控制以及對采集數據的實時監測,大幅度提高了系統遠程的可控性及實時性。

1 系統工作原理
    海洋數據采集與傳輸系統的整體結構如圖1所示。其中數據采集板是本系統設計和實現的主要組成部分,本文主要闡述由傳感器、數據采集板和用戶遠程檢測終端組成的海洋數據采集與傳輸系統。它主要完成對傳感器采集到的數據進行存儲和傳輸以及對傳感器進行實時監測,其目的是提高傳感器水下工作時長、提供外部電源供電引腳、方便進行長期觀測。


    海洋數據采集與傳輸系統工作原理為:當水下傳感器采集到數據時,即刻通過串口傳遞至數據采集板,采集板收到數據請求信號,立即執行SD卡數據存儲操作,并通過以太網對數據進行接收,在UDP傳輸方式下通過網線將數據傳遞至用戶遠程計算機終端。數據接收完畢后,水下傳感器繼續執行數據的采集。與此同時,遠程計算機終端通過網絡發送控制命令,信號經網絡傳輸至采集板CPU,CPU進行命令解析,針對不同的解析結果對傳感器發送相應控制命令,實現對傳感器開啟、采集間隔設置的實時控制。
    CTD傳感器1~傳感器5是一般的RS232接口傳感器,而耦合傳感器1、2、3屬于感應耦合自容式傳感器,若要連入電路,需要加入調制解調模塊。兩種傳感器除了都能以RS232形式輸出數據外,也可進行自容式存儲。
2 系統硬件
    目前,實現傳感器串行數據與以太網數據交換的方式主要有3種:(1)使用專用的網絡處理芯片;(2)使用高檔嵌入式系統處理;(3)使用單片機和網絡控制芯片。通過比較可以發現:第(1)種成本較高,且用戶需要重新設計接口;第(2)種成本也較高,且如果僅用于通信接口,芯片資源則不能充分利用;相比較而言,通過從成本和使用場合考慮,第(3)種方法成本低,實現比較容易,并且可以根據實際需要進行功能擴展,只是軟件編程工作量比較大。因此本文采用第三種方法來實現。
    本系統中主控板微處理器選用ST公司基于Cortex-M3內核的32 bit微處理器STM32F207,其主頻達120 MHz,專用于網絡型嵌入式設備中。STM32F207具有豐富的串口資源、4路USART通道、2路UART通道。其中USART1和USART6最高波特率支持7.5 Mb/s,其他接口最高支持3.75 Mb/s,不僅支持調制解調模塊、傳感器的物理連接,而且對于數據的傳輸也提供了較高的傳輸速率,可以有效縮短傳感器通過串口下載歷史數據的時間。
    以太網收發芯片選用美國National公司的10/100 M以太網物理層收發芯片DP83848C,該芯片遵循Ethernet II和IEEE802.3u標準,同時支持MII、RMII、SNI三種數據連接方式,內部還集成了數據收發及濾波功能。在全雙工模式下,可以同時實現發送和接收,理論上最高速度能達到100 Mb/s,本文對其配置為100 Mb/s。采集板簡要框圖如圖2所示。

    如圖2所示,微控制器與以太網收發芯片間采用了RMII模式[3]。這種方式在保持物理層器件現有特性的前提下減少了PHY的連接引腳,在保持IEEE802.3規范中所有特性的同時,降低了系統設計的成本。
3 系統軟件設計
    本系統軟件設計包括兩部分:水下采集板傳感器數據采集、傳輸程序和遠程用戶界面實時監測程序。其中,采集板程序均在KEIL Uvision4下編譯、測試,遠程監測程序在Visual Studio 2008下編譯、測試。
3.1 TCP/IP協議棧——LwIP 移植
    LwIP是瑞士計算機科學院的Adam Dunkles等人開發的用于嵌入式系統的開放源碼TCP/IP協議棧,其在保持TCP主要功能的基礎上減少對RAM的占用,一般只需要幾十字節的RAM和40 KB左右的ROM就可運行,使LwIP適合在中低端的嵌入式系統中應用。
    嵌入式TCP/IP協議棧有兩種普遍的實現方式:一種是將協議簇中的每個協議作為一個單獨的進程,并指定進程之間的通信點。其優點在于結構清晰,代碼易懂,占用系統資源較少,且方便調試;另一種方式是將協議棧駐留在操作系統內核中,應用程序通過系統調用與協議棧通信。該方式對系統RAM、ROM資源占用較高,且不能很好地支持MDK[4]環境下的斷點調試。故本文選擇第一種方式。
3.2 STM32F207采集板程序設計

 


    主程序設計可以分為以下4個步驟:
    (1)系統初始化
    上電后,對系統時鐘、LwIP協議棧、RTC實時時鐘、通用I/O口初始化配置。
    (2)串口配置和通信
    在STM32中,struct USART_InitTypeDef中包括了串口的波特率、字符位數和奇偶校驗等重要屬性,在設置好該結構體后,調用串口USART_Init使串口屬性生效。配置好串口后,用USART_DMACmd函數配置串口以DMA直接內存訪問,當有傳感器數據到達串口的緩沖區時,直接存儲至DMA指定緩沖區中,同時,當數據到達最大長度時,執行數據傳出、SD卡存儲并清空緩沖區。
    (3)遠程端命令偵聽
    在LwIP中,struct udp_pcb包括了以太網數據最小傳輸單元的類型、IP地址、子網掩碼、網關、當前端口號、目的端口號等重要屬性,在創建好udp_pcb之后,調用udp API操作函數udp_bind使指定的udp數據單元屬性生效。對于以太網數據的讀寫,設置以太網讀寫超時是非常重要的,LwIP_Periodic_Handle函數提供了這樣的功能。配置好udp后,用udp_recv函數打開數據接收回調函數,通過回調函數體中第二個參數創建監聽線程。在監聽中無線程阻塞,當接收到遠程數據報時,用udp_send寫數據。遠程控制端對水下采集板的監測是在監聽線程udp_echoserver_receive_callback中完成的,接著,將接收到的命令反饋至CPU,CPU根據不同的命令,決定是否開啟傳感器。
    (4)數據幀整合
    根據傳感器的不同,將采集到的數據幀進行排序、整合,按照固定順序整合成特定幀格式,最后通過以太網發送至遠程監測端。采集板程序流程如圖3所示。

3.3 遠程用戶監測程序設計
    遠程用戶控制端主要實現對水下采集板采集到的數據和傳感器工作狀態的實時監測。控制端通過查找IP地址的形式對連接在用戶局域網內的設備進行搜索,經過濾,找出設備,與水下采集板建立虛擬鏈接。然后以UDP面向無連接的通信方式[5]通過以太網接口向采集板發送傳感器開啟命令。待發送完畢后,每隔1 s時間,控制端間歇性地通過以太網向水下系統發送獲取數據命令,用于得到最新的采集數據。若采集板中已收到傳感器當前采集的數據,隨即將水下系統中已整合的幀數據再次通過以太網傳遞至遠程控制端。當接收到完整幀數據后,控制端通過分析之前的數據通信協議,對數據包進行解析,將各類傳感器分別采集到的數據進行分離,顯示在用戶界面中。程序流程如圖4所示。

4 系統調試
    在實驗室環境下,將采集板的4個串口分別與調制解調器、CTD傳感器1、2、3相連,網口通過網線與電腦的網口相連。采集板程序中設置 UDP偵聽端口號為5 000、子網掩碼為255.255.255.1,網關為192.168.1.1,設置本地IP為192.168.1.103,采集板IP地址為192.168.1.220,這兩個地址不能與局域網其他地址沖突。系統上電后,在局域網的PC機中,通過ping命令,發送ICMP請求,客戶端可得到ICMP回應。接著打開PC機上用戶遠程監測軟件,通過搜索指定目標IP,搜索到采集板設備,此時采集板與PC機控制端握手成功后進行數據通信,按照配置的采集時間間隔,采集板將數據保存在SD中。其中,傳感器每秒采集數據長度約500 B。經10 min運行,通過將監測軟件顯示的以太網幀數據與SD卡中的數據進行比較可知,系統運行穩定;通過PC機對傳感器配置不同采集間隔時,兩種方式下數據仍保持一致。
    接著同樣以每秒500 B的數據量近似作為傳感器采集數據長度,系統均運行10 min,分別對采用串口RS232、RS485、CAN總線傳輸方式下傳輸完成時間、誤碼數進行測試,得出的結果如表1所示。

    由表1中測試結果可知,在相同傳輸條件下,以太網傳輸速度是RS232的14.03倍,是RS485的3.97倍,是CAN總線的6.02倍,說明以太網在傳輸數據量較大的情況下,不管在傳輸時間方面還是在誤碼數方面都占有優勢。
    在實驗室模擬調試的基礎上,在戶外也進行了進一步的測試,選擇水深、湖區面積適中的杭州千島湖中心湖區作為野外主要實測地點。測試前主要將浮球、水下數據采集系統放入水中,接著進行為期一周的實地觀測。結果表明,系統工作正常,達到了預期的測試效果。這里選擇其中某個時間點對監測軟件的顯示界面進行截圖,如圖5所示。

    本文利用基于LwIP協議棧的以太網設計和實現了一種海洋數據采集與傳輸系統。該采集系統豐富的串口資源使其至多可接入6種不同的傳感器設備。設計時,在保證數據傳輸穩定的前提下,用以太網傳輸代替傳統的數據傳輸模式,不僅提高了系統實時性,而且使采集板和用戶監測端數據交互更為快捷。同時,在水下通過加入互聯設備,易于水下設備的擴展或組網。系統很好地滿足了海洋數據實時傳輸的需求,達到了傳輸速率在相同條件下優于RS232、RS485、CAN總線傳輸速度的設計目標。
參考文獻
[1] 莊彥霞,孫運強,姚愛琴.基于CAN總線的實時數據傳輸系統[J].數據采集與處理,2006,12(21):222-225.
[2] 陳敬謙,何志偉,劉文澤.RS2232與CAN總線協議轉換單元設計[J].電子工程師,2004,30(4):63-66.
[3] 宋鑫,郭勇,謝興紅.RMII模式以太網PHY芯片DP83848C的應用[J].單片機與嵌入式系統應用,2010(8):50-53.
[4] 王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理與實踐[M].北京:北京航空航天大學出版社,2008:366-368.
[5] THOMAS G.用于控制TCP/UDP[J].國內外機電一體化技術,2001,6(4):9-11.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩视频中文| 欧美一区二区精品| 国产欧美精品一区| 欧美日韩色婷婷| 欧美不卡一区| 久久一区二区三区四区五区| 午夜一区二区三区不卡视频| 一区二区三区欧美激情| 亚洲精品之草原avav久久| 亚洲第一偷拍| 久久aⅴ乱码一区二区三区| 午夜精品久久久久久| 亚洲桃色在线一区| 在线中文字幕不卡| 中日韩视频在线观看| 日韩亚洲精品视频| 日韩视频在线播放| 亚洲免费观看高清完整版在线观看熊 | 久久精品动漫| 欧美亚洲三区| 午夜精品成人在线| 亚洲女同同性videoxma| 亚洲欧美视频在线观看| 欧美一区1区三区3区公司| 性欧美精品高清| 欧美一区二区高清| 亚洲第一精品夜夜躁人人爽 | 久久久久一区二区| 久久精品av麻豆的观看方式| 久久精品欧美日韩| 久久久久久综合| 久久久综合激的五月天| 另类欧美日韩国产在线| 欧美1区2区| 欧美精品国产一区二区| 欧美日韩精品免费观看视一区二区 | 另类春色校园亚洲| 欧美高清视频在线播放| 欧美日韩国产精品成人| 国产精品国产a级| 国产伦精品一区二区三区视频孕妇 | 国产伦精品一区二区三区视频黑人 | 亚洲午夜小视频| 午夜在线电影亚洲一区| 欧美与欧洲交xxxx免费观看| 亚洲欧洲一区二区在线观看| 一区二区三区视频在线| 新狼窝色av性久久久久久| 狂野欧美一区| 欧美日韩精品免费观看视一区二区 | 亚洲欧美综合v| 亚洲高清网站| 夜夜嗨av一区二区三区四区| 亚洲欧美一区二区原创| 久久久夜精品| 欧美手机在线| 国产一区二区三区的电影| 亚洲国产精品久久久久秋霞不卡| 一本色道久久综合精品竹菊| 欧美亚洲综合另类| 一区二区高清| 久久精品视频免费观看| 欧美乱大交xxxxx| 国产精品一区视频网站| 在线观看欧美日韩国产| 99国产精品久久| 欧美一区二区三区啪啪| 一区二区三区波多野结衣在线观看| 午夜一区在线| 欧美国产免费| 国产日韩一区二区| 亚洲欧洲精品一区二区三区| 午夜精品婷婷| 一本到高清视频免费精品| 久久高清一区| 欧美日韩视频专区在线播放 | 亚洲精品美女久久久久| 欧美一区二区观看视频| 欧美日韩国产首页在线观看| 国产亚洲精品7777| 99精品热6080yy久久 | 亚洲欧美韩国| 欧美日本在线观看| 极品少妇一区二区| 亚洲一区二区影院| 日韩午夜av电影| 久久天天狠狠| 欧美成人中文字幕| 国产日本欧美一区二区| 99热在这里有精品免费| 91久久夜色精品国产九色| 香蕉久久夜色精品国产| 欧美久久久久免费| 亚洲高清在线观看| 欧美在线一区二区| 欧美一区二区高清| 国产精品久久久久久久一区探花| 亚洲国产乱码最新视频| 久久国产精品99精品国产| 亚洲一区国产| 国产精品欧美日韩久久| 在线成人小视频| 亚洲欧美另类国产| 亚洲天堂av在线免费观看| 免费一级欧美片在线观看| 国产日韩欧美在线播放| 亚洲视频精品| 国产精品99久久久久久久vr| 噜噜噜久久亚洲精品国产品小说| 国产一区91精品张津瑜| 亚洲男人的天堂在线aⅴ视频| 一区二区三区四区五区在线| 欧美成人精品一区二区| 国语自产精品视频在线看一大j8| 午夜激情一区| 欧美在线观看视频一区二区| 国产精品高潮在线| 亚洲网友自拍| 亚洲欧美资源在线| 国产精品毛片在线| 亚洲五月六月| 午夜精品理论片| 国产精品区一区| 亚洲午夜久久久| 午夜精品国产| 国产精品久久午夜夜伦鲁鲁| 宅男精品导航| 午夜精品一区二区三区四区| 国产精品啊啊啊| 亚洲午夜一区二区| 午夜精品久久久久久久99黑人| 国产精品男gay被猛男狂揉视频| 亚洲香蕉网站| 欧美伊久线香蕉线新在线| 国产精品一区二区久激情瑜伽| 亚洲午夜免费视频| 久久大逼视频| 黄网站免费久久| 亚洲国产精品毛片| 欧美激情一区二区三区全黄| 亚洲乱码精品一二三四区日韩在线| aaa亚洲精品一二三区| 欧美色综合网| 亚洲一区在线观看免费观看电影高清| 先锋亚洲精品| 狠狠88综合久久久久综合网| 亚洲经典在线| 欧美日韩国产在线| 在线一区观看| 久久av一区二区三区| 在线观看一区视频| 日韩视频―中文字幕| 欧美三区美女| 亚洲制服少妇| 久久男女视频| 亚洲三级电影全部在线观看高清| 亚洲视频在线观看免费| 国产日韩欧美成人| 亚洲国产中文字幕在线观看| 欧美日韩三级一区二区| 亚洲一区一卡| 蜜臀av性久久久久蜜臀aⅴ四虎| 99av国产精品欲麻豆| 久久成人综合视频| 亚洲黄色影院| 午夜精品久久久久久久99水蜜桃| 黄色亚洲免费| 亚洲自拍偷拍色片视频| 国际精品欧美精品| 99热在线精品观看| 国产美女高潮久久白浆| 亚洲精品资源| 国产精品一香蕉国产线看观看| 亚洲电影免费在线观看| 欧美日本韩国在线| 性欧美激情精品| 欧美日韩一区二区三| 欧美在线一二三四区| 欧美日韩伦理在线| 午夜免费日韩视频| 欧美精品一区二区三区久久久竹菊| 亚洲永久精品大片| 欧美丰满高潮xxxx喷水动漫| 亚洲一区二区三区高清 | 欧美精品在线观看一区二区| 亚洲综合日韩中文字幕v在线| 久久一区二区三区超碰国产精品| 99国产精品99久久久久久| 久久夜色精品国产| 亚洲视频在线观看| 欧美成人免费播放| 亚洲欧美在线免费观看| 欧美日本二区| 亚洲国产日韩综合一区| 国产免费成人av| 在线视频你懂得一区| 在线不卡亚洲| 欧美在线一级视频| 99视频在线精品国自产拍免费观看| 毛片一区二区|