胡 琥,李亚莉,田 昕*
(1.云南农业大学 建筑工程学院,云南 昆明 650201;2.云南农业大学 节能减排检测与研究工程中心,云南 昆明 650201;3.云南师范大学 物理与电子信息学院,云南 昆明 650092)
随着嵌入式系统技术的发展近年来ARM9作为一种嵌入式系统处理器,以其高性能、低功耗、低价格等优点得到了广泛的应用。同时Linux嵌入式操作系统,是一个免费的、具有良好可伸缩性与扩充性的操作系统,支持完整的硬件驱动程序、网络通信协议与多处理器的架构,其源码的公开更有利于操作系统嵌入式应用的开发和部署[1],使得两个系统能完美的结合。
本系统采用三星S3C2410A作为检测装置的处理器,内部的AD直接用于数据的采集。系统实现了使用传感器对用电设备进行检测,将模拟开关4051作为多种电能指标数据通道的选择,接入AD进行采集,最后利用以太网进行数据的在线传送。该系统以低成本实现了高端电力检测设备的主要功能,满足了电力能耗参数检测的实际需求。
本系统由硬件和软件两部分组成,均采用模块化、标准化设计并充分考虑系统的扩展能力。
其中硬件部分包括传感器模块、通道选择模块、AD模块、ARM核心模块、以太网模块(见图1)。
软件部分包括通道选择模块、AD模块、以太网传输模块。
图1 系统原理框图
系统工作原理:先由CPU选择要采集数据的通道,由传感器把测量数据通过模拟开关4051传送到精度为10bitAD模块,并由其进行模拟信号到数字信号的转换,转换完成后,送到CPU处理,然后进入系统缓存存储,最后通过以太网传输到服务器进行分析及处理。
1.1.1 硬件系统概述
硬件主系统:采用基于ARM 920T内核的SAMSUNG S3C2410处理器,主频202 MHz,配置64MB RAM,8寸640×480LCD。它不仅可以满足目前功能的需要,而且丰富的硬件资源可以实现网络检测以及未来功能扩展需要。
传感器:采用0.2级精度钳形电流传感器,根据系统硬件的需求在传感器输出端加入电压放大器,直接输出电压信号方便数据的采集。
1.1.2 硬件电路
(1)通道选择模块电路设计
使用S3C2410内部的AD。4051是模拟开关,有8个通道可以选择输入,传感器采集的数据由CPU通过P2输出信号选择有任一通道,由X端口输出数据,由于内部AD转换的模拟信号范围是0~3.3 V,所以串入 1.7 K 和 3.3 K 电阻,把 3.3 K 电阻的电压引入AD模块内进行转换。
(2)以太网传输数据模块设计
以太网模块:芯片采用 DM9000AE。DM9000AE是16Bit总线宽度,接在 S3C2410的Bank2上,使用中断EINT2。DM9000AE的第32脚CMD用来指示当前数据总线是Index端口还是Data端口,开发板则将1根地址线A1接到第32脚,以此区分读写的是命令/地址还是数据(这点不同于其他具有多位地址线的芯片)。所以DM9000AE的Index端口的地址是0x10000000,Data端口的地址是0x10000002,驱动程序中只以这两个物理地址访问DM9000AE。
(1)通道选择模块设计
负责进行通道选择。根据4051的资料,AB端口输入的信号不同,所选择的通道不同。本模块由CPU控制IO(VD2、VD0)端口输出高低电平,通过插针P2直接输入到4051的AB端口,选择不同通道来检测电能参数,数据直接由X端口传送出去。(对应关系见表1)
表1通道选择真值表
(2)数据采集模块
主要负责把传送的模拟信号转换为数字信号并进行储存。10bitAD把0~3.3 V的模拟信号等分为1 024份,然后进行数据采样把模拟信号转换成对应的数字信号后,由CPU控制进入系统缓存存储。
(3)数据传输模块设计
主要负责把存储的数据通过以太网传送服务器。
命令传送:本系统通过使用socket与服务器建立TCP/IP连接,来实现命令的传送[6]。
数据传输:数据采集存储后,可以直接采用命令传送的方式,把数据传输到客户机进行实时数据分析情况。如果数据不需进行实时分析,也可以存入SD卡中。
由X端口输出的模拟信号经过串联电阻进入AD模块的模拟信号存在一个线性关系。接入的是1.7 K和3.3 K的电阻,如设由X端口输出的模拟信号为y,进入AD模拟信号的为x,理论上应该存在以下的线性关系:y=1.52x。但在实际调试过程中,3.3 K电阻引入的电压并未达到3.3 V,略调电阻使其达到3.3 V。原有线性关系被破坏,通过调整电阻值找到新的线性关系。
方法如下:用一台稳压电源把具有一定规律的电压信号输入通道选择模块,并由X端口通过串联电阻输入到AD模块中,分别测出X端口输出电压值,以及AD端的电压值,并用最小二乘法将对应关系y=1.23x计算出来,并根据该结果重新设置软件参数(见图2)。
图2 y与x的线性关系图
本文介绍了基于ARM9的电力能耗检测设备的开发与调试,旨在通过该设备的开发,为构建能耗检测平台提供硬件支持。在开发过程中,笔者完成了如下的工作。
(1)传感器的改造、系统硬件配置及外围电路的设计制造;
(2)数据采集及数据传输软件的程序编制及调试;
(3)在硬件设计开发的基础上,开发了电能监测信息系统。该系统能够通过以太网向嵌入式设备发送通信请求,获取电能数据,并以曲线图表形式显示监测设备的状态。
通过实际应用测试发现,系统采集数据及时、准确、完整,系统运行稳定可靠。
运用该设备建立用电监测的数据平台,能够实时获取监控设备的能耗状态,掌握用电过程的数据资源,为能耗检测提供丰富的数据资料,为节能降耗提供有力的数据支持。
[1]李伟华,武占河.基于ARM9的电能管理终端软硬件开发探讨[J].广东电力,2008,21(6):37 -39.
[2]孙天泽,袁文菊.嵌入式设计及Ⅱnux驱动开发指南:基于ARM9处理器[M].北京:电子工业出版社,2006.
[3]Daniel P.Bovet,Marco Cesati.Understanding Linux Kernel[M].Published by O'Reilly Media.Inc,1005 Gravenstein Highway North,Sebastopol,2005.
[4]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.
[5]屈博,杨耿煌,张泽卉.基于ARM9 Linux的手持电能质量分析仪[J].电子测量技术,2007,30(8):94 -98.
[6]欧阳峥峥,林茂.基于TCP/IP协议通信软件的分析与实现[J].武汉工业学院学报,2005,24(2):12 -14.
[7]汤秋芳,罗梅林,周少武,等.基于ARM多用户智能电能表设计[J].现代电子技术,2009(6):158-161.
[8]殷文强,李春生,邹卫明,等.建筑能耗分析思路及节能诊断方法[J].节能技术,2011,29(5):446 -449.
[9]陈鹏.节能监测与企业能源利用真实状况评估[J].节能技术,2009,27(3):255 -256,271.