基于AD73360的多功能网络电能表设计
2009-06-10
作者:孙 浩,袁惠梅,杨钧友,鲁四美
摘 要: 介绍了基于AD73360芯片的多功能网络电能表的系统总体设计。通过FPGA与AD73360芯片相连接,由FPGA给AD73360芯片写控制字,然后再对采集的数据进行处理。重点介绍了基于AD73360的多功能网络电能表的硬件设计,同时也介绍了FPGA的VHDL设计。本设计具有电力参数监测、电能质量分析、分时段电能计量、故障录波和网络远程抄表等功能。
关键词: 电能表;AD73360;FPGA;VHDL
本设计是基于ADI公司的AD73360芯片的多功能网络电能表。传统的多功能电能表通常使用专用的电能计量IC计量或前端使用AD芯片采样数据,然后使用DSP或MCU对数据进行处理。若使用专用电能计量IC,还需要额外的处理器对电表进行控制,增加了电能表的成本;若使用第二种方案,限于成本和DSP或MCU的处理能力,会影响电表的实时处理能力。基于以上原因,本设计中前端使用AD73360芯片对电压和电流进行采样,后端使用FPGA对采集的数据进行处理,同时对电表进行总体控制。由于FPGA采用纯硬件的工作方式,实时性强;同时,由于FPGA强大的处理能力,可以使用一片FPGA完成全部的数据处理和控制工作。这样既可以简化硬件设计,又可以减低成本。
AD73360是ADI公司一款6通道模拟前端处理器,特别适合于电能计量[1]。该芯片具有6个16位A/D转换通道,每个通道都可以同步采样,同时可以保证从直流信号到4 kHz信号带宽的77 dB的信噪比。每个通道还具有独立的可编程输入放大器(PGA),其放大系数可以从0~38 dB可调。该芯片通过设置,可以提供4种采样频率,分别为64 kHz、32 kHz、16 kHz和8 kHz(由16.384 kHz的主时钟分频得到)。
1 多功能电能表系统设计
多功能网络电能表(以下简称电表)由数据采集、控制与处理、电源、网络接口、显示、存储和日历时钟等部分组成,如图1所示。数据采集部分由精密小型互感器、信号调理电路以及AD73360芯片构成。控制与处理部分采用Altera公司的FPGA芯片Cyclone II 2C35F484C8。电源模块为整个电能表系统提供电源,共有2路直流电源输出,一路供给数据采集板,一路供给电能计量SoPC芯片。考虑电磁兼容试验,要求电源系统能抑制高频脉冲干扰且过压自动保护。网络接口部分采用DMA9000A网络芯片,使用RJ-45接口,本系统支持以太网协议。显示部分采用高品质的液晶显示模块,每屏可以显示8×4个汉字(16×16)或128×64个像素的图形。存储模块采用IIC总线与一块E2PROM通信,用于数据冻结。日历时钟则使用专用的日历时钟芯片,为系统提供日期信息。表1为电表的具体功能和设计指标[2]。
2 电表硬件设计
2.1 数据采集模块硬件设计[2]
从图1可以看出,数据采集模块由互感器、信号调理电路和AD芯片3个部分组成。本系统三相电压信号采用单端输入方式,三相电流信号采用差分输入方式。由于本系统采用3.3 V为AD73360芯片供电,因此输入电流设置在10 mA,输入电压设置在700 mV左右。
2.1.1 电流输入电路设计
电流输入使用专用的电流互感器将输入电流降至10 mA左右。本系统选用了哈尔滨三江达电力技术有限公司生产的YWH型电能表专用互感器。YWH系列互感器是微型互感器的一个分支产品,是为宽量程电子式电能表配套设计的新一代微型精密电流互感器,工作电流范围宽(可4~10倍过载),误差线性好(比差小于0.01 %,角差小于0.3′),采用阻燃ABS塑料外壳,环氧树脂封装,绝缘强度高,外形美观,并有多种规格可供用户选择,满足不同的安装需要。本次设计选用了YWH-1型,其电流比为1.5(6)A/5(20)mA,二次负载电阻5~20 Ω,准确度为0.1级。
2.1.2 电压输入电路设计
三路电压信号直接由220 V电压通过电阻网络降至700 mV左右,每路电压信号输入电路由5个204电阻和一个332电阻构成,确保将220 V市电降为700 mV左右输入,以适应AD73360的需要。
2.1.3 信号调理电路设计
由于本系统电压和电流信号采用不同的输入方式,因此需要不同的信号调理电路。电压调理电路中使用RC电路构成抗混叠滤波器,同时确保输入AD的信号频率小于0.5倍的AD采样率。
2.1.4 AD73360电路设计
VINP1-6和VINN1-6为信号输入引脚;MCLK与系统主时钟相连。由于AD73360设计时就考虑到了与DSP的简单接口[1],因此,SCLK、SDO、SE、SDI、SDIFS和SDOFS在设计时就可以与FPGA的I/O口直接相连。
2.2 控制及数据处理模块[3]
本系统的控制及数据处理采用Altera公司的FPGA芯片,Cyclone II 2C35F484C8。为了简化本系统的硬件设计难度,直接采用成品FPGA开发板。这样,只需要设计外围的日历时钟芯片、LCD和网络接口电路即可。
3 控制及数据处理的程序设计[4]
本系统采用FPGA,同时配合Altera公司NIOS II软核的方式对系统进行控制并对采集的数据进行处理[5],最终使用μC/OS II 操作系统将整个系统整合。该设计共分为两个部分,一个部分为控制部分,包括对AD芯片、网络接口等模块的控制;另一部分是数据处理部分,主要负责对AD73360采集来的数据进行处理。
3.1 CPU设计
该芯片内部包括AD控制器、FIFO、电能计量、配置寄存器、NIOS II软核微处理器、日历时钟接口、数字频率变换器DFC(Digital to Frequency Converter)、IIC接口以及LCD控制器等部分。其结构如图2所示。
其中,AD控制器的输入为信号采集板上采集到的三相电压和三相电流(6个通道的串行数据),AD控制器是按照美国ADI公司16位的∑-△A/D芯片AD73360的时序,将输入的6个通道的串行数据转换成并行数据并存储在相应的FIFO中;6 通道的FIFO保存AD控制器送来的6 通道1个周波的AD 数据,以便后面的运算使用。这样做还有一个好处就是电能计量模块可以实现流水线结构,加快运算速度;电能计量模块主要是利用FPGA实现电能的有功、无功和视在功率的计量。配置寄存器中保存配置数据、历史电量数据、冻结数据等;NIOS II软核微处理器完成整个电能计量芯片的调度工作;日历时钟接口与外部的日历时钟芯片相连,为芯片提供时钟信息,供NIOS II软核微处理器使用,从而构成复费率电能表。日历时钟芯片选用美国达拉斯公司的涓流充电时间芯片DS1302;DFC变换就是将计量后的电能值转换成脉冲的个数输出,以便校表;IIC接口控制外部的IIC只读存储器AT24C256,AT24C256是美国ATMEL公司的二线串行电擦写可编程只读存储器;LCD 控制器实现外部LCD 的驱动功能。
3.2 AD控制设计
AD接口模块完成对AD73360的初始化(设置分频系数、AD采样率、可编程增益、工作模式)、输出数据的读取并完成串/并转换。本次设计中FPGA的主频为50 MHz,经试验发现AD的SCLK最高工作在2.048 MHz,这样FPGA可以确保准确采集SCLK信号。AD的晶振频率为16.384 MHz,因此设定SCLK的分频系数为8。
为了减小亚稳态问题影响,确保可靠工作,采用了全同步设计,采用20 MHz频率高速采集SDOFS、SCLK,并对其进行了两级锁存,大大减少了亚稳态问题。设计中采用两级锁定,经逻辑运算即可得到SDOFS的正沿和SCLK的正沿负沿。图3为FPGA上电初始化配置AD73360的modelsim 6.1f仿真时序图,图中COM为FPGA配置AD73360寄存器的数据,SDI为COM数据的串行输出。
图3 配置AD仿真时序图
图4为使用逻辑分析仪实测的数据。
图4 AD73360采样的实测数据
3.3 电能计量算法设计
电能计量的算法比较复杂,如果直接使用VHDL编写比较困难。为了降低开发的复杂程度,在该模块设计时,使用了DSP Builder。DSP Builder是Altera公司提供的以Simulink为平台的图形化的设计软件[6]。它可以先由Simulink建模,然后通过DSP Builder提供的编译器将Simulink模型转换为VHDL语言,这样就极大地简化了设计的难度和开发周期。
本文介绍了基于ADI公司AD73360芯片的多功能网络电能表的系统设计。AD73360特别适合于电能计量使用,同时其针对DSP的简易接口设计,使得硬件电路设计更加简单。配合FPGA较强的处理能力,使得整个系统只需要一片FPGA便可以完成全部的控制和电能计量任务,不需要再使用额外的芯片。同时也使得系统成本下降,开发周期大大缩短。
参考文献
[1] AD73360 datasheet.Analog Device Inc.,2000.
[2] 高鹏.Protel 99入门与提高[M].北京:人民邮电出版社,2000.
[3] 王成.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.
[4] 徐欣.基于FPGA的嵌入式系统设计[M].北京:机械工业出版社,2005.
[5] 彭澄廉.挑战SOC-基于NIOS的SOPC设计与实践[M].北京:清华大学出版社,2004.
[6] 张森.MATLAB仿真技术与实例应用教程[M].北京:机械工业出版社,2004.