引 言
使用IEEEl394接口总线实现高速信号传输,虽然能够满足较高的数据传输率(196.608 Mb/s),但是这种方案存在一定的缺陷,如设计复杂、成本高、通用化水平低、不能直接与PC机进行数据通信等。当采用RS-232(最高达到20 Kb/s)或RS-485(O.11~14.4 kb/s)串行总线时,虽然连接方便,成本低廉,可是带宽有限,传输速度过慢,不能组成高效的实时信号处理网络。本文给出了一种使用USB总线构成的电网谐波分析系统的设计方案。设计中,采用电流互感器提取交流网络中的电流信号,AD7492把采样信号变换成离散的数字量,使用高速的FPGA做快速傅里叶运算(FFT)得到基波和频率为基波频率整数倍的多次谐波幅值和相位。PDIUSBl2 USB接口芯片与廉价单片机89C51组成USB通信接口设备,连接PC上位机形成多线路实时谐波分析系统。
1 系统总体设计
系统总体结构如图1所示。
该系统从结构上分为电流互感采样单元、A/D采样单元、FFT运算处理单元、控制单元和USB网络接口单元。电流采样单元负责将输入的电力网络电流信号线性变换为10 mA的电流信号,并对信号进行电压转换;A/D采样单元对从电流互感器输出的模拟信号每周波采样256点,变换成12位的数字量;FFT运算处理单元负责处理A/D采样单元输出的数字量,进行256点FFT变换运算;网络接口单元负责提供USB网络通信的硬件电路;Nios控制单元负责系统各单元的控制,如控制A/D采样单元的采样频率和采样的启动及停止、FFT运算处理单元的控制和数据传输、USB总线的通信控制等。
2 系统的具体实现
电流互感采样单元是该系统的关系环节之一,其性能直接决定整个系统能达到的精度等级。电流互感器变化的误差试验应由制造厂在出厂试验时完成或在试验室进行。电流互感器变比现场试验属于检查性质,不考虑上述影响电流互感器变比误差的原因,而重点检查匝数比。根据电工原理,匝数比等于电压比或电流比的倒数。因此测量电压比和测量电流比都可以计算出匝数比,如图2所示。
A/D采样单元采用了Analog Devices公司的AD7492单通道高速12位并行输出采样芯片。该芯片使用逐次逼进式A/D转换,可以在2.7~5.25 V的电压下工作,其数据通过率高达1 Msps。它内含一个低噪声、宽频带的跟踪/保持放大器,可以处理高达10 MHz的宽频信号。所以该采样芯片能较好满足本系统的精度要求,如图3所示。
FFT运算处理单元基于一块Altera公司的Stratix系列芯片的EPls25。该芯片内嵌乘加结构的DSP块(包括硬件乘法器/硬件累加器和流水线结构),可以完成较为耗费资源的乘法器单元。同时,该器件也包含有大量存储单元,内嵌三级存储单元,并自带奇偶校验从而可保证旋转因子的精度。FFT运算处理单元采用多层并行流水线技术,工作在40 MHz的频率下,可以在1 ms内完成8路工频输入信号的256点FFT运算处理。Stratix系列芯片的软件开发平台为Altera公司的QuartusII,具有强大的硬件仿真和逻辑分析功能,它可以很容易将VHDL程序烧写到FPGA中。在编程时,也可采用MegaWizard的方法指定用DSP模块产生乘法器,用这种乘法器来做蝶形运算,用多个蝶形来构成FFT运算级。本设计中FFT处理单元原理如图4所示。
在设计FFT定点浮点运算取舍时,针对本系统采样源的特点,高频域的单频干扰问题不明显,不需要超高精度的苛刻指标。使用定点数时,系统结构相对简单、运算速度快,故本系统采用此方案。FFT处理核采用先进的多层并行流水线技术,可以在1 ms内完成8路256点的FFT运算。
Nios控制单元实际包含两大部分,即采样控制逻辑部分和FFT运算控制部分。采样逻辑部分负责AD7492的读数据逻辑控制。FFT运算控制部分包括 FFT控制逻辑、采样数据缓存、FFT处理核与读取结果存储FIFO控制。从AD7492输出的12位采样数据,首先暂存于采样数据缓存中,然后FFT处理核从该缓存中读取数据进行处理,处理完毕的数据发送到队列寄存器FIFO中。FFT
控制逻辑单元向Nios处理器申请中断,Nios处理器响应中断,并向FFT控制逻辑单元发送读信号。然后,将FIFO中的处理结果传输到Nios处理器中,经过存储后,通过USB网络接口单元转移到USB总线,最终传输至PC上位机实现谐波分析。
USB网络接口单元是由AT89S51单片机芯片和
PDIUSBI2 USB接口芯片构成,如图5所示。PDIUSBl2芯片提供了标准USBl.1规范,该规范可以支持1.5 Mb/s(低速)和12 Mb/s(全速)两种速率事务。USB2.0版本可以支持480 Mb/s超高速事务。基于本设计特点,使用USBl.1版本中的全速事务就能符合传输速度要求。PDIUSBI12是一款性价比很高的USB器件,它通常用作微控制器系统中实现与微控制器进行通信的高速通用并行接口,它还支持本地的DMA传输。这种实现USB接口的标准组件,可以在各种不同类型微控制器中选择出最合适的微控制器。这种灵活简捷的方法,可把开发的时间、风险以及费用降到最低(通过使用已有的结构和减少固件上的投资)。USB设计分为硬件部分和软件部分,硬件包括电路的设计和固件程序(FireWare)的编写,软件部分包括:USB设备驱动程序以及客户应用软件的编写。
固件程序。USB固件程序的编写与硬件相关,属于核心模式。固件程序的编写可采用模块化的方案,如Main模块、Inter模块、Dtable模块、Vector模块、Timer模块和Declare模块等。通过分块调试再进行连接,以.hex文件的格式写入AT89C51单片机芯片内。
USB设备驱动程序。Windows要求针对特殊设备必 须编制相关驱动程序,微软的WindowsDDK在这方面提供了较为详细的说明。目前,有许多第三方软件厂商提供 了各种生成工具,如Compuware的DriverWorks,Blue Waters的Driver wizard等,它们能够很容易地在几分钟之内生成高质量的USB驱动程序。这比起VXD和WDM在硬件方面层次更为清楚和直观。
客户应用软件。在本系统中,客户应用软件即为谐波 分析仪显示平台的设计,用以显示各种谐波分析的数据和 各种波形。
结 语
按照本系统所制造的产品性价比高,而且结构紧凑, 抗干扰性强。在实际应用中,用户可按实际速度要求编写FFT算法,并可通过局域网或Internet接口方便地将网络 接入变电站管理系统中,从而有效地对多点线路谐波做到实时监测。