首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   基于FPGA的多路模拟量、数字量采集与处理系统      ★★★ 【字体: 】  
基于FPGA的多路模拟量、数字量采集与处理系统
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:39:51   点击数:[]    

该信号的哪次谐波电压。如为FFFFH,表示DSP读到的是该通道信号的有效值;如果ADOR的值为0010H,那么,DSP读到的是该通道信号的2次谐波电压。

ADCR寄存器控制A/D采样的通道数的选择以及与A/D采样有关的寄存器的复位控制等,这也是考虑到系统的通用性而设计的:如000C表示采样第11路交流模拟量电压;0011则表示同时采样前六路信号等等。

第二部分为设计产生A/D与CD4051芯片的控制信号。如在图2中,在采样12路交流模拟量的情况下,FPGA需要产生7路控制信号,这7路控制信号应该满足一定的时序要求。图3给出了同时采样前六路信号时FPGA的控制信号时序。

Abcs2[0,1,2]总线信号实际上是多路开关通道选择的3个控制信号selA、selB、selC。需要说明的是,因为要进行修正,在对6路交流信号采样的同时,也对4051的+5V和AGND进行了采样,所以实际上测量的通道数为8路。

从图3可看出,abcs2[0,1,2]总线信号每19.531 25μs加1,每156.25μs重新循环一次,满足8路交流同步采样的要求。

从25μs时刻的局部放大图可以看出,当(23.6μs时刻)4051选择通道1时,ADS774的CS和R/C信号同时为低,延时0.5μs左右CE端出现上升沿(24.1μs),启动A/D转换,这符合ADS774的A/D转换时序。需要指出,如果CE端直接接高电平,那么,R/C的下降沿将直接启动A/D转换。之所以用两个信号来启动A/D转换,是为了减少A/D的误触发。考虑到4051的导通延时,所以在通道切换0,5μs后才启动A/D转换。图3中没有画出4051的INH信号,在采样前6路交流信号时,该信号一直为低。如果同时采样12路信号,那么,abcs2[0,1,2]总线信号每9.765 625μs加1,每78.125μs重新循环1次;INH信号每78.125μs电平变化1次,用来选择哪个4051导通。

第三部分为A/D输入数据缓冲区和数字滤波模块。A/D转换完成后,ADS774的引脚STS给FPGA输出转换完成信号(低电平)。FPGA接收这一信号后,将产生读ADS774的时序,把12位的A/D转换数据读入到数据缓冲区的二维数组datain(abcv)(sampn)中。Abcv为通道号,sampn表示周波信号中所采样的第几个点。将一个周期的12路信号采样完后,置标志ADFLAG为1,进行数据的滤波处理。首先,对datain(abcv)(sampn)的值进行修正;给定sampn,对前6路信号来说,datain(7)(sampn)存储的是AGND的A/D转换值,将datain(i)(sampn)减去datain(7)(sampn)的值存储在datamid(i)(sampn)中(i=1,…,6)。与此类似,后六路的采样值datain(i)(sampn)减去datain(15)(sampn)的值存储在datamid(i)(sampn)(i=8,…,14)。然后,给定abcv,对datamid(abcv)(j)(j=0,…,15)这16个点的数据进行FIR滤波,将FIR滤波后的数据存储在datamd(abcv)(sampn)数组中。

第四部分是均方根有效值计量和FFT谐波分析模块。输入的数据经过处理后,首先进行均方根有效值的计算。给定abcv,先求出datamd(abcv)(j)(j=0,…,15)这16个点的平方和,将其存储到datarsult(abcv)中。为了防止溢出,dataresult(abcv)定义28位的位矢量。然后把dataresult(abcv)中的数据进行平方的运算,结果存储在douts(i)中。开平方是利用函数sqt(a:std_logic_vector;b:integer)return std_logic_vector来实现的。a为要开方的全矢量数据;整数b用来定义输出位矢量的长度。该函数被封装成一个包(package),符合自顶向下(TopDown)的HDL语言设计思想。douts(i)是信号量,由赋值语句douts(i)<=sqt(dataresult (i);16)(i=0,…,15)可以分别求出12路信号的有效值。电压有效值和谐波分析完成以后,清ADFLAG为0。

第五部分为输出缓冲器单元。当DSP对FPGA产生读时序(FPGACS为低电平且RD下降沿来到时),FPGA根据DSP的低五位地址线A0~A4的值(对应于FPGA的chansel:std_logic_vector(4 downto 0)信号量),以及ADOR寄存器中的值,将相应的数据送到数据总线上。比如,若chansel为(00010)2,ADOR中的值为FFFFH,那么,FPGA就会将通道2的有效值douts(2送到数据总线上。

图3 FPGA的A/D控制信号时序图

3 对数字量的控制与管理

在图2系统中,假定要对16个负载进行管理,每个负载包括1个控制输出量和2个状态返回量,因此共有16路的数字量输出,32路的数字量输入。

FPGA对数字量的管理软件结构:

FPGA对数字量的控制管理也设置了三个16位的指令寄存器组。这三个指令寄存器的内部地址为03H、04H和05H.03H为开关量输出允许寄存器(KGER);04H为跳闸闭合寄存器(KGCR);05H为开关量开闭寄存器(KGIR)。

来自负载的总共32个状态反馈信号(DIN00、DIN01……DIN31)分成16组,分别接到FPGA的16个信号量dini上(i=1,2,…,15)。dini是长度为2的位矢量std_logic_vector(1 downto 0),分别对应于1个负载的两个状态反馈位。FPGA用16个进程process(din1)、process(din1)……process(din15)来对输入数字量敏感。当dini的载位电平发生变化时,进程启动,FPGA结合MCU发送的控制指令,判断负载的状态,并记录在输出数据缓冲区中。输出数据缓冲区包括16个数据存储器,这16个数据存储器在FPGA内部的

上一页  [1] [2] [3]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:新一代CPLD及其应用

  • 下一篇文章:基于FPGA的高速高精度频率测量的研究
  • 返回上一页】【打 印】【关闭窗口
    中查找“基于FPGA的多路模拟量、数字量采集与处理系统”更多相关内容 5VAR论文频道
    中查找“基于FPGA的多路模拟量、数字量采集与处理系统”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››基于FPGA的直接数字频率合成器的设...
  • ››基于FPGA的LCD&VGA控制器设计
  • ››基于FPGA的直接数字频率合成技术设...
  • ››基于FPGA的智能误码测试仪
  • ››基于FPGA的总线型LVDS通信系统设计...
  • ››基于FPGA的核物理实验定标器的设计...
  • ››基于FPGA的电子稳像平台的研究
  • ››基于FPGA的高频时钟的分频和分配设...
  • ››基于FPGA/CPLD和USB技术的无损图像...
  • ››基于FPGA的USB2.0控制器设计
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .