• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于嵌入式Linux的远程数据采集系统

基于嵌入式Linux的远程数据采集系统

录入:edatop.com     点击:

3 软件设计

3.1 系统软件平台配置

3.1.1 嵌入式Linux 的移植

首先在一台 PC 机上安装Linux 系统,从网络上下载交叉编译需要的软件包:linux-2.6.16 内核、gcc-3.4.4 编译器、glibc-2.3.3 编译器、binutils-2.16 工具包和gdb-* 调试器。然后一 步步建立交叉编译环境,根据具体目标平台对与体系结构相关的源码进行必要的修改,对内 核裁减、编译,生成一个内核映象文件。最后将内核及根文件系统烧写到目标平台。

3.1.2 网络设备驱动程序

CS8900 驱动程序是本系统的重要组成部分。所有的Linux 网络驱动程序都遵循通用的 接口,对每个网络接口都用一个device 数据结构表示,网络设备使用网络接口管理表 dev_base,它是一个device 结构的指针。Linux 网络各层之间的数据传输都通过sk_buff(套 接字缓冲区)完成的,每个sk_buff 包括一些控制方法和一块缓冲区,这个区域存放网络传 输的数据包[3]。内核的驱动程序接口包括:打开函数、关闭函数、探测函数、发送函数、接 收函数、中断处理函数和其它函数;参考CS8900 技术文档,通过编写这样一系列函数来实 现具体的功能。

3.1.3 Qt/Embedded 开发

Qt/Embedded 是一个为嵌入式设备上的图形用户接口和应用开发而订做的C++工具开 发包。Qt 的C++类库封装了适应不同操作系统的访问细节,它通常可以运行在多种不同的 处理器上部署的嵌入式Linux 操作系统上。除了类库以外,Qt/Embedded 还包括几个提高开 发速度的工具,使用标准的Qt API,可以熟练的在Windows 和Unix 编程环境里开发应用程 序。下载tmake1.11、Qt/Embedded2.3.7 和Qt2.3.2 for X11 这样几个安装包,根据开发者具体 的开发环境,在Linux 系统的PC 机上建立起Qt/Embedded 开发环境,通过qmake 和Qt designer 这两个工具可以快速的开发出简洁精美的界面。

3.2 应用软件的开发

在 Qt/Embedded 开发环境下,用C++语言编写应用程序,主要实现数据采集分析存档 和远程通讯。本系统通过以太网实现主机和客户机的连接,考虑到嵌入式系统有限的软硬件 资源,网络通讯协议不能直接使用现有的TCP/IP 协议族,其过于庞大复杂,我们只需要使 用其中的一部分协议,并对其进行简化。

嵌入式 Linux 中的网络层次分为用户进程、套接字、网络协议和网络设备4 个层次[4]。 其中BSD 套接字由处理BSD socket 的通用套接字管理软件来处理,并由INET socket 层来 支持,这一层为基于IP 的协议TCP 和UDP 提供端到端传输管理。UDP 是一个无连接协议 而TCP 是个可靠的端对端协议,IP 层包含了实现Internet 协议的代码,这些代码为要传输 的数据加上IP 头,并把传入的IP 包送给TCP 或UDP。在IP 层以下,是支持所有网络应用 的设备层,如PPP、以太网等,建立一个有相应的以太网设备驱动在内的内核后,就可以看 到/dev/eth0。ARP 协议位于IP 层与支持ARP 的底层协议之间,它负责把IP 地址解释成底 层网络设备可以辨认的地址。

系统加电后就开始运行,系统初始化完成后,就开始接收传感器发送的信号,转换成相 应数据并保存;socket 接口实现通信是基于客户机/服务器模式下进行的,根据客户机的要 求,执行指定的操作或将采集来的数据发送给客户机,实现了远程实时监控,具体流程如图 4 所示。

4 结论

本文作者创新点是构建的数据采集系统具有较强的远程数据处理能力和实时性,所使用 的嵌入式Linux 操作系统可支持TCP/IP, PPP 等网络协议,增强了系统的远程分析和监控能 力。以后还需对本系统的嵌入式TCP/IP 协议栈进行改进,并用对多路传感器信号的采集和 处理来验证系统的稳定性和传输采集数据的性能。

来源:维库开发网

上一篇:基于FPGA的数据采集控制模块设计
下一篇:华普为中冶赛迪部署Avaya统一通信解决方案

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图