由于操作过于频繁,请点击下方按钮进行验证!

基于SOPC的频谱分析仪设计与研制

1 引言
     
基于NIOS核处理器(包括I2C总线模块)和Altera公司FPGA设计制作的频谱分析仪,可用于工程指标的监测和诊断。设计的关键模块有:I2C总线控制的数据采集模块、FFT模块、FFT控制模块、Avalon总线接口及Atlantic总线接口模块以及VGA、LCD显示部分。
     频谱分析仪的核心是DFT及快速算法FFT。FFT主要分为基2、基4等固定几何结构,设计采用基2几何结构、512点的FFT算法。设计平台为Altera公司推出的Cvclone II,其为高性能结构体系的PLD器件,其中包括FFT IP Core(知识产权核)。同时,Quartus II(Altera公司开发的IDE)软件具有很强的硬件仿真和逻辑分析功能,可将Verilog HDL描述的硬件综合到FPGA的整体设计中。

2 结构设计
    
频谱分析仪的系统框图如图1所示,其主要模块包括:I2C总线模块、FIFO模块、平方求和模块、FFT模块、VGA模块、显示器等组成闭。

     频谱分析仪的硬件原理框图如图2所示,图2包含FPGA的内部硬件电路及外围接口模块。
     软件设计的实现是建立在NIOS II IDE的基础之上,整个软件设计总体分为4大任务:设计主任务、A/D采集控制、Flash存储任务和VGA控制显示器显示任务。

3 系统设计
     设计中,充分利用了SOPC技术的优势实现软、硬件协同设计,在尽可能短的时间内实现仪器功能,分别从硬件设计和软件设计两方面详细说明设计过程。
3.1 仪器硬件设计
3.1.1 核设计简介
     
利用SOPC Builder在NIOS指令系统中集成了A/D转换控制、I2C总线控制、VGA控制、FFT控制等控制模块,图3为SOPC Builder集成IP。

3.1.2 硬件FFT IP CCore的定制与集成
     FFT运算器采用FFT Core实现,其引擎结构为双Sin—gle—output,I/O数据流采用突发(Burst)方式。FFT Core采用Atlantic Interface协议,输入接口视为主接收器,输出接口视为主发送器。
     具体的工作流程:系统复位后,数据源将master sink day置位,表示有采样数据等待输入;作为回应,FFTCore将mas—te_sink_ena置位,表示可以接收输入数据;数据源加载第一个复数数据,同时master_sink_sop置位,表示输入数据块的起始;下一个时钟,master_sink_sop被清零,输入数据按照自然顺序被加入。输入数据达到512点时。系统自然启动FFT运算。通过inv_i信号的置位/清零可以改变单个数据块的FFT转换方向,inv_i信号必须和master_sink_sop信号严格同步。当FFT转换结束时,子接收器已经将master_source_dav信号置位,表示子接收器可以接收FFT的转换结果:同时,master_source_ena信号置位,FFT Core按照自然顺序输出运算结果:在输出过程中.master_source_sop和mas—ter_soure_eop信号被置位,表示输出数据块的起始和结束。具体接口定义如表1所示。

3.1.3 FIFO硬件设计
     FIF0是一种先进先出的数据缓存器,根据FIFO工作的时钟域,可以将FIF0分为同步FIF0和异步FIFO。FIF0的一些重要参数如下:
     FIFO的宽度:指的是FIF0一次读写操作的数据位。
     FIFO的深度:指的是FIFO可以存储多少个N位的数据。
     设计中采用了宽度为16位,深度为256的异步FIF0。
3.1.4 I2C总线设计
     I2C总线是由数据线SDA和时钟SCL构成的串行总线.可发送和接收数据。I2C总线在传送数据过程中共有3种类型信号,分别是:开始信号、结束信号和应答信号。
     开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
     结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。
     应答信号:接收数据的IC在接收到8 bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。其数据传送过程如图4所示。

3.1.5 串转并数据采集模块设计
    
由于从FPGA音频接口采集来的信号是串行的,故此处理前应将此串行信号转成并行信号,然后送NIOS核处理器进行处理。
     设计中只需要16位数据,而从FPGA音频采集输出端ADCDAT输出的24位的串行数据,考虑到数据计算可能溢出造成失真,因此必须对采样所得数据作近似处理,故取其高15位数据,并将高位补零从而得到16位数据。其设计接口包括:clk为系统时钟;AUD_ADCDAT为音频采集数据输入;data_out为并行输出;Wr为输出使能信号,用于控制向外输出完整的数据。其仿真波形如图5所示。

3.1.6 平方和加法模块设计
     
设计中处理的是16位数据,FFT变换后,要对结果进行求模运算,从而便于将数据在VGA上显示,设计了硬件乘法器和硬件加法器来节省大量运算所占用的时间,从而提高速度。其设计如图6所示。

3.2 系统软件部分的设计
    
系统软件流程图如图7所示。

    (1)系统初始化系统主要指由主控Nios软核通过12C总线对系统各部分进行初始化,包括A/D、按键等的初始化。
    (2)数据采集 主要指Nios软核从音频输出接口ADC—DAT读取数据并作必要的处理。
    (3)FFT IP核变换将采集来的数据通过FFT处理后再送入软核中。
    (4)NIOS核处理NIOS核将变换后的数据作以处理,以便于送显示器显示。
    (5)图像显示NIOS核将处理后的最终数据经VGA送显示器显示。

4 设计特点
4.1 FFT运算全硬件实现,加快了数字信号处理的速度
     
设计中实现。FFF运算,涉及了大量的浮点乘法运算,软件难以实现其快速性和实时性,采用FFT IP Core及硬件乘法器来实现FFT的方法.浮点运算时.直接用FFT IP Core及乘法器实现。因而大大加快了运算的速度。
4.2 定制Avalon总线接口IP、LCD及FFT控制器
     
在SOPC Builder中提供了方便的向导.帮助设计基于Avalon总线接口的IP Core。根据需要添加了LCD及FFT控制器来完成设计,这正是开放总线接口带来的好处及优势。
4.3 实现片上设计.实现高集成度和可靠度
     
在FPGA内部实现整个控制和信号处理的功能,这是传统设计方案无法做到的。NIOS作为一款32位高性能处理器可以在FPGA内部进行配置,成功实现了可编程片上设计,同时实现高集成度和可靠度。

5 结语
     在分析和掌握NIOS核处理器和频谱分析仪基础上。完成仪器硬件和软件部分的设计。其中FFT运算几乎全硬件实现,大大加快了数字信号处理的速度;根据需要添加了LCD及FFT控制器来完成设计;实现了片上设计,实现了高集成度和可靠度。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。

网友评论 匿名:

分享到