论文部分内容阅读
摘 要:本文采用高速高精度AD集成电路,设计了一种全新的AD峰值采样系统。本文分析了高速AD峰值采样系统的工作原理及电路组成,详细的介绍了前置放大器设计、AD采集电路设计、FPGA对AD数据的控制和采集,并对算法实现进行分析。
关键词:峰值采样;AD;FPGA;采集算法
1 AD峰值采样系统的工作原理
AD峰值采样系统的电路主要由FPGA和AD集成芯片组成,用于对各种信号进行峰值采样以及算法处理,从而识别出信号峰值。
输入端将信号源传送到前置放大器中,按比例转换为AD芯片需要的电压信号并将其送入AD采集电路的采集输入端,通过FPGA电路控制AD芯片并采集数据,对AD数据进行算法分析,得出当前信号的峰值(如图1所示)。
2 AD峰值采样系统的电路设计
本设计中的AD峰值采样系统电路使用了高速的放大器OPA354、高速AD芯片ADS5562和400MHz工作频率的FPGA芯片EP2C5T144C8N。
2.1 前置放大电路
为满足数据采集的速度,本设计使用了高速的AD采集芯片和高速的前置放大器。TI的高速放大器芯片OPA354,是250MHz轨到轨 I/O CMOS 单路运算放大器。其电路如图2所示。
通过调节VR1,VR2两个电阻的阻值,将输入电压信号Vos=0~10V转化成0~3.6V的电压信号。
2.2 FPGA系统
FPGA系统采用ALTERA公司的EP2C5T144C8N芯片,此芯片的系统工作频率能够达到400MHZ,远超通常使用的单片机的速度,并由于特殊的架构和程序编程方式,为数据采集和分析提供超高速的计算能力。芯片采用并行编写程序以及对外设操作。AD芯片通过IO口线与FPGA相连,对应的采集口线设置为输入模式。使用并行总线与MCU进行通信,实现相应采集功能,进行数据传输和控制。
2.3 AD采集电路
在本系统中AD芯片选用TI公司的ADS5562芯片,具有如下优点:
(1)采样速率:80Msps
(2)84.3dB SNR 和 85dB SFDR
(3)250MHz 满功率带宽 S/H (采样及保持)
(4)单 3.3V 电源
(5)功耗:865mW
80Msps采集速率意味着可以在1μs的时间内采集信号80次,可以满足此范围内的信号的峰值采集要求。其精度为16位,4096通道中精度达到0.025%,16384通道的精度可以达到0.004%,精度也完全符合要求。
3 算法
使用AD峰值采样系统可以呈现出信号的波峰及其具体形状,该算法原理如上。
(1)、在FPGA内部开辟一个由10个16位整数组成的buff(定为Data[10]),使用先进先出的方法,后面的数据不断替换最早的数据,往复如此。这样始终保持10个数组中永远都是当前最新的数据, AD芯片在1μs的时间内可采集80个数据点,据此判断一个波峰判断大概需要0.125μs即可。
如下流程:
第N 点数据时:Data[0]=N;Data[1]=N-1;Data[2]=N-2;……Data[9]=N-9;
第N+1点数据时:Data[0]=N+1;Data[1]=N;Data[2]=N-1;……Data[9]=N-8;
......
第N+9点数据时:Data[0]=N+9;Data[1]=N+8;Data[2]=N+7;……Data[9]=N;
(2)、判断向上的趋势并设立标志。
第N 点数据时:判断如果Data[0]=N > Data[1]=N-1 > Data[2]=N-2 >……Data[9]=N-9;
第N+1点数据时:判断如果Data[0]=N+1 > Data[1]=N > Data[2]=N-1 >……Data[9]=N-8;
.......
第N+9点数据时:判断如果Data[0]=N+9 > Data[1]=N+8 > Data[2]=N+7 >……Data[9]=N;
当第N+9点数据时,判断成立,则信号波形的向上的趋势成立,设立标志位M点。
(3)、如果标记有向上趋势的标志位,判断向下的趋势并查找在向下趋势成立之前的最大值,就是波峰的位置,并清除向上趋势标志位。
第M+K 点数据时:
判断如果Data[0]=M+K < Data[1]=M+K-1 < Data[2]=M+K-2 <……Data[9]=M+K-9;
判断从第M点开始那个值最大,并记录为Max_DATA。
第M+K+1点数据时:
判断如果Data[0]=M+K+1 < Data[1]=M+K < Data[2]=M+K-1 <……Data[9]=M+K-8;
判断从第M点开始那个值最大,并记录为Max_DATA。
......
第M+K+9点数据时:
判断如果Data[0]=M+K+9 < Data[1]=M+K+8 < Data[2]=M+K+7 <……Data[9]= M+K;
这样在第M+K+9点数据时,信号波形为向下趋势,中间已经找到最大波峰值=Max_DATA。同时通过标志位M点还可以知道颗粒宽度=((K+9)/80) μs。
4 结论
使用高速AD峰值采样系统可以大幅提高信号采样的精度,同时能够给出信号的具体形态和信号源发出的信号分布。能够精确的给出信号源的峰值数据。可以将此系统广泛的应用到各种信号分析、峰值采样设备中。
参考文献
[1] TI,ADS5562,16-Bit 40/80 MSPS ADCs WITH DDR LVDS/CMOS Outputs.
[2] TI,OPA354,250MHz, Rail-to-Rail I/O, CMOS Operational Amplifiers.
[3] ST,STM32F103VCT, Mainstream Performance line, ARM Cortex-M3 MCU with 512 Kbytes Flash, 72 MHz CPU, motor control,USB and CAN.
[4] Altera, FPGA Cyclone II Family 4608 Cells 402.58MHz 90nm Technology 1.2V 144-Pin TQFP.
关键词:峰值采样;AD;FPGA;采集算法
1 AD峰值采样系统的工作原理
AD峰值采样系统的电路主要由FPGA和AD集成芯片组成,用于对各种信号进行峰值采样以及算法处理,从而识别出信号峰值。
输入端将信号源传送到前置放大器中,按比例转换为AD芯片需要的电压信号并将其送入AD采集电路的采集输入端,通过FPGA电路控制AD芯片并采集数据,对AD数据进行算法分析,得出当前信号的峰值(如图1所示)。
2 AD峰值采样系统的电路设计
本设计中的AD峰值采样系统电路使用了高速的放大器OPA354、高速AD芯片ADS5562和400MHz工作频率的FPGA芯片EP2C5T144C8N。
2.1 前置放大电路
为满足数据采集的速度,本设计使用了高速的AD采集芯片和高速的前置放大器。TI的高速放大器芯片OPA354,是250MHz轨到轨 I/O CMOS 单路运算放大器。其电路如图2所示。
通过调节VR1,VR2两个电阻的阻值,将输入电压信号Vos=0~10V转化成0~3.6V的电压信号。
2.2 FPGA系统
FPGA系统采用ALTERA公司的EP2C5T144C8N芯片,此芯片的系统工作频率能够达到400MHZ,远超通常使用的单片机的速度,并由于特殊的架构和程序编程方式,为数据采集和分析提供超高速的计算能力。芯片采用并行编写程序以及对外设操作。AD芯片通过IO口线与FPGA相连,对应的采集口线设置为输入模式。使用并行总线与MCU进行通信,实现相应采集功能,进行数据传输和控制。
2.3 AD采集电路
在本系统中AD芯片选用TI公司的ADS5562芯片,具有如下优点:
(1)采样速率:80Msps
(2)84.3dB SNR 和 85dB SFDR
(3)250MHz 满功率带宽 S/H (采样及保持)
(4)单 3.3V 电源
(5)功耗:865mW
80Msps采集速率意味着可以在1μs的时间内采集信号80次,可以满足此范围内的信号的峰值采集要求。其精度为16位,4096通道中精度达到0.025%,16384通道的精度可以达到0.004%,精度也完全符合要求。
3 算法
使用AD峰值采样系统可以呈现出信号的波峰及其具体形状,该算法原理如上。
(1)、在FPGA内部开辟一个由10个16位整数组成的buff(定为Data[10]),使用先进先出的方法,后面的数据不断替换最早的数据,往复如此。这样始终保持10个数组中永远都是当前最新的数据, AD芯片在1μs的时间内可采集80个数据点,据此判断一个波峰判断大概需要0.125μs即可。
如下流程:
第N 点数据时:Data[0]=N;Data[1]=N-1;Data[2]=N-2;……Data[9]=N-9;
第N+1点数据时:Data[0]=N+1;Data[1]=N;Data[2]=N-1;……Data[9]=N-8;
......
第N+9点数据时:Data[0]=N+9;Data[1]=N+8;Data[2]=N+7;……Data[9]=N;
(2)、判断向上的趋势并设立标志。
第N 点数据时:判断如果Data[0]=N > Data[1]=N-1 > Data[2]=N-2 >……Data[9]=N-9;
第N+1点数据时:判断如果Data[0]=N+1 > Data[1]=N > Data[2]=N-1 >……Data[9]=N-8;
.......
第N+9点数据时:判断如果Data[0]=N+9 > Data[1]=N+8 > Data[2]=N+7 >……Data[9]=N;
当第N+9点数据时,判断成立,则信号波形的向上的趋势成立,设立标志位M点。
(3)、如果标记有向上趋势的标志位,判断向下的趋势并查找在向下趋势成立之前的最大值,就是波峰的位置,并清除向上趋势标志位。
第M+K 点数据时:
判断如果Data[0]=M+K < Data[1]=M+K-1 < Data[2]=M+K-2 <……Data[9]=M+K-9;
判断从第M点开始那个值最大,并记录为Max_DATA。
第M+K+1点数据时:
判断如果Data[0]=M+K+1 < Data[1]=M+K < Data[2]=M+K-1 <……Data[9]=M+K-8;
判断从第M点开始那个值最大,并记录为Max_DATA。
......
第M+K+9点数据时:
判断如果Data[0]=M+K+9 < Data[1]=M+K+8 < Data[2]=M+K+7 <……Data[9]= M+K;
这样在第M+K+9点数据时,信号波形为向下趋势,中间已经找到最大波峰值=Max_DATA。同时通过标志位M点还可以知道颗粒宽度=((K+9)/80) μs。
4 结论
使用高速AD峰值采样系统可以大幅提高信号采样的精度,同时能够给出信号的具体形态和信号源发出的信号分布。能够精确的给出信号源的峰值数据。可以将此系统广泛的应用到各种信号分析、峰值采样设备中。
参考文献
[1] TI,ADS5562,16-Bit 40/80 MSPS ADCs WITH DDR LVDS/CMOS Outputs.
[2] TI,OPA354,250MHz, Rail-to-Rail I/O, CMOS Operational Amplifiers.
[3] ST,STM32F103VCT, Mainstream Performance line, ARM Cortex-M3 MCU with 512 Kbytes Flash, 72 MHz CPU, motor control,USB and CAN.
[4] Altera, FPGA Cyclone II Family 4608 Cells 402.58MHz 90nm Technology 1.2V 144-Pin TQFP.