通信电源参数采集系统研究
2012-03-17邹海东
邹海东,钱 良
(中国卫星海上测控部 江苏 江阴 214431)
通信电源是整个航天测控网络的关键基础设施,其性能的稳定性决定了关键设备的工作性能。因此如何及时有效的掌握所有设备通信电源的工作状态,需要提高目前情况下的技术维护水平与维护效率,采用集中维护、远程监测等手段来实现。而随着工业控制领域的飞速发展,基于ARM的应用系统应运而生。传统使用单片机实现数据采集的方式,不仅受限于其处理能力,且实时性低与可靠性差也严重影响了其总体应用性能。近年来,采用ARM嵌入式系统代替传统的单片机系统,以实现数据的采集和控制已经成为主流应用。而ARM系统能够满足数据采集系统的多种要求,比如功能,可靠性,体积,能耗,成本以及扩展性等[1]。
文中研究提出一种新的基于ARM嵌入式平台的通信电源参数采集系统,实现对通信电源的基本参数——电源电压、电流的采集,所采集的数据可以通过RS-485接口或者以太网传输至远程监测中心。将ARM嵌入式系统应用引入到航天测控网络中,势必能够提高设备的性能与维护水平,进而提升系统的整体运行效率。
1 系统结构设计
示。参数采集模块连接于ARM处理器端,可以实现电压、电流、温度等多种模拟数据参量的采集与数字化转换,处理好的数据可以通过ARM开发板所连接的LCD(Liquid Crystal Display,液晶显示)直接显示出来。ARM处理器可以通过RS-485接口,对多个采集模块参量实现集中处理,再通过以太网传输至远程服务器进行后期的数据显示与分析等,远程服务器可以将所有参数进行统一保存。
图1 系统总体结构图Fig.1 Overall schematic diagram of the system
通信电源参数采集系统包括参数采集模块、ARM嵌入式处理器以及远程服务器等部分组成,其具体结构如图1所
通信电源参数采集系统的硬件平台采用32位的ARM嵌入式处理器,另外由于嵌入式系统特别便于同远程主机进行数据交换,故从系统的实际出发,需要系统集成UART串口模块、以太网接口模块以及A/D(Analog/Digital,模拟/数字)转换模块。软件平台采用Windows CE系统,Windows CE是一个可移植的、实时的、模块化操作系统,具有多线程、多任务和确定性的实时、完全抢占式优先级的操作系统[2]。硬件开发部分采用标准ARM开发板,配合适当的参数采集模块,布局设计简单;应用软件部分采用模块化设计的思想,可以使得整个系统的应用设计显得简洁、高效。
2 系统硬件设计
2.1 基于ARM处理器的采集系统
通信电源参数采集系统是基于ARM处理器的应用系统,其基本任务是实现对模拟电压、电流量的采集与A/D转换,并能够通过系统内部的软件进行适当处理,便于传输至远端进行集中处理。因此,在具体实现上,需要解决电压、电流模拟参数的采集、强参数到弱参数的转换、多路信号的同时采集与转换等技术性问题。在开发系统的硬件选择上,重点需要关注系统的A/D转换模块的基本性能[3]。一般而言,分辨率、转换速率和量化误差3项指标就决定了整个系统的转换精度,这个需要根据实际应用进行取舍。
图2显示了标准的ARM6410开发板的连接关系图,其中包括复位电路、LCD屏幕、以太网接口与RS-485串口模块、JTAG调试模块、标准电源模块、键盘以及A/D转换模块(AD7715)等。
图2 基于ARM处理器的数据采集系统结构图Fig.2 Structure diagram of data acquisition system based on ARM
2.2 电源参数处理
本采集系统有两种类型的采集对象:1mA~5 A电流信号与-15~24 V电压信号,这也是通信设备电源中最常见的信号。对于大电流信号(>50mA),需要先通过电流互感器将大电流转换成小电流(≤50 mA),然后再用采样电阻将所采集的电流信号转换成系统可以处理的电压信号(0~1 V),接入到单通道A/D转换器的模拟输入正、负端口(IN+,IN-);而对于小电流信号(≤50 mA),则可以直接接入采样电阻进行转换接入,如图3(a)所示。对于-15~24 V的电压信号可以直接通过采样电阻进行适当降压,然后再接入到A/D转换器的模拟输入端口,如图 3(b)、(c)所示。
图4显示了16位模数转换芯片AD7715的A/D转换器的基本接口原理图[4]。其中INP、INN端口为模拟信号的输入正、负端,系统开发应用的关键端口为CS(芯片选择信号)、SCLK(系统串行时钟信号)、DIN(串行数据输入)、DOUT(串行数据输出)以及DRDY(逻辑输出信号,高电平可读)等5个端口。
图3 电源参数转换图Fig.3 Parameter transform chartof source
图4 A/D转换器接口图Fig.4 Interface chart of A/D transform
3 系统软件设计
3.1 A/D转换处理流程
在Windows CE系统中,对外围设备的控制与数据获取,需要通过驱动软件的流接口函数[5-6],来调用A/D转换模块中的寄存器来实现。对于本系统的A/D转换模块而言,驱动软件需要使用如下几种流接口函数。
1)AD_Init():初始化 A/D 转换模块;
2)AD_Open():打开 A/D转换模块,应用程序通过CreateFile()函数来调用该函数;
3)AD_Close():关闭 A/D 转换模块;
4)AD_Read():从 A/D 转换模块中读取数据;
5)AD_Write():向 A/D 转换模块中写入数据。
当A/D转换模块工作时,操作系统可以通过调用入口点函数,完成驱动软件的初始化工作。之后,应用程序先通过执行 CreateFile()函数,调用 AD_Open()来打开模块;然后通过执行函数 ReadFile()来调用 AD_Read()。 在函数 AD_Read()中,通过传输函数来实现对所采集数据的读取。
一般A/D转换模块中的寄存器配置均遵从I2C总线协议,因此,对应于读写操作均可以按照标准流程来进行。图5显示了一个完整的数据采集操作流程。
3.2 数据缓存池设计
由于串口模块的工作频率与CPU的工作频率并不一致,因此需要设计一个数据缓存池来匹配二者之间的差异。当串口端以串行方式给CPU发送数据时,系统先将其逐一存入数据缓存池,待存满设定数量的数据后,再一并按照“先入先出”的顺序将其送给CPU进行集中处理,以提高处理效率。另外,出于对系统效率的考虑,需要区分CPU端对发送数据与接收数据的操作差异,故在系统内存设计两个数据缓存池,数据缓存池的数据结构按照环队列方式设计。图6为数据缓存池的设计示意图。
图5 数据采集流程图Fig.5 Flow chart of data acquisition
而对于其大小的设计,也需要根据实际情况进行具体设定,一方面减少串行数据丢失的概率,同时能够避免过多的浪费系统存储空间。
图6 数据缓存池Fig.6 Data buffer pool
4 结 论
文中提出一种基于ARM平台的通信电源参数采集系统研究,可以应用于通信电源电压、电流以及工作温度等各种电子参数的数据采集与监视,同时通过RS485接口或者以太网接口将所采集的数据传送至远程监测服务器;系统采用了ARM处理器,不仅功耗低,成本低,而且可以运行Windows CE、μC/OS-II、VxWorks等嵌入式实时操作系统,应用拓展性强,能够为系统的大型应用提供保证。
[1]王海峰.基于ARM的综合信息处理系统设计[J].电子设计工程,2011,23(19):38-40.
WANG Hai-feng.Design of an integrative information management system based on ARM[J].Electronic Design Engineering,2011,23(19):38-40.
[2]刘凯.ARM嵌入式接口技术应用[M].北京:清华大学出版社,2009.
[3]孙秋野,孙凯,冯健.ARM嵌入式系统开发典型模块[M].北京:人民邮电出版社,2007.
[4]孙海,孟祥,邓学伟.AD7715模数转换器在小信号测量中的应用[J].测控技术,2003,9(22):66-68.
SUN Hai,MENG Xiang,DENG Xue-wei.Application of AD7715 A/D converter in small signals measuring[J].Measurement& Control Technology,2003,9(22):66-68.
[5]胡军辉,王友钊.Windows CE设备驱动程序开发[J].计算机工程,2006,32(16):41-43.
HU Jun-hui,WANG You-zhao.Device driver development for embedded windows CE[J].Computer Engineering,2006 ,32(16):41-43.
[6]张冬泉,谭南林,苏树强.Windows CE实用开发技术[M].2版.北京:人民邮电出版社,2009.