新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM的电子负载网络监控系统

基于ARM的电子负载网络监控系统

作者:时间:2010-04-23来源:网络收藏
随着产品的广泛应用,各种电源设备被使用,而电源设备运行可靠与否直接关系到系统运行的安全性和准确性,因此对这些电源设备的检验非常重要。即针对电源系统中输出电能的设备或转换装置,如发电机、AC/DC、DC/AC变换器、蓄电池、整流器及电感、电容等部件的输出特性、可靠性(老化放电)进行全面测试的设备。现在广泛应用的存在许多不足,如只能工作在单机面板操作模式下,缺乏上位机监控功能,数据显示缺乏图形界面,显示不直观,人性化;测试过程必须全程有人员进行操作,无法进行编程控制测试;没有以太接口,无法进行远程通讯与控制。而的电子系统相对于传统电子负载系统有以下突出优点:
(1)测试工作在上位机集中进行,通过自动测试降低测试人员劳动强度,减少冗余人员,提高测试效率;
(2)便于及时、准确、全面直观、高效、连续地反映电源测试状态,利于科学管理;
(3)远程监控可长期保存大量工作数据,并以此为依据进行科学的测试分析。
目前,传统电子负载通常利用RS232,RS485或CAN等总线进行通讯。但这些网络的有效半径较短,并且孤立于Internet网络以外,无法采用现代化网络管理实现大范围高效率的远程监控。针对以上不足,文中采用三星公司高性能的处理器S3C2440作为核心,开发了以太网电子负载,对于实现电源设备远程自动化测试有着重要意义。

1 的总体结构
电子负载是一个以为核心的通讯网络。系统结构,如图1所示。

本文引用地址:http://www.eepw.com.cn/article/151901.htm


在以太网通讯中作为服务器端构成网络上的一个节点,具有独立的IP地址,上位机作为客户端通过对不同IP地址的访问实现与网络上不同节点的ARM服务器通讯,连接或监控某个节点上的电子负载。上位机通过以太网发送给负载的控制命令由ARM网络控制器接收,再通过ARM网络控制器由RS232总线发送给电子负载。电子负载根据接收到的控制命令将被测电源的各种数据和负载工作的各个参数通过RS232总线上传给ARM。ARM将来自负载的数据采用TCP/IP协议通过以太网上传给上位机,ARM可以通过扩张串口连接多个负载,同时通过路由器扩展网络,实现多个ARM系统并行工作,提高整个监控系统的负载能力。

2 ARM网络控制器硬件设计
ARM系统硬件部分采用三星公司的ARM芯片S3C2440,S3C244032 bit ARM920T内核,标称工作频率为400 MHz,配置一片64 MBytes Nand Flash和两片32 MBtyes SDRAM,网络芯片采用DM9000A,配置了MAX3232扩展串口与电子负载进行连接。结构图,如图2所示。



3 ARM网络控制器软件设计
ARM嵌入式网络控制器的操作系统采用WindowsCE 5.0,Windows CE 5.0是一个32位、多线程、多任务的操作系统,同时也是模块型的操作系统,可选择、组合和配置windows CE 5.0的模块和组件来创建用户版的操作系统。windows CE 5.0通过中断嵌套与优先级处理机制满足了测控系统的实时性要求,同时具有类似于桌面系统的人机界面和应用程序开发工具。
在windows CE 5.0的开发中。有两个重要的方面,一是内核定制,二是应用程序的开发。
3.1 Windows CE内核定制
由于应用环境的多样性,需要对Windows CE系统做不同的内核定制。采用微软公司的PlatformBuilder集成开发环境,针对电子负载网络监控的特点,添加、删除和修改某些系统模块,包括添加串口通信支持,以太网通讯支持,ActiveSync支持(软件调试时的通信支持)等。此外,注册表模式修改为HIVE模式,使掉电后数据的存放到Flash中保存实现程序的自启动,参数掉电保存等功能。
3.2 ARM端通讯软件开发
ARM网络控制器作为负载和上位机连接的桥梁,实现RS232总线和以太网的互联完成电子负载的远程网络监控功能。因此,ARM端通讯软件功能包括:与多个电子负载的串行通信;与上位机基于TCP/IP协议的通信,提供可视化界面显示当前网络连接参数和状态,用户可以通过触摸屏设置网络连接参数如波特率和IP地址等,系统提供连接日志供用户查阅。其中的核心功能是实现RS232总线和以太网的通讯互联,互联模块采用多线程的调用方式,保证了系统通讯的实时性。
通讯帧格式定义为长度26位,格式为:同步头,负载地址,命令字,4~25 bit为相关信息内容,校验码。
(1)同步头为AAH,占l bit;
(2)负载地址范围为0~FE,占1 bit,确定该帧发送的目标负载或接收源负载;
(3)命令字占1 bit,标示了该帧的功能;
(4)4~25 bit为命令参数和反馈参数。
套接字即Socket是支持TCP/IP协议的网络通信的基本操作单元。通过Socket编程,可以方便的访问TCP/IP开发以太网通讯程序。Embedded VC++中基于TCP的Socket编程的服务器端程序工作流程如下:
(1)创建套接字Socket();
(2)将套接字绑定到一个本地地址和端口上bind();
(3)将套接字设置为监听模式,接收上位机的请求(listen);
(4)等待上位机请求,当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字accept();
(5)用返回的套接字于上位机进行通信(send/reev);
(6)关闭套接字。
串口通讯在Windows CE环境下与桌面Windows环境下类似,通过CreateFile函数打开串口,ReadFile和WriteFile函数读写串口数据。
修改注册表使ARM系统上电后自动运行通讯软件:首先进行串口和以太网的初始化,对每个串口创建单独的接收线程和发送线程,Socket监听到上位机连接后,创建与上位机连接的数据收发线程。当串口的接收线程接收到数据时,触发相应的回调函数,调用Socket的发送线程把数据发送给上位机。当上位机发送数据给ARM服务器时,Socket的接收线程触发相应的回调函数,根据帧中负载地址,调用对应的串口发送线程向指定的目标负载转发数据。工作流程,如图3所示。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