毕业设计论文多路模拟信号采集电路设计管理资料Word文档格式.docx
《毕业设计论文多路模拟信号采集电路设计管理资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计论文多路模拟信号采集电路设计管理资料Word文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
随着电子技术和计算机技术的不断发展,高性能DSP芯片层出不穷,新型高速、高分辨率的数据转换部件不断涌现。
数据采集系统的接口方式也己经拓展到ISA、PCI、USB、EIEEl394及VXI、PXI等多种总线接口,USB总线由于具有安装方便、高带宽、易扩展等优点,其中USB2.0标准有着高达480Mbs的理论传输速率(USB3.0标准也已经发布),已经逐渐成为计算机接口的主流。
目前形成了以插卡式和便携式为主的两种产品,数据采集系统可分为基于板卡的集中式数据采集系统和基于分布式的数据采集系统。
集中式的基本方式是采用数据采集卡进行数据采集,将一块基于ISA或PCI的板卡插入PC机上,把外部信号引至计算机的端口然后接入数据采集卡,通过定制的软件就可以进行采集,其显著优点是成本较低、速度块。
但是,采用板卡安装麻烦、价格昂贵、易受干扰,同时由于计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。
分布式的基本方式之一是智能采集模块记录信号,通过一些通用总线如RS232,RS485进行传送,或者采用基于现场总线的数据采集模块,流行的现场总线如CAN总线等,通过现场总线将智能采集模块引入计算机,上位机通过定制的软件和智能模块通信。
它的优点是易维护、布线简单、可靠性高;
缺点是由于接口总线的限制使得采样速度远远低于集中式数据采集系统。
随着接口总线的进步,分布式数据采集是数据采集系统发展的一个重要趋势[4]。
课题的提出与任务要求
数据采集存储系统目前在环境感知,图像处理、语音识别、通信等领域有着广泛的应用,它用于实时、高速地采集和记录应用领域的各项参数信息。
随着应用领域的不断深入,信号分辨率、采样率,数据存储容量,存储时间等要求都大幅提升,设备可靠性和实时性要求也越来越高,因此高精度、高可靠性的大容量数据采集存储系统就显得尤为重要,而且抗冲击干扰能力、可扩展性及可移植性等方面因素都必须严格考虑处理[5][6]。
虽然目前市场上有很多不同类型的数据采集产品,但这些产品还存在着诸如功能单一,通用性差,操作复杂,不能适用于差别很大的环境等问题,这些都严重的限制了产品的应用范围,这迫使我们必须从实际出发,设计一套速度高,采集精度高,应用范围广的素具采集系统,本课题正是为实现这一目的而提出。
本课题的主要目的就是:
对16路模拟信号进行AD转换,通过FPGA将转换得到的数据存储到FLASH存储器中。
并能通过FPGA读出FLASH存储器中的数据。
技术要求如下:
(1)信号采集电平范围:
0-5VDC;
(2)采样位数:
16bits
(3)每通道采样率:
40KHz;
(4)能够完成FLASH的读写、擦除操作。
2系统硬件电路的设计
根据电路参数及其各项要求,提出整体设计方案,。
整体设计方案
以上系统由多路模拟量数据采集模块、FPGA中心控制模块、flash存储模块以及其它外围辅助电路组成。
多路模拟量数据采集模块是此设计中的重要环节,决定着获取信号的质量和采集测试的精度。
模拟信号的采集电路通常由模拟多路开关、电压跟随器、A/D转换器等部分组成。
其中模拟多路开关的作用是切换各路输入信号,使得不同通道的模拟量被有序地送入A/D转换器;
电压跟随器用来对所采集的模拟量进行信号调理,从而获得更准确的被测量;
A/D转换器是整个系统性能优异与否的关键,它的性能将直接影响整个数据采集系统。
FPGA中心控制模块由FPGA及外围电路组成。
FPGA是控制模块的核心部分,主要完成通道选择、A/D转换器的时序控制、数据的存储以及相应的控制逻辑等控制任务。
FLASH存储器模块在系统中主要完成数字信息的存储。
当A/D转换结束后,FPGA给存储模块一个写信号,将转换后的数据存入FLASH存储器中。
根据整体设计方案,将各个模块细化,
系统整体结构图
总结如下:
模拟信号输入端的输入信号为需要采集的模拟信号,一般由传感器提供;
信号调理电路的主要作用是滤掉干扰,使传感器输入的被测模拟量更加准确;
A/D转换使模拟量转换成数字量,以便实现数据采集的目的;
FPGA提供整个系统的控制信号,让整个系统正常有序的工作;
FIFO用来提供对采样后的数据进行缓存。
数据采集存储系统工作可靠与稳定主要取决于信号采集、信号调理,数据传输以及数据存储四大模块设计。
数据采集与存储控制模块均采用Xilinx公司的Spartan-Ⅱ系列FPGA中的XC2S100实现。
它作为控制器具有时钟频率高,编程配置灵活,内部延时小,运行速度快,I/O端口多,配以IP软核,本身集采样控制、处理、缓存、传输控制、通信于一个芯片内,各方面均满足系统对实时性和同步性的要求[7]。
信号采集及调理模块
信号采集模块FPGA对其外围设备的控制全部通过I/O端口进行控制,极大地提高了系统的采集速度。
:
前端输入电路
模拟信号主要测量的是冲击量、振动量、缓变(温度、压力等)和系统电量参数信息,并且留有备用采集通道。
冲击、振动、缓变模拟量接入由单电源轨至轨运算放大器OPA4340构成的电压跟随器,16路模拟量数据通过信号放大调理电路接入一片16路高速模拟选择开关ADG706,通过中控FPGA选通将所选模拟量输入16位高速逐次逼近型模数转换器ADS8402,将模拟信号转换为数字信号;
ADG706模拟开关的切换时间42ns,16路切换频率至少能可靠满足采样频率大于400KHz的模拟量信号。
ADS8402采样转换时间仅需610ns,,转换时钟依靠内部产生,避免因数字接口以及参考时钟和外部转换器之间产生的交界面抖动。
数字接口提供8位和16位两种选择增加了与控制器连接的灵活性,不受管脚资源的限制。
本设计使用ADS8402内部参考电压Vref=作为基准,但是16路模拟量输出电压范围均为0~5V;
超过了ADC的输入电压量程,需要线性运算电路变换由模拟开关ADG706输出的信号幅度以适合ADS8402的输入信号范围[8][9][10]。
从传感器输入的所有模拟信号范围都是0—5V,输入阻抗要求大于1M欧,由于电源模块的输出电压只有5V,所以为了保证信号的完整性,设计中选用了具有轨对轨输出特性的运算放大器0PA4340,并进行了适当的分压及阻抗匹配处理,对输出也进行了适当的滤波处理,。
单路信号调理电路
通道选择电路
设计中要求采集16路模拟信号,为降低系统成本和减小体积,采用公共A/D转换电路,用1片16选1的模拟多路开关来实现通道的选取。
模拟多路开关的选择
选择多路开关时,通常考虑以下几个参数:
(1)通道数量:
通道数量对切换开关传输被测信号的精度和切换速度有直接的影响,因为通道数目越多,寄生电容和泄漏电流通常也越大。
平常使用的模拟开关,在选通其中一路时,其它各路并没有真正断开,只是处于高阻状态,仍存在漏电流,对导通的信号产生影响;
通道越多,漏电流越大,通道间的干扰也越多。
(2)导通电阻:
理想的多路开关起导通电阻应为零,断开电阻应为无穷大,但现实中的模拟开关达不到这一要求。
模拟开关的导体电阻会使信号电压产生跌落,尤其是和低阻抗器件串联使用的时候压降会相对较大。
所以在选择开关时应考虑导通电阻,尤其是在使用低阻抗器件的时候。
(3)开关时间:
由于模拟开关器件中有导通电阻且有寄生电容,这就会产生一定的导通和断开时间,所以在选择开关时应考虑开关时间,并选择开关时间较小的器件。
(4)泄漏电流:
指开关断开时漏极电流。
一个理想的开关要求导通时电阻为零,断开时电阻趋于无限大,漏电流为零。
而实际开关断开时为高阻状态,漏电流不为零,常规的CMOS漏电流约1nA。
如果信号源内阻很高,传输信号是电流量,就特别需要考虑模拟开关的泄漏电流,一般希望泄漏电流越小越好。
(5)切换速度:
对于传输快速变化的电路,要求开关的传输速度高,同时应考虑其频率不大于A/D的转换频率,从而使得电路性能更优。
(6)器件封装:
常用的模拟开关有DIP和SO两种封装,可以根据实际需要选择[11]。
ADG706的运用
本设计选用的ADG706是16路模拟选择开关,内部包括16路模拟开关阵列,用于通道选择的数字译码电路和使能输入控制。
ADG706的四位地址位A0、A1、A2、A3的输入决定16路输入信号中要选择输出的通道号,使能端EN控制ADG706是否处于工作状态。
EN信号为高电平时,模拟开关有效。
其真值表如下:
ADG706真值表
A3
A2
A1
A0
EN
选通
.
X
无
1
9
2
10
3
11
4
12
5
13
6
14
7
15
8
16
ADG706采用28管脚的封装形式TSSOP,。
模拟开关电路
S1~S16接外部的16模拟信号,A0、A1、A2、A3接FPGA给的地址信号,EN接使能控制信号,VSS接地,D为输出端,输出的信号经调理后送给模数转换器。
当EN信号为高电平时,模拟多路开关选通。
A/D转换电路
A/D和D/A转换器是现代数字系统中的重要组成部分,应用日益广泛。
D/A转换器的分辨率和转换精度均与转换器的位数有关,位数越多,分辨率和转换精度均越高。
常用的集成ADC和DAC种类很多,其发展趋势是高速度、高分辨率、易与计算机接口,以满足各个领域对信息处理的要求。
A/D转换器的分类及其特点
目前A/D转换器的种类虽然很多,但从转换过程来看,可以归结成两大类,一类是直接A/D转换器,另一类是间接A/D转换器。
在直接A/D转换器中,输入模拟信号不需要中间变量就直接被转换成相应的数字信号输出,如计数型A/D转换器、逐次逼近型A/D转换器和并联比较型A/D转换器等,其特点是工作速度高,转换精度容易保证,调准也比较方便。
而在间接A/D转换器中,输入模拟信号先被转换成某种中间变量(如时间、频率等),然后再将中间变量转换为最后的数字量,如单次积分型A/D转换器、双积分型A/D转换器等,其特点是工作速度较低,但转换精度可以做得较高,且抗干扰性能强,一般在测试仪表中用得较多。
AD分类图
A/D转换器的主要技术指标
分辨率:
指数字量变化一个最小量时模拟信号的变化量,定义为满刻度电压与
的比值。
分辨率又称精度,通常以数字信号的位数来表示。
转换速率:
是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。
采样时间则是指两次转换的间隔。
为了保证转换的正确完成,采样速率必须小于或等于转换速率。
量化误差:
量化误差由于AD的有限分辨率而引起的误差,即有限分辨率AD的阶梯状转移特性曲线与无限分辨率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。
通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。
偏移误差:
偏移误差指输入信号为零时输出信号不为零的值,可外接电位器调至最小。
满刻度误差:
满刻度误差指满度输出时对应的输入信号与理想输入信号值之差。
线性度:
线性度是指实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。
其他指标还有:
绝对精度,相对精度,微分非线性,单调性和无错码,总谐波失真和积分非线性[12]。
模数转换器ADS8402
ADS8402是一种16位精度,,。
该器件包括一个16位电容式SAR与固有的采样保持的A/D转换器。
提供了一个全16位和一个8位的接口方案,数据读取使用两个8位读周期。
该ADS8402有一个单极差分输入。
采用48引脚的TQFP封装,工业级芯片的温度范围为-40℃至85℃。
该ADS8402是一种高速逐次逼近寄存器(SAR)类比数位转换器(ADC)。
该架构基于电荷再分配,其中内在地包含一个采样/保持功能。
转换时钟由内部产生。
其转换时间为610ns,。
模拟输入提供两个输入引脚:
+IN和-IN。
当转换开始时,内部电容阵列采样这些引脚的差分输入。
参考电压:
,当使用内部参考电压时,引脚1(REFOUT)与引脚2(REFIN)之间应该用导线连接,引脚2(REFOUT)与引脚47和48(REFM)()。
转换器的内部参考电压为双缓冲,如果外部使用参考电压,第二个缓冲区将隔离外部参考电压和模数转换器。
此缓冲区也可以用作在转换过程中对所有的模数转换器电容器充电。
如果使用外部参考电压,则引脚2(REFOUT)可以悬空。
使用内部参考
模拟输入:
当转换器进入保持模式,电压之间的差额+IN和-IN是在内部电容阵列捕获输入。
双方+IN和-V范围和Vref+V的输入范围被限制在-VREF到Vref的。
输入的模拟输入电流取决于以下因素:
采样率、输入电压和电压源阻抗。
实际上采样期间输入ADS8402的电流是为内部电容阵列充电的,当电容充电完成,就没有了输入电流。
模拟输入电压必须在采集时间(150ns)内对16位的输入电容(25pF)充电。
当工作在保持模式时,输入阻抗大于1GΩ。
为了保证转换器的线性度,输入的模拟电压的绝对值应在指定的范围内,否则该转换器的线性度将可能不符合规格。
调理后的输出电阻应与输入端相匹配,否则,两个输入端+IN和-IN将会有不同的设定时间,这可能会导致失调误差,增益误差和线性误差,引起温度和输入电压的变化。
,单端输入源可能会被转换为差分信号。
ADS8402的典型应用
ADS8402使用的是内部振荡器产生的时钟,具有固定的最高转换频率(),不需要输入外部时钟。
当CS为低时(CS低电平有效)转换是通过将CONVST引脚为置低电平超过20纳秒(20ns后CONVST引脚可以为高)。
CONVST下降沿使得ADS8402从采样模式切换到保持模式。
CONVST变低时,BUSY引脚输出高电平并且在这个转换过程中BUSY一直为高电平直至转换结束才变成低电平。
当CS为低且BUSY信号的下降沿来临或BUSY信号为低且CS的下降沿来临时开始采样。
当RD和CS引脚都是低电平是数字总线(DB0~DB15)并行输出转换后的值。
数据输出:
当RD和CS都为低电平时,转换后的数据将会输出;
当RD和CS有一个不是低电平时数据口输出三态。
种类
模拟量大小
数字输出
最大转换范围
2Vref
精度
2Vref/65535
二进制码
十六进制码
最大转换量
Vref
0111111111111111
7FFF
最小转换量
0000000000000000
0000
-Vref
1000000000000000
8000
理想输入电压和输出代码
当BYTE是低电平时将从DB15~DB0输出一个全16位字由高位至低位的数据。
当BYTE为高电平时,从DB15~DB8输出转换后的低7位数据。
。
BYTE
数据口
DB15~DB8
DB7~DB0
高
D7~D0
低
D15~D8
ADS8402输出形式
转换器的复位:
复位信号是一个异步低电平输入信号(即不受片选信号CS的影响,CS为高电平时也可以复位)。
复位时,当前转换将被中止,所有设置为0的输出锁存将被清除后复位。
当复位结束,RESET信号为高电平时转换器恢复正常运作模式[13]。
ADS8402在系统中的应用
模拟信号经调理电路后由+IN输入(-IN端接地),经模数转换后,输出16位数字信号;
控制信号RD、CS、CONVST、BYTE和RESET由FPGA输入,BUSY信号输入FPGA,向FPGA提供芯片的工作状态,整个A/D受FPGA的控制。
存储电路
存储电路用来存储采集后的数据,以保证采集的数据不会丢失。
FIFO简介
本设计采用的是FIFO数据缓存器。
他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。
根据工作的时钟域,可以将FIFO分为同步FIFO和异步FIFO。
同步FIFO是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作。
异步FIFO是指读写时钟不一致,读写时钟是互相独立的。
FIFO的一些重要参数
FIFO的宽度:
它指的是FIFO一次读写操作的数据位,就像MCU有8位和16位,ARM32位等等,FIFO的宽度在单片成品IC中是固定的,也有可选择的,如果用FPGA自己实现一个FIFO,其数据位,也就是宽度是可以自己定义的。
FIFO的深度:
它指的是FIFO可以存储多少个N位的数据(如果宽度为N)。
如一个8位的FIFO,若深度为8,它可以存储8个8位的数据,深度为12,就可以存储12个8位的数据,FIFO的深度可大可小,个人认为FIFO深度的计算并无一个固定的公式。
在FIFO实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。
在一个具体的应用中也不可能由一些参数算数精确的所需FIFO深度为多少,这在写速度大于读速度的理想状态下是可行的,但在实际中用到的FIFO深度往往要大于计算值。
一般来说根据电路的具体情况,在兼顾系统性能和FIFO成本的情况下估算一个大概的宽度和深度就可以了。
而对于写速度慢于读速度的应用,FIFO的深度要根据读出的数据结构和读出数据的由那些具体的要求来确定。
满标志:
FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出。
空标志:
FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续从FIFO中读出数据而造成无效数据的读出。
读时钟:
读操作所遵循的时钟,在每个时钟沿来临时读数据。
写时钟:
写操作所遵循的时钟,在每个时钟沿来临时写数据。
读指针:
指向下一个读出地址,读完后自动加1。
写指针:
指向下一个要写入的地址的,写完自动加1。
读写指针其实就是读写的地址,只不过这个地址不能任意选择,而是连续的[14]。
IDT7206在系统中的应用
FIFO缓存电路
IDT7206是一种先进先出的双端口数据缓存器。
该器件使用一个满标志(FF)和一个空标志(EF)来检测其存储状态,通过W引脚和R引脚来控制数据的存储和读取。
该设备提供了9位宽度的数据存储输入输出和一个控制作为用户的选择校验位。
其时序如图所示。
IDT7206时序图
复位(RS):
当RS输入为低电平时器件开始复位,其内部读和写都将回到初始位置且RS上升沿来临之前读信号和写信号都将保持高电平。
上电后必须先复位,然后才能进行写操作。
写允许(W):
一个写周期开始于满标志(FF)为高且写信号的下降沿来临时,数据建立和保持时间必须坚持到写写信号的上升沿。
数据存储在RAM阵列。
如果存储量达到内存的一半,则在下一写操作的下降沿来临时,半满标志(HF)将被置为低,并会一直为低直到写指针与读取指针之差小于或等于1或设备的存储量是总内存的一半。
半满标志(HF)由读操作的上升沿重置。
为了防止数据溢出,最后一个写信号来临时满标志(FF)将置低,它会抑制写信号的写入操作。
当一个有效的读操作完成后,满标志会在tRFF(R变高到FF变高的时间)后变高,使写重新有效。
当FIFO已满,内部写指针被锁,外部变化将不会影响FIFO写。
读允许(R):
当E引脚为高时,一个读周期开始于R信号的下降沿。
任何数据的读取发生在先进先出的基础上的持续的