




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院2011届毕业设计说明书1 绪论1.1 课题来源及研究的目的和意义近年来,数据采集与处理的新技术、新方法,直接或间接地引发其革新和变化,实时监控(远程监控)与仿真技术(包括传感器、数据采集、微机芯片数据、可编程控制器plc、现场总线处理、流程控制、曲线与动画显示、自动故障诊断与报表输出等)把数据采集与处理技术提高到一个崭新的水平。“数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,再由计算机进行存储、处理、显示或打印的过程。相应的系统称为数据采集系统。从严格意义上说,数据采集系统应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算,以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。总之,不论在哪个应用领域中,数据的采集与处理越及时,工作效率就越高,取得的经济效益就越大。 数据采集系统的任务,具体地说,就是传感器从被测对象获取有用信息,并将其输出信号转换为计算机能识别的数字信号,然后送入计算机进行相应的处理,得出所需的数据。同时,将计算得到的数据进行显示、储存或打印,以便实现对某些物理量的监视,其中一部分数据还将被生产过程中的计算机控制系统用来进行某些物理量的控制。 数据采集系统性能的好坏,主要取决于它的精度和速度。在保证精度的条件下,应有尽可能高的采样速度,以满足实时采集、实时处理和实时控制的要求1。现场可编程门阵列(fpga,field programmable gate array)的出现是超大规模集成电路(vlsi)技术和计算机辅助设计(cad)技术发展的结果,是当代电子设计领域中最具活力和发展前途的一项技术,它的硬件描述语言的可修改性、高集成性、高速低功耗、开发周期短、硬件与软件并行性决定了它的崛起是必然的趋势。现场可编程门阵列fpga器件是xilinx公司1985年首家推出的,它是一种新型的高密度pld,采用cmos-sram工艺制作,其内部由许多独立的可编程逻辑模块(clb)组成,逻辑块之间可以灵活的相互连接。clb的功能很强,不仅能够实现逻辑函数,还可配置成ram等复杂的形式。配置数据存放在片内的sram或者熔丝图上,基于sram的fpga器件工作前需要从芯片外部加载配置数据。配置数据可以存储在片外的eprom或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功能,即所谓现场可编程23。1.2 数据采集系统研究现状随着数字化进程的加快,工业生产和科学研究等各个领域对数据采集提出了更高的要求。数据采集作为信息处理系统的最前端,从广义上讲,主要包括以下几个方面:数据的采集、数据的存储、数据的初步处理等,并且一般需要通过pc接口总线将数据送入计算机,根据不同的需要进行相应的算法处理。简言之,数据采集系统的主要任务就是把输入的模拟信号转换成数字信号,并对其进行处理,为进一步操作做准备。数据采集技术已经在雷达系统、通信设备、水声探测、遥感探测、语音处理、智能仪器设备、工业自动化系统以及生物医学工程等众多领域得到广泛的应用,并取得了巨大的经济效益和提高了工作效率。随着工业化和现代化水平的不断发展,以数据采集系统为核心的设备迅速在国内外得到了广泛的应用,且对数据采集的要求日益提高。数据采集系统追求的主要目标有两个:一是精度高,二是速度快,一般是在保证精度的前提下提高速度;提高数据采集的速度主要是提高了工作效率和扩大数据采集系统的适用范围。目前,数据采集系统一般从数字信号处理器(dsp)和总线技术两个方面进行技术改进以提高精度和速度。随着电子技术和计算机技术的不断发展,高性能dsp芯片层出不穷,新型高速、高分辨率的数据转换部件不断涌现。数据采集系统的接口方式也己经拓展到isa、pci、usb、eieel394及vxi、pxi等多种总线接口,usb总线由于具有安装方便、高带宽、易扩展等优点,其中usb20标准有着高达480mbs的理论传输速率(usb30标准也已经发布),已经逐渐成为计算机接口的主流。目前形成了以插卡式和便携式为主的两种产品,数据采集系统可分为基于板卡的集中式数据采集系统和基于分布式的数据采集系统。集中式的基本方式是采用数据采集卡进行数据采集,将一块基于isa或pci的板卡插入pc机上,把外部信号引至计算机的端口然后接入数据采集卡,通过定制的软件就可以进行采集,其显著优点是成本较低、速度块。但是,采用板卡安装麻烦、价格昂贵、易受干扰,同时由于计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。分布式的基本方式之一是智能采集模块记录信号,通过一些通用总线如rs232,rs485进行传送,或者采用基于现场总线的数据采集模块,流行的现场总线如can总线等,通过现场总线将智能采集模块引入计算机,上位机通过定制的软件和智能模块通信。它的优点是易维护、布线简单、可靠性高;缺点是由于接口总线的限制使得采样速度远远低于集中式数据采集系统。随着接口总线的进步,分布式数据采集是数据采集系统发展的一个重要趋势4。1.3课题的提出与任务要求数据采集存储系统目前在环境感知,图像处理、语音识别、通信等领域有着广泛的应用,它用于实时、高速地采集和记录应用领域的各项参数信息。随着应用领域的不断深入,信号分辨率、采样率,数据存储容量,存储时间等要求都大幅提升,设备可靠性和实时性要求也越来越高,因此高精度、高可靠性的大容量数据采集存储系统就显得尤为重要,而且抗冲击干扰能力、可扩展性及可移植性等方面因素都必须严格考虑处理56。虽然目前市场上有很多不同类型的数据采集产品,但这些产品还存在着诸如功能单一,通用性差,操作复杂,不能适用于差别很大的环境等问题,这些都严重的限制了产品的应用范围,这迫使我们必须从实际出发,设计一套速度高,采集精度高,应用范围广的素具采集系统,本课题正是为实现这一目的而提出。本课题的主要目的就是:对16路模拟信号进行ad转换,通过fpga将转换得到的数据存储到flash存储器中。并能通过fpga读出flash存储器中的数据。技术要求如下:(1)信号采集电平范围:0-5vdc;(2)采样位数:16bits(3)每通道采样率:40khz;(4)能够完成flash的读写、擦除操作。2 系统硬件电路的设计根据电路参数及其各项要求,提出整体设计方案,其整体框图如图2.1所示。多路模拟量数据采集模块flash存储模块fpga中心控制模块图2.1 整体设计方案以上系统由多路模拟量数据采集模块、fpga中心控制模块、flash存储模块以及其它外围辅助电路组成。多路模拟量数据采集模块是此设计中的重要环节,决定着获取信号的质量和采集测试的精度。模拟信号的采集电路通常由模拟多路开关、电压跟随器、a/d转换器等部分组成。其中模拟多路开关的作用是切换各路输入信号,使得不同通道的模拟量被有序地送入a/d转换器;电压跟随器用来对所采集的模拟量进行信号调理,从而获得更准确的被测量;a/d转换器是整个系统性能优异与否的关键,它的性能将直接影响整个数据采集系统。fpga中心控制模块由fpga及外围电路组成。fpga是控制模块的核心部分,主要完成通道选择、a/d转换器的时序控制、数据的存储以及相应的控制逻辑等控制任务。flash存储器模块在系统中主要完成数字信息的存储。当a/d转换结束后,fpga给存储模块一个写信号,将转换后的数据存入flash存储器中。根据整体设计方案,将各个模块细化,得到系统整体结构图如图2.2所示调理电路16路模拟信号a/d转换多路模拟开关fifo外部数据缓冲fpga主控单元usb单片机flash上位机图2.2 系统整体结构图总结如下:模拟信号输入端的输入信号为需要采集的模拟信号,一般由传感器提供;信号调理电路的主要作用是滤掉干扰,使传感器输入的被测模拟量更加准确;a/d转换使模拟量转换成数字量,以便实现数据采集的目的;fpga提供整个系统的控制信号,让整个系统正常有序的工作;fifo用来提供对采样后的数据进行缓存。数据采集存储系统工作可靠与稳定主要取决于信号采集、信号调理,数据传输以及数据存储四大模块设计。数据采集与存储控制模块均采用xilinx 公司的spartan-系列fpga 中的xc2s100实现。它作为控制器具有时钟频率高,编程配置灵活,内部延时小,运行速度快,i/o 端口多,配以ip 软核,本身集采样控制、处理、缓存、传输控制、通信于一个芯片内,各方面均满足系统对实时性和同步性的要求7。2.1 信号采集及调理模块信号采集模块fpga 对其外围设备的控制全部通过i/o 端口进行控制,极大地提高了系统的采集速度。部分应用如图2.3:图2.3 前端输入电路模拟信号主要测量的是冲击量、振动量、缓变(温度、压力等)和系统电量参数信息,并且留有备用采集通道。冲击、振动、缓变模拟量接入由单电源轨至轨运算放大器opa4340 构成的电压跟随器,16 路模拟量数据通过信号放大调理电路接入一片16 路高速模拟选择开关adg706,通过中控fpga 选通将所选模拟量输入16 位高速逐次逼近型模数转换器ads8402,将模拟信号转换为数字信号;adg706 模拟开关的切换时间42ns,16 路切换频率至少能可靠满足采样频率大于400 khz 的模拟量信号。ads8402 采样转换时间仅需610ns,转换速度可达1.25mhz,转换时钟依靠内部产生,避免因数字接口以及参考时钟和外部转换器之间产生的交界面抖动。数字接口提供8 位和16 位两种选择增加了与控制器连接的灵活性,不受管脚资源的限制。本设计使用ads8402 内部参考电压vref=4.096v 作为基准,但是16 路模拟量输出电压范围均为05v;超过了adc 的输入电压量程,需要线性运算电路变换由模拟开关adg706 输出的信号幅度以适合ads8402 的输入信号范围8910。从传感器输入的所有模拟信号范围都是05 v,输入阻抗要求大于1 m欧,由于电源模块的输出电压只有5 v,所以为了保证信号的完整性,设计中选用了具有轨对轨输出特性的运算放大器0pa4340,并进行了适当的分压及阻抗匹配处理,对输出也进行了适当的滤波处理,图2.4为设计中用到的信号调理电路。图2.4 单路信号调理电路2.2 通道选择电路设计中要求采集16路模拟信号,为降低系统成本和减小体积,采用公共a/d转换电路,用1片16选1的模拟多路开关来实现通道的选取。2.2.1 模拟多路开关的选择选择多路开关时,通常考虑以下几个参数:(1)通道数量:通道数量对切换开关传输被测信号的精度和切换速度有直接的影响,因为通道数目越多,寄生电容和泄漏电流通常也越大。平常使用的模拟开关,在选通其中一路时,其它各路并没有真正断开,只是处于高阻状态,仍存在漏电流,对导通的信号产生影响;通道越多,漏电流越大,通道间的干扰也越多。(2)导通电阻:理想的多路开关起导通电阻应为零,断开电阻应为无穷大,但现实中的模拟开关达不到这一要求。模拟开关的导体电阻会使信号电压产生跌落,尤其是和低阻抗器件串联使用的时候压降会相对较大。所以在选择开关时应考虑导通电阻,尤其是在使用低阻抗器件的时候。(3)开关时间:由于模拟开关器件中有导通电阻且有寄生电容,这就会产生一定的导通和断开时间,所以在选择开关时应考虑开关时间,并选择开关时间较小的器件。(4)泄漏电流:指开关断开时漏极电流。一个理想的开关要求导通时电阻为零,断开时电阻趋于无限大,漏电流为零。而实际开关断开时为高阻状态,漏电流不为零,常规的cmos漏电流约1na。如果信号源内阻很高,传输信号是电流量,就特别需要考虑模拟开关的泄漏电流,一般希望泄漏电流越小越好。(5)切换速度:对于传输快速变化的电路,要求开关的传输速度高,同时应考虑其频率不大于a/d的转换频率,从而使得电路性能更优。(6)器件封装:常用的模拟开关有dip和so两种封装,可以根据实际需要选择11。2.2.2 adg706的运用本设计选用的adg706是16路模拟选择开关,内部包括16路模拟开关阵列,用于通道选择的数字译码电路和使能输入控制。adg706的四位地址位a0、a1、a2、a3的输入决定16路输入信号中要选择输出的通道号,使能端en控制adg706是否处于工作状态。en信号为高电平时,模拟开关有效。其真值表如下:表2.1 adg706真值表a3a2a1a0en选通.a3a2a1a0en选通xxxx0无.000011.100019000112.1001110001013.1010111001114.1011112010015.1100113010116.1101114011017.1110115011118.1111116adg706采用28管脚的封装形式tssop,其在系统中的运用如图2.5所示。图2.5 模拟开关电路s1s16接外部的16模拟信号,a0、a1、a2、a3接fpga给的地址信号,en接使能控制信号,vss接地,d为输出端,输出的信号经调理后送给模数转换器。当en信号为高电平时,模拟多路开关选通。2.3 a/d转换电路a/d和d/a转换器是现代数字系统中的重要组成部分,应用日益广泛。d/a转换器的分辨率和转换精度均与转换器的位数有关,位数越多,分辨率和转换精度均越高。常用的集成adc和dac种类很多,其发展趋势是高速度、高分辨率、易与计算机接口,以满足各个领域对信息处理的要求。2.3.1 a/d转换器的分类及其特点目前a/d转换器的种类虽然很多,但从转换过程来看,可以归结成两大类,一类是直接a/d转换器,另一类是间接a/d转换器。在直接a/d转换器中,输入模拟信号不需要中间变量就直接被转换成相应的数字信号输出,如计数型a/d转换器、逐次逼近型a/d转换器和并联比较型a/d转换器等,其特点是工作速度高,转换精度容易保证,调准也比较方便。而在间接a/d转换器中,输入模拟信号先被转换成某种中间变量(如时间、频率等),然后再将中间变量转换为最后的数字量,如单次积分型a/d转换器、双积分型a/d转换器等,其特点是工作速度较低,但转换精度可以做得较高,且抗干扰性能强,一般在测试仪表中用得较多。图2.6 ad分类图2.3.2 a/d转换器的主要技术指标分辨率:指数字量变化一个最小量时模拟信号的变化量,定义为满刻度电压 与 的比值。分辨率又称精度,通常以数字信号的位数来表示。转换速率:是指完成一次从模拟转换到数字的ad转换所需的时间的倒数。采样时间则是指两次转换的间隔。为了保证转换的正确完成,采样速率必须小于或等于转换速率。量化误差:量化误差由于ad的有限分辨率而引起的误差,即有限分辨率ad的阶梯状转移特性曲线与无限分辨率ad(理想ad)的转移特性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1lsb、1/2lsb。偏移误差:偏移误差指输入信号为零时输出信号不为零的值,可外接电位器调至最小。满刻度误差:满刻度误差指满度输出时对应的输入信号与理想输入信号值之差。线性度:线性度是指实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。其他指标还有:绝对精度,相对精度,微分非线性,单调性和无错码,总谐波失真和积分非线性12。2.3.3 模数转换器ads8402ads8402是一种16 位精度,内设4.096v参考电压,最高转换频率为1.25mhz的模数转换器。该器件包括一个16位电容式sar与固有的采样保持的a/d转换器。提供了一个全16位和一个8位的接口方案,数据读取使用两个8位读周期。该ads8402有一个单极差分输入。采用48引脚的tqfp封装,工业级芯片的温度范围为-40至85。该ads8402是一种高速逐次逼近寄存器(sar)类比数位转换器(adc)。该架构基于电荷再分配,其中内在地包含一个采样/保持功能。转换时钟由内部产生。其转换时间为 610ns,最高转换频率为1.25mhz。模拟输入提供两个输入引脚:+ in和- in。当转换开始时,内部电容阵列采样这些引脚的差分输入。参考电压:ads8402内置4.096v的参考电压,当使用内部参考电压时,引脚1(refout)与引脚2(refin)之间应该用导线连接,引脚2(refout)与引脚47和48(refm)之间连接一个0.1uf的去耦电容和一个1uf的存储电容(见图2.7)。转换器的内部参考电压为双缓冲,如果外部使用参考电压,第二个缓冲区将隔离外部参考电压和模数转换器。此缓冲区也可以用作在转换过程中对所有的模数转换器电容器充电。如果使用外部参考电压,则引脚2(refout)可以悬空。图2.7 使用内部参考模拟输入:当转换器进入保持模式,电压之间的差额+ in和- in是在内部电容阵列捕获输入。双方+ in和- in输入有-0.2 v范围和vref+0.2 v的输入范围被限制在- vref到vref的。输入的模拟输入电流取决于以下因素:采样率、输入电压和电压源阻抗。实际上采样期间输入 ads8402的电流是为内部电容阵列充电的,当电容充电完成,就没有了输入电流。模拟输入电压必须在采集时间(150ns)内对16位的输入电容(25 pf)充电。当工作在保持模式时,输入阻抗大于1g。为了保证转换器的线性度,输入的模拟电压的绝对值应在指定的范围内,否则该转换器的线性度将可能不符合规格。调理后的输出电阻应与输入端相匹配,否则,两个输入端+in和-in将会有不同的设定时间,这可能会导致失调误差,增益误差和线性误差,引起温度和输入电压的变化。一个典型的输入电路如图2.8,单端输入源可能会被转换为差分信号。图2.8 ads8402的典型应用ads8402使用的是内部振荡器产生的时钟,具有固定的最高转换频率(1.25mhz),不需要输入外部时钟。当cs为低时(cs低电平有效)转换是通过将convst引脚为置低电平超过20纳秒(20ns后convst引脚可以为高)。convst下降沿使得ads8402从采样模式切换到保持模式。convst变低时,busy引脚输出高电平并且在这个转换过程中busy一直为高电平直至转换结束才变成低电平。当cs为低且busy信号的下降沿来临或busy信号为低且cs的下降沿来临时开始采样。当rd和cs引脚都是低电平是数字总线(db0db15)并行输出转换后的值。数据输出:当rd和cs都为低电平时,转换后的数据将会输出;当rd和cs有一个不是低电平时数据口输出三态。其理想输出数字量与输入模拟量如表2.2种类模拟量大小数字输出最大转换范围2vref精度2vref/65535二进制码十六进制码最大转换量vref0111 1111 1111 11117fff最小转换量00000 0000 0000 000000000-vref1000 0000 0000 00008000表2.2 理想输入电压和输出代码当byte是低电平时将从db15db0输出一个全16位字由高位至低位的数据。当byte为高电平时,从db15db8输出转换后的低7位数据。如表2.3所示。byte数据口db15db8db7db0高d7d0低d15d8d7d0表2.3 ads8402输出形式转换器的复位:复位信号是一个异步低电平输入信号(即不受片选信号cs的影响,cs为高电平时也可以复位)。复位时,当前转换将被中止,所有设置为0的输出锁存将被清除后复位。当复位结束,reset信号为高电平时转换器恢复正常运作模式13。2.3.4 ads8402在系统中的应用模拟信号经调理电路后由+in输入(-in端接地),经模数转换后,输出16位数字信号;控制信号rd、cs、convst、byte和reset由fpga输入,busy信号输入fpga,向fpga提供芯片的工作状态,整个a/d受fpga的控制。硬件电路如图2.9所示。图2.9 a/d转换电路2.4 存储电路存储电路用来存储采集后的数据,以保证采集的数据不会丢失。2.4.1 fifo简介本设计采用的是fifo数据缓存器。他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。根据工作的时钟域,可以将fifo分为同步fifo和异步fifo。同步fifo是指读时钟和写时钟为同一个时钟,在时钟沿来临时同时发生读写操作。异步fifo是指读写时钟不一致,读写时钟是互相独立的。2.4.2 fifo的一些重要参数fifo的宽度:它指的是fifo一次读写操作的数据位,就像mcu有8位和16位,arm 32位等等,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。2.4.3 idt7206在系统中的应用图2.10 fifo缓存电路idt7206是一种先进先出的双端口数据缓存器。该器件使用一个满标志(ff)和一个空标志(ef)来检测其存储状态,通过w引脚和r引脚来控制数据的存储和读取。该设备提供了9位宽度的数据存储输入输出和一个控制作为用户的选择校验位。其时序如图所示。图2.11 idt7206时序图复位(rs):当rs输入为低电平时器件开始复位,其内部读和写都将回到初始位置且rs上升沿来临之前读信号和写信号都将保持高电平。上电后必须先复位,然后才能进行写操作。写允许(w):一个写周期开始于满标志(ff)为高且写信号的下降沿来临时,数据建立和保持时间必须坚持到写写信号的上升沿。数据存储在ram阵列。如果存储量达到内存的一半,则在下一写操作的下降沿来临时,半满标志(hf)将被置为低,并会一直为低直到写指针与读取指针之差小于或等于1或设备的存储量是总内存的一半。半满标志(hf)由读操作的上升沿重置。为了防止数据溢出,最后一个写信号来临时满标志(ff)将置低,它会抑制写信号的写入操作。当一个有效的读操作完成后,满标志会在trff(r变高到ff变高的时间)后变高,使写重新有效。当fifo已满,内部写指针被锁,外部变化将不会影响fifo写。读允许(r):当e引脚为高时,一个读周期开始于r信号的下降沿。任何数据的读取发生在先进先出的基础上的持续的写操作。r引脚变高,数据输出端(q8q0)将返回到一个高阻抗状态直到下一次读操作开始。当所有的数据已经从fifo的读取完,空标志(e)将变低, 这时如果有写操作一次,e将变高且twef后读允许有效。当fifo为空后,内部读指针被锁,外部变化将不会影响fifo的读。数据输入和输出端均只使用前8位(q0q7、d0d7);读允许信号r由另外一个系统的控制信号提供;写允许信号w由fpga输入,当w为低时,将转换后的数据存入idt7206;复位信号rs由fpga控制,当rs输入为低电平时器件开始复位,其内部读和写都将回到初始位置且rs上升沿来临之前读信号和写信号都将保持高电平。2.5 fpga控制模块fpga通过i/o口输出的数字信号实现对a/d转换器、模拟多路开关和fifo的控制。其原理图如下所示:图2.12 fpga控制模块电路 a/d的控制: fpga输出的reset信号控制a/d的复位(低电平复位,设计中的reset一直为高电平)、cs信号控制a/d的选通(低电平选通,设计中的cs一直有效)、rd信号实现对a/d转换后的数字信号的读(低电平有效)、byte信号控制a/d转换后的输出方式(本设计中byte信号一直为低,即a/d的输出形式为16位并行输出)。开关的控制:fpga通过输出的使能信号en和地址控制信号a来控制开关的选通即通路的选择。fifo的控制:fpga通过输出的w信号来控制fifo的存储,当w信号为低电平时,将数据写入fifo。2.6 usb接口设计模块cy7c68013有3种接口工作模式。根据系统构成和实际要求,我们选用gpif模式的数据传输方案,只要输出信号和就绪信号作相应的组合,就可以实现多种复杂的控制时序。图2.13 usb模块电路在本系统中cy7c68013与fpga连接用到的i,0包括八位gpif数据接口,两根控制线usbctrl2,一根状态线usbso。一根读信号线usbrd,实现上位机对n鹄h的无效块检测和读取操作。上位机通过usb发出无效块检测命令,cy7c68013接收到此命令后通过usbc,irl,2通知fpga,fpga接收到该命令后开始进行操作。同样上位机发出数据读出命令,cy7c68013接收到此命令后。通过usbctrl2通知fpga进行操作。采用fpga作为主控制器对flash进行操作,系统与主机之间采用usb20接口芯片cy7c68013实现通信。要求选择存储容量大、数据可靠性高的存储器件。flash由于其具有非易失性、电可擦除性、可重复编程以及高密度、低功耗等特点,而被广泛应用于数据采集系统中。usb20接口模块为fpga与上位机通信模块,完成上位机控制命令与flash存储数据的传送。fpga采用xilinx公司spartan2系列xc2s100,作为一个对flash操作的主控设备。完成flash模块的读写擦操作和无效块检测功能15。2.7 其他硬件电路 系统除了上述主要的电路之外,还有几种比较重要的外围电路,主要有给系统供电的电源电路、fpga配置电路和时钟电路等。2.7.1 供电电路本设计中所有芯片的工作电源均来至电源转换芯片tps70358的输出,所有电源电路的设计将影响整个系统的供电。tps703xx系列器件的设计为数字信号处理器、专用集成电路、fpga和双输出稳压器等提供完整的电源。其准确性、快速瞬态响应、svs的监控电路(上电复位)、手动复位输入等功能为电路的设计提供一个完整的解决方案。tps703xx系列稳压器提供有固定3.3v/2.5v,3.3v/1.8v,3.3v/ 1.5 v和3.3 v/ 1.2 v的可调电压选项。输出电流可高达1a(输出1)和2a(输出2)。图2.14 电源电路当en脚连接到一个低电平时该器件开始工作。seq控制哪个输出电压通道(vout1或vout2)先打开。当装置被启用并且seq为高电平时,vout2先打开,vout1保持关闭,当其值达到vout2输出电压的83时vout1打开。如果vout2被拉低于83(即过载条件)则vout1关闭。2.7.2 配置电路 当fpga作为主芯片时,必须给其配置一个时钟驱动的prom。该设计采用的是xcf01系列的系统可编程配置prom,其型号为xcf01svo20。 xcf01svo20在系统中的运用如图2.15所示。图2.15 配置电路2.7.3 时钟电路xc2s100有4个时钟信号输入端,分别为gck0、gck1、gck2和gck3,本设计中只使用gck0。其余3个时钟输入端都接地以防止干扰。时钟电路如图。图2.16 fpga时钟电路2.8 本章小结本章对基于fpga的多通道采样控制单元进行了研究,介绍了多路选择开关adg706、ad转换芯片ads8402和fifo缓存idt7206。利用1片adg706和一片ads8402完成了对16路模拟量的采样,给出了整个系统的硬件连接图。3 系统软件设计 3.1 数据编帧表3.1 帧格式s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15s0s1s2s3s4s5s6s7s8s9s10s11s12s13s14s15表中共有16行*16列数据,每行代表采样率为40khz的信号。每个数据经ad转换后就变成16位的并行数据,再由fpga内部软件进行并串转换为8位串行数据。由此可以计算出一帧总的数据量为16行16列16bit8bit-lbyte=511byte3.2 a/d控制模块的设计ad采样控制模块将控制ads8402完成自动a/d转换操作,模数转换器由其内部时钟驱动。当采集某一通道的模拟量时,a/d需要完成的主要功能有转换和向fpga传送转换后的数字量。所以对ad,最重要的是分配好转换和读允许的时序。ad控制单元示意图如图3.1所示。图3.1 ad控制单元示意图clk是时钟信号,即为外部晶振提供的时钟;rst是复位信号,当rst为低电平时,该模块处于复位状态;复位时,ad_cs、convst和ad_rd信号为高电平(无效),ad_rst和byte信号为低电平;busy是ad输出的忙信号,当a/d进行转换功能时,该信号为高电平;clk_cnt6.0是时钟分频计数,与通道选取模块一致。按照要求产生ad片选信号ad_cs(低电平有效)、转换允许信号convst(低电平有效)、读允许信号ad_rd(低电平有效)、复位ad_rst(低电平有效)和为位选择信号byte(本设计中一直置低,即为16为输出)。本模块能连续运行,不断地写入命令字以启动a/d转换,然后读出a/d转换结果并将其输出。通过对ad采样控制模块进行时序仿真,得到ad模块时序仿真图如图3.2所示。图3.2 ad模块时序仿真图当rst为高电平是时钟分频开始计数,当计数范围为110时,convst信号为低电平,否则为高电平。3.3 存储器模块的时序仿真此系统要求能对16 路模拟信号同时采集存储, 采样率是每路40khz, 总采样数率640k, 事后可对存储数据计算机读取分析。根据此种要求我们设计实现了多路采集存储器, 此种存储其使用fpga 和flash 存储器。满足体积小, 功耗低的要求。3.3.1 数据存储对数据的存储, 我们采用闪存(flash memory)作为存储器, 它具有体积小、功耗低和数据不易丢失的特点。对flash的写操作过程有其固定的操作模式, 如图3.3 所示。由于flash是按页存储的, 当一页写完之后要进行下一页的控制字和地址的重新写入, 为了使采集回来的数据能及时准确的写入flash, 而不至于在页与页的交替时间内使数据丢失, 所以不可能将采集回的数据直接存入flash, 我们利用fpga 内部提供的ram来构成双端口ram作为数据存储过程中的缓存, 采集回来的数据先写入双端口ram, 然后再导入flash。过程是采回数据从a 口写入双端口ram。双端口ram中的数据从b口读出, 然后写入flash, 在操作的过程中, 要保证双端口ram的b 口地址推进要小于其a 口的地址推进。因为在采集过程中使用了16 的位的ad, 加之flash 存储器是8 位的存储器, 所以就使得每次采集的数据要分2 次存储, 我们采取的方式是高8 位存储一次, 低8 位加补标志码的存储一次。图3.3 flash写操作时序图3.3.2 数据读取数据的读取有很多种方法, 目前有串口、并口、usb 口或pci 总线方式读取。我们这里采用并口读取方式。因为数据存储量大, 我们采取了并口主动读取的方法, 消除了并口从动读取速度慢的问题, 采用epp 模式, 读取数据速度能达到500k2mb/s 的数据量。fpga 此时的工作是使读数和采集的控制线与数据线的隔离。这时并口可直接对flash 的控制线和数据线进行操作。对flash 的读数操作也有其固定的操作过程。flash 数据的擦除是按块擦除的, 所以它的特点是擦除速度快, 一般在几秒钟内就完成了。当一次采集存储完毕后, 数据就长久保持在flash 内, 不会丢失, 若要从新采集存储, 则必须要先进行flash 擦除。相关时序图如下:图3.4 flash擦除操作时序图在本系统中,采用flash来进行数据的存储。flash内部有内置fifo.采集到的数据先暂存fifo中,然后再存入flash芯片中。flash存储的具体流程图为:开始.否采样一次数据(16路信号)存储一次数据(16路信号)采样时间到?否结束3.4 本章小结本章通过对所有模块进行软件设计,并进行时序仿真,通过仿真时序图,可以看出,电路时序满足系统数据采集并存储的要求。4 电路及系统调试4.1 电平及分压问题在本系统中,由于模拟输入信号的电压范围是05v,所以此次设计使用运算放大器组成的比例电路将输入信号变换成05v电压。然后输入模拟开关经过跟随器后,再输入a/d转换器。16路数字信号使用一个5v的稳压管,将输入数字信号中大于5v的高电平信号钳制在5v,起到了调压的作用。如果是低于5v,那么电压将不改变。首先,对于单路速变信号而言,其最低采样频率为40khz,用了一个模拟开关和一个ads8402循环进行数据采集,将1路速变信号和16路缓变信号交叉安排在adg706上,这样在每次速变信号采集后,紧接着采集16路缓变信号,经过循环交叉采集后,便使得速变信号采样率是缓变信号采样率的16倍,所以速变信号采样率为1612.5khz40khz。其次,对于16路缓变信号,其单路采样率为12.5khz, 记录时间为0.75s,共16路。由于我们采用16路的ad采集.其次,分压的目的是使调理过后的电压在据数据采集系统的输入范围内变化,使系统能正常工作。本设计所使用的模数转换器ads8402其输入模拟量的范围为-4.096v4.296v,而模拟开关的最大输出电压为5v,所以应对其分压。为了保证a/d的转换精度,不能把电压分得太小,使得输入ads8402的最大电压为5v。为使输入a/d的信号相对稳定,在分压电路的前后各设置一个电压跟随电路。电压跟随器输出电压近似输入电压幅度,并对前级电路呈高阻状态,对后级电路呈低阻状态,因而对前后级电路起到“隔离”作用。电压跟随器的输入阻抗高、输出阻抗低特点,可以理解为,当输入阻抗很高时,就相当于对前级电路开路;当输出阻抗很低时,对后级电路就相当于一个恒压源,即输出电压不受后级电路阻抗影响。一个对前级电路相当于开路,输出电压又不受后级阻抗影响的电路当然具备隔离作用,即使前、后级电路之间互不影响。4.2 flash的擦除问题在调试中遇到的主要问题还有:当系统上电后,fpga 主控模块首先对flash 进行擦除操作。在擦除过程中,对每块坏块标志位进行检测,对使用过程中又出现的坏块进行标识,以便以后使用。详细流程图如图4.1:开始设置块地址=0地址自增检查是否等于0xff?否y写入坏块标志擦除y否i/o0=0?y否检查是否是最后一块?y检测结束图4.1 擦除模块程序流程多通道同步数据采集后, 数据以一定的帧格式写入flash。在flash 执行写操作时,首先检测每块的坏块标志。如果坏块标志是非0xff 时,该块是坏块则跳过,继续检测下一块;如果坏块标志是0xff 时,则读取fifo 中的数据,写入flash 中。在对flash 执行写操作时,严格按照flash 的时序控制要求,以保证数据的准确写入。4.3 调试中遇到的问题通道选择电路的调试。对于通道选择电路,其主要功能是实现对多路模拟信号进行相同频率的采样,所以在调试时,应运用示波器观察多路模拟开关的输出波形是否与仿真结果一致。对于不同采样频率的信号看开关的波形是否符合设计要求。a/d的调试。该部分的调试主要看a/d转换后的数字量对应的模拟量的大小是否与输入的模拟量相同。通过对a/d的db输出口和busy的检测判断其是否正常工作。控制模块的调试。对于控制模块,首先看电源电路的输出是否满足系统要求;其次时时钟电路的时钟输入是否正确;再看程序是否能下载。当上述辅助电路完成后,开始使用示波器逐个观察其输出的控制信号是否与仿真时序一致。5 结论本文就16路模拟信号采集电路的组成原理、通道选择电路设计、模数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨领域项目合作协议
- 工业设计产品设计理念与案例分析
- 航空航天材料工程考试试题集
- 现代管理学基础理论学习题集
- 运动训练理论与实践题
- 2025年工程成本预测试题及答案
- 2024年天然植物纤维及人造纤维编织工艺品项目投资申请报告代可行性研究报告
- 犯罪分析测试题及答案
- 跨部门协作的成功要素计划
- 多元化工作方法的探索计划
- 【MOOC】跨文化交际通识通论-扬州大学 中国大学慕课MOOC答案
- 安全管理-终结性考试-国开(SC)-参考资料
- 2024年贵州省贵阳市中考地理试卷(附答案)
- 大脑健康课件
- 《无人机测绘技术》项目3任务4无人机激光点云数据处理
- 上海市2024年中考化学真题(含答案)
- 蜗牛与黄鹂鸟(课件)人音版音乐二年级上册
- 浙江大学《概率论与数理统计》第7章
- 光伏发电工程总承包合同
- 经济师考试旅游经济(中级)专业知识和实务试卷及解答参考
- 国开(陕西)2024年秋《社会调查》形考作业1-4
评论
0/150
提交评论