采用FPGA器件控制ADC和数据传输实现数据采集系统的设计

时间:2025-07-25  作者:Diven  阅读:0

引言

采用FPGA器件控制ADC和数据传输实现数据采集系统的设计

数据采集系统是计算机测控系统中不可少的组成部分,是影响测控系统的精度等性能指标的关键因素。常用数据采集方案是以微处理器为核心控制多个通道的信号采集、预处理、存储和传输,即用软件实现数据的采集,这在一定程度上局限了数据采集的速度、效率及时序的精确控制。本文研究的数据采集系统应用于某高速高精IC设备,待采集信号来源于多个传感器,系统要求在不多于180us的时间内需实现全部40路通道数据的现场高精度采集、预处理、实时存储及远程传输。考虑到FPGA器件的高集成度、高时钟频率、时序控制精确、编程灵活等明显优于普通微处理器的特点,故本系统采用FPGA为核心控制ADC和数据传输,这样可达到预期要求,并简化外围电路,降低设计风险,缩短开发周期。

1系统结构

本文设计的数据采集系统划分为A/D转换电路、采集控制FPGA和光纤传输接口等若干部分,以A/D转换电路、采集控制FPGA为本采集系统的核心,如图1所示。

该系统实现数据的采集、预处理和存储功能。当采集控制FPGA经光纤接口接收到来自远程伺服控制板卡的开始采集指令,来自各个传感器的差分模拟信号即经系统内的多路开关被选通地输入模数转换器,转换结果进而被引入采集控制FPGA中,在进行适当的预处理后,数据被存储在FPGA内嵌的DPRAM中等待读取。同时根据对FPGA内建的寄存器操作实现采集系统的其功能,如复位、标定等。全系统12位有效数位的转换精度由高精度A/D芯片以及对模拟差分信号输入路径的标定来保证。

2关键芯片介绍

该数据采集系统涉及到的关键芯片主要为FPGA、ADC转换芯片。

FPGA选用Altera公司的EP1K100系列。该系列芯片采用查找表(LUT)和EAB(嵌入式阵列块)相结合的结构,内核采用2.5V电压,功耗低,能够提供高达250MHz的双向I/O功能,支持3.3V/5V混合电压信号,无需额外电平转换芯片进行电平匹配。其特点正适合应用于具有复杂逻辑及有存储、缓冲能力的数据采集系统。

Crystal公司的CS5101A是一款16位高精度CMOS模数串行转换芯片,内含双通道输入多路开关、ADC、转换和校准微控制器、时钟发生器比较器和串行通讯口,其固有的采样结构使其工作时无需外部跟随和保持运放器。CS5101A的线性度误差为±0.001%FS,满刻度误差为±1LSB,转换频率为100KHz,具有自校准、抗温漂特性,长时间空载可维持精度不变。选用该高性能ADC芯片对实现采集系统的精度校准和诊断作用有重要意义。

3方案实现

3.1 电路设计

系统以8通道差分多路开关ADG407、差分运放器INA105和CS5101A构成采集控制FPGA的信号输入通道,如图2所示。该采集系统需要有40路差分模拟电压信号输入,故使用6片ADG407以实现最大48路模拟输入通道的多路复用。每片ADG407的输出连接到一个0.5倍差分运放器INA105实现差分至单端转换,经过运放网络后连接到CS5101A的一个模拟输入端。该采集系统使用3片CS5101A,分别对应3个采集子单元,至多可满足48路输入通道的要求。在一个采样周期内,选择哪路差分模拟信号进行A/D转换由采集控制FPGA通过控制每片ADG407的地址选择端和每片CS5101A的通道选择端实现。电路及FPGA结构框图见图2所示。

精度是该数据采集系统的关键指标,设计的目标就是使整个采集系统能达到12位有效数位的转换精度。由CS5101A的参数得出该芯片的精度可达15位有效数位,故该系统的精度主要取决于信号的输入路径,即必须考虑到板卡上的元器件工作情况和线路上信号传输对实际转换精度的影响,因此实现采集通道的标定对于整个采集系统有重要的意义。每一组模拟输入信号均要经多路开关,到一个前置放大电路,再进入ADC中。该信号路径即为待标定的通道。当多路开关通道之间的匹配较好时,一路通道一次即可标定该组多路开关的所有通道。在此选择每片ADG407的最后一路输入通道作为其标定通道,以采集系统板卡提供的零位电压(模拟地)和差分参考电压为其输入信号,从而进行ADC整体精度的校准和诊断。

在上述设计下,将CS5101A的BP/UPN引脚拉高使其工作在双端状态。并通过设置其SCKMOD引脚和OUTMOD引脚电平使CS5101A工作在PDT(管道数据传输)的串行数据输出模式下,以利FPGA的时序控制。在此模式下,采集控制FPGA为CS5101A提供串行数据输出时钟信号SCLK,在转换时刻寄存当前数据,进而在下一个转换周期输出上一次转换结果。CS5101A的/HOLD信号必须在上次转换的数据出现在SDATA引脚之前保持为低电平,以激发下一次转换。系统采用8.192MHz的石英晶振器为CS5101A提供时钟信号。

3.2 FPGA设计

采集控制FPGA的全局时钟频率为20MHz,其主要的I/O 引脚包括3组CS5101A的控制信号和ADG407的通道选择信号,以及与光纤接口通讯用的32位数据总线、8位地址总线、读写控制线和采集开始/结束信号。信号具体描述如下。

SCLK : ADC串行转换结果在此输入信号的下降沿变化,在上升沿有效。

SDATA :在SCLK的下降沿输出数据位,可在SCLK的上升沿对数据进行有效锁存。

/HOLD :该引脚的下降沿将CS5101A设定为保持状态并触发一个转换。

/STBY :在ADC复位后指示校准状态。在校准期间保持低电平,校准完毕返回高电平。

/RST :低电平复位。回复高电平时触发一完整的校准序列波。校准时忽略/HOLD信号。

CH1//2 : ADC内部的2个模拟输入通道的控制线。

ADCx_SEL[2:0] :用于模拟多路复用器(多路开关)输入通道选择的控制线。

如图2所示,此FPGA顶层可分为3部分:全局控制模块F_ADC_ctrl、对应3个采集子单元的控制模块Sub_ADCx_ctrl(x=1~3,下同)和DPRAM模块。其中F_ADC_ctrl模块检测来自光纤接口的采集触发信号(F_ADC_start),并依此产生Sub_ADCx_ctrl子模块的开始工作信号(Sub_ADCx_start),在接收到这三个子模块返回的转换结束信号(Sub_ADCx_done)后,向光纤接口发出采集结束信号(F_ADC_done)以通知远程伺服控制板卡读取采集结果,完成一次伺服周期的数据采集。在DPRAM模块内实现所有寄存器

分别控制3个采集子单元的Sub_ADCx_ctrl子模块是该FPGA的核心,每个模块可进一步细分为Sub_ADCx_Channel_sel模块和Sub_ADCx_Sample模块,这二者之间由Sub_ADCx_start_S2P信号协调时序关系。该模块的结构框图如图3所示。

其中,Sub_ADCx_Channel_sel模控制CS5101A的/HOLD信号时序(Sub_ADCx_HOLD)和双通道选择信号(Sub_ADCx_CH1_2)。工作状态如图4所示,其中/HOLD信号的高/低电平所维持的时钟周期数根据FPGA的全局时钟频率计算而定。Sub_ADCx_Sample模块则在Sub_ADCx_start_S2P信号的控制下输出全局时钟4分频的SCLK信号给CS5101A,并在SCLK的第66个上升沿完成采集结果的串并转换,同时输出与当前采集通道对应的地址给DPRAM模块,在SCLK的第70个上升沿产生对DPRAM模块的写使能信号Sub_ADCx_wr,从而将16位采集结果写入DPRAM模块内的指定空间。完成写操作后由Sub_ADCx_Channel_sel模块向F_ADC_ctrl模块提交转换结束信号Sub_ADCx_done。

DPRAM模块内部存储地址与采集/标定通道一一对应,实现对转换结果的预处理(如阀值比较等)和锁存。另一端通过32位双向数据总线和8位地址总线与光纤接口通讯,以实现远程伺服控制板卡读取模块内的转换数据和读、写寄存器。其中,写采集控制寄存器改变其特定位的电平输出可实现对通道标定和数据采集操作的切换,以及系统复位等功能。鉴于该采集系统对数据实时性的要求,在DPRAM模块中还建有一个16位延时寄存器(AD_delay_reg),其作用是提供F_ADC_ctrl模块内减1计数器的计数初值,以控制从检测到开始采集触发信号F_ADC_start到指令3个采集子模块真正开始采集之间的延时。对于有固定伺服周期T的伺服系统而言,完成一次全通道采集的时间A和数据处理的时间D相对稳定,则可由C=T-A-D得出预期延时时间,如此可保证采集结束和数据读取之间的时间间隔最小化,达到获取实时采集数据的要求。

4 FPGA模块控制时序

图5为针对Sub_ADC1_Channel_sel模块的仿真时序,结果显示了该模块能够准确产生CS5101A内双通道选择信号CH1_2、/HOLD信号以及多路开关的控制信号。

图6为针对Sub_ADC1_Sample模块的仿真时序,波形包括了该模块的两个完整工作周期,结果显示该模块能够在协调信号的触发下准确输出SCLK时钟和对DPRAM的写使能信号,以及待写入DPRAM的并行转换数据。

5结束语

本文提出了以FPGA为核心控制CS5101A模数转换芯片实现多通道高精度数据采集系统的方案,并详细说明了电路和FPGA的设计方法。经过长时间测试,该采集系统各通道高速数据流能够正确采集和存储,工作稳定,且通道标定功能的实现使设计达到了期望的12位有效数位的精度要求,现已应用于某高速高精IC设备上。

猜您喜欢

尽管FPGA的配置模式各不相同,但整个配置过程中FPGA的工作流程是一致的,分为三个部分:设置、加载、启动。复位结束配置开始有多种方式使FPGA的配置进入...
2018-08-01 15:32:00

二极管是重要的半导体器件,应用于电子电路中。主要功能是允许电流在一个方向上流动,而在相反方向上阻止电流。二极管的导通特性以压差(即电压)密切相关。在本文中,我们...
2025-04-05 07:01:40

电子电路中,电容是一个重要元件。测量电容的仪器有很多种。本文将介绍测电容的仪器,帮助大家更好理解。电容表电容表是最常用的仪器。可以直接测量电容值。使用电容表很简...
2025-03-19 11:00:02

汽车保险丝作为保护车辆电路安全的重要组件,其质量和性能直接关系到车辆的安全运行。源营6汽车保险丝凭借其很好的品质和多项优势,逐渐成为市场上的热门选择。本文将详细...
2021-11-09 11:59:30

贴片电阻查询器官方版是一款便捷实用的电子工具软件,专为电子工程师、爱好者和学生设计。提供了一个快速准确的贴片电阻阻值查询平台,无需繁琐的手动计算或查阅复杂的阻值...
2024-11-29 10:26:08

你是否想过,是什么让你的手机、笔记本电脑,甚至是电动汽车在使用后还能安全可靠地充电?答案就是电池管理系统,简称BMS。简单来说,电池管理系统就像是一位电池的私人...
2024-08-15 00:00:00

SOT-223是一种广泛使用的半导体封装形式,主要用于集成电路(IC)和其他电子元件的封装。由于其小巧的体积和良好的散热性能,SOT-223在现代电子设备中得到...
2025-02-24 10:52:44

汽车保险丝是保护汽车电路的重要组件,应用于多个领域。在汽车电气系统中,保险丝用于保护发电机、蓄电池和各种电子设备,防止因电流过大而造成的损坏。汽车音响系统和导航...
2018-06-03 00:00:00


转换接头是常见的连接器,应用于电子设备和通信领域。根据不同的分类标准,转换接头可以分为以下几类。从结构上看,转换接头可以分为插头型和插座型。插头型转换接头通常用...
2024-06-17 00:00:00