短距离长线监控和通过自组网络自行建设通信网络, 信号质量得以保证, 但建网初期投资巨大, 运营期间维护耗费较高; 通过市话网和Internet 方式, 通信效果好, 信号量大, 运营费用相对低廉, 但接入网络受到限制, 且网络运行效果取决于网络运营商, 难以达到工业现场覆盖面; 数传电台出现较早、应用广泛, 信号传输实时性好、运行费用低, 但建网初期投资巨大、传输范围有限, 易受空间无线信号干扰。
通用分组无线业务GPRS(General Packet Radio Ser -vice) 是在现有GSM 系统上发展出来的一种新的承载业务, 目的是为GSM 用户提供分组形式的数据业务。
1 系统的总体结构
监控系统由现场数字量和模拟量采集及处理、GPRS 组网通信、监测中心上位机软件三部分构成。其中, 现场数据采集由系统监控终端完成, 终端同时具有分析、记录采集数据供上位机查询, 并在现场出现异常事件时主动上传报警信息的功能;GPRS 通信网络是监测中心与现场监控终端之间数据传输的桥梁, 使现场相关数据及时传送到监测中心计算机; 监测中心软件一方面通过GPRS 网络与现场监控终端进行双向通信, 另一方面为用户提供一个可视化界面。监控系统的结构如图1 所示。
系统总体结构图
图1 系统总体结构图
由于GPRS 网络的工作方式是以IP 地址寻址为基础的, 所以上位机作为网络的服务器端, 指定固定的IP和端口号, 而终端只需要简单接入Internet ,具备公网动态分配的IP 地址即可。终端接入Internet 具备IP 之后,主动向上位机发送数据进行连接。当连接通道建立以后, 上位机和终端即可以进行双工数据传输。
上位机根据用户要求, 通过GPRS 网络向终端发送数据帧。终端接收到数据帧后, 先分析内容, 再执行相应命令。
系统的具体控制目的是在水厂监控中心与水源地之间利用GPRS 网络实现远程监控, 在水源地处每口井都用继电器模块4060 控制潜水泵的启停, 电量模块采集电压及电流等信号, 控制器MCU 通过GPRS 模块与控制中心进行数据交换。控制系统分为三个单元: 控制中心(一水厂)、水源地及二水厂。
2 系统硬件设计
2.1 控制器选型
控制器MCU 选用PHILIPS 公司最新推出的基于32位ARM7TDMI -S 、LQFP48 封装的LPC2103 , 其带有32KB 嵌入的高速Flash 存储器,128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。在完全掉电模式下, 达到6 μA 的低功耗水平, 与高级51 系列单片机相比,LPC2103 具有极高的性价比优势, 尤其是价格与单片机相差无几。
多个32 位和16 位定时器、一个改良的10 位ADC、所有定时器上输出匹配的PWM 特性、以及具有多达13个边沿或电平触发的外部中断管脚的32 条高速GPIO线,使这些微控制器特别适用于工业控制和医疗系统中。
2.2 EsayJTAG-H 仿真器
EasyJTAG-H 仿真器是一款新型的仿真器, 目前, 可以支持LPC2103 微控制器和部分ARM9 芯片,支持ADS1.2集成开发环境, 支持单步、全速及断点等调试功能, 支持下载程序到片内Flash 和特定型号的片外Flash,采用ARM公司提供的标准20 引脚JTAG 仿真调试接口。这款仿真器需要H-JTAG 软件(调试代理)的支持。
H-JTAG 是一款简单易用的调试代理软件, 功能和流行的MULTI-ICE 类似。H-JTAG 包含两个工具软件:
H - JTAG SERVER 和H - FLASHER 。其中,H - JTAGSERVER 实现调试代理的功能,H-FLASHER 则实现了Flash 烧写的功能。
H-JTAG 支持ARM 公司的RDI 接口。通过RDI 接口,H -JTAG 能够支持大多数主流的ARM 调试软件。
JTAG 调试接口如图2 所示, 调试结构如图3 所示。
图2 JTAG 调试接口[page]
图3 H-JTAG 调试结构
调试软件(AXD/RVDS/IAR/KEIL) 通过RDI 接口与H-JTAG SERVER 进行交互。H-JTAG SERVER 通过与并口连接的JTAG 调试板控制目标板。H-JTAG 提供了灵活的JTAG 接口设置, 通过设置H-JTAG 可以支持不同类型的JTAG 调试板, 如WIGGLER、SDT-JTAG。
2.3 GPRS 模块选型
电量模块及继电器模块将采集到的数据通过RS232传送到处理器, 然后由GPRS 模块通过GPRS 网络将数据传送到远端接在互联网上的网路端控制中心。选用MC55 外接SIM 卡, 即可通过串行协议与ARM 处理器通信, 将采集信息以资料包的形式, 先通过PPP 与运营商的Internet 服务器连接,然后把资料包发送到Internet 上。
MC55 包含了高性能GSM/GPRS 应用的所有解决方案: 基带处理器、供电电路、完整的无线电频段电路( 包括电源放大器和天线接口)、电源放大器是从供电电压BATT+ 直接引出来的。MC55 的软件存储在Flash 中, 静态RAM 为GPRS 连接提供了额外的存储空间。该单元应用程序的物理接口是通过板对板的连接器来实现的。
它是由50 个针脚构成, 用来控制该单元、传输数据和声音信号及供电。MC55 包含ASC0、ASC1 两个串行接口,为综合人机接口界面提供更大的适应性。
2.3.1 启动MC55
通过ignition line/IGT (Power on) 时, 需要/IGT (Ignition) 信号驱动到接地电压至少100 ms , 并且最少距离VDD 的最后一个下降沿10 ms , 可以通过使用一个开漏极/ 集极驱动电路避免电流流入该引脚。在电池供电应用程序中,/IGT 持续时间最少必须达到1 s , 这段时间中连接充电器并且可以从Charge-only 模式转换到Normal模式。
2.3.2 关闭MC55
(1)正常关闭程序———通过AT 命令关闭。
最安全的方式就是通过发送AT ^ SMSO 命令关闭。
程序可以使MC55 从网络注销, 使软件进入安全模式并且在断电之前保存数据。在这种模式下, 只有RTC( 实时时钟)保持运行。关闭该装置之前先发送:
^SMSO:MS OFF
OK
^SHUTDOWN
发送AT^SMSO 之后不要再发送其他的AT 命令。这种方式为软件关闭。
(2) 紧急情况关闭紧急情况关闭方法称为硬件关闭, 将板对板连接器的/EMERGOFF 信号接地=直接关掉电源, 软件控制的应用程序失效。
3 系统软件设计
3.1 控制器LPC2103 软件设计
控制器LPC2103 的软件功能主要分为三个方面: 对现场采集量及继电器I/O 量的处理、预警功能及与GPRS模块的通信。现场电量模块输出的电量信号较复杂, 主要表现在精度高、种类多, 且含有大量冗余信息,LPC2103 针对这些问题作出相应处理, 输出具有校验位、起始位、停止位的电压、电流、功率等信号。当采集量在允许范围之外时,LPC2103 做出预警响应, 优先上传到监控中心进行报警。LPC2103 与GPRS 模块通过串口发送AT 指令实现通信。设计流程如图4 所示。
控制器软件流程图
图4 控制器软件流程图
[page]
3.2 GPRS 模块设计在本系统中,GPRS 模块主要完成与LPC2103 控制器之间的数据交换和通过移动公司的GPRS 网络与远端计算机进行数据交换。模块的串口发送AT 命令实现对模块的控制, 该模块的主要功能有:(1) 内嵌TCP/IP 协议栈, 能通过移动公司的GPRS 网络进行数据交换;(2)SMS 短信息的发送与接收; (3)GPRS 数据包最高可达1.5 KB; (4)GPRS 模块与ARM 处理器器经AT 指令集通过串口进行数据通信。GPRS 模块与ARM 处理器完成数据收、发的程序流程图分别如图5、图6 所示。
GPRS 接收数据流程图
图5 GPRS 接收数据流程图
GPRS 发送数据流程图
图6 GPRS 发送数据流程图
3.3 上位机软件的编写
上位机采用Visual Basic 与组态王6.53 进行开发, 软件设计主要包括通信程序的设计、数据管理程序的设计以及系统界面的设计。VB 中提供了用于数据通信的MSCOMM 通信控件,如何利用该控件提供的属性、方法和事件是设计运行稳定、数据传输正确的通信程序的关键。
GPRS 模块通信过程的实现:
(1) 查看SIM 卡是否插入
①命令:AT+CPIN?
②响应:READY: 正常
ERROR:GPRS 模块未检测到SIM 卡
(2) 查询是否附着GPRS 网络
①命令:AT+CGATT?
②响应:AT+CGATT=1 : 附着网络;AT+CGATT=0 : 未附着网络
(3) 查询是网络信号强度
①命令:AT+CGREG?
②响应:0~31 ,0 表示当信号强度,>18 时就可以进行GPRS 通信
(4) 拨号
①命令:ATD*99***1#
②响应:CONNNECT: 拨号成功, 可以进行PPP 交互
NO CARRIER: 拨号失败
本监控系统使ARM 处理器与GPRS 模块相结合, 提高了系统的可靠性, 解决了GPRS 模块频繁通信出现的滞后性的问题, 降低了数据的误码率。使用VB 与组态王相结合设计的上位机程序, 在保证了界面美观性的同时, 解决了PC 机与GPRS 模块通信的问题, 降低了开发成本。本系统已用于实际现场, 效果良好。
上一篇:基于ARM的汽车防盗报警系统设计
下一篇:嵌入式机器视觉系统中ARM与DSP的数据通信方法
推荐阅读最新更新时间:2024-03-16 12:36