NiosⅡ和USB接口的高速数据采集卡设计
时间:11-08
来源:互联网
点击:
随着现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像信号处理等一些高速、高精度的测量中,都迫切需要进行高速数据采集(如雷达信号分析、超音波信号分析);而进行数字处理的先决条件是将所研究的对象数字化,因此数据采集与处理技术日益得到重视。在图像信号处理、瞬态信号检测、工业过程检测和监控等领域,更是要求高速度、高精度、高实时性的数据采集与处理技术。现在的高速数据采集处理卡一般采用高性能数字信号处理器(DSP)和高速总线技术的框架结构。DSP用于完成计算量巨大的实时处理算法,高速总线技术则完成处理结果或者采样数据的快速传输。DSP主要采用TI和ADI公司的产品,高速总线可以采用ISA、PCI、USB等总线技术。其中PCI卡或ISA卡安装麻烦,价格昂贵,受计算机插槽数量、地址、中断资源的限制,可扩展性差,在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,易导致采集的数据失真。通用串行总线USB是为解决传统总线不足而推广的一种新型的通信标准。该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据发展趋势。基于USB的高速数据采集卡充分利用USB总线的上述优点,有效地克服了传统高速数据采集卡的缺陷。
1 系统硬件设计
本系统主要是基于USB2.O的S1ave FIFO模式,在FPGA控制下完成双通道、不同速率的数据的采集和发送,全兼容USB2.O总线接口标准,其数据的采样率可高达65 Msps;适用于较高速动态信号的实时记录采集,其硬件系统总体结构框图如图1所示。
该系统主要由信号调理模块、A/D转换模块、触发模块、基于FPGA的主控模块、USB收发控制模块、片外存储器及其他辅助电路组成。调理电路与A/D转换器,将传感器采集的模拟信号进行相关的信号调理后送入AD9244芯片转换为数字信号。处理后的数据送往FPGA主控模块,根据相关的控制信息,选择通过直接传输给上位机,或者先存储在外部SDRAM,然后经过相关的数字处理后再传输给上位机。
2 系统模块介绍
2.1 USB2.0专用微处理器CY7C68013A
CY7C68013A是Cypress Semiconductor公司生产的一款集成USB2.O的微处理器。它有3种封装形式——56SSOP、100TQFP和128TQFP,其结构框图如图2所示。
CY7C68013集成了USB2.O收发器、SIE、增强的8051微控制器和可编程的外围接口部件。其SIE可在全速(12 Mb/s)和高速(480 Mb/s)两种模式下运行,同样可以使用内部RAM来进行程序和数据的存储。GPIF和Master/Slave端口FIFO为ATA、UTOHA、EPP、PCM—CIA和DSP等提供了简单和无需附加逻辑的连接接口。其编程可以根据设计的需要进行,不需要CPU的干预,只需通过CPU的一些标志和中断即可进行通信。CY7C68013共有7个输入输出端口:EP0、EPlOUT、EPlIN、EP2、EP4、EP6、EP8,其中EP2、EP4、EP6、EP8可以分别被配置为批量/中断/同步传输模式,传输方向均可配置为I/O,端口EP2、EP6的缓冲区大小可编程为512或1 024字节,深度可编程为2/3/4倍大小;端口EP4、EP8的缓冲区大小固定为512字节,深度为2倍,采用不同的配置方式,可实现特定带宽和速率要求的数据传输。
2.2 主控电路FPGA芯片
EP2C8Q208EP2C8Q208主控电路如图3所示。
FPGA芯片也是一种特殊的ASIC芯片,属于可编程逻辑器件,它是在PAL、GAL等逻辑器件的基础上发展起来的。同以往的PAL、GAL等相比,FPGA规模比较大,适合于时序、组合等逻辑电路应用。本文选用A1tera公司的FPGA芯片EP2C8Q208,完成数据采集卡的时序和地址译码电路设计。由于EP2C8Q208有36个M4K RAM,在FPGA内部设计一个16位宽度、4 KB深度的FIFO,使用FIFO提高数据采集卡对多通道信号的采集存储能力。FIFO有半满、全满、空标志位,当检测到半满标志位时,FIFO同时读写;全满时只读不写;空时只写不读。A/D采样控制信号通过FPGA控制;PC机对采集后的数据作进一步处理,以提高精度,其中2选1模块,由主控制模块来控制,选择是直接将采集数据送给PC机处理,还是在内部进行DSP处理后再送给PC机。
由于Nios是一个位于FPGA中的处理器软核,定制其外设就显得比较容易,在SOPC Builder(集成到Quartus II工具中的为建立SOPC系统设计,提供标准化的图形设计环境。其由CPU、存储器接口、标准外围设备和用户自定义的外围设备组成)环境下,其定制逻辑的结构框图如图4所示。
自定制的Avalon外设按照对总线操作的方式可分为:Avalon Slave外设和Avalon Streaming Slave(流模式)外设。在SOPC Builder图形设计界面下添加需要的内核。通过自动分配系统基地址和系统中断向量,手动分配CPU复位地址为外设Flash、CPU溢出地址为片上RAM和CPU调试断点地址为JTAG调试地址,就可由系统报告得知系统是否定制成功,如图5所示。
2.3 ADC芯片及外围电路设计
ADC外围电路框图如图6所示。
信号调理部分选用高精度、低噪声、低输入偏置电流、宽带运算场效应放大器AD8ll进行信号的放大。模拟信号处理是影响系统性能的重要因素之一,设计时必须考虑两个方面:一是要保证信号质量,提高信噪比,尽量减少畸变;二是将信号变换成适合A/D处理的幅度并提供足够的驱动能力。这里选用ADI公司的宽带运放AD811为放大器。AD8ll是一种电流反馈型的放大器,它具有10 MHz的低失真和单位增益带宽很宽的特点,使AD81l成为理想的高分辨率ADC缓冲器。之后针对信号进行档速变换。档速变换选用ADG系列产品。本设计选用的是一款四路独立选择的单片CMOS开关芯片,其设计基于增强的lc2mos进程、可以提供低功耗、高转换速度和低阻抗性,当信号满足A/D变换的要求后,根据采集要求将其由单端输入变换为差分的双端输出,芯片选用AD8138。AD8138具有较宽的模拟带宽(320 MHz,一3dB,增益为1),可以将单端输入变成差分输出。A/D转换的触发则由信号放大芯片AD811采集信号和D/A转换芯片信号进行比较,当有效时,发出ADn_TRIG信号,其中D/A转换芯片的输入标准信号(数字输入端)由FPGA来提供。当ADn_TRIG有效时,FPGA向AD924.4发出控制命令(DIN、FORMAT、MODE、SCLK、sYNC、FSYNC信号),启动A/D转换。
A/D转换器的精密时钟由DDS电路AD9859YSV提供。
1 系统硬件设计
本系统主要是基于USB2.O的S1ave FIFO模式,在FPGA控制下完成双通道、不同速率的数据的采集和发送,全兼容USB2.O总线接口标准,其数据的采样率可高达65 Msps;适用于较高速动态信号的实时记录采集,其硬件系统总体结构框图如图1所示。
该系统主要由信号调理模块、A/D转换模块、触发模块、基于FPGA的主控模块、USB收发控制模块、片外存储器及其他辅助电路组成。调理电路与A/D转换器,将传感器采集的模拟信号进行相关的信号调理后送入AD9244芯片转换为数字信号。处理后的数据送往FPGA主控模块,根据相关的控制信息,选择通过直接传输给上位机,或者先存储在外部SDRAM,然后经过相关的数字处理后再传输给上位机。
2 系统模块介绍
2.1 USB2.0专用微处理器CY7C68013A
CY7C68013A是Cypress Semiconductor公司生产的一款集成USB2.O的微处理器。它有3种封装形式——56SSOP、100TQFP和128TQFP,其结构框图如图2所示。
CY7C68013集成了USB2.O收发器、SIE、增强的8051微控制器和可编程的外围接口部件。其SIE可在全速(12 Mb/s)和高速(480 Mb/s)两种模式下运行,同样可以使用内部RAM来进行程序和数据的存储。GPIF和Master/Slave端口FIFO为ATA、UTOHA、EPP、PCM—CIA和DSP等提供了简单和无需附加逻辑的连接接口。其编程可以根据设计的需要进行,不需要CPU的干预,只需通过CPU的一些标志和中断即可进行通信。CY7C68013共有7个输入输出端口:EP0、EPlOUT、EPlIN、EP2、EP4、EP6、EP8,其中EP2、EP4、EP6、EP8可以分别被配置为批量/中断/同步传输模式,传输方向均可配置为I/O,端口EP2、EP6的缓冲区大小可编程为512或1 024字节,深度可编程为2/3/4倍大小;端口EP4、EP8的缓冲区大小固定为512字节,深度为2倍,采用不同的配置方式,可实现特定带宽和速率要求的数据传输。
2.2 主控电路FPGA芯片
EP2C8Q208EP2C8Q208主控电路如图3所示。
FPGA芯片也是一种特殊的ASIC芯片,属于可编程逻辑器件,它是在PAL、GAL等逻辑器件的基础上发展起来的。同以往的PAL、GAL等相比,FPGA规模比较大,适合于时序、组合等逻辑电路应用。本文选用A1tera公司的FPGA芯片EP2C8Q208,完成数据采集卡的时序和地址译码电路设计。由于EP2C8Q208有36个M4K RAM,在FPGA内部设计一个16位宽度、4 KB深度的FIFO,使用FIFO提高数据采集卡对多通道信号的采集存储能力。FIFO有半满、全满、空标志位,当检测到半满标志位时,FIFO同时读写;全满时只读不写;空时只写不读。A/D采样控制信号通过FPGA控制;PC机对采集后的数据作进一步处理,以提高精度,其中2选1模块,由主控制模块来控制,选择是直接将采集数据送给PC机处理,还是在内部进行DSP处理后再送给PC机。
由于Nios是一个位于FPGA中的处理器软核,定制其外设就显得比较容易,在SOPC Builder(集成到Quartus II工具中的为建立SOPC系统设计,提供标准化的图形设计环境。其由CPU、存储器接口、标准外围设备和用户自定义的外围设备组成)环境下,其定制逻辑的结构框图如图4所示。
自定制的Avalon外设按照对总线操作的方式可分为:Avalon Slave外设和Avalon Streaming Slave(流模式)外设。在SOPC Builder图形设计界面下添加需要的内核。通过自动分配系统基地址和系统中断向量,手动分配CPU复位地址为外设Flash、CPU溢出地址为片上RAM和CPU调试断点地址为JTAG调试地址,就可由系统报告得知系统是否定制成功,如图5所示。
2.3 ADC芯片及外围电路设计
ADC外围电路框图如图6所示。
信号调理部分选用高精度、低噪声、低输入偏置电流、宽带运算场效应放大器AD8ll进行信号的放大。模拟信号处理是影响系统性能的重要因素之一,设计时必须考虑两个方面:一是要保证信号质量,提高信噪比,尽量减少畸变;二是将信号变换成适合A/D处理的幅度并提供足够的驱动能力。这里选用ADI公司的宽带运放AD811为放大器。AD8ll是一种电流反馈型的放大器,它具有10 MHz的低失真和单位增益带宽很宽的特点,使AD81l成为理想的高分辨率ADC缓冲器。之后针对信号进行档速变换。档速变换选用ADG系列产品。本设计选用的是一款四路独立选择的单片CMOS开关芯片,其设计基于增强的lc2mos进程、可以提供低功耗、高转换速度和低阻抗性,当信号满足A/D变换的要求后,根据采集要求将其由单端输入变换为差分的双端输出,芯片选用AD8138。AD8138具有较宽的模拟带宽(320 MHz,一3dB,增益为1),可以将单端输入变成差分输出。A/D转换的触发则由信号放大芯片AD811采集信号和D/A转换芯片信号进行比较,当有效时,发出ADn_TRIG信号,其中D/A转换芯片的输入标准信号(数字输入端)由FPGA来提供。当ADn_TRIG有效时,FPGA向AD924.4发出控制命令(DIN、FORMAT、MODE、SCLK、sYNC、FSYNC信号),启动A/D转换。
A/D转换器的精密时钟由DDS电路AD9859YSV提供。
DSP 总线 ADI USB FPGA 电路 传感器 Cypress 收发器 Quartus ADC 电流 放大器 CMOS Keil 单片机 C语言 仿真 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- FPGA作为协处理器在实时系统中的应用(04-08)
- 学习FPGA绝佳网站推荐!!!(05-23)
- 我的FPGA学习历程(05-23)
- 基于Spartan-3A DSP的安全视频分析(05-01)