第33卷 第9期 2011-9(下) 【65】
收稿日期:2011-05-23
作者简介:�涵妤(1979-),女,江苏南京人,实验师,
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
硕士,研究方向为嵌入式系统。
0 引言
随着信息技术的飞速发展和数据采集系统的
广泛应用,数据采集系统的性能要求也越来越
高。在图像处理与音频信号处理等高速、高精度
和实时性强的处理中,高性能的数据采集系统尤
为重要。
数据采集系统实时性与同步性的要求既限制
了低速单片机数据采集系统的使用,也限制了基于
DSP 频繁中断的数据采集系统的采纳。如采用可编
程逻辑器件设计数据采集系统具有开发周期短、集
成度高、设计费用低、工作频率高、功耗低、编程
配置灵活等优点。本文介绍一种基于 FPGA 的高
精度多通道的数据采集系统,并对这个系统的高精
度、多通道和高速度等性能进行了分析。
1 系统概述
基于 FPGA 的高精度多通道采集系统(如图
1 所示)由多路复用选择器、模数转换器、高速精
密放大器、数模转化器和 FPGA 组成。多路模拟
信号由多路复用选择器引入,经选择后通过高速
精密放大器进行滤波处理,然后再进入高速精密
模数转换器进行数据转换,在此过程中,模拟输
入信号选择的控制和模数转换器的控制均由 FPGA
实现,而转换后的数字信号通过 FPGA 传输给处
理模块。数字控制电机转动过程中,数字控制信
号通过数模转换模块转换成为模拟信号。数模转
换模块主要是和模数转换模块进行联调来证明整
个采集系统具有高精度性能。
图1 数据系统采集框图
2 系统硬件结构
2.1 多路复用选择器
多路复用选择器采用的是 ADI 公司生产的
ADG1406,包括 16 个单端通道。它可以将其中一
个输入切换到公共输出,具体由 4 位二进制地址
线决定(A0、A1、A2 和 A3)。这款器件 EN 引脚
高低电平可以用来使能或禁用器件,禁用时所有
通道都被关断;启用时每个通道都执行双向操作,
输入信号范围可扩展至电源电压。这些开关具有
超低的导通电阻以及导通电阻平坦度,是低失真
度至关重要的数据采集与增益开关应用的理想解
决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,iCMOS® 架构具有超低功耗性能 [1]。
采集系统做了正负 10V-0V 的标定输入和 10
个单端模拟输入通道,其中 IN1-IN9 为模拟输入。
正负 15V 电源供电,每个电源引脚上要接一个
0.1uF 的去耦电容,EN 引脚接在高电平上。FPGA
的 I/O 脚与 A0、A1、A2 和 A3 相连,通道选择的
控制是通过写逻辑来完成的,D 引脚是输出引脚。
2.2 高速精密放大器
OPA827 是一款 JFET 输入运算放大器,其具
基于FPGA的高精度多通道采集系统及其性能分析
Research on performance of data acquisition system based on FPGA
洑涵妤
FU Han-yu
(江苏技术师范学院 计算机工程学院,常州 213001)
摘 要: 本文先将多路复用选择器作为模拟信号的输入端口来实现多路模拟信号的采集,再通过信号
滤波处理来确保最有效的模拟信号进入模数转换器,转换后输出的数字量暂存在FPGA的缓存
区中。整个过程均由FPGA来控制的。最后,采用DAC-ADC间联调,通过比较可以看出ADC
的最终结果在14位。
关键词: 数据采集系统;高精度;数据转换;FPGA
中图分类号:TP391 文献标识码:A 文章编号:1009-0134(2011)9(下)-0065-04
Doi: 10.3969/j.issn.1009-0134.2011.9(下).21
【66】 第33卷 第9期 2011-9(下)
有低功耗、超低噪声、小封装尺寸以及高带宽等
特性和较好的 AC 性能与 DC 精度。尤其 18MHz
GBW、22V/us 压摆率以及 1kHz 频率下的 0.0004%
总谐波失真(THD)的 AC 参数充分保证了系统的
高速性 [2]。
OPA827 与电阻 R17、电阻 R18 和电容 C3 组
成一个单极点反相有源滤波器来实现二阶滤波,
其具有较低的与电阻 R17 相同的输出阻抗 [3]。采
用±15V 电源供电,分别在每个电源引脚接上
0.1uF 和 10uF 的去耦电容。从 ADG1406 出来的模
拟信号由 Ain 进入滤波器,由 Ain_opa 输出。
2.3 A/D模块
ADS8515 是 16 位并行 A/D
转换器,其采样率为 250KSPS。
它属于逐次逼近寄存器型(简称
SAR 型)A/D 转换器,如图 2 所
示。其内部通常具有采样保持器,
转换速率快 [4]。Vin 为信号输入
引脚,A0~A15 为转换输出的数
字信号。采用 3.3V 的电源供电,
不需要再通过电平转换器件即可
以实现器件与 FPGA的直接相连。
2.4 D/A模块
DAC8822 是双路,并行输入
的 16 位乘法数模转换器,2.7V-
5.5V 的单电源供电,模数转换器
输出电流的满偏量程由其外部参
考电压的大小决定。内部电阻(RFB)提供温度跟
踪来得到满偏量程,同时并行输入接口决定了器
件高速通信 [5]。
暂存于 FPGA 的数字信号从 D0-D15 流入模数
转换模块。FPGA 通过对 A0、A1 写逻辑来实现输
出通道选择,同时对nWR和LDAC进行时序控制。
此外,为了得到更好的输出模拟信号性能,在输
出后端加入一个电压跟随器 OPA4277,将原电流
输出转换成电压输出,如图 3 所示。
2.5 FPGA
FPGA 采用 ALTERA 公司 Cyclone III 系列的
图2 ADS8515硬件接线图
图3 模数转换模块硬件连线图
EP3C16F484C8N,静态功耗小于 0.25 瓦。
采用 +3.3V、+2.5V、+1.2V 分别给不同区
进行供电。灵活的 I/O 控制使得编程简化,
电路设计方便 [6]。采用 AS 和 JTAG 配置模
式,配置芯片是 EPCS16SI8N,器件的时钟
配置为 50MHz。
3 系统软件设计
采用 Altera Quartus II9.0 编写系统软件,
用硬件语言 verilog 来实现。在这个采集系
统中,要对多路复用选择器、D/A 转换器和
A/D 转换器进行编程。通过对 ADG1406 的
A0、A1、A2、A3 进行写逻辑,从而决定
输入通道的选择,可以分别选择 0000-1111
等 16 个通道的选择。
第33卷 第9期 2011-9(下) 【67】
10ns)。第二步是将 置为低电平,tWR(最小值
10ns)之后再将其置为高电平。然后,再在 tLWD(最
小值 10ns)之后将 LDAC 置为高电平,并且保持
至少 tLDAC(最小值 10ns)时间。第三步是再将其
置为低电平。这就是 D/A 转换器的编程过程。
4 系统实验结果及其分析
在测试过程中,为了验证本数据采集系统的
性能,将 D/A 转换器的输出端接到多路复用选择
器的输入端,即将 D/A 转换器的模拟输出作为 A/
D 转换器的输入,然后将 D/A 转换器的数字量设
定值和 A/D 转换器的输出结果作比较。将 D/A 转
换器的模拟输出值转化成输入十六进制数字量,与
实测结果十六进制数字量进行比较。一共分两组通
过最小二乘标定将实测结果向理论结果逼近,一组
测试值为正,一组为负,其采集值如
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
2 所示。
表2 30个数据采集值
DAC输入
数字量
ADC输出
数字量 DAC
输出
DAC输
出反向后
理论值
标定值
理论与
标定
差值十六进制 十进制
0800 7B16 31510 -9.3754 30721 30715 6
1000 72F0 29424 -8.7505 28674 28677 -3
1800 6AB8 27320 -8.1256 26626 26622 4
2000 628E 25230 -7.5006 24578 24581 -3
2800 5A57 23127 -6.8757 22530 22527 3
3000 5224 21028 -6.2507 20482 20477 5
3800 4A00 18944 -5.6259 18435 18442 -7
4000 41CC 16844 -5.0010 16387 16391 -4
4800 3992 14738 -4.3760 14339 14334 5
5000 3170 12656 -3.7510 12291 12301 -10
5800 2931 10545 -3.1261 10244 10239 5
6000 210F 8463 -2.5011 8196 8205 -9
6800 18DD 6365 -1.8762 6148 6156 -8
7000 109D 4253 -1.2511 4100 4094 6
3.1 A/D转换器的编程
对 A/D 转换器的编程,主要是对 A/D 转换器
的控制信号进行写逻辑。如图 4 所示,为以
信号作为 A/D 转换器数据转换和数据读取的控制
时序图。首先,检测 和 的状态,直到
处于高电平和 处于低电平;然后 下
降沿触发 A/D 转换器开始转换。当 A/D 转换器开
始转换时, 变为低电平,直到转换结束。在
和 处于低电平至少 tw1(典型值为 40ns)
时间后,置为高电平。在转换结束后,器件内部
寄存器会自动进行更新, 变为高电平。对于
数据的读取,同样需要检测 和 的状态,
直到 和 都处于高电平,此时以 的
下降沿触发数据读取。
图4 为转换和读取控制的时序图
3.2 D/A转换器的编程
对于 D/A 转换器的编程主要是要对 、A0/1
和 LDAC 的逻辑控制。A0/1 值是由 A0 和 A1 的值
决定的,其决定着 D/A 转换器输出通道选择情况,
如表 1 所示。
表 1 D/A转换器输出通道选择情况
A0 A1 输出通道选择
0 0 通道A
0 1 无
1 0 通道A和通道B
1 1 通道B
是写输入的控制信号,低电平有效;LDAC
是 D/A 转换器控制加载。
第一步是检测 和 LDAC 的值,如果 的
值不是 1,且 LDAC的值不是 0,则仍旧接着检测,
直到它们的值都符合上面的要求,即 的值是 1,
且 LDAC 的值是 0 时,才开始往下进行,如图 5
所示。在给定 A0/1 值之后,延时至少 tAS(最小值
图5 数模转换器编程时序图
【68】 第33卷 第9期 2011-9(下)
器与数模转换器之间相互联调,可以在没有高精
密电源和稳定模拟输入信号的情况下,对采集系
统进行有效的评估。最后通过对结果的比较清楚
地得到采集系统的最终精度 14 位。
参考文献:
[1] ADG1406,16-Channel,Differential 8-Channel, iCMOS
Multiplexers [Z]. ADI.Inc.
[2] Bonnis Bake著, 李喻奎, 译. 嵌入式系统中的模拟设计
[M]. 北京:北京航空航天大学出版社, 2006
[3] OPA827 Low-Noise, High-Precision, JFET-Input
OPERATIONAL AMPLIFIER[Z]. TI. Inc. 2009
[4] ADS8515 16-BIT 250-KSPS SAMPLING CMOS
ANALOG-TO-DIGITAL CONVERTER [Z] .TI. Inc. 2005.
[5] DAC8822 16-Bit, Dual, Parallel Input, Multiplying Digital-
to-Analog Converter[Z].TI. Inc. 2008.
[6] Cyclone III FPGA Family datasheet[Z]. Altera, Inc. 2008.
DAC输入
数字量
ADC输出
数字量 DAC
输出
DAC输
出反向后
理论值
标定值
理论与
标定
差值十六进制 十进制
7800 086D 2157 -0.62627 2052 2047 5
8000 003C 60 -0.001310 4 -1 5
8800 F80E 63502 0.62341 63493 63486 7
9000 EFE9 61417 1.2484 61445 61449 -4
9800 E7AB 59307 1.8735 59397 59388 9
A000 DF88 57224 2.4986 57349 57353 -4
A800 D75B 55131 3.1236 55301 55308 -7
B000 CF24 53028 3.7485 53253 53254 -1
B800 C6F9 50937 4.3734 51205 51211 -6
C000 BEC7 48839 4.9983 49158 49161 -3
C800 B690 46736 5.6232 47110 47107 3
D000 AE66 44646 6.2482 45062 45065 -3
D800 A629 42537 6.8731 43014 43005 9
E000 9E05 40453 7.4982 40966 40969 -3
E800 95D3 38355 8.1231 38918 38919 -1
F000 8D9E 36254 8.7480 36871 36867 4
利用 MATLAB 绘图如图 6、图 7 和图 8 所示。
图 6 为输入模拟电压值与实测 AD 输出的曲线图;
图 7 为未标定 AD 输出值与理论值的十六进制差
值散点图;图 8 为最小二乘标定后 AD 输出值与
理论值的十六进制差值散点图。
图7 未标定-AD输出值与理论值的十六进制差值散点图
图8 最小二乘标定后-AD输出值与理论值的十六进制
差值散点图
续表
图6 表示输入模拟电压值与实测AD输出的曲线图
5 结论
为了大大增加输入通道,采用多路复用选择
器作为模拟信号输入前段;FPGA 的电路设计和编
程由于灵活多变的 I/O 而显得简单。采用模数转换