找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于LwIP的海洋数据采集与传输系统

[复制链接]
admin 发表于 2013-3-26 19:41:11 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 关键词: 数据采集;LwIP;TCP/IP;数据传输
       以海底观测节点为载体的海洋数据采集与传输系统,可以实现海平面以下水环境监测数据的实时、自动获取,它由各个传感器、CPU控制器、数据传输接口以及水上远程监测平台组成,可为海洋的探索和监测提供丰富的信息和资料。从我国开始研制海洋数据采集与监测系统至今,先后采用了多种数据传输方式[1],包括RS232、RS485、CAN总线等,各个传输方式各有利弊。RS232支持全双工通信,虽然是众多设备的直接连接渠道,但传输速率慢、抗干扰能力差、传输距离短;RS485只支持半双工通信,抗噪声干扰性好,传输距离较RS232远,但传输速率慢;CAN总线只支持半双工通信,通信距离远,抗干扰能力强,但传输速率仍有限制[2]。根据数据采集及传输系统对数据传输速率的要求,本文利用LwIP作为以太网协议栈,完成LwIP TCP/IP协议栈在STM32F207VGT6的移植;考虑到以太网支持全双工通信,同时利用以太网中的UDP传输方式实现各类传感器开启、采集间隔的控制以及对采集数据的实时监测,大幅度提高了系统远程的可控性及实时性。
1 系统工作原理
     海洋数据采集与传输系统的整体结构如图1所示。其中数据采集板是本系统设计和实现的主要组成部分,本文主要阐述由传感器、数据采集板和用户远程检测终端组成的海洋数据采集与传输系统。它主要完成对传感器采集到的数据进行存储和传输以及对传感器进行实时监测,其目的是提高传感器水下工作时长、提供外部电源供电引脚、方便进行长期观测。
    20121107045227839513805.gif
   
     海洋数据采集与传输系统工作原理为:当水下传感器采集到数据时,即刻通过串口传递至数据采集板,采集板收到数据请求信号,立即执行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所示。
    20121107045227902013806.gif
       如图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采集板程序设计
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-29 11:41 , Processed in 0.057440 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表