基于fpga的内嵌可选滤波算法的高速pci采集卡的制作方法

xiaoxiao2020-10-23  15

基于fpga的内嵌可选滤波算法的高速pci采集卡的制作方法
【技术领域】
[0001]本发明涉及一种基于FPGA的高速PCI采集卡,特别是涉及一种基于FPGA的内嵌可选滤波算法的高速PCI采集卡。
【背景技术】
[0002]在现代工业领域,随着控制系统日益大型化,复杂的系统会给有用信号叠加许多高频噪声干扰。如何在不损失原始信号的前提下滤除这些干扰,在自动化测控领域显得越来越重要。
[0003]目前普遍使用的处理方式分为两种:通过硬件电路搭建模拟滤波器和通过软件处理实现数字滤波器。但这两种方式均存在很多缺陷:(I)采用模拟滤波器,由于电路中电阻电容晶体管等电子元件的电气特性会随着时间、温度、电压的变化发生漂移,从而导致滤波器的性能发生改变。此外,模拟滤波器占用宝贵的PCB面积,并会造成有用信号的相位偏移;(2)采用数字滤波器,要求对信号进行过采样,并将采集的数据通过总线传输到计算机。这样一方面增大了数据传输量,给总线及系统带来很大负担,另一方面在计算机执行滤波算法会占用控制资源,耗费处理器宝贵的处理时间,从而大大降低了控制效率。综合以上问题,比较合理的解决方案是在采集卡上增加数字滤波处理模块,再将处理后的信号传至计算机。而目前市售的采集卡没有相关功能的产品。
[0004]参照图4。文献“林良有,张伟.基于FPGA的连续采样的高速PCI采集卡设计[J].计算机测量与控制,2007,15 (6):813-815.”公开了一种基于FPGA的高速PCI数据采集卡。该采集卡包括前置放大模块,程控放大模块,抗混叠滤波模块,A/D采样模块,FPGA处理模块和PCI总线传输模块。信号经过前置放大和程控放大,使信号的最大幅度接近A/D采样的量程,之后经过低通模拟滤波器处理,将信号传入A/D采样模块。采样后的信号经过FPGA处理模块的“数据压缩”处理,由PCI总线传输模块传至PC机。该采集卡使用模拟滤波器处理噪声,占用宝贵的PCB面积,滤波效果不稳定、滤波参数单一并会造成有用信号相移,不能有效推广至其他复杂的工作场合。

【发明内容】

