电子说
摘要: 针对模拟滤波器设计灵活性差且不能很好地支持数据通信的并行和速度等问题,利用Altera公司CycloneII系列中的EP2C35F672C6N芯片完成了基于FPGA的WSN信道波形整形滤波器的设计。通过功能创建、计算查表法系数、建立内存数据表、Verilog-HDL编程、Quartus-II平台下进行FPGA综合、ModelSim时序仿真、DE2开发板下载调试等过程,实现了波形整形硬件平台通过USB接口与主机的通信。测试结果表明,该波形整形滤波器具有低成本、频率可扩展、即插即用等优点,使用方便。
无线通信、传感器和微机电系统(MEMS)等技术的飞速发展推动了无线传感器的普及和应用。无线传感器网络由大量无线传感器构成,大量节点协作和感知,收集和处理网络覆盖领域内感知对象的相关信息,并且将信息传送给需要的用户,具有自组织、容错能力、微型化三大特点[1-2]。
尽管无线传感器网络具有很强的自组织性和容错能力,但信道传输中也面临着一些问题,尤其是在复杂工业环境中,无线信号存在路径幅度衰减、小尺度衰落、电波极化偏转等现象[3]。因此,对无线传感器网络信道信号进行整形滤波十分必要。
其他学者对波形整形滤波器的研究与设计有很多丰富的案例和先进的理论分析,但是在波形滤波器的灵活性、精度、易实现等方面仍有改进的空间。面对当前SoC嵌入式设计潮流,如何设计一种灵活、便于配置和易于生成IP核的信道波形整形滤波器是一件急需解决的问题。
本文基于DE2开发板,利用QuartusII开发环境,在Altera公司CycloneII系列EP2C35芯片中,设计了WSN信道波形数字整型滤波器,该设计方法原理清晰,设计周期短,便于形成IP核以及集成应用,具有重要的教学和科研价值。
1 波形整形滤波器总体设计方案
1.1 基于查表法的波形整形方案
波形整形滤波器是将输入数字序列变为输出脉冲序列的数字信号处理器,是语音与图像处理、模式识别和谱分析等应用中的一种基本的处理部件。整形滤波器的设计方法有多种,如窗函数设计法、频率取样法、逼近法、查表法等[4-5]。
查表法是基于FPGA的DDS技术,可在一片FPGA芯片上实现信号源的信号产生和控制,只要改变存储波形信息的ROM数据,就可以灵活地实现任意波形发生器[6]。用FPGA实现DDS比较灵活,可以产生多种调制方式,本文基于查表法设计波形整形滤波器的实现原理图如图1所示。
2.2 波形整形滤波器参数设计
2.2.1 频率选择
基于直接频率合成技术的波形整形滤波器,其输出波形的频率由两方面决定:一方面是由频率控制字(即波形输出的步长)决定;另一方面是由波形点输出的固有频率决定。本文设定基准时钟频率为131 kHz,累加器为8 bit,频率控制字的字长K=4,经计算输出波形的频率fout=2 048 Hz。
2.2.2 初相位选择
对于产生的波形的初相的控制,设定一个输入控制端,通过控制端的不同状态给波形添加不同的初相。其原理是对相频累加器的初次输出加上一个特定的值。在本文中无法实现初相的任意值设定,只是设定了几个特定的初相供选择以验证理论和方法的正确性。
2.2.3 幅度选择
设计要求中规定波形的最终输出幅度值应能够按照1~4倍的大小调节,故本设计在最后输出前增加了一个幅度可调节部分。将相位幅度转换成功后的值乘上一个要求的调幅系数即为最终的波形输出。
2.3 原代码编译
2.3.1 扩频模块
系统由频谱扩展模块和数据波形整形模块组成。利用扩频模块对原来的频率进行编码,并将编码后的数据进行256倍扩频,再按照4倍内插根升余弦成型滤波,成形滤波后按4路并行输出,以满足并行输入DA的要求。通过扩频后的信号波形具有抗截获性能强、抗多径干扰能力强、便于实现多址通信扩频信号等特性。
扩频信号就是将信号的带宽扩展,使其性能提高,可以提高系统的抗干扰能力。本文采用直接扩频的方式,即使用伪随机的码序列,将波形序列进行256倍扩频,从而易于在接收端得到较好性能的波形。扩展频谱模块原理图如图3所示。
将顶层文件进行全编译仿真之后,在Quartus II的工具栏选择“Tools”,点击“Netlist Viewers”下的“RTL Viewer”之后显示本设计的逻辑原理图,如图5所示。先通过扩频模块对数据进行内插和扩频处理,之后对数据进行整形处理,实现4路平行输出。
3 系统功能调试和仿真
3.1 系统调试
根据方案设计的要求,调试过程共分3大部分:硬件调试、软件调试和综合调试。电路用FPGA/CPLD实验箱按模块调试,各模块逐个调试通过后再进行综合调试。
3.1.1 软件调试
本系统的软件功能强大,采用Verilog语言编写。先在Quartus II里对所编的模块逐一进行仿真,排除语法的编写错误和设计逻辑思维的错误;当仿真完确认程序没问题时,直接下载到FPGA芯片,用FPGA实验箱进行调试。采取自底向上的调试方法,即先单独调试好每一个模块,然后再连接成一个完整的系统进行调试。
3.1.2 硬件调试
在控制电路的调试中,对输入、输出进行分析,可以知道时序仿真结果是否与实际结果相符合,以便找出硬件设计电路中存在的故障。再调试D/A转换是否正常。
为提高电路的抗干扰性能,本文采取了一些抗干扰相关措施。如接线时的线要尽量短,减少交叉,每个芯片的电源与地之间接有去扰电容,数字与模拟地要分开。实践结果表明,此措施对于消除个别引脚上的“毛刺”和高频噪声方面都得到了较佳的效果。
对于运算放大器进行选择时,通常输出频率可以达到上千赫兹,这就要求放大器的带宽满足特定要求。所以,在进行调试滤波的电路和进行缓冲的输出电路中,通常都选择高速、宽带运算放大器。
3.1.3 综合调试
在JTAG模式下,配置数据由主机直接装载进FPGA器件的配置SRAM中,之后只要不掉电FPGA将一直保持配置后的电路功能。在AS模式下,配置数据则被装载到一个与FPGA相连的配置器件中,之后在加电或重新配置时,这些数据可自动通过配置器件装载进FPGA,因此FPGA的电路功能可不受掉电影响。这里使用JTAG模式,先确认DE2板上的SW19(RUN/PROG)开关位于RUN位置;然后使用USB线,一端连接到开发板的J9(BLASTER)口,另一端连接到计算机的USB口,开发板加电。
测试时,把一个被干扰的模拟信号输入ACD中,采样得到的数据通过FPGA和USB传输到计算机上,然后用示波器显示其时域和频域图形,开发板上电并与电脑连接。在Quartus II里选择菜单项“Tools”中的“Programmer”。编程器界面显示了当前检测到的编程线缆,对于DE2板应为USB-Blaster。如果未显示,则点击“Hardware Setup”按钮查看并检查线是否插好。
配置模式选择JTAG,然后找到与工程对应的.sof文件(SRAM Object File),在“Program/Configure”一栏打勾。点击“Start”开始配置。点击“确定”,完成FPGA器件的配置。此后,切换开关SW0和改变按键KEY0的状态可以正确控制LEDG0的亮与灭,说明整个设计过程正确。
3.2 仿真结果
将仿真出来的vwf文件转化成Matlab可以读取的数据文件送到Matlab中查看结果。可以把vwf文件另存为tbl文件,这个文件的格式很简单(功能仿真时),在Matlab中编写简单的程序就可读出仿真结果,反过来也可以在Matlab中生成tbl文件然后转化成vwf文件作为输入。在Matlab中输出的结果如图6所示。
本文针对模拟滤波器设计灵活性差且不能兼顾数据通信的并行和速度等问题,结合无线传感器网络信道的特点,完成了基于FPGA的无线传感器网络信道波形整形滤波器的设计。将要实现的设计进行编程与时序仿真,建立相应数据的存储查表,通过对存储器中程序的调用以及对片选的设定和ROM中波形的调用,输出所想要的波形,实现了波形整形硬件平台通过USB接口与主机的通信。实际测试结果表明,该波形整形滤波器符合预期的设计目标,具有低成本、频率可扩展、即插即用等优点,使用方便。
参考文献
[1] 杨庆。基于VHDL与CPLD器件的FIR数字滤波器的设计[J]。湖北民族学院学报,2009,31(2):23-56.
[2] 袁辉。基于FPGA的数字信号发生器的设计与实现[J]。电子技术应用,2011,37(9):67-69.
[3] 刘锋,裴红星,王青三。工业无线传感器网络信道特征研究[J]。郑州大学学报(理学版),2011,43(4):39-43.
[4] 喻应芝,王爱华,周荣花。基于现场可编程器件的全数字成形滤波器实现[J]。北京理工大学学报,2010,32(4):32-45.
[5] BAKULA C J.Low-power pulse-shaping filter desing using hardware-specific[D].Akron:Master of Science,2010:7-10.
[6] 江健康。基于Verilog HDL的FIR数字滤波器设计与仿真[J]。微计算机信息,2011,21(3):11-34.
编辑:jq
全部0条评论
快来发表一下你的评论吧 !