基于ARM9的嵌入式网关设计
扫描二维码
随时随地手机看文章
引 言
无线传感网络可对网络分布区域内监测对象进行感知、采集、处理和监控,并通过无线通信方式传送给网络终端用户,将信息世界与物理世界融为一体。但无线传感网络要真正发挥其在物联网领域中的作用还要借助于网关设备接入外部网络。本文设计了针对多种应用场合的一种多模态网关。
1 硬件部分设计
嵌入式网关向上连接远程监控系统,由上位机程序实现远程的数据获取、设备监控。向下连接到无线传感器网络的协调器模快,实现无线网络终端节点的数据采集和相关节点的功能控制。根据系统功能需求,总体分为三个部分,如图 1 所示。
1.1 无线传感网接入模块
无线接入模块根据数据传输速率选择基于ZigBee 通信协议的核心芯片 CC2531 和前端芯片 CC2591,如图 2 所示,进一步改善其接收灵敏度,从而延长通信距离。无线接入模块均采用USB 接口方式连接网关设备。
1.2 网关数据处理模块
采用基于ARM9 的 S3C2440 平台构建网关的硬件平台。
主控制器分别接收各个采集模块的数据进行统一分析,然后通过总线下达控制命令,把处理好的数据送回工业现场,进行实时控制。
1.3 远程数据输出模块
远程数据输出模块主要是将处理好的数据以特定的形式输出。用户可以根据具体的应用场景选择 GSM/GPRS、Ethernet 以及UART 中的一种,即可实现上位机的实时显示和监控。
2 软件部分设计
在Linux 操作系统下的程序开发过程中,每个程序模块是以任务的形式开始运行,在创建任务时,可以对每个任务提前设定一个独有的优先级,系统会查询就绪列表中的优先级顺序作为执行任务的依据。软件部分的组成根据硬件系统的组成分为三个部分:数据无线采集、无线接入模块的USB 驱动、数据的处理和输出。系统的软件框图如图 3 所示。
2.1 数据无线采集
(1) 数据采集
根据网关节点发送的信标信号选择传感器节点,通过对CC2530 初始化后,开中断进行数据采集,判断存储容量是否饱和,将数据发送至射频前端 CC2591 准备进行无线传输。
(2) 采集节点低功耗设计
通过中断信号的引入与中断服务程序的设计,以及对射频前端 CC2591 工作模式的控制,实现传感器节点的休眠 / 唤醒调度,优化节点休眠机制;减少节点功耗,保证网络通信质量。
2.2 无线接入模块的USB驱动
在 Linux 驱动中,USB 驱动处于最底层的是 USB 主机 控制器硬件,在其之上运行的是 USB 主机控制器驱动,主机 控制器之上为 USB 核心层,再上层为 USB 设备驱动层。因此 要实现的 USB 驱动包括两类 :USB 主机控制器驱动和 USB 设备驱动,前者控制插入其中的 USB 设备,后者控制 USB 设 备如何与主机通信。在编写特定设备的 USB 设备驱动时,主 要应该完成的工作是 probe()和 disconnect()函数,即探 测和断开函数,它们分别在设备被插入和拨出的时候被调用, 用于初始化和释放软硬件资源。
2.3 数据的处理和输出
数据管理单元是本设计软件实现的关键部分。负责数据 的转发、存储以及相关处理操作。这一部分所要处理的数据 包括实时的数据和以往数据两部分。在系统完成了初始化后, 数据的管理单元即可通过平台总线的方式来传输数据,对于 数据的存储主要基于两种方式 :一是存储于本地,二是存储 于外部。此外,存储于本地的数据有两种形式,分为数据库 系统存储和文件系统存储。根据嵌入式网关的应用需求和性 能要求,这里网关采用以本地文件的方式存储。
3 测试结果
采用多个 ZigBee 模块节点和 S3C2440 组成测试网络。网 络采用星型拓扑结构,各终端节点以协调节点为中心相互通信。 节点可设置为每隔一段时间采集一次数据,组成数据帧发送 给网关部分。网关分别设置成通过 USB 接口接收 ZigBee 采集 数据和利用以太网传输数据,服务器 IP 地址为 192.168.1.17, 网关上无线接入模块为 CC2531。相关结果如图 4 所示。
将嵌入式网关平台、无线传感网各节点上电,在网关系 统完成初始化和 ZigBee 无线传感网络成功建立后,网关平台 接收汇聚节点的数据并进行相关数据处理,最后通过以太网 的方式传输到上位机监控系统。监控系统通过 socket 客户端 连接到网关的 socket 服务器。监控系统通过对传输来的数据 进行数据包解析,并将无线传感器网络节点信息显示在上位 机界面。
本地存储通过搭建文件系统以及自制 GUI 程序来实现, 如图 5 所示。
4 结 语
无线传感器网络逐步应用到了越来越多的领域,嵌入式 网关作为无线传感器网络与外部网络通信的桥梁,在 WSN 网 络系统整体结构中起着显著的关键作用。本设计针对目前无线 传感网的应用趋势,采用模块化设计的思想,提出了一种基于 ARM 的嵌入式网关系统平台的实现方案,实现了无线传感器 网络和外部网络的数据传输,提高了网关的通用性。嵌入式 Linux 系统的应用也大大改善了网关实时性能。未来嵌入式网 关可用于区域环境的信息监测,如智能楼宇、智能交通、工业 监测等应用,利用近、远距离通信方式的结合延伸了数据监测 范围,在实际测试当中取得了良好的效果。