位置:51电子网 » 技术资料 » 嵌入式系统

基于ARM的高速数据采集卡

发布时间:2008/5/27 0:00:00 访问次数:424

1 引言

  随着现代工业生产和科学研究对数据采集要求的日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要高速采集数据。现在通用的高速数据采集卡一般多是pci卡或isa卡,存在以下缺点:安装复杂,价格昂贵,受计算机插槽数量、地址、中断资源限制,可扩展性差,在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。

  本数据采集卡采用philips公司的lpc2142微控制器(基于arm7内核,内置了宽范围的usb 2.0串行通信接口),有效地解决了传统高速数据采集卡的缺陷。

2 基于arm的数据采集卡原理

  本系统主要由双通道模/数转换器ad9238、arm微控制器及fpga器件ep1c3t100组成。结构框图如图1所示。ad9238具有a、b两个通道,前端的差分放大器对模拟信号放大后送至ad9238,由ad9238将模拟信号转换成12位的数字信号,同时送至fpga中的fifo缓存器。由labview设件制作的界面向lpc2142发送控制指令,lpc2142读取fifo缓存器中的数据并通过usb端口发送给主机。主机还可通过界面菜单选择采样频率、采样的起始点、模拟信号调理及读取精度测频数据等。

3 数据采集卡的硬件结构

3.1 ad9238简介

  ad9238是美国模拟器件公司(adi)推出的12位、双通道模数转换器。该转换器分为3种型号,采样率最高分别可达20 ms/s,40 ms/s和65 ms/s。它提供与单通道a/d转换器同样优异的动态性能,但是具有比采用2个单通道a/d转换器更好的抗串扰性能;采用单3 v供电(2.7 v~3.6 v);rsn=70 dbc;rsfd=85 dbc;enob=11.3 b;差分输入时有500 mhz的3 db带宽;带有片上的参考电压和sha;1~2 vpp的模拟输入范围;输出数据格式为偏移一进制码或者一进制补码。

  ad9238的两个通道分别采用一个ad8138做为运放驱动器。i/o两路中频模拟信号分别经过2个ad8138变为差分信号送给a/d转换器(第2,3,14,is引脚)。

  高速adc对时钟的占空比很敏感,一般来说需要有50%(±5%)的占空比。ad9238给每个通道单独提供时钟(引脚clk_a和clk_b),当2个通道的采样时钟同频同相时,性能较好,当2个通道不同步时,性能会有所下降。

  本数据采集卡采用40 mhz的ad9238,单双通道选择和转换频率可由软件控制。

3.2 cyclone系列fpga器件

  由于高速数据采集系统的特殊要求,在众多fpga器件中选择了altera公司的cyclone系列器件。cyclone系列基于先进的stratix的工艺构架,为高速应用提供了极高的性价比,此外cyelone系列器件内部ram存储器可以生成fifo缓存器,为高速采样提供缓存空间。

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

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

3.3 fpga在触发控制中的应用

  由于此数据采集卡是高速缓存式的,缓存空间有限,所以不能采用连续式采集方式,而采用触发式采集方式。为了提高数据采集卡的适用能力,不仅可以采集周期信号,而且可以采集触发信号,还可手动触发采集,笔者增加了触发点捕捉电路。系统主要由ad8561电压比较器和fpga器件组成,ad8561转换速度很高,可满足判断速度足够高的要求。首先模拟信号送到ad8561比较器的正输入端,负输入端连接至lpc2142的d/a转换器输出端,lpc2142的d/a转换器输出电压作为ad8561比较器的参考电压,此参考电压可以通过向lpc2142的d/a转换器的寄存器写入不同值进行调节,此调节最终通过由labview制作的界面控制。当输人信号电压高于参考电压时,ad8561的输出端tout拉高,tout的电平可以通过向ad8561的latch端输入高电平进行锁存。

  在手动采集方式下,trieno为低电平,trien1高电平,当缓存器为空即fwr_ful为高电平,通过labview制作的界面控制qstart为高电平时,fwr_en被拉高进行数据采集。当缓存器满时fwr_ful被拉低,停止采集数据。

  在输入信号触发方式下,trien0和qstart为低电平,当缓存器为空即fwr_ful为高电平,输入信号电压高于比较器的参考电压时,tout被拉高,fwr_en被拉高进行数据采集。当缓存器满时fwr_ful被拉低,停止采集数据。拉高trien1后读取缓存数据。

  采集周期信号和输入信号触发方式相似,只是保持trien1为高电平。在读取缓存数据时.触发信号到来后采集数据。

4 高速数据采集卡的软件设计

4.1 基于μc/os-ii的usb驱动编程

  μc/os-ii提供了多任务实时操作系统的内核。在应用该操作系统时,通常需要用户自己编写基于μc/os-ii的外围器件驱动程序,以使外围器件能在

