微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM处理器LPC2142的高速数据采集卡设计

基于ARM处理器LPC2142的高速数据采集卡设计

时间:07-18 来源:互联网 点击:
0 引言

在瞬态信号测量和图像处理等一些高速、高精度的测量中,往往都需要进行高速数据采集。现在通用的高速数据采集卡(一般多是PCI卡或ISA卡)存在有安装麻烦、价格昂贵、受计算机插槽数量/地址/中断资源的限制、可扩展性差,而且在一些电磁干扰性强的测试现场无法专门对其进行电磁屏蔽,因而会导致采集的数据失真等缺点。为此,本文给出了采用PHILIPS公司的一款LPC2142芯片(基于ARM7内核,内置了宽范围的USB2.0 Device全速串行通信接口)设计的数据采集卡的设计方案,从而有效解决了传统高速数据采集卡的上述缺陷。

1 基于ARM的数据采集卡系统结构

该系统主要由双通道模/数转换器AD9238、ARM微控制器LPC2142及FPGA器件EP1C3T100组成,图1所示是其结构框图。AD9238具有A、B两个通道,前端的差分放大器把模拟信号通过放大送入AD9238,由AD9238把模拟信号转换成12的数字信号同时送入FPGA中的FIFO缓存器进行缓存。然后由LabVIEW软件制作的界面便可向LPC2142发送控制指令,LPC2142读取FIFO缓存器中的数据后可通过USB端口发送给主机。而主机也可通过界面菜单选择采样频率、采样的起始点、模拟信号调理及读取精度测频数据等。


2 基于ARM的数据采集卡的硬件设计

2.1 AD9238模数转换芯片

AD9238是美国模拟器件公司(ADI)推出的快速12位双通道模数转换器。AD9238有3种型号,采样率最高分别可达20 MS/s、40 MS/s和65MS/s。AD9238可提供与单通道A/D转换器同样优异的动态性能,但是比使用2个单通道A/D转换器具有更好的抗串扰性能;AD9238采用单3 V供电(2.7~3.6 V);Rsn=70 dBc;Rsfd=85 dBc;ENOB为11.3 b;差分输入时,具有500 MHz的3 dB带宽;并有片上参考电压和1~2 Vpp的模拟输入范围。

AD9238的两个通道分别采用一个AD8138做为运放驱动芯片。I/Q两路中频模拟信号分别经过2个AD8138后变为差分信号送给A/D转换器(第2,3,14,15管脚)。

高速ADC对时钟的占空比很敏感。一般来说需要有50%(±5%)的占空比。AD9238可给每个通道单独提供时钟(管脚CLK_A和CLK_B),当2个通道的采样时钟同频同相时,系统会有比较好的性能,当2个通道小同步时,性能会有所下降。

本数据采集卡采用40 MHz的AD9238芯片,单双通道选择和转换频率采用软件控制。

2.2 Cyclone系列FPGA器件

由于高速数据采集系统的特殊要求,本设计在众多FPGA器件中选择了ALTERA公司生产的Cyclone系列器件。Cyclone系列的高性能和高密度是基于它先进的Stratix的工艺构架,可为高速应用提供非常高的性价比,此外,Cyclone系列器件内部RAM存储器还可以生成FIFO缓存器以便为高速采样提供缓存空间。

Altera公司的Quartus II软件是一款易于使用的综合开发工具,它集成了Altera公司FPGA/CPLD开发流程中所涉及的所有工具和第三方软件
接口,其友好界面为设计提供了便利条件。

在这里,FPGA器件主要用于完成数据缓存、等精度测频、采样频率分频及触发控制等工作。

2.3 FPGA在触发控制中的应用

由于此数据采集卡是高速缓存式的,且缓存空间有限,所以不能采用连续式采集方式,而是采用触发式采集方式。为了提高数据采集卡的适用能力,使系统不仅可以采集周期信号,而且要能采集触发信号,还要能手动触发采集,笔者增加了触发点捕捉电路。该电路主要由AD8561电压比较器、FPGA芯片组成,由于AD8561芯片的转换速度很高,故能满足判断速度足够高的要求。可首先把模拟信号送到AD8561比较器的正输入端,负输人端则连接到LPC2142的D/A转换器输出端,LPC2142的D/A转换器输出电压作为AD8561比较器的参考电压,此参考电压可以通过向LPC2142的D/A转换器的寄存器写入不同的值来进行调节。此调节最终可通过LabVIEW制作的界面来控制。当输入信号高于

参考电压时,AD8561的TOUT被拉高,TOUT的电平可以通过向AD8561的LATCH端输入高电平来进行锁存。

在手动采集方式下,TRIEN0为低电平,TRIEN1为高电平,当缓存器为空(即FWr_FUL为高电平)时,可通过LabVIEW制作的界面控制QSTART为高电平,并将FWr_EN拉高以进行数据采集。当缓存器满时,FWr_FUL被拉低,同时FWr_EN被拉低以停止采集。图2所示是本系统的触发控制电路。


在输入触发方式下,TRIEN0和QSTART为低,当缓存器为空(即FWr_FUL为高电平)且输入信号高于比较器的参考电压时,TOUT被拉高,同时FWr_EN也被拉高以进行数据采集。而当缓存器满时,FWr_FUL被拉低,FWr_EN也被拉低以停止采集。拉高TRIEN1后可读取缓存数据。
采集周期信号和输入信号触发方式相似,只是要保持TRIEN1为高电平。而在读取缓存数据时。只要触发信号到来就可进行采集。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top