于振,赵蓉,夏君
(国网山东省电力公司济南供电公司,济南250011)
基于S3C2410和ATT7022B的网络智能电力监测仪设计
于振,赵蓉,夏君
(国网山东省电力公司济南供电公司,济南250011)
以S3C2410微处理器和ATT7022B电能计量芯片为核心,设计智能网络化电力监测仪。电量采集模块采集的数据由S3C2410处理通过以太网控制器DM9000接入局域网传输给管理主机,用户使用WEB浏览器可以浏览电力参数和用电情况,采用TCP/IP协议的高速网络实现控制和自动抄表等功能。实验表明,设计的网络智能化电力监测仪检测精度高、实时性好、运行稳定。
网络电能表;S3C2410;ATT7022B;TCP/IP协议栈;DM9000
随着国民经济水平的提高和电力技术的进步,智能电网的应用越来越广泛,电能质量监控和数量计量受到更加密切的关注。衡量电能质量的主要参数包括电压有效值、功率因数、相角、频率等,计量电能数量的主要参数包括有功功率、无功功率、视在功率、有功电量以及无功电量等,这些参数需要进行及时准确测量,并实现远程监控,以便进行数据管理和执行相应的决策[1]。随着嵌入式计算机技术的发展,基于ARM处理器的嵌入式设备在工业领域的应用也越来越多。相对于单片机处理器,ARM处理器可以运行嵌入式Linux系统,支持以太网网络,系统集成度高、硬件干扰少,能较好地实现所需的功能。为此设计了基于ARM微处理器和专用电能计量芯片的网络智能电力监控仪。
S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核的32位微控制器,是嵌入式市场上颇具竞争力的ARM9处理器。S3C2410可以运行开放源码的Linux操作系统,软硬件的开发和调试方便。ATT7022B是高精度三相电能专用计量芯片,适用于三相三线和三相四线配电系统应用。ATT7022B能够测量各相有功功率、无功功率、视在功率、有功电量以及无功电量,同时还能测量各相电流电压有效值、功率因数、相角、频率等参数,满足电力监视仪的功能需求。
电力监测仪总体结构如图1所示。三相电压、电流采样信号输入三相电能计量专用芯片ATT7022B,在设定的转换周期内,ATT7022B的数字信号处理单元根据电压、电流的采样值计算出有功功率、无功功率、视在功率、电压有效值、电流有效值、功率因数、频率等参数,ARM处理器通过SPI接口读取ATT7022B各参数寄存器的值。以太网是基于CSMA/CD运行的,当以太网内的管理主机访问监测仪时,监测仪上的以太网控制器接收到这个信号,ARM处理器从缓冲区读取该信号的数据包,并按照TCP/IP协议发送响应信号,按照同样的方式由管理机接收,从而实现监测仪通过以太网通信,完成电力参数监控功能[2-3]。
图1 电力监测仪结构
系统硬件主要包括嵌入式处理器、存储器、以太网控制器、三相电能计量模块。在硬件的选择上要考虑硬件的功能、功耗、性价比、体积大小、电磁兼容性等。主要硬件配置有ARM处理器S3C2410、NAND FLASH、K9F1208(128 MB)、以太网控制器DM9000、三相电能计量芯片ATT7022B等。
2.1 S3C2410基本外围电路设计
S3C2410的外围数据存储电路,包括掉电非易失的Nand Flash和掉电易失的SDRAM,Nand Flash主要用来存放操作系统与程序文件,SDRAM主要作为操作系统与程序的运行空间。Nand Flash采用一片128M的K9F1208芯片,通过8条数据总线挂接到S3C2410,并由专门的控制接口与CPU相连。为了增加访问速度,S3C2410使用了两片外接的32M SDRAM芯片HY57V561620FTP,其并联形成32位数据总线,与S3C2410的32条数据总线相连,并由12条地址总线、片选、时钟、使能等信号线控制[4]。
触摸显示模块选用索尼公司生产的3.5吋240× 320分辨率TFT型四线电阻式触摸显示屏,该触摸屏外部提供XP、XM、YP、YM 4条引脚,各自对应X轴和Y轴电阻,由S3C2410的外部控制器驱动,通过4个MOS管完成触摸屏工作模式的选择。其中XP、YP分别为触摸屏被按下时X轴、Y轴的坐标模拟量输入信号,该输入信号可以通过AIN[7]与AIN[5]管脚送给S3C2410;通过S3C2410控制MOS管的导通状态,XM、YM可以被设置为接地或高阻态,以适应不同的工作模式。
2.2 ATT7022B采集电路设计
系统应用在三相三线制的电网中,可实现监控24回路电力负荷监控,S3C2410处理器分时复用3片ATT7022B计量芯片,第一、二、三片分别采集1~8、9~16、17~24回路。3片ATT7022B并联后共同接在S3C2410的一个SPI总线而每片ATT7022B保留独立的复位检测信号线SIG、片选线CS、复位线RESET。ATT7022B与S3C2410连接如图2所示。
图2 采集电路设计
2.3 网络接口电路设计
以太网控制器DM9000通过数据总线SD15~SD0,地址总线SA4~9,控制总线CMD、PWRST、IOR、IOW、AEN、INT与S3C2410相连。DM9000外部接有25M晶振,保证其正常工作。对DM9000的读写操作,首先要保证能对DM9000正确寻址。SA4~SA9是地址总线的4~9位,当AEN(输入引脚片选信号)、SA4、SA5、SA6、SA7为低电平,且SA8和SA9为高电平时,网卡芯片DM9000就会被选中。DM9000通过物理层接收端的正负极(RXI+、RXI-)和物理层发送端口正负极(TXO+、TXO-)四根引脚连接到RJ45网卡接口。RJ45连接头内部已经包含了耦合线圈,因此不需要另接网络变压器,使用普通的水晶头网线即可连接本电力监测仪至本地的以太网管理主机。接口电路如图3所示。
图3 网络接口电路
3.1 软件整体结构设计
为了提高系统的整体性能和缩短软件的开发周期,采用了以开放源代码的Linux嵌入式操作系统,并移植了精简的TCP/IP协议栈。Linux是一套免费使用和自由传播的类Unix操作系统,它具有很强的平台可伸缩性,有着丰富的图形用户界面和强大的网络功能,因而能够很好地应用在智能仪表领域[5]。如图4所示,软件结构大致分为3个层次结构,从上向下依次为应用层、中间层、驱动层。从图4可以看出,底层是网络接口、储存电路等其他系统硬件的驱动程序,这些程序都建立在Linux操作系统基础之上,通过操作系统的调用、中断等机制来直接管理硬件[3]。中间层是对数据包作过滤、解包、打包、分包、包校验、包流向判断,来分析数据包是接收还是发送,接收包来自什么通道,发送包要发往哪个通道。此外,中间层还做一些标志位刷新、缓存读写等管理工作。顶层的应用层则是功能最为复杂的一层,来自底层和中间层的数据包在这里得到解析和执行。
3.2 TCP/IP协议栈的实现
TCP/IP协议的实现是整个网络通信系统的关键,它定义了网络收发数据的对话协议,通过自定义的读写函数来接受或发送数据,并提供给应用层简便快捷的API接口函数。TCP/IP协议栈可分为链路层协议、网络层协议、传输层协议、应用层协议四部分。在满足通信要求的前提下,为了能够让系统运行高效稳定且占用内存资源少,只设计实现了IP协议、ARP协议、ICMP协议、TCP协议。其中IP协议是TCP/IP协议中的核心,它负责把数据分组(每一个分组都拥有一个目的IP),根据目的IP才能把数据从源地址发送到目的地址。为了建立网络连接,ARP地址解析协议建立了从IP地址到主机MAC地址的映像,TCP传输控制协议提供了面向连接的、可靠的、基于字节流的传输服务。同时实现了ICMP控制报文协议,用于传输错误报告的控制信息[6-7]。
图4 软件结构
3.3 网络通信的实现
为了能够将高速采集的电网参数实时传输到以太网管理主机,需要为TCP/IP模块在SDRAM中分配两个数据缓冲区TCP-TxBuffer和TCP-RxBuffer。其中,TCP-TxBuffer用来给要发送的TCP数据帧提供缓冲内存,TCP-RxBuffer用来给接收到的TCP数据帧提供缓冲内存。在接收数据包时,将S3C2410从电能采集模块取得的MAC数据帧送到TCP/IP协议栈。在发送数据包时,从TCP/IP协议栈取得数据,放到缓冲区,然后S3C2410通过GPIO口发给电能采集模块。采用封装好的API函数Socket-Server()或Socket-Client()建立网络通信连接。函数Socket-Se rver()的作用是用于监听是否有连接接入服务器并把数据包送入TCP/IP协议栈。函数Socket-Client()的作用是根据本地客户端的IP地址、端口号、MAC地址、上位机IP地址和端口号,建立一个Socket连接,建立成功之后,把要发送的数据送入发送缓冲区,然后调用send()函数,可以将数据发送到管理主机。
图5 网络通信流程
系统的网络通信模块是通过一个小型Socket服务器,利用嵌入式TCP/IP协议来管理接收和发送的数据。当网络端口接收到数据包时,EINT9请求S3C2410处理数据包,这是该系统实现网络通信的核心,实现网路通信的流程如图5所示。
基于S3C2410和ATT7022B芯片的设计的网络电力监控仪大大加快了数据处理的速度。采用嵌入式Linux操作系统和TCP/IP协议栈,提高了系统运行的稳定性和实时性。其开放性的TCP/IP通信协议实现了网络远程监控,数据传输速度快、抗干扰能力强,通过浏览器进行数据浏览、参数设置、在线升级等。硬件上采用ATT7022B电能计量芯片,实现了通过电力监测仪监控多个回路电能质量和数量的集中化管理模式。
[1]孙国栋,雷在栓,周玉国,等.综合电力监控仪表的设计[J].电测与仪表,2007,44(499):37-40.
[2]珠海炬力集成电路设计有限公司.ATT7022B手册[Z],2005.
[3]基于CS5460A的多用户多功能预付费电能表[J].电力自动化设备,2011,31(9):121-124.
[4]Samsung Electronics Co.,Ltd.S3C2410X User's manual[Z],2003
[5]陈立定,吕盛林.嵌入式Linux监控终端的多进程控制[J].自动化仪表,2011,32(1):13-15.
[6]林宇,郭凌云.Linux网络编程[M].北京:人民邮电出版社,2000.
[7]于杰.基于嵌入式系统的电能质量检测仪[D].济南:山东大学,2007.
Design of the Intelligent Network Electric Monitor Based on S3C2410 and ATT7022B
YU Zhen,ZHAO Rong,XIA Jun
(State Grid Jinan Power Supply Company,Jinan 250011,China)
Taking S3C2410 microprocessor and ATT7022B electrical energy measurement chip as the core,the intelligent network electric monitor is designed.The data gathered from the power acquisition module are firstly processed by S3C2410,and then transmitted to the admin host via Ethernet controller DM9000 through the network.Users can browse the electric parameters and the electricity supply by means of a WEB browser.Functions of control and automatic meter reading are realized by means of TCP/IP protocol of high-speed network.Experiments demonstrate that the network intelligent power monitor is of the quality of high detection precision,real-time processing and stable operation.
network watt-hour meter;S3C2410;ATT7022B;TCP/IP protocol stack;DM9000
TP277;TM76
B
1007-9904(2015)03-0069-04
2014-11-05
于振(1987)男,从事开关类设备研究工作。