[0005]为了克服现有基于FPGA的高速PCI采集卡控制效率低的不足,本发明提供一种基于FPGA的内嵌可选滤波算法的高速PCI采集卡。该采集卡包括A/D采样模块、FPGA处理芯片和PCI总线传输模块。所述A/D采样模块在FPGA处理芯片的协调下完成对十六路模拟量的循环采集并将结果送入FPGA处理芯片中,所述FPGA处理芯片对A/D采样模块转换后的数据进行算法和参数可选的滤波处理,所述PCI总线传输模块将处理后的数据传至计算机,完成采集过程。相比于【背景技术】,本发明采集卡除了可实现多通道实时模拟数据的采集外,还能根据模拟信号的特点在FPGA处理芯片中对数据进行算法及参数可选的数字滤波,然后将处理后的数据通过PCI总线传输模块传给计算机。从而既保证了高采集精度和速度,又极大降低了总线数据传输量,提高了控制程序的执行效率。
[0006]本发明解决其技术问题所采用的技术方案是:一种基于FPGA的内嵌可选滤波算法的高速PCI采集卡,包括A/D采样模块和PCI总线传输模块,其特点是还包括FPGA处理芯片。所述A/D采样模块由外围接口、模拟开关、运算放大器和A/D转换芯片构成。所述PCI总线传输模块由电平转换芯片、桥接芯片和PCI接口构成。所采集信号通过A/D采样模块,A/D采样模块中的外围接口将所采集信号送入模拟开关,信号通过运算放大器送入A/D转换芯片。由FPGA处理芯片中的控制逻辑控制A/D采样模块中A/D转换芯片的转换以及模拟开关的通道切换,并将结果存入FPGA处理芯片中的锁存器。在FPGA处理芯片内部开辟控制字,所述控制字由计算机控制程序通过PCI总线传输模块实时写入。FPGA处理芯片根据控制字的配置信息将采集到的数据送入相应的滤波器,并对滤波器的参数进行设置。FPGA处理芯片将滤波后的数据依次存入双端口 RAM。对于数据的读取,PCI总线传输模块中的PCI接口通过桥接芯片将地址信息传送给电平转换芯片,电平转换芯片将地址信息转化为FPGA处理芯片能够接受的电平信息,并送入FPGA处理芯片中的双端口 RAM。FPGA处理芯片内中的双端口 RAM将对应地址的数据通过PCI总线传输模块中的电平转换芯片送入桥接芯片,桥接芯片将数据再传送给PCI接口。对于控制字的写入,PCI总线传输模块中的PCI接口将对应于控制字的地址通过桥接芯片和电平转换芯片送入到FPGA处理芯片内部的控制字,然后在下一时钟周期将要写入的控制数据通过桥接芯片和电平转换芯片送入到对应地址的控制字中,从而完成对于控制字的写入。
[0007]所述外围接口的型号是DB37。
[0008]所述模拟开关采用ADG1406芯片。
[0009]所述运算放大器为由AD8021搭建而成的电压跟随器。
[0010]所述A/D转换芯片是AD7671芯片。
[0011]所述FPGA处理芯片是可编程逻辑器件EP2C8Q208。
[0012]所述桥接芯片是PCI9052。
[0013]所述电平转换芯片的型号是SN74LVCH16T245。
[0014]本发明的有益效果是:该采集卡包括A/D采样模块、FPGA处理芯片和PCI总线传输模块。所述A/D采样模块在FPGA处理芯片的协调下完成对十六路模拟量的循环采集并将结果送入FPGA处理芯片中,所述FPGA处理芯片对A/D采样模块转换后的数据进行算法和参数可选的滤波处理,所述PCI总线传输模块将处理后的数据传至计算机,完成采集过程。相比于【背景技术】,本发明采集卡除了可实现多通道实时模拟数据的采集外,还能根据模拟信号的特点在FPGA处理芯片中对数据进行算法及参数可选的数字滤波,然后将处理后的数据通过PCI总线传输模块传给计算机。从而既保证了高采集精度和速度,又极大降低了总线数据传输量,提高了控制程序的执行效率。
[0015]下面结合附图和【具体实施方式】对本发明作详细说明。
【附图说明】
[0016]图1是本发明基于FPGA的内嵌可选滤波算法的高速PCI采集卡系统结构框图。
[0017]图2是本发明基于FPGA的内嵌可选滤波算法的高速PCI采集卡操作流程图。
[0018]图3是本发明基于FPGA的内嵌可选滤波算法的高速PCI采集卡关于滤波器功能实现的逻辑框图。
[0019]图4是【背景技术】基于FPGA的连续采样的高速PCI采集卡设计原理框图。
【具体实施方式】
[0020]以下实施例参照图1-3。
[0021]本发明基于FPGA的内嵌可选滤波算法的高速PCI采集卡包括A/D采样模块和PCI总线传输模块,还包括FPGA处理芯片。所采集信号通过A/D采样模块,A/D采样模块中的外围接口将所采集信号送入模拟开关,信号通过运算放大器送入A/D转换芯片。由FPGA处理芯片中的控制逻辑控制A/D采样模块中A/D转换芯片的转换以及模拟开关的通道切换,并将结果存入FPGA处理芯片中的锁存器。在FPGA处理芯片内部开辟控制字,所述控制字由计算机控制程序通过PCI总线传输模块实时写入。FPGA处理芯片根据控制字的配置信息将采集到的数据送入相应的滤波器,并对滤波器的参数进行设置。FPGA处理芯片将滤波后的数据依次存入双端口 RAM。对于数据的读取,PCI总线传输模块中的PCI接口通过桥接芯片将地址信息传送给电平转换芯片,电平转换芯片将地址信息转化为FPGA处理芯片能够接受的电平信息,并送入FPGA处理芯片中的双端口 RAM。FPGA处理芯片内中的双端口 RAM将对应地址的数据通过PCI总线传输模块中的电平转换芯片送入桥接芯片,桥接芯片将数据再传送给PCI接口。对于控制字的写入,PCI总线传输模块中的PCI接口将对应于控制字的地址通过桥接芯片和电平转换芯片送入到FPGA处理芯片内部的控制字,然后在下一时钟周期将要写入的控制数据通过桥接芯片和电平转换芯片送入到对应地址的控制字中,从而完成对于控制字的写入。
[0022]A/D采样模块由外围接口,模拟开关,运算放大器和A/D转换芯片构成。其功能为:在FPGA处理芯片的协同下完成16路模拟信号的循环采集并将采集后的数据送入FPGA处理芯片。
[0023]A/D采样模块 的具体构成为:外围接口为DB37接头,其中有16针为模拟信号的输入,其余都为模拟地,以减少通道与通道之间的串扰。将16路模拟信号分别接入模拟开关对应的输入引脚,模拟开关采用ADG1406芯片,将模拟开关输出的模拟信号接入到运算放大器,运算放大器为由AD8021搭建而成的电压跟随器,达到数据隔离的效果。由运算放大器输出的模拟信号接入到A/D转换芯片的输入引脚,A/D转换芯片为AD7671芯片,其采集速度为1MSPS,采集精度为16位,采集范围为±10V,输出数据方式为16位并行方式。其中模拟开关的地址信号和A/D转换芯片的启动信号由FPGA处理芯片内部的控制逻辑控制,A/D转换芯片的转换结束信号由FPGA处理芯片内部的控制逻辑进行检测,数据信号由FPGA处理芯片内部的锁存器进行存储。
[0024]FPGA处理芯片为ALTERA公司的可编程逻辑器件EP2C8Q208,内部集成的五个功能单元为锁存器,控制逻辑,滤波器,控制字和双端口 RAM。其功能为:对A/D采样模块进行控制,使其实现循环采集,并根据控制字的配置信息对采集后的数据进行相应的滤波处理,将滤波后的数据依次送入双端口 RAM中,以供外部程序通过PCI总线传输模块进行读取。
[0025]FPGA处理芯片的具体功能为:上电复位后,延时等待模拟信号的稳定,然后依据A/D芯片的启动时序,通过FPGA处理芯片内部的控制逻辑启动A/D芯片的转换,于此同时进行通道的切换,保证通道切换和A/D转换并行进行。启动之后,不断检测标志A/D芯片转换结束的busy信号,若信号为低电平,便将A/D转换芯片数据端口的数据存入到FPGA处理芯片的锁存器中,同时开始下一次A/D转换。在FPGA处理芯片内部读取控制字中的滤波器选择信息和滤波器参数信息,依据设置将锁存器中的数据送入相应的滤波器。其中控制字为双端口 RAM的后40个地址位,里面对应不同的地址有不同的参数定义,控制字可由计算机通过PCI总线传输模块实时写入。FPGA处理芯片内部集成三种可选的滤波器,分别为FIR滤波器,滑动平均滤波器和二阶低通滤波器。其对应的功能分别介绍如下:
[0026]1.FIR滤波器。在本发明中,16通道共用一个FIR滤波器,依据采集通道的先后
[0027]顺序分别对采集的数据进行滤波处理,FIR滤波器采用并行结构。FIR滤波器的滤波阶数和对应阶数的权值均由控制字来进行控制。滤波阶数最高为25阶,权值可由自由配置。
[0028]2.滑动平均滤波器。在本发明中,16通道共用一个滑动平均滤波器,依据采集通
[0029]道的先后顺序对采集的数据进行滤波处理。滑动平均滤波器的平均个数可由控制字进行控制,范围为5?10个。
[0030]3.二阶低通滤波器。在本发明中,16通道共用一个二阶低通滤波器,依据采集通
[0031]道的先后顺序分别对采集的数据进行滤波处理。二阶低通滤波器的截止频率可由控制字进行控制,FPGA根据控制字的截止频率信息计算出对应的二阶低通滤波器的系数。
[0032]FPGA处理芯片将内部集成的M4K存储器块配置为双端口 RAM,把滤波后的数据依次存入其中。双端口 RAM为2048深度,16位数据宽度,O?1999地址位用于存放滤波后的数据,2008?2047地址位用于存放控制字的控制信息,其余为保留位。FPGA处理芯片将滤波后的数据依次存入双端口的O?1999地址位,存满之后继续从O地址开始存入。
[0033]PCI总线传输模块由电平转换芯片,桥接芯片和PCI接口构成。其功能为:实现PCI总线和FPGA处理芯片的通讯。一方面将FPGA处理芯片中滤波后的数据读取出来,通过PCI总线传给计算机,另一方面将计算机的控制信息写入到FPGA处理芯片中的控制字中。
[0034]PCI总线传输模块的具体实现过程为:PCI总线通过PCI接口,将地址信息和控制信息传入桥接芯片PCI9052,PCI9052将地址信息和控制信息进行解码后送入到电平转换芯片。电平转换芯片为SN74LVCH16T245,电平转换芯片将PCI9052的5V电平转换为FPGA处理芯片可以接受的3.3V电平。FPGA处理芯片依据地址信息和控制信息决定是读出数据还是写入数据。若是读出,就将双端口 RAM中经过滤波后的数据送入到电平转换芯片,电平转换芯片将3.3V电平的信号转换为桥接芯片可以接受的5V电平信号,若是写入就将桥接芯片经过电平转换芯片送出的数据写入到控制字的对应地址中。
【主权项】
1.一种基于FPGA的内嵌可选滤波算法的高速PCI采集卡,包括A/D采样模块和PCI总线传输模块,其特征在于:还包括FPGA处理芯片;所述A/D采样模块由外围接口、模拟开关、运算放大器和A/D转换芯片构成;所述PCI总线传输模块由电平转换芯片、桥接芯片和PCI接口构成;所采集信号通过A/D采样模块,A/D采样模块中的外围接口将所采集信号送入模拟开关,信号通过运算放大器送入A/D转换芯片;由FPGA处理芯片中的控制逻辑控制A/D采样模块中A/D转换芯片的转换以及模拟开关的通道切换,并将结果存入FPGA处理芯片中的锁存器;在FPGA处理芯片内部开辟控制字,所述控制字由计算机控制程序通过PCI总线传输模块实时写入;FPGA处理芯片根据控制字的配置信息将采集到的数据送入相应的滤波器,并对滤波器的参数进行设置;FPGA处理芯片将滤波后的数据依次存入双端口RAM ;对于数据的读取,PCI总线传输模块中的PCI接口通过桥接芯片将地址信息传送给电平转换芯片,电平转换芯片将地址信息转化为FPGA处理芯片能够接受的电平信息,并送入FPGA处理芯片中的双端口 RAM ;FPGA处理芯片内中的双端口 RAM将对应地址的数据通过PCI总线传输模块中的电平转换芯片送入桥接芯片,桥接芯片将数据再传送给PCI接口 ;对于控制字的写入,PCI总线传输模块中的PCI接口将对应于控制字的地址通过桥接芯片和电平转换芯片送入到FPGA处理芯片内部的控制字,然后在下一时钟周期将要写入的控制数据通过桥接芯片和电平转换芯片送入到对应地址的控制字中,从而完成对于控制字的写入。2.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述外围接口的型号是DB37。3.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述模拟开关采用ADG1406芯片。4.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述运算放大器为由AD8021搭建而成的电压跟随器。5.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述A/D转换芯片是AD7671芯片。6.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述FPGA处理芯片是可编程逻辑器件EP2C8Q208。7.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述桥接芯片是PCI9052。8.根据权利要求1所述的基于FPGA的内嵌可选滤波算法的高速PCI采集卡,其特征在于:所述电平转换芯片的型号是SN74LVCH16T245。
【专利摘要】本发明公开了一种基于FPGA的内嵌可选滤波算法的高速PCI采集卡,用于解决现有基于FPGA的高速PCI采集卡控制效率低的技术问题。技术方案是包括A/D采样模块、FPGA处理芯片和PCI总线传输模块。所述A/D采样模块在FPGA处理芯片的协调下完成对十六路模拟量的循环采集并将结果送入FPGA处理芯片中,所述FPGA处理芯片对A/D采样模块转换后的数据进行算法和参数可选的滤波处理,所述PCI总线传输模块将处理后的数据传至计算机,完成采集过程。相比于【背景技术】,本发明除了可实现多通道实时模拟数据采集外,还能根据模拟信号特点在FPGA处理芯片中对数据进行算法及参数可选的数字滤波,提高了控制程序执行效率。
【IPC分类】G06F13/38, G06F17/40
【公开号】CN104899341
【申请号】CN201510282148
【发明人】袁朝辉, 付盛坤, 张欣恺, 霍常春
【申请人】西北工业大学
【公开日】2015年9月9日
【申请日】2015年5月28日

最新回复(0)