完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在许多科学研究和工业控制中,常常需要对高速变化的信号进行采集与分析,并且在很多领域对数据采集系统的精度要求还非常高。因此,设计一个好的高速高精度采集系统尤为重要。传统的数据采集系统中,A/D的控制和数据的转存通常通过PC机来完成,数据采集需要经过A/D转换,系统很大部分需要靠人工监控来完成,不仅耗费大量的人力物力,而且数据采集效率也很一般。
|
|
相关推荐
3个回答
|
|
随着微电子技术的迅速发展,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 |
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-22 01:48 , Processed in 0.504082 second(s), Total 49, Slave 41 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号