您的位置: 首页

基于FPGA的低成本虚拟测试系统实现

2008-11-10 20:54:40 来源:作者:吴浩,胡方明,任爱锋 西安电子科技大学


         Nios II处理器软核支持中断异常和用户自定义指令集等,完全支持C语言,并且可编写用户逻辑接口实现一个简化的、无冗余的专用Nios II处理器系统。上位机指令可以完全以字符串的方式通过USB接口模块发送给软处理器,Nios软核通过编程实现命令解析,并同时响应输出,配置各外设,按命令完成指定作业,返回数据。FPGA内部软核通过GPIO和片外器件相连组成整个系统。 Nios II软核处理器的优点在于命令解析和Avalon外设总线位宽匹配,SOPC系统能高效完成逻辑分析仪和示波器的控制传输。然而,其数据传输在高速情况下略显不足成为系统瓶颈,主要在于C语言指令集。而作为高速采集和存储的逻辑分析仪、示波器和RAM之间接口的读写速率高于100M,实现高速采集通道,并对总线提供简单的开始采集、采集结束、数据满等信号作为外设挂接在Nios软核上,是提高测量系统参数的关键。本系统在Nios软核的基础上,高速接口模块采用Verilog HDL语言和FPGA内部资源来实现,即就是片外高速读取控制模块。

3.2改进型低资源消耗率DDS的FPGA实现

         本系统基于FPGA实现双路完全独立的DDS信号源,硬件设计构成了DDS技术实现的第三部分,前面两部分相位累加器和查找表ROM设计细节介绍如图6所示。

        单路DDS的FPGA设计实现主要包括相位累加器地址产生及控制模块、波形存储及类型选择模块。相位累加器地址产生及控制模块对接收到的控制指令实施执行,并产生相应的控制信号、寻址后端LUT ROM,实现DDS信号源。其翻译及执行的信号包括信号类型TYPE_IN、输出信号相位DAC2900_Pha、输出信号频率DAC2900_Freq和输出信号幅度DAC2900_A等。相位累加模块根据输入信号参数,计算并产生地址,用以LUT ROM查找幅度值,输出相位。而波形存储模块分为周期信号产生的正弦信号、锯齿波信号以及方波信号和非周期的高斯噪声信号。其中:sin_rom存储的数据为量化的一个周期的正弦波数据。trig_rom块并不是一个ROM模块,而是一个三角波计算生成模块。为了节省FPGA片内RAM模块,结合三角波的线性特性,利用地址产生三角波幅度值,实现如图7所示,其中K_in[9:0]为产生的三角波波形设定斜率,clock、address和q[9:0]实现与sin_rom接口兼容。square_rom和trig_rom一样,采用Verilog HDL模拟的查找表ROM,可有效减少对FPGA资源的占用,本设计的trig_rom仅占用一个10位加法器。noise_rom为改进型加法同余伪随机序列。数字随机噪声的设计也就是伪随机序列设计,其具有良好的随机性,它的相关函数接近白噪声的相关函数。伪随机序列算法包括:平方取中算法、同余算法、小数开方法、Tausworthe序列。而同余算法包括加法同余数列、线性同余数列和乘进位算法。结合各种算法及其在FPGA上的实现复杂度和资源重用率,设计了易于FPGA实现的改进型加法同余伪随机序列。


4 结束语

          综合考虑成本、性能和应用等因素,充分利用FPGA的逻辑资源,实现了中低档测量系统。双路信号源独立工作可产生最大2 MHz的无失真三角波、正弦波、方波及调制波形等;示波器可虚拟存储采样速率为40 MS/s;逻辑分析仪最高采样频率150 MHz,存储深度256 K×32 bit。适用于教学试验。并协同上位机软件和USB2.0接口实现便携、即插即用。系统预留以太网接口,可实现测量设备网络共享。同时还需进一步提高系统复杂度,充分利用FPGA特点,由上位机动态配置板卡功能。

相关文章

深度阅读

热点活动

热点专题更多>>

英特尔2011教育峰会

在今年的峰会上,英特尔与国内近百所高校的专家学者们分享了制程工艺、高性能……

论坛精华更多>>

强烈推荐最新的一本 LabVIEW高级教程(2007...
【电子书】电磁测量原理及应用【PDG格式】