1 引言

  随着现代工业生产和科学研究对数据采集要求的日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要高速采集数据。现在通用的高速数据采集卡一般多是pci卡或isa卡,存在以下缺点:安装复杂,价格昂贵,受计算机插槽数量、地址、中断资源限制,可扩展性差,在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。

  本数据采集卡采用philips公司的lpc2142微控制器(基于arm7内核,内置了宽范围的usb 2.0串行通信接口),有效地解决了传统高速数据采集卡的缺陷。

2 基于arm的数据采集卡原理

  本系统主要由双通道模/数转换器ad9238、arm微控制器及fpga器件ep1c3t100组成。结构框图如图1所示。ad9238具有a、b两个通道,前端的差分放大器对模拟信号放大后送至ad9238,由ad9238将模拟信号转换成12位的数字信号,同时送至fpga中的fifo缓存器。由labview设件制作的界面向lpc2142发送控制指令,lpc2142读取fifo缓存器中的数据并通过usb端口发送给主机。主机还可通过界面菜单选择采样频率、采样的起始点、模拟信号调理及读取精度测频数据等。

3 数据采集卡的硬件结构

3.1 ad9238简介

  ad9238是美国模拟器件公司(adi)推出的12位、双通道模数转换器。该转换器分为3种型号,采样率最高分别可达20 ms/s,40 ms/s和65 ms/s。它提供与单通道a/d转换器同样优异的动态性能,但是具有比采用2个单通道a/d转换器更好的抗串扰性能;采用单3 v供电(2.7 v~3.6 v);rsn=70 dbc;rsfd=85 dbc;enob=11.3 b;差分输入时有500 mhz的3 db带宽;带有片上的参考电压和sha;1~2 vpp的模拟输入范围;输出数据格式为偏移一进制码或者一进制补码。

  ad9238的两个通道分别采用一个ad8138做为运放驱动器。i/o两路中频模拟信号分别经过2个ad8138变为差分信号送给a/d转换器(第2,3,14,is引脚)。

  高速adc对时钟的占空比很敏感,一般来说需要有50%(±5%)的占空比。ad9238给每个通道单独提供时钟(引脚clk_a和clk_b),当2个通道的采样时钟同频同相时,性能较好,当2个通道不同步时,性能会有所下降。

  本数据采集卡采用40 mhz的ad9238,单双通道选择和转换频率可由软件控制。

3.2 cyclone系列fpga器件

  由于高速数据采集系统的特殊要求,在众多fpga器件中选择了altera公司的cyclone系列器件。cyclone系列基于先进的stratix的工艺构架,为高速应用提供了极高的性价比,此外cyelone系列器件内部ram存储器可以生成fifo缓存器,为高速采样提供缓存空间。

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

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

3.3 fpga在触发控制中的应用

  由于此数据采集卡是高速缓存式的,缓存空间有限,所以不能采用连续式采集方式,而采用触发式采集方式。为了提高数据采集卡的适用能力,不仅可以采集周期信号,而且可以采集触发信号,还可手动触发采集,笔者增加了触发点捕捉电路。系统主要由ad8561电压比较器和fpga器件组成,ad8561转换速度很高,可满足判断速度足够高的要求。首先模拟信号送到ad8561比较器的正输入端,负输入端连接至lpc2142的d/a转换器输出端,lpc2142的d/a转换器输出电压作为ad8561比较器的参考电压,此参考电压可以通过向lpc2142的d/a转换器的寄存器写入不同值进行调节,此调节最终通过由labview制作的界面控制。当输人信号电压高于参考电压时,ad8561的输出端tout拉高,tout的电平可以通过向ad8561的latch端输入高电平进行锁存。

  在手动采集方式下,trieno为低电平,trien1高电平,当缓存器为空即fwr_ful为高电平,通过labview制作的界面控制qstart为高电平时,fwr_en被拉高进行数据采集。当缓存器满时fwr_ful被拉低,停止采集数据。

  在输入信号触发方式下,trien0和qstart为低电平,当缓存器为空即fwr_ful为高电平,输入信号电压高于比较器的参考电压时,tout被拉高,fwr_en被拉高进行数据采集。当缓存器满时fwr_ful被拉低,停止采集数据。拉高trien1后读取缓存数据。

  采集周期信号和输入信号触发方式相似,只是保持trien1为高电平。在读取缓存数据时.触发信号到来后采集数据。

4 高速数据采集卡的软件设计

4.1 基于μc/os-ii的usb驱动编程

  μc/os-ii提供了多任务实时操作系统的内核。在应用该操作系统时,通常需要用户自己编写基于μc/os-ii的外围器件驱动程序,以使外围器件能在

相关IC型号

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!