西北工业大学研究生创意创新种子基金作品说明书作品名称:基于FPGA的新型高速PCI采集卡的设计基于FPGA的新型高速PCI采集卡的设计摘要:从自主研发的角度,本设计通过板载FPGA实现了对16路模拟信号的采集及滤波处理,并将最终结果送入工控机。其中关键技术是通过对FPGA编程开辟控制空间并实现具体滤波算法,上位机通过设置对应的控制空间实现对于16路AD采集通道的开启及不同滤波算法的调用。采用PLX9052实现PCI的接口设计。根据上述要求选用ALTERA公司的EP2C8Q208型号的FPGA。关键词:采集卡,PCI,FPGA,滤波算法0、前言在现代工业领域,随着控制系统日益大型化,复杂的系统会给有用信号叠加许多高频噪声干扰。如何滤除这些干扰,成为业内普遍关注的问题。目前普遍使用的处理方式分为两种,利用硬件电路滤波和通过上位机软件滤波,但这两种方式均存在很多缺陷:(1)通过硬件电路滤波,不仅会大大增加成本、占用宝贵的PCB面积,而且滤波效果不彻底,还会造成有用信号的相位偏移。(2)通过上位机软件滤波,要求具有很高的信号采集速度,一方面造成了数据传输量大的负担,另一方面在上位机执行滤波算法会占用控制资源,从而大大降低了控制效率。为了解决以上问题,本作品设计了一种基于FPGA的新型高速PCI采集卡,通过FPGA对模拟信号进行高速的过采样,并针对信号类型进行算法可选的滤波处理,同时配合上位机的控制频率设计抽取算法,通过双端口RAM将数据通过PCI总线传至上位机。这样既在下位机完成了滤波,又保证了信号传输速度,降低了数据传输量,从而大大减少上位机的运算量,提高控制程序的执行效率。1、采集卡参数:1.1AD采集:单通道采集频率可达1MSPS,可实现最多16通道的循环采集,循环采集频可达990KSPS。采集范围为-10V~10V,采集精度实测可达到0.5‰。AD采集内嵌滤波参数可选的8阶FIR滤波算法,截止频率在1~250KHZ之间可调,并可由软件测试界面进行设置。采集卡还配有滑动平均滤波和一阶低通滤波算法。1.2DA输出:四路DA输出,最大输出频率100KSPS,输出范围-10V~10V,输出精度可达万分之一以上。并将其中一路配置为1.8K的正弦波输出,其它三路可由界面或相应函数实现DA输出。1.3PWM输出:可实现8路PWM/DO输出,其中每一路的输出频率和占空比均可通过测试界面的对应功能模块进行调整。输出频率在0.76Hz~1MHz之间可调。1.4频率采集:可实现8路频率/DI数据的采集,采集频率范围为0.02Hz~1MHz。2、具体成果2.1采集卡原理框图图1采集卡原理框图采集卡的原理框图如图1,基本原理是:外部信号通过DB37接头送入十六选一模拟开关,将指定的一路送入AD转换芯片。由FPGA控制AD转换的时间,并将结果存入FPGA内部的双端口RAM,等待进一步的滤波处理。用VerilogHDL语言对FPGA编程实现相应的滤波算法,并将处理后的数据存入双端口RAM。上位机总线接口通过桥接芯片PCI9052将数据读入控制程序,由于PCI9052与FPGA的电平不匹配,在中间加入双向电平转换芯片。DA转换芯片采用串行的数据输入模式,FPGA将从PCI总线接收到的16位转换数据串行化后送入DA转换芯片。DI与DO信号,频率采集和PWM方波信号均由FPGA产生。其中的频率采集采用沿触发方式,通过测量高低电平的时间计算出信号的频率与占空比。2.2采集卡实物图图2采集卡实物图采集卡实物如图2,其中与外围互联模块包括,16路AD输入模块,4路DA输出模块,8路DI/频率输入,8路DO/PWM输出。2.3系统测试软件界面图3系统测试软件界面系统测试软件界面如图3,与采集卡PCB相对应,测试软件包含AD采集图形显示模块,DA输出设置模块,PWM输出设置模块,频率采集模块和滤波算法及参数设置模块。各模块的具体使用方法会在第三章使用说明中详细介绍。3、使用说明及实验验证3.1硬件接口说明3.1.1AD/DA接头引脚定义:AD/DA接头采用标准DB37接头,具体图形见图4。其中1~16针分别对应AD采集的1~16通道,19针对应DA的1通道,36针对应DA的2通道,18针对应DA的3通道,17针对应DA的4通道。图4AD/DA接口引脚定义3.1.2频率采集及PWM接口的引脚定义:针数和相应的通道数对应,具体见图5。图5频率采集及PWM输出引脚定义3.2安装说明3.2.1系统配置要求:软件要求WindowsXP32位操作系统;硬件需要配有PCI插槽。3.2.2驱动及采集卡安装步骤:①点击PLXSDK_430文件夹下的setup.exe文件,出现如图6所示界面,按照软件指示安装软件,安装完之后,关闭计算机。图6PLXSDK软件安装界面②将PCI采集卡插入PCI插槽中,并重新启动计算机,桌面右下角显示发现新硬件,并弹出驱动安装向导界面,如图7。图7采集卡驱动安装向导③选择从指定路径安装文件,依据界面指示,选择PciSdk\Win32\Driver\Wdm路径下的PciSdk.inf文件。依据指示点击Finish完成安装。④完成安装后,重新启动计算机,并在计算机设备管理的其它设备中找到所设计的采集卡,说明驱动安装完成,且计算机可以识别出采集卡。3.3测试软件使用说明3.3.1AD采集模块双击打开桌面由工程生成的应用程序,进入系统测试界面。AD模块可实现最多16路循环采集,且可根据左下角的拨码开关实现任意通道选择。具体操作为将对应通道的拨码开关切换至ON的状态,然后点击参数设置按钮,点击重新启动,即可实现对于通道的切换。效果如图8,其中将频率为1KHz幅值为2.5V的正弦波接至0通道,将频率为1KHz,幅值为2.5V的方波接至1通道。具体实验图如图8。图8AD双通道采集图3.3.2滤波选择模块本采集卡内嵌不同的滤波算法,具体可通过测试界面的勾选窗口进行设置。具体操作为在AD的0通道输入基频为1KHz,叠频为100KHz的叠加信号,分别选择无滤波,滑动平均滤波和8阶FIR滤波,效果如图9,10,11。图9无滤波采集波形图10滑动平均滤波效果图图118阶FIR滤波效果图3.3.3DA输出模块采集卡配有四路DA输出,本系统将第一通道设置为频率1KHz,幅值1.4V的正弦波输出,用示波器观察波形如图12。将其它三个通道设置为自由输出,可通过软件的DA输出模块设置对应的输出电压值,如将chan1的输入栏输入1.345V通过五位半数字万用表测量可测出电压为1.34563V,达到输出精度。图12DA输出波形图3.3.4PWM/DO输出模块本采集卡设置有8路PWM输出模块,其每一路的周期和占空比均可通过软件测试界面的PWM输出模块进行调节。当占空比为0时输出为低电平,当占空比为100时输出为高电平,从而达到DO输出的效果。具体操作为,将所需PWM的周期和占空比输入到对应的输入栏中,点击PWM设置按钮,PWM即在对应的端口输出相应的波形。3.3.5频率采集模块此模块只需要将所要测试的频率信号连接至对应的硬件输入引脚上,点击频率采集按钮,所测试的频率信号就会显示在对应通道的显示栏中。4、总结本设计提出了一种全新的数据采集处理思路。将传统的,嵌套在上位机控制程序中完成的滤波过程分离出来,放在采集卡上完成,将滤波算法和数据处理模块在FPGA中实现。使滤波算法和上位机控制算法并行进行,在保证控制精度的前提上大大提高了执行效率。采集卡内部嵌套了算法可选的滤波单元,改变了市面上现有采集卡滤波参数单一,使用环境固定的缺陷。使用本作品时,用户可以根据实际需要,灵活的调整滤波算法及滤波参数,以达到最优的滤波效果。此外,在单次采样的过程中,不同通道的信号均可以采用不同的算法进行处理。通过在板卡上开辟控制空间,实现了上位机对于板卡的灵活的控制,并且具有很强的可扩展性,为以后功能的增加带来极大的方便。