基于ZigBee的航标遥测终端

时间:2011-03-16来源:网络


2 终端的硬件组成
根据功能要求,设计的航标遥测终端组成框图如图2所示,主要由处理器模块、ZigBee/CDMA通信模块、GPS定位模块、航标灯数据采集模块及供电系统组成。

b.JPG


处理器模块是以S3C2410 32 b RISC ARM9处理器为中心,主要由时钟/复位单元、存储系统、调试接口等组成。它是整个终端的核心,负责整个终端系统的管理、控制运行、数据采集以及通信协议的解析和数据处理。S3C2410微处理器具有3个串口,即UART0,UART1,UART2,通过合理分配串口,并设计控制电路,对不足的串口资源进行复用,使其满足应用需求。ZigBee/CDMA通信模块的作用是负责终端和控制中心之间的远程双向无线数据传输。GPS定位模块用于实现终端的定位,使终端可以实时监视浮标是否产生漂移。由于目前的航标灯均自带有数据采集模块,并通过RS 485输出数据。因此,终端通过发送采集指令给航标灯,航标灯数据就会自动传输给终端,即只需要利用一个RS 485到RS 232转换器就可实现对航标灯数据的采集。处理器与外围通信模块的通讯是通过串口连接,处理器可以通过AT指令对通信模块进行操作和控制,从而实现ZigBee/CDMA网络的无线接入,并与控制中心建立通信链路,以提供远程数据双向传输的通道。通过以太网控制器芯片DM9000扩展一个网口,以满足运用,同时方便调试开发的功能。由于输入是12 V,而不同的模块所需的电压不一样,所以要进行电压的转换,即供电系统部分。由于采用了ARM9嵌入式系统和模块化设计,使系统硬件的外围电路相对简单,因此具体电路本文将不介绍。

3 终端软件设计
3.1 多线程设计
终端软件是在Linux 2.4.18操作系统内核上采用多线程开发的。与进程相比,线程很小,创建一个线程可以使用相对较少的CPU时间,提高了CPU并行处理的能力。因此,多线程编程与多进程编程相比,在性能和通信等方面都有显著的优势,所以终端软件的开发采用单个进程多线程的编程方式实现。
在整个终端软件系统中,创建了五个线程:主线程、通信线程、遥测遥控线程、协议处理线程及定时处理线程。主线程是进程对应的线程,是整个软件的控制线程,它控制其他线程的工作,具体包括创建管道、打开驱动、建立线程及安装触发线程的信号等功能;通信线程负责终端通信方式的选择、通信模块的驱动及收发数据等工作;遥测遥控线程主要负责航标数据采集、GPS数据采集、遥测数据的上传及遥控命令的执行;协议处理线程根据通信协议对数据进行变换、格式转换、打包和解包;定时处理线程主要完成周期性的控制,包括定时数据上传、定时故障和异常判断与报警、定时休眠、重新启动等。
由于整个终端需要处理的任务较多,下面仅介绍几个关键功能模块的设计。

1 2 3 4

关键词: 终端 航标 ZigBee 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版