基于ZigBee的航标遥测终端

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

3.2 通信功能模块设计
终端的通信具有ZigBee,CDMA两种通信方式,由通信处理线程实现。具体完成ZigBee,CDMA模块的初始化、数据发送与接收、智能切换通信方式以及模块工作状态的监测等功能。
通信线程的处理机制是利用信号的异步通知机制,通过安装信号处理函数,当某一通信方式出现异常时就发送信号并携带相关的信息,从而触发信号处理函数进入中断处理异常信息,并根据信息来选择重建当前通信或建立另一种通信方式或重启系统。在此主要介绍双模通信中的ZigBee通信方式。
当选择ZigBee通信方式时,必须对ZigBee进行初始化,其初始化流程图如图3所示。

c.JPG


部分初始化程序如下:
d.JPG
fd表示的是连接ZigBee/CDMA与ARM的串口的文件句柄;sendPort相当于UNIX中的write()函数,即将Send_buf中的数据写入到串口。
因为在终端中用的ZigBee通信模块有其固定的帧格式,所以需要将采集到的数据进行打包,然后才能传输,利用一个函数send_prepare(int mode,unsignedchar send_buf[512],int length)实现数据的打包。其中,mode表示的是ZigBee和CDMA中的一种模式;send_buf[]表示需要发送的有效数据,此函数的主要功能是将有效数据加入到ZigBee和CDMA能识别的帧格式中。然后调用发送函数sendPort(fd_com,send _buf)将数据通过ZigBee或CDMA发送到控制中心。当数据发送到控制中心,控制中心模块会给终端一个应答。通过对此帧的解析,可以看出发送是否成功。例如,在ZigBee通信方式中,状态/标志位为00时表示发送成功,否则表示发送失败。
3.3 遥测遥控功能模块设计
3.3.1 遥测功能模块
遥测包括数据采集与数据传输两部分。数据采集包括航标灯数据和GPS数据的采集。航标灯是一种请求-应答式的设备,要采集航标灯数据就必须通过处理器或是控制中心发送采集命令。在终端上采用定时的方式,当设置时间到时,终端就会自动发送遥测命令给航标灯,当航标灯收到数据并通过CRC检验后,航标灯将其实时的数据发送给处理器,然后通过通信模块发送到控制中心。GPS数据是通过读取GPS-OEM板自动输出的NMEA-0183格式数据获得的,在程序中采用中断方式接收,每1 s接收一次数据。GPS和航标灯数据采集流程图如图4,图5所示。

e.JPG


当采用ZigBee通信方式时,由于ZigBee模块发送数据的最大长度为63个字节,所以将终端发给服务器的有效数据分为两帧发送,在两帧之间加上一个标志0x21,有助于服务器端解析终端数据。

1 2 3 4

关键词: 终端 航标 ZigBee 基于

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

或用微信扫描左侧二维码

相关文章

查看电脑版