基于PDA无线模块的卫星通信地球站监控系统的设计和实现
时间:2022-03-24 09:13:00 浏览次数:次
摘要: 随着网络编程技术的飞速发展,无线监控系统越来越受到人们的欢迎。本文主要介绍了利用VC++语言设计的基于802.11b无线模块的卫星通信地球站监控系统,讲述了本套系统的主要功能、特点以及实现过程。最后着重讨论了软件实现过程中遇到的一些问题,如WINCE下UNICODE字符编码问题,数据库,堆、栈的使用问题。
关键词:PDA;监控系统;无线通信;VC++
中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)21-30410-02
Monitoring System of Satallite Earth Station Based on Wireless Module of PDA
HAN Zhen-hua
(College of Telecommunications and Information Engineering,Nanjing University of Posts & Telecommunications,Nanjing 210003,China)
Abstract:With the rapid development of network programming,wireless monitoring system has been a topic of welcome.In this paper, descibes the monitoring system of satellite earth station which based on 802.11b wireless module and VC++ language, exposed the function, characteristics and realization of the system.Finally, discusses the issues which encountered,such as UNICODE character encoding,database use,heap,stack use.
Key words: PDA;monitoring system;wireless monitoring;VC++
1 引言
使用的PDA的操作系统是Windows CE系统,Windows CE是一种专为开发小体积、资源要求低的机器而设计的操作系统,它是一种紧凑、高效和可扩展的操作系统,适用于各种嵌入式系统和产品。它是拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统。它的模块化设计方式使得系统开发人员和应用开发人员能够为各种不同得产品来定制它。
地球站监控系统是卫星通信地球站的重要组成部分之一,是保证地球站能正常工作的关键。PDA以它的携带方便性,移动性,符合在战场干扰性强等情况下使用,引起了人们的广泛关注。本监控系统利用PDA内置的802.11b无线模块与卫星通信地球站通信,完成对天线控制器、modem的运行参数设置,运行状况实时监控,各关键部件实时告警,以确保设备的正常运行和传输质量,并且为操作人员提供了可视化的操作界面,便于操作人员在短期内掌握操作方法,而非专业人员也能很快掌握。
2 基于WINCE应用程序设计特点及准备工作
2.1 开发软件介绍
开发基于Windows CE应用程序选择eMbedded visual c++(EVC)、eMbedded Visual Basic或者采用Visual C++或者Visual Basic6.0附带的嵌入式工具包。用Visual C++开发的应用程序具有运行速度快、程序占有空间小等特点,所选择使用了Visual C++作为开发工具。
2.2 开发应用程序前的准备工作
仿真环境的建立,在桌面计算机上开发应用程序,需要安装Pocket PC的仿真器。安装Visual Stdio 2005里面的VC++部分,里面带有Pocket PC2003仿真器,通过仿真器可以使开发过程变得简单,方便,使得在没有Windows CE实体的个人计算机上开发WINCE的应用程序变为可能。
桌面计算机与PDA的连接及同步:Microsoft ActiveSync4.5是当前掌上电脑与桌面计算机最新的同步软件。它和以前的同步软件相比具有同步速度快,安装便捷,方便增加波特率等特点。
3 天线与监控模块组成和通信协议
3.1 天线与监控模块的组成
此卫星通信地球站使用了Lantronix公司的macthport无线模块,取代了原来使用的手持机设备,提高了通信的移动性,成为这个产品的一大亮点。无线模块安装在天线控制器的底座里面,可以减少外界对无线模块天线的损坏,又不影响通信质量。无线模块有两个串口连接器,一个与天线控制器连接,一个与modem连接,使用相同的IP地址,不同的端口号,通过网络编程实现对这两部分的控制。通过建立一个点对点网络,无线模块作为服务器端,PDA作为客户端,完成对天线控制器和modem的监控工作。天线与监控模块的组成见图1:
3.2 天线通信协议
天线控制器和PDA通信使用基于TCP/IP协议,双方制定了一套简单的通信协议,这里采用了简单的字符串行使发送消息,消息格式为
4 地球站监控系统功能特点及实现
4.1 地球站监控系统功能特点
此监控系统是以PDA为核心的计算机化监控系统,结合计算机软硬件以及数据库技术,具有以下功能特点。
1)能实时实现卫星通信系统中各个设备的工作状态以及参数查看,并可以根据需要修改对星参数。
2)能存储多颗卫星经、纬度,以及地球站经纬度,建立相应的数据库,可以实现智能对星。
3)当设备出现故障时,能实时报警,并具有一定的故障诊断能力。
4)嵌入HTML语言,通过主页发布到Internet上。
5)通过查看系统日志,供工作人员查看和制表。
4.2 监控软件工作流程
服务器和客户机之间进行通信是基于TCP-IP协议,其通信过程以客户端为例进行说明,
其一般步骤如下:
1)SOCKET初始化,初始化成功转入2);
2)建立一个TCP连接,如果连接成功转入3),否则继续连接;
3)发送数据,发送完成后等待天线返回数据;
4)等待接收数据;
5)处理接收数据,显示;
6)关闭套接字。
流程图见图2。
4.3 WINCE下UNICODE字符编码的问题
纵所周知,WindowsCE下编程99%的问题都和Unicode有关。比如文件编辑,一般都保存为Ansi格式,无线通讯中控制Modem需要发送的AT指令,必须是Ansi格式,网络通讯中,PC端一般都是Ansi的,为了和PC上协议兼容,在WindowsCE中必须把要发送的一个指令从Unicode转换成Ansi格式等等。WindowsCE中有标准的API实现了Unicode和Ansi字符间的互转。下面就是网络通讯中的发送程序片断。
m_psocket是指向一个CSocket类的对象,如果没有连接的话其为NULL,m_snd是要发送的字符串。
char *buf;
buf=new char[128];
ZeroMemory(buf,sizeof(buf));
CString tmpstr(m_snd);
int multibytelen= WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK|
WC_DEFAULTCHAR, tmpstr.GetBuffer(m_snd.GetLength()),m_snd.GetLength(),0,0,0,0);
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK|WC_DEFAULTCHAR, tmpstr.GetBuffer(m_snd.GetLength()),m_snd.GetLength(),(char *)buf,128,0,0);
int sendcount=m_psocket->Send(buf,multibytelen);
delete []buf;
经过转换之后通信就不会再有乱码的问题出现。
4.4 数据库的设计
数据库作为先进的数据管理技术,其应用已渗透到各个领域,任何信息系统都离不开数据库的支持。本设计采用ADOCE设计数据库,操作简单、方便。ADOCE是ADO的子集,该子集专门用于Windows CE。ADOCE可以访问本地Windows CE设备数据库库,也可以使用OLE DB支持数据源。ADOCE 与PC上使用的ADO比较相近,但还是有些差别,使用时应该加以注意。ADOCE不支持Command命令,也不支持Property对象和Property集合。使用数据库有几个优点:第一,为用户修改对星参数提供方便,卫星参数包括卫星名称、卫星经度、信标频率,站点经纬度,只要选择一项指标(主键),其它对应的参数就全被选中,操作简单方便。第二:对系统报警可以实时保存,可供用户参考。第三:提供了用户权限,根据权限不同访问的资源不同,如手动对星中的校零功能只有工程人员才可以使用。第四:提供了恢复出厂设置功能,在用户操作不当引起数据错误的情况下,可以恢复出厂设置。
4.5 WINCE下堆栈的使用问题
Windows CE编程最重要的方面是需要管理一个程序可用的有限的内存。其它的Windows编程可以假定几乎无限的内存空间。即使一台PC机只有4MB 或8MB的RAM,Windows也可以用一个交换文件在硬盘上创建大量虚拟内存。但Windows CE设备只有2MB的RAM,且有一半用于文件存储。Windows CE应用程序必须尽可能减少所占用的内存空间以便在这样少的内存环境中生存。在设计程序时,你应该知道分配给Windows CE的不同类型的内存和如何最大限度地利用它们。
堆是一段连续的较大的虚拟地址空间。应用程序在堆中可以动态地分配、释放所需大小的内存块。栈也是一段连续的虚拟地址空间,和堆相比空间要小的多,它是专为函数使用的。当调用一个函数时(包括线程),内核会产生一个默认的栈,并且内核会立刻提交少量的物理内存(也可以禁止内核立刻提交物理内存)。栈的大小和CPU有关,一般为64KB,并且保留顶部2KB为了防止溢出。实际开发中最好不要在栈中分配很大、很多的内存块,如果分配的内存块超过了默认栈的限制,那么会引起访问非法并且内核会立刻终止进程。最好在进程的堆中分配大的内存块并且在函数返回前释放。
所以在分配内存时采用在堆上分配的方法,减少在动态分配内存时由于内存不够出现的致命的程序错误,引起通信过程中数据的丢失问题。
5 结束语
利用VC++开发的这套监控系统,使用方便,通过无线网络实现了监控的移动性。在无线通信的基础上,以后会实现把监控部分完全嵌入到ARM板,实现监控系统和天线的一体性,进一方面完善卫星地球站的监控。
参考文献:
[1] 李永隆.PDA程序设计[M].清华大学出版社,2002.
[2] 姚领田.精通MFC程序设计[M].人民邮电出版社,2002.
[3] 螺丝起子研究室编.共享WI-FI无线网络实务[M].中国水利水电出版社,2005.
[4] 胡正飞,谢继东,丁彦庆.一种新型便携式卫星通信地球站系统[J].数字通信世界,2006(6):38-40.
推荐访问: 卫星通信 监控系统 模块 地球 设计[基于PDA无线模块的卫星通信地球站监控系统的设计和实现]相关文章
- 移动天气雷达系统的卫星通信
- 卫星通信在应急通信中的应用及发展
- 网络编码技术在卫星通信中的应用
- 一种面向卫星通信的无速率Spinal码通信系统设计
- 卫星通信ODU的结构设计
- 世界卫星通信的现状及发展趋
- 试验站远程监控系统网络接口的设计
- 高速公路收费视频监控系统中应用概述
- 复杂电磁环境下气象观探测设备实时监控系统的研究与实现
- 国内消防自动监控系统使用现状
- 石油企业机房环境及动力监控系统技术
- 机房环境安全监控系统
- 机房环境监控系统设计与实现
- 基于SNMP协议的机房监控系统设计与实现
- 铁路通信机房环境监控系统的优化
- 场监雷达数据主动监控系统的研究与开发
- 模块七总结与反馈
- 2019考研数学知识模块大总结
- 解析中职《计算机应用基础》模块化教学实践
- 基于VPX标准3U通用处理模块设计
- 试述地球物理学的发展
- 太阳活动对地球的影响
- 地球未来的命运
- 解析环境地球物理学的现状与发展
- 地球之眼
- P天文学、地球科学
- 2023年开展地球日活动总结(通用3篇)
- 2023年关于世界地球日活动方案策划7篇
- 2022年世界地球日宣传活动总结感悟5篇
- 世界地球日学生演讲稿3篇(完整)
- 学习设计还是学育设计?
- 案例式教学在工程设计软件教学中的探索与研究
- 在高职院校机械基础课程中设计开发及应用微课的几点思考
- 现代工业设计理念在机床设计中的运用
- 大学校园文化景观设计理念
- 2016年全国大学生工业设计大赛
- 高速公路移动通信系统设计方案研究
- 基于层次分析法的家具设计方案评价模型
- 现代远程开放教育省开课网考系统顶层设计及分层设计研究
- 浅析建筑结构中的人防设计与抗震设计
- 上一篇:模拟设计与验证工具现状
- 下一篇:带钢热连轧AGC系统实时仿真