《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于S3C2440和AD9248的高速采集系统的设计
基于S3C2440和AD9248的高速采集系统的设计
来源:电子技术应用2011年第1期
张自嘉, 徐向明
南京信息工程大学 信息与控制学院, 江苏 南京 210044
摘要: 设计了一个利用高速A/D、FIFO以及ARM9实现的高速数据采集系统。通过ARM9控制高速A/D转换和FIFO的读写,并采用大容量的板载数据存储器,可以实现较长时间的连续采集。设计了网络接口和USB接口实现数据的保存和传输,并设计了GPS授时模块接口以实现多个站点的同时数据采集。
中图分类号: TP391
文献标识码: A
文章编号: 0258-7998(2011)01-0068-03
Design of high speed data acquisition system based on S3C2440 and AD9248
Zhang Zijia, Xu Xiangming
College of Information and Control, Nanjing University of Information Science & Technology, Nanjing 210044, China
Abstract: A high speed data acquisition system is designed based on a high-speed A/D, FIFO and the ARM9. ARM9 is used to control A/D′s conversion and FIFO′s read and write, and large-capacity onboard data storage, as well as to achieve longer continuous acquisition. At the same time the design of network interface and USB interface to the preservation and transmission of data, GPS timing module interface to achieve data acquirement multiple sites at the same time.
Key words : data acquisition; AD9248; FIFO; S3C2440


   在许多科学研究和工业控制中,常常需要对高速变化的信号进行采集与分析,并且在很多领域对数据采集系统的精度要求还非常高。因此,设计一个好的高速高精度采集系统尤为重要。传统的数据采集系统中,A/D的控制和数据的转存通常通过PC机来完成,数据采集需要经过A/D转换,系统很大部分需要靠人工监控来完成,不仅耗费大量的人力物力,而且数据采集效率也很一般。
 随着微电子技术的迅速发展,FPGA和CPLD以其高集成度、高灵活性等特点被广泛应用在数据采集存储测试系统中。随着嵌入式技术的发展,以简单的单片机为核心的采集系统已逐渐不能满足各种应用需求,而以32位嵌入式微处理器为核心的ARM系列在数字消费品、成像设备、工业控制、存储设备和网路设备等方面应用广泛。本文给出了以ARM微处理器为核心的系统设计,利用高速A/D转换和大容量的数据存储器,实现较长时间的连续采集。
1 工作原理与总体结构设计
    系统的基本结构如图1所示,本文系统中采用ARM9核心板作为数据采集控制核心,由它来产生A/D转换器的各种控制信号、缓存器的读写时序、基本的信号处理和对外接口时序等。核心板的内核是32 bit ARM920T,主频达到400 MHz。同时具有64 MB Flash及64 MB SDRAM外部存储器。它的系统时钟是由内部PLL产生的400 MHz CPU内核工作频率,同时该核心板还具有网络接口和USB接口,可实现数据的传输和保存。

    雷电产生时,传感器分别接收到高速变化的快、慢电场信号,然后经过前端调理电路的放大、滤波等形成稳定的差分模拟信号送入高速A/D转换器中。A/D转换器采用ADI公司的14位双通道模数转换器芯片AD9248。其采样速度可以达到20 MS/s,可以提供与单通道A/D转换器同样优异的动态性能, 但是比使用2个单通道A/D 转换器具有更好的抗串扰性能。AD9248通过连接在ARM9上的触发器的触发信号开始工作,同时,AD9248的数据总线与缓存器FIFO的数据总线以及ARM的数据端口是连在一起的,这样ARM可以灵活地处理A/D转换器的采样输出数据。
    在进行多站同步采样时,准确地记录数据发生的时间成为采样过程中的关键。本系统在设计中加入GPS授时模块,主要是用于解决ARM处理器的时间校验问题。
2 系统主要硬件及接口设计
2.1  AD9248高速模数转换器

    A/D转换器是高速数据采集系统的核心,该芯片采用3.3 V供电。AD9248的2个ADC通道除了共用内部的电压参考源VREF外, 其他基本都是独立的。图2给出AD9248的功能模块和内部结构的介绍。

    AD9248是一种基于流水线型的ADC,这种流水线型结构的特点是由一系列标志1级、2级等各级构成。每级的结构是相同的,包含一个采样保持电路(S/H) 、一个子模数转换电路(ADC)和一个乘积数模转换器(MDAC)电路[1]。
    AD9248的主要引脚的功能包括:VIN+、VIN-是模拟差分信号输入端;D0~D13是数据输出端;OEA、OEB分别是A、B两通道数据输出使能位;PDWN_A、PDWN_B分别是两通道的Power-Down功能选择位,为0 时, 使能通道, 为1时, 关闭通道;DFS是输出数据格式选择位,为0时, 数据输出格式为偏移的二进制,为1时,数据输出格式为二进制补码格式;OTR_A、OTR_B是两通道的溢出标志位;MUX_SELECT是数据复用模式选择位,该管脚接高电平时,则可保证两通道数据分别从各自通道输出,该管脚接时钟时,两通道数据将复用输出数据端口, 此时数据输出速率是采样速率的两倍[2]。
  由于AD9248是流水线型的A/D转换器,因此也就存在一个流水线延迟的问题。AD9248接收到CLK信号就开始进行采样, 在每个时钟信号的上升沿进行采样。由于流水线延迟, 每次采样的最终转换结果要等待7个时钟周期后才能出现在输出端。所以一般不考虑前7个时钟周期内的数据采样。
