微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 无线数传模块在远程环境监测系统中的应用

无线数传模块在远程环境监测系统中的应用

时间:09-17 来源:互联网 点击:
3、串行数据的传送方式

由于设计采用的是无线传输,所以当通过串行口将数据送到无线数传模块的时候需要考虑数据的传输格式。一般来说,通常我们发送的是字符或者数字,这时我们就需要在软件中根据ASCII码的规则将他们转化为十六进制数形式,以字节方式传送。同时也需考虑发送与接收串口之间的延迟。

三、串行口通信的软件设计

串行口是常用的计算机与外部串行设备之间的数据传输通道,而Visual C++6.0是一种功能强大的可视化的面向对象的Windows编程开发平台,利用其进行串行通信方便易行,应用广泛。通常情况下VC++中有三种实现串行通信的编程技术:1)利用控件MSComm实现串行通信:在对话框中创建通信控件 MSComm,这种方法简单易用,但必须拿到对话框中使用,灵活性较差;2)多线程实现串行通信:在自定义的串行通信类中创建端口监视线程,进行多线程控制,并在指定的事件发生时向相关的窗口发送通知消息。该方法实时性强,但是系统复杂;3)在单线程中建立自定义的通信类实现串行通信;利用VC++的MFC类库实现。与控件方法相比,灵活性强,可按不同需要定制灵活的串口通信类来实现,同时也比多线程通信结构简单。

结合本设计所采用的硬件的特点,以及实际的运行环境,最终选择第三种方式完成串行口通信。

程序流程图如下:


图3 程序流程图

在程序中利用类CserialPort实现负责串口的配置,数据传输的延迟处理以及读写。结构如下:





其中配置串行口采用DCB结构,BOOL ReadByte(char* buff) 和BOOL WriteByte(BYTE,int)函数为读写串行口,为了识别操作是否正确,利用BOOL bWriteRC, bReadRC设置成功标志。同时设定DWORD iBytesWritten,iBytesRead确定字节的个数。在收发数据时需要监测串行口是不是准备好,这时就可以检测m_bPortReady的状态。

整个程序的编制也就相应的分为以下几个部分:

配置串口;配置数传模块;读写串行口;通信延时处理等。  

四、总结

环境监测系统具有采样数据量大,传输距离远,以及环境条件差别大的特点,长期以来数据传输部分一直是人们关注的焦点。以往系统主要采用MODEM和电话机实现远程通信,但由于电话线具有通信速度慢,质量差的缺点,已不能满足现代环境监测的要求。这里应用无线数传模块完成远程数据通信,不仅克服了这些缺点,而且大大改善了该系统的数据传输性能。经最终测试该系统不仅可以在条件恶劣干扰大的环境下进行远距离传输,而且数据准确率高,传输速度快。可根据不同需要应用于电力、水利、石油、林业、勘探等领域。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top