基于FPGA的数据采集及显示

2011-11-01 19:49:13来源: 互联网

摘  要: 在电力系统谐波分析中,模数转换(ADC)电路是影响系统检测性能的主要环节之一。基于NiosII的谐波分析系统具有逻辑控制能力强、信号处理实时性高、系统抗干扰能力强等特点。以Altera公司的DE2开发板为平台,实现了采样电路的硬件设计;在Quartus II 中用Verilog HDL语言完成了与FPGA的接口设计,并最终实现VGA显示。
关键词: ADC;NiosII;FPGA;谐波分析;VGA

 谐波是电力系统的一大公害,消除谐波污染,把谐波含量控制在允许范围内,已经成为主管部门和用电单位的共同奋斗目标。而要消除电网中的谐波,首先就要对谐波进行准确测量,谐波测量工作已经越来越引起人们的关注[1]。A/D转换电路是电力系统谐波测量中必不可少的一个重要环节,是电力系统谐波测量系统前端的核心。
 FPGA因具有强大的逻辑控制能力、高速的运算能力、灵活的可编程性,已经越来越多的被用于各种数字系统。在FPGA内部一般都内嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等DSP模块。用FPGA模块来实现数字信号处理可以很好地解决并行和顺序性的矛盾,直至速度问题,而且其灵活的可配置性,使得FPGA构成的DSP系统非常易于修改,易于测试及硬件升级。在QuartusII开发软件中用Verilog HDL硬件描述语言能够很容易进行逻辑电路设计,并且在FPGA中可以实现用硬件进行配置,可有效降低软件运行时间和软件设计复杂程度[2]。因此,FPGA非常适合在电力系统谐波测量系统中作为核心器件。
 本文中采样电路选用AD73360,在QuartusII中用Verilog HDL硬件描述语言实现了AD73360及VGA与FPGA的接口设计,最后通过实验验证了设计的正确性。
1 系统总体方案
 系统以Altera公司的DE2开发板为平台,系统框图如图1所示。信号采集单元核心器件为电压、电流互感器。互感器将待测高压、大电流信号线性转换为合适的微弱电压信号,该微弱电压信号经信号调理电路放大为合适的电压信号,经低通滤波电路滤除高于2 500 Hz的高频噪声,然后送到A/D转换单元进行A/D转换,转换后形成数字信号存储到存储器中,再送到FFT处理单元进行快速傅里叶变换,变换后得到的数据再储存到存储器中,再进行一系列相关运算,如:谐波电压含有量、谐波电流含有量、各次谐波电压含有率、各次谐波电流含有率等,最后经VGA进行显示出波形和相关数据。

2 AD73360的配置[3]
2.1 A/D电路设计

 A/D电路如图2所示。A/D电路可分为以下三个部分。

 

 

 (1)电源部分。AD73360有5 V和3 V两种工作模式,为了能够与FPGA实现直接连接,采用3 V供电(FPGA接口电平为3.3 V左右),这样无需外加电平转换电路,可以简化电路设计、降低系统功耗、节约成本。
 (2)模拟输入部分。AD73360有6个通道,每个通道又分为正端VINP和负端VINN,每个通道都可以由AD73360内部控制寄存器配置为差分输入和单端输入两种方式,本设计采用单端交流耦合输入方式。
 (3)与FPGA接口部分。AD73360采用六线制串行接口,能很方便与外部电路实现接口连接,为了实现AD73360与FPGA的连接,就需要在FPGA中设计一个控制器,在Quartus II中设计的A/D控制器AD_controller如图3所示。

2.2 AD73360的配置
 AD73360为可编程A/D转换器,每次启动系统都要对其进行配置。对AD73360的配置有两种方式,一种方法是用程序来实现,另外一种方法是利用FPGA具有很强的逻辑控制能力,用硬件实现对AD73360的配置,后者虽然会占用一些硬件资源,但是这样可以大大简化系统程序设计,节约软件运行时间,因此本设计采用后者。系统上电或者手动复位后,AD73360被复位,在复位状态下,AD73360的八个控制字寄存器被初始化为00H,同时AD_controller也被复位到初始状态,SE被置1,从而AD73360串口进入工作状态。当复位信号变为高时,AD73360进入编程模式,该模式下,AD73360数字端接口时序如图4所示。在编程模式下,AD73360的SDOFS引脚以主时钟频率的1/2048的频率产生输出数据标志信号,当控制寄存器被正确配置后,将产生与设定采样频率同频的SDOFS标志信号,每个输出标志信号以后SDO引脚将连续输出16位随机数据,这时候的数据是随机产生的,不是有效的A/D转换数据。与此同时,在SCLK时钟的下降沿,若SDIFS标志位有效,则AD73360于下一个SCLK下降沿开始读取SDI引脚数据,并存到AD73360中的串行寄存器。

 撤销复位信号后,AD_controller开始对AD73360进行配置,配置过程如图4所示。系统复位后标志信号GO被置1,经过三个SCLK时钟周期后GO被置0,此时把第一个配置数据赋给SD,标志信号GO保持一个SCLK时钟周期后,又被置1。当标志信号GO=0时,AD_controller进入下一状态检测SDOFS,当检测到SDOFS由1变为0时,进入写数据状态,从SD最高位开始由高到低逐位往SDI端口写数据,每个SCLK时钟周期写一位,直到写完16位数据,AD73360根据这16位数据的前8位数据针对把后8位数据写入相应AD73360的相应控制寄存器,写完16位数据后,系统把SDIFS引脚设为高阻状态,并产生一个SCLK周期的END(对END置1)信号,作为一个控制字配置完成的标志。系统检测到END标志信号后,在未对所有控制字进行有效配置的情况下,把下一个控制字赋给PDATA,并产生一个SCLK周期的GO(把GO置0)标志信号,系统检测到GO标志信号后,再检测SDOFS,在SDOFS为1的下一个SCLK开始通过SDI端口向AD73360写下一个控制字,直到8个控制字都被写入AD73360,配置完成后,AD73360进入数据模式,开始进行A/D转换。完成配置任务后AD_controller结束配置状态,把SDI设为高阻状态,并开始接收SDO引脚的数据,并把接收到的串行数据转换成16位并行数据[4]。
 在QuartusII开发工具中,用Verilog HDL语言完成了对AD73360的配置,并进行了功能仿真,功能仿真结果如图5所示。

[1] [2]

关键字:NiosII  FPGA  谐波分析  VGA

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/1101/article_2686.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
NiosII
FPGA
谐波分析
VGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved