针对某精密数据采集系统中模拟信号同步采样问题,文章研究了多通道同步模拟信号采集方法,设计了一种基于 SAR-ADC、使用 FPGA 控制的 16 位同步采样 AD 转换系统。该系统可实现模拟信号的实时同步采样,同时兼顾多路模拟信号采样频率要求的差异性,最后通过试验测试了该系统的信纳比(SINAD)和有效位数(ENOB)。测试结果表明,该系统具有良好的动态性能指标。
 
0 引言
在惯性测量、功率因数校正、电机控制等工业应用场合,系统需要采集同一时刻来自多个传感器的模拟信号,并根据当前的状态进行计算和控制。有时候系统的动态范围可能会很大,要求的采样频率很高,这种情况下如何兼顾系统的快速性和精密性,使之性能最优,是一个较为关键的设计难点。
 
1 概述
在实现同步采样的过程中,有多个因素需要考虑,这些因素大多都是与时间及空间相关的。时间是指系统所要求的采样频率,空间是指系统需采集的通道数量。
 
在进行设计时,首先应明确同步采样的通道数,一般相位敏感信号往往需要同步采样,如计算交流瞬时功率 P 时的电流 I 和电压 V。很多时候并不是所有信号都需要同步采样;其次,需了解采集信号的带宽,信号带宽越大,对转换器的转换时间要求越高;最后,还应明确采样信号的幅值和精度要求,这关系到模拟调理电路和 AD 转换器电路的设计,幅值过大的信号可能需要电气隔离,由隔离所带来的精度损失应考虑在内。
 
在设计同步采样电路时,往往会用到同步采样 ADC,一般的同步采样 ADC 有两种结构,一种是自带多个采样保持器,内置多路模拟开关和一个 AD 转换内核,通过采样保持器进行同步采集;另一种是内置多个 AD 转换内核。实际设计时应根据系统需求、通道个数、采样周期等因素综合确定系统方案。
 
2 系统方案
在某同步控制系统中,共有 42 路模拟量需采集,其中 8 路模拟量需同步采集。这 8 路模拟量要求具有 100kHz 的采样频率,其余的模拟量主要都是缓变模拟量,如温度、压力、指令等,要求采样频率约为 1kHz。
 
采用 2 片 AD7656 共用的方式构成 AD 部分,无需同步采集的模拟量通过外置多路开关进行切换,整个电路通过 FPGA 控制时序,DSP 软件设置好采样模式、采样周期、切换周期后,由逻辑管理 AD 外设,处理器无需等待,只要定时去读寄存器即可,系统架构如图 1 所示,这里 AIN32~AIN42 为 11 路同步采集模拟接口,实际使用了其中的 8 路。
 
 
3 模拟电路设计
AD7656 是一款逐次逼近型(SAR)ADC,此类 ADC 虽然不会在高速和高精度方面做到非常优化,但其往往具有精度、速度、功耗和成本的综合优势。如果要使其发挥较好的模数转换效果,应特别注意电压基准源和模拟调理电路的设计。
 
3.1 电压基准源
 
 
SAR 型 ADC 的内部原理简图如图 2 所示,在采样过程中输入引脚 AIN 要对内部采样电容充电,而在转化过程中,Vref 基准源引脚要对转化电容网络进行充电。
 
SAR-ADC 的采样保持和量化过程,也就是对内部电容的充电过程。但需要注意的是,在整个采样量化周期中,SARADC 对模拟输入电路只抽取一次电荷,而要从基准源 REF 中抽取 N 次电荷(N 等于 ADC 的位数),而且抽取的周期更短(即一个转化时钟的周期)。基准源引脚应设计有储能电容,在转换的过程中,SAR-ADC 不断从基准源处抽取电荷,随着电荷的减少,电容电压也在降低,由电容公式 C=Q/V 可知,电荷电压变化关系如图 3 所示。
 
  
 
在最坏的情况下,前端基准源没有及时给这个电容充电,这就使得转换开始到结束基准源的电压已经发生了ΔVref 的变化。要使这一变化对 ADC 无影响,就要求ΔVref<1/2LSB。
 
要满足这一边界条件,需要评估转换过程中 SARADC 所需的最大电荷量,这取决于 ADC 基准源的最大输入电流 Iref 和输入时间 t。一般最坏情况都是在最高转换速率时出现的。依据最大输入电流和输入时间,可得到转换过程所需的总电荷量,再根据电容定义公式 C=ΔQ/ΔV 可推导出电压基准源处所需储能电容的最小值为:
 
 
为留有一定裕量,进行保守设计,可将 C 取值为 Cmin 的 2 倍。
 
如果单独的外置基准源不足以及时补充 AD 转换过程中消耗的电荷,则要考虑外加运放构成 buffer。这个 buffer 不止用来增大基准源的驱动电流,其更重要的功能是快速给驱动电容充电。因此要求这个运放既具有足够高的带宽和响应速率,也要具有足够的驱动能力。
 
在该数据采集系统中,设置 AD7656 的量程为±10V,因此 1LSB=FSR/216=306μV,1/2 的 LSB 则为 153μV。AD7656 的最高采样速率为 250kb/s,所以 t=4μs。由于 AD7656 的手册中并未给出其使用外部基准源时的输入电流指标,按照此类 ADC 一般的指标估算,当 Iref=200μA 时,可得出 C 的理论最小值为:
 
 
最终该容值选定为 10μF。由于板面体积空间的限制,在基准源方面使用 AD7656 内部集成的电压基准源,同时在基准源去耦管脚处放置 10μF 电容。
 
3.2 模拟前端调理电路
 
 
模拟前端的调理电路基本原理如图 4 所示,主要包含 RC 滤波和运放。运放相当于是一个在信号源和 AIN 输入之间的 buffer。RC 滤波则提供信号滤波,同时消除采样抖动。
 
 
应该注意的是,RC 电路用于滤除信号上的高频噪声,因此其滤波带宽越低越有利于抑制高频噪声,但同时该一阶惯性环节也会延长系统的建立时间,带宽越低延迟越大,其时间常数如式(3)所示。
 
T=R×C(3)
 
为避免该环节过渡过程对后端 AD 转换器的影响,应保证 AD 采样时刻该环节输出误差在 1LSB 之内,这就与系统需达到的分辨位数有关。表 1 给出了系统需达到的位数与延迟 T 的关系。从表中可见要达到 16 位的精度,至少需要 11 倍 T 的时间才可以[4]。所以当采样周期较短时 RC 带宽不能太低,要保证 AD 采样时有足够的建立时间。
 
 
ADC 内部进行模拟信号采样时,会瞬间抽取模拟通道的电荷,产生采样抖动,RC 电路中的 C 可用于抑制这种抖动,这要求 C 具有一定的储能特性,容量应较大(nF 级)。同时采用无源 RC 时应考虑 R 对信号的分压作用,所以 R 应尽量小,但如果 R 过小,则可能引起前端运放的不稳定。可见 RC 电路的设计是一个均衡考虑各种指标的过程。最终按 AD7656 理论最高采样周期 4μs 来计算,R 选为 33Ω,C 选为 10nF。
 
 
4 数字接口设计
为兼顾系统中的同步采集模拟量和其他模拟量对采样频率要求的差别,同时避免 DSP 直接操作 AD 转换器和模拟多路开关的等待时间,在系统中通过 FPGA 对 2 片 AD7656 进行接口时序控制,同时 FPGA 内设计有控制寄存器和数据寄存器,DSP 设置好采集模式后只需按时直接读取数据寄存器即可。采集模式设计为单次采集和周期采集两种。单次采集模式主要用于单路测试,周期采集模式用于应用软件的实时控制。FPGA 逻辑主要包含两个状态机:多路开关切换状态机和同步采集状态机。切换周期和同步采样周期均通过软件设置。FPGA 逻辑的状态转换图如图 5 所示。
 
图 5 左边为多路开关状态转换图,右边为 AD 采样状态图,由于各个信号源阻抗各不相同,且模拟多路选择器具有一定的固有延迟,因此多路开关每切换一次的建立时间有所差别,经测量,信号中最长建立时间约为 40μs,但需同步采集的模拟量又要求至少每 10μs 采集一次。因此,在逻辑设计时第 1 路 AD 采集结果应考虑多路开关的延迟状态,在采集过程中,建立时间不足 40μs 的第 1 路 AD 采集数据将被丢弃,此时该路对应的数据寄存器不更新数值,在 FPGA 中,通过信号量实现状态的传递。在实际使用时将多路开关切换周期设置为 100μs,AD 采样周期设置为 10μs。
 
5 实验测试结果分析
由于该 AD 转换电路主要用于采集 AC 信号,因此用户最为关心的是该电路的动态指标。一般用于定量表示 AD 转换动态性能的常用指标有 6 个,分别是 SINAD、SNR、ENOB、THD、THD+N、SFDR 等[5]。其中 SINAD(信纳比)很好地反映了 ADC 的整体动态性能,因为它包括所有构成噪声和失真的成分,同时 ENOB(有效位数)也十分重要,它最直观地反映了 ADC 的转换质量。
 
根据 N 位 ADC 的理论 SNR 计算公式(SNR=6.02N+1.76dB),将 SINAD 带入换算可得到 ENOB,如式(4)所示:
 
 
一般测试动态指标的方法是采用固定幅值的标准正弦波信号接入 AD 转换电路,在不同激励频率下对采集到的电压数据进行 FFT 分析。需要注意的是,这种分析方法存在的缺点是容易造成频谱泄漏,因此需要选择合适的窗函数使信号截断锐角钝化,可采用加 hanning 窗的方法。
 
由于采样频率最高时 SINAD 指标最差,因此进行测试时采样频率按照系统使用的最大采样频率 100kHz 进行测试。
 
在常温实验室环境下,使用 HP 公司出品的 HP33120a 型信号发生器,发出 5Vpp 标准正弦波激励被测通道。为降低 FFT 点数带来的噪底,利用板上 256KB 容量 NVRAM 的存储功能,将采样点数取为 218 个。采用 ADI 公司的 VisualAnalog 分析工具对数据进行分析。经过 10 次测量,其平均 SINAD 为 76.4dB,ENOB 为 12.4。由此可见,由于同步开关噪声、电源去耦等原因导致 ENOB 指标较为一般。这一指标在工程上属可接受范围,如进一步改进可考虑使用高精度、高稳定度的外部基准源代替 ADC 内部基准源,同时在电源去耦[7]、PCB 走线等方面继续优化。
 
6 结束语
针对多路模拟量的同步采集问题,本文研究了 SAR 型 ADC 的设计要点之后设计了一种使用 FPGA 控制 AD7656 的 16 位同步 AD 转换系统,该系统可实现模拟信号的实时同步采样,FPGA 的状态机设计兼顾了同步采集量和非同步采集量的采集,可避免处理器过多的操作和等待外设。经测试该系统具有较好的动态指标,目前已在工程中应用,达到了多路同步精密实时采样的效果。