新闻中心

EEPW首页>嵌入式系统>设计应用> 一种基于FPGA分布式算法的滤波器设计实现

一种基于FPGA分布式算法的滤波器设计实现

作者: 时间:2010-10-27 来源:网络 收藏

  利用Verilog硬件描述语言设计本系统软件,系统主要分为以下4个部分。包括顶层文件、A/D采样、算法实现和D/A转换。系统总体结构如图2所示。

系统总体结构

  由于频率为100 MHz,采用的DAC0809转换频率必须小于1 MHz,所以在顶层文件对系统时钟进行200分频,提供外围所需时钟。然后对各模块进行例化,使之成为完整的系统。

  对A/D采样输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿时启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到完成A/D转换,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。CLK为时钟输入信号线。由顶层文件的分频时钟提供500 kHz时钟,对信号进行采集。

  算法主体的实现主要由以下几个部分组成:数据接收存储、数据选择器、2个存储器、加法和控制部分。

  数据接收是在每个时钟下降沿时检测转换完成信号,如果完成,则存入对应的存储器中,对于N阶的系统,就需要存储N个数据等待处理。然后利用数据选择器依次选择各个数据,对数据的每一位进行检测和提取,组成算法中所需要的数据。在控制信号的作用下利用累加器对数据叠加、移位处理即可实现。

  最后,向DAC0832的数据输入口(D10~D17)输送数据。提供DAC0832数据锁存允许控制信号ILE,高电平有效。提供DAC0832控制信号(CS:片选信号;Xfer:数据传输控制信号;WRl、WR2:DAC寄存器写选通信号),低电平有效。

 3 仿真实验、工况信号测试实验

  基于低通FIR选用xilinx公司的virrex-Ⅱpro器件,在isel0.1下进行设计。利用modelsim 6.5对进行仿真。系统采用频率为500 kHz的分频时钟,在中产生一个高频方波和一个低频锯齿波信号,并对两个信号进行叠加。叠加后的信号作为输入,对应图中DIN,经过系统处理后输出结果对应图中RESULT,仿真结果如图3所示。

仿真结果



评论


相关推荐

技术专区

关闭