论文部分内容阅读
摘要:利用可编程逻辑器件搭建了一个可编程的数据采集平台。
关键词:FPGA PCI接口 高速数据采集 数字滤波
中图分类号:TP274.2 文献标识码:B 文章编号:1002-2422(2008)03-0087-02
1 系统硬件设计
1.1系统模拟部分电路设计
模拟部分的总体设计框图见图1。
因为模拟量的采集时会掺杂数字量的输入输出,所以现在的模拟数据采集卡往往会加上一些数字量的输入输出功能,使两种数据采集公用一套下面的接口,达到节省成本的目的。当然这种数字量的输入输出很简单,一般不带隔离的功能a采集卡的设计上加上了数字量的输入输出,两者都挂在存储系统的32位数据总线上,接口部分是用锁存器和三态门完成的。
考虑到设计的要求:支持PCI电平,支持多种类型的Core,综合成本考虑,选择了ALTER公司的EP1C120240。该器件有12060个LE(逻辑单元),52个M4KRAM,2个锁相环,支持多种电平包括特殊的PCI反射波驱动电平,支持嵌入多种类型的Core包括ALTERA的NIOSII 32位嵌入式处理器,提供了足够的加。FPGA的配置采用AS主动串行配置方式,由一个外置串行配置芯片完成FPGA的上电配置。配置芯片编程由ALTERA BYTEBLASTER电缆下载。
系统存储器的功能主要是高速数据采集过程中的缓存,FPGA中嵌入的NIOS II处理器的系统内存和用来存储系统信息、模拟部分线性化表等内容。存储器件上包括SDRAM和FLASH。考虑模拟信号的采集缓冲和FPGA内部嵌入的32位处理器会用到较大的存储空间,设计了64MB的SDRAM和2MB的FLASH存储器。两种存储器挂在同一条数据总线和地址总线上。其中SDRAM的运行频率为133MHz,带宽为532MDS,足够内部处理器和缓冲使用。
1.3系统的电源和抗干扰设计
模拟部分外围接口要考虑接口的密度和易用性选用合适的接插件,在外围设计时要按照不同类型的传感器为内部放大器的偏置电流提供回路。模拟部分的抗干扰设计上,外部为传输线的屏蔽层加了信号共模电压的跟随,实践证明这样比屏蔽层接地提高了传输线的辐射干扰和分布电容。板卡内部采用模拟和数字部分在布局、接口、电源上完全分离,并采用较好的滤波器件消除传导干扰和辐射干扰。
由于在电源的设计上,考虑到数字部分要和模拟部分完全分离,因此要把系统内部用到的8种电源和地分开设计。特别注意的是基准电源的设计,考虑到基准电压源的精度问题,这里没有使用ADC内部提供的基准源,而另外设计了一个高精度的电压基准源。
2 PCI接口
根据用户设备的性质不同,PCI设备分为MASTER和TARGET,PCI接口类型也就分为MASTER和TARGET两种接口。概括地说,PCI接口主要包括PCI标准配置寄存器(64字节)、PCI总线逻辑接口、状态转换和数据缓冲区等。一些可编程逻辑芯片制造商提供了PCI局部总线接口IP核,例如Altera公司的MegaCore。这些IP核经过了严格的测试,可以为用户直接使用。用户通过组合小同功能的IP核,可以方便快捷地实现大型系统。
对于PCI设备控制器来说,为了实现PCI接口的基本功能,要有以下几个部分:PCI接口逻辑部分,PCI设备状态机部分,配置空间部分和数据缓冲部分。如图3所示,给出了PCI接口设计的基本框架图,实现数据传输。
3 嵌入式32位CPU
NIOS II系列嵌入式处理器是Altera推出的第二代软核嵌入式处理器解决方案。NIOS II处理器内核是一个32位的RISC处理器,具有共享的通用指令集结构,专门针对Altera的主流FPGA系列进行了优化。
NIOS II嵌入式处理器专为单芯片可编程系统设计而优化,是一种面向用户、可以灵活定制的通用RISC嵌入式CPU。采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能。NIOS II的硬件开发后,开发环境SOPCBuilder可自动生成与自定义的NIOS II CPU和外设系统、存储器、外设地址映射等相应的软件开发包SDK,在生成的SDK基础上,进入软件开发流程。可采用汇编或C、C 等进行程序优化开发。
4 驱动程序设计
在设计驱动程序之前,要对欲控制的硬件设备进行细致地分析,更需要详细了解硬件设备的特性。硬件设备的特性会对驱动程序设计产生重大的影响。
PCI驱动程序主要组成:设备初始化、端口操作。
5 板卡的设计
在数据采集卡PCB的设计时,考虑了插卡的高频性能、电源去藕与干扰的抑制、接地方式的选择等因素。做数据采集卡时,选择制作4层的PCB板。原因有三:其一,在数据采集卡中,经常使用封装形式为PQFP等需要高密度走线的芯片;其二,便于电源线、地线的布线。4层PCB中有一层电源线、一层地线、两层信号线,当遇到跟电源、地相连时,直接打过孔和内部的电源层、地线层相连就可以了;其三,可以较好地克服两层PCB板中的地噪声干扰问题。
关键词:FPGA PCI接口 高速数据采集 数字滤波
中图分类号:TP274.2 文献标识码:B 文章编号:1002-2422(2008)03-0087-02
1 系统硬件设计
1.1系统模拟部分电路设计
模拟部分的总体设计框图见图1。
因为模拟量的采集时会掺杂数字量的输入输出,所以现在的模拟数据采集卡往往会加上一些数字量的输入输出功能,使两种数据采集公用一套下面的接口,达到节省成本的目的。当然这种数字量的输入输出很简单,一般不带隔离的功能a采集卡的设计上加上了数字量的输入输出,两者都挂在存储系统的32位数据总线上,接口部分是用锁存器和三态门完成的。
考虑到设计的要求:支持PCI电平,支持多种类型的Core,综合成本考虑,选择了ALTER公司的EP1C120240。该器件有12060个LE(逻辑单元),52个M4KRAM,2个锁相环,支持多种电平包括特殊的PCI反射波驱动电平,支持嵌入多种类型的Core包括ALTERA的NIOSII 32位嵌入式处理器,提供了足够的加。FPGA的配置采用AS主动串行配置方式,由一个外置串行配置芯片完成FPGA的上电配置。配置芯片编程由ALTERA BYTEBLASTER电缆下载。
系统存储器的功能主要是高速数据采集过程中的缓存,FPGA中嵌入的NIOS II处理器的系统内存和用来存储系统信息、模拟部分线性化表等内容。存储器件上包括SDRAM和FLASH。考虑模拟信号的采集缓冲和FPGA内部嵌入的32位处理器会用到较大的存储空间,设计了64MB的SDRAM和2MB的FLASH存储器。两种存储器挂在同一条数据总线和地址总线上。其中SDRAM的运行频率为133MHz,带宽为532MDS,足够内部处理器和缓冲使用。
1.3系统的电源和抗干扰设计
模拟部分外围接口要考虑接口的密度和易用性选用合适的接插件,在外围设计时要按照不同类型的传感器为内部放大器的偏置电流提供回路。模拟部分的抗干扰设计上,外部为传输线的屏蔽层加了信号共模电压的跟随,实践证明这样比屏蔽层接地提高了传输线的辐射干扰和分布电容。板卡内部采用模拟和数字部分在布局、接口、电源上完全分离,并采用较好的滤波器件消除传导干扰和辐射干扰。
由于在电源的设计上,考虑到数字部分要和模拟部分完全分离,因此要把系统内部用到的8种电源和地分开设计。特别注意的是基准电源的设计,考虑到基准电压源的精度问题,这里没有使用ADC内部提供的基准源,而另外设计了一个高精度的电压基准源。
2 PCI接口
根据用户设备的性质不同,PCI设备分为MASTER和TARGET,PCI接口类型也就分为MASTER和TARGET两种接口。概括地说,PCI接口主要包括PCI标准配置寄存器(64字节)、PCI总线逻辑接口、状态转换和数据缓冲区等。一些可编程逻辑芯片制造商提供了PCI局部总线接口IP核,例如Altera公司的MegaCore。这些IP核经过了严格的测试,可以为用户直接使用。用户通过组合小同功能的IP核,可以方便快捷地实现大型系统。
对于PCI设备控制器来说,为了实现PCI接口的基本功能,要有以下几个部分:PCI接口逻辑部分,PCI设备状态机部分,配置空间部分和数据缓冲部分。如图3所示,给出了PCI接口设计的基本框架图,实现数据传输。
3 嵌入式32位CPU
NIOS II系列嵌入式处理器是Altera推出的第二代软核嵌入式处理器解决方案。NIOS II处理器内核是一个32位的RISC处理器,具有共享的通用指令集结构,专门针对Altera的主流FPGA系列进行了优化。
NIOS II嵌入式处理器专为单芯片可编程系统设计而优化,是一种面向用户、可以灵活定制的通用RISC嵌入式CPU。采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能。NIOS II的硬件开发后,开发环境SOPCBuilder可自动生成与自定义的NIOS II CPU和外设系统、存储器、外设地址映射等相应的软件开发包SDK,在生成的SDK基础上,进入软件开发流程。可采用汇编或C、C 等进行程序优化开发。
4 驱动程序设计
在设计驱动程序之前,要对欲控制的硬件设备进行细致地分析,更需要详细了解硬件设备的特性。硬件设备的特性会对驱动程序设计产生重大的影响。
PCI驱动程序主要组成:设备初始化、端口操作。
5 板卡的设计
在数据采集卡PCB的设计时,考虑了插卡的高频性能、电源去藕与干扰的抑制、接地方式的选择等因素。做数据采集卡时,选择制作4层的PCB板。原因有三:其一,在数据采集卡中,经常使用封装形式为PQFP等需要高密度走线的芯片;其二,便于电源线、地线的布线。4层PCB中有一层电源线、一层地线、两层信号线,当遇到跟电源、地相连时,直接打过孔和内部的电源层、地线层相连就可以了;其三,可以较好地克服两层PCB板中的地噪声干扰问题。