2.2  高速数据缓存电路
    本设计选用的缓存器FIFO是CYPRESS公司的CY7C4275V系列。CY7C4275V是一种高速大容量先进先出存储器件,其最高工作频率为100 MHz,容量为32 K×18 bit。CY7C4275V可提供全满、半满、全空、将满以及将空等5种标志信号。如图3所示,FIFO中没有地址线, 可在读、写过程中对相应的状态标志位置位来指示FIFO的状态。为避免数据读空,空标志(EF)置位将禁止读操作;而为了避免数据写入溢出, 满标志(FF)置位将禁止写操作。

  AD9248是14位模数转换器,CY7C4275是18位FIFO,S3C2440的数据总线是32位,所以CY7C4275和S3C2440只需接D0~D13。S3C2440与FIFO之间用总线方式连接。由于FIFO 先入先出的特殊结构,系统中不需要任何地址线的参与,大大简化了电路。A/D采样所得数据要实时送入FIFO,因此两者的写时钟频率必须一样 ,操作起来统一方便[4]。
    将A/D时钟直接与FIFO的WCLK相连,可使FIFO同步将A/D采样数据写入。因为AD9248是双通道模数转换器,为了使两个通道A/D同时工作, 提高系统效率, 设计时可采用两个FIFO来独立地将两路A/D输出数据进行存储。由于A/D的数据输出为14 bit,FIFO存储宽度为18 bit, 故可将FIFO输入端的空脚接地, 输出端空脚悬空。接口的框图如图4所示。

    FIFO的半满标志HF接到ARM的地址线I/O上,当在FIFO中数据采集半满时,半满标志输出低电平,这时ARM可以通过寻址的方式来读取FIFO中的数据。由于ARM读取数据的速度要比FIFO写入数据的速度快得多,因此将FIFO的空标志(EF)也接入地址线I/O,当数据读空时,EF标志输出低电平,ARM停止读取。
3 系统的软件设计
  系统整体上采用结构程序设计的方法设计,整个程序包括主控制模块、数据采集模块和数据传输存储模块等结构。考虑到本系统基于S3C2440平台和Linux操作系统,整体系统的程序设计变得更加具有灵活性、简单性和易操作性。
  高速A/D转换器模块主要负责对高速变化的电场信号进行采集及转换;核心板上的网络接口和USB接口模块主要负责数据的传输和数据存储。数据采集的程序流程图如图5所示,假定系统的采样时间设定为2 s,ARM在读取FIFO中数据的过程中,判断有没有到达采样时间,如果没有就继续采样,读取数据;如果达到立即停止A/D转换,则通过USB接口将数据存入U盘中。

    通过实际测试表明,整个系统在数据采集中能达到一定的速率。同时设计有网络接口和USB接口实现大容量的板载数据存储,从而能实现较长时间的连续采集。选取的14 bit高精度模数转换器AD9248、FIFO以及S3C2440,都具有性能高、功耗低的特点,并且大大简化了外围接口电路的设计,系统运行稳定可靠。本系统不仅可以对雷电产生时的瞬变电场进行记录和分析,也能应用于科学研究和工业生产控制等其他领域中。
参考文献
[1] 常春波,廖述建,李晓芳.流水线模数转换器的接口电路[J].仪器仪表学报,2006(6):907-910.
[2] 罗林根,曾奕,李立学,等.基于CPLD和AD9248 的高速采集系统的设计与实现[J].工业控制计算机,2008(2):15.
[3] 向常州, 夏应清, 袁泉,等.基于AD9238的高速高精度ADC采集系统[J].电子元器件应用,2007(6):26-29.
[4] 武晓冬,戴波.基于FIFO 的高速A/D和DSP 接口设计[J].北京石油化工学院学报,2006(2):26-29.
[5] 张洪彬,柳吉龄,齐伟,等.一种高速数据采集系统的实现[J].中国测试技术,2007(1):125-127.

此内容为AET网站原创,未经授权禁止转载。