基于CPLD的多路数据采集系统的毕业设计.doc_第1页
基于CPLD的多路数据采集系统的毕业设计.doc_第2页
基于CPLD的多路数据采集系统的毕业设计.doc_第3页
基于CPLD的多路数据采集系统的毕业设计.doc_第4页
基于CPLD的多路数据采集系统的毕业设计.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中北大学2012届毕业设计说明书基于CPLD的多路数据采集系统的毕业设计1 绪论1.1 选课背景及意义“数据采集”是指将温度、压力、流量、位移等模拟量采集转换成数字量后,再由计算机进行存储、处理、显示或打印的过程,相应的系统称为数据采集系统。随着科技进步,人们对数据采集的要求也越来越高,比如采样频率,分辨率等等。基于单片机的数据采集系统数据处理能力比较低,已经无法达到某些要求。科技的不断创新及半导体工业的发展使得我们将可编程逻辑器件的技术应用到数据采集系统的研究上。同时利用CPLD 强大的数字处理功能和高密集成的特点,降低了硬件的成本,简化了电路设计,具有很好的经济效益和社会效益。有此看出,数据采集系统日趋成熟,应用越来越广泛,发展前景是相当广阔的1。在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部物理世界连接的桥梁。在工业,工程,生产车间等部门,尤其是在对信息实时性能要求较高或者恶劣的数据采集环境中更突出其应用的必要性。这就要求数据采集系统必须具备更高的采样频率,更高的分辨率,来提供更多的原始数据。以前的数据采集系统一般都是以单片机为核心的,随着数据采集要求的不断提高,单片机为核心的数据采集系统已经不能满足要求了。科技进一步发展,就出现了现在的高速数据采集系统。随着各种先进武器系统陆续装备部队 ,各种问题也随之出现 ,尤其是在各种武器装备信号检测中都涉及到数据的采集问题,本课题要求对某武器系统的多个弹上数据,如压力、温度等进行采集并显示,要求采样频率1MHz,分辨率10位,显示到小数点后一位2。综合上述,本文设计了一种基于CPLD控制高速AD转换器的数据采集系统。这个系统能大幅度提高数据采集的速度和精度,满足高速数据采集的要求。1.2 数据采集系统的特点 现代数据采集系统具有如下主要特点: (1)现代采集系统一般都由计算机控制,使得数据采集的质量和效率等大为提高,也节省了硬件投资。 (2)软件在数据采集系统中的作用越来越大,这增加了系统设计的灵活性。 (3)数据采集与数据处理相互结合的日益紧密,形成数据采集与处理系统,可实现从数据采集、处理到控制的全部工作。 (4)数据采集过程一般都具有“实时”特性,实时的标准是能满足实际需要。实时性是指基于计算机的工业数据采集系统应具有的能够在限定的时间内对外来事件做出反应的特性。工业控制计算机及监控管理软件具有时间驱动能力和事件驱动能力,即在按一定的时间周期内对所有事件进行巡检扫描的同时,可以随时响应事件的中断请求。实时性要求计算机有多任务的处理能力,以便将测控任务分解为若干个并行执行的多个任务,加速程序执行速度。将变化并不显著、即使不及时做出反应也不至于造成影响或损害的事件,作为顺序执行的任务,按照一定的巡检周期有规律的执行,而把保持时间很短且需要计算机及时做出反应的事件,作为中断请求源或事件触发信号,为其专门编写处理程序,保证在该事件触发时计算机可以立即响应3。 (5)随着电子技术的发展,电路集成度的提高,数据采集系统的体积越来越小,可靠性越来越高,甚至出现了单片数据采集系统。 (6)总线在数据采集系统中有着广泛的应用,总线技术它对数据采集系统结构的发展起着重要作用。 (7)数据采集系统的适应能力。无论是大规模的生产过程采集系统,还是普通的多路信号采集系统,都可以通过选取适当的智能模块设备来构成相应规模的系统,这样的系统实现易于扩展和维护。在计算机、数据采集和控制设备正常工作的情况下,如果电源供应正常、通信线路畅通以及设备状况良好时,系统可稳定可靠的长期运行。另外,采集系统和上位机之间利用数字信号传输代替模拟信号传输,可克服电磁干扰、差模和共模信号干扰等,以适应在恶劣的环境下工作4。1.3 国内外研究现状1.3.1 国外研究现状: 随着国外微电子技术、计数机技术、测控技术和数字通信技术的发展,目前国外数据采集技术已经较初期有了很大的发展。从近来国外公司展示的新产品可以看出,主要的发展可以概括为功能多样,体积减小和使用方便等三个方面。此外,数据采集器的特点还反映在如下几个方面: (1)它既是一台数据采集器,又是一台功能较全的机器状态分析仪,不仅有常用的时域分析和频域FFT 分析,而且还可以做倒谱、细化、包络谱和时频域分析等功能5; (2)它既是采集器,又可以兼做其它仪器来用。如法国迈威公司的MOVILOG 数据采集器,就可作为一台动平衡仪来用,它不但可以做单一平面的动平衡,还可以做六个平面的动平衡6; (3)储存量大,从低频到高频频率测量范围宽,能适应机器从低速到高速的各种监测范围需要; (4)可利用振动传感器或过程传感器或电量传感器等输入多种物理量,如振动加速度、位移、相位、转速、温度、压力、流量、电压、电流和功率等,形成多参数监测系统; (5)数据采集器配套的软件是以通用窗口的软件为基础,功能较强。一套软件可同时支持数种不同型号与不同档次的数据采集器。 (6)数据采集器已经安装了LCD 背光显示屏,并尽量减少了操作键;元器件高度集成化,并减轻机器的重量;采用防水防撞击的密封外壳,能适应恶劣的工业环境。1.3.2 国内研究现状: 上世纪80 年代末到90 年代初,我国一些仪器厂已研制出了多种数据采集器,其中单通道的有SP201、SC247 型,双通道的有EG3300、YE5938 型,超小型的有911、902 和921 型。具有采集静态信号的有SMC-9021 型,所配套的软件包基本上包括了设备维修管理和基本频谱分析两大部分,能够适应机器设备的一般状况监测和故障诊断,基本已经达到了国外数据采集器的初期水平7。但是,国内数据采集器与目前国外数据采集器相比,在技术上仍然存在着一定的差距,主要表现在: (1)由于受国内振动等传感器水平的限制,分析频率范围不宽,给一些低速的机器或轴承的诊断等带来了一定的困难; (2)由于数据采集器的内存不大,数据采集器本身的信号处理功能不强,在现场只能做一些简单诊断,精密诊断需要离线到计算机上去做,现场精密诊断功能较弱; (3)设备的软件水平,仍在设备维修管理和基本频谱分析上徘徊,机器故障诊断专家系统还需完善,软件人机界面有待改进。数据采集是整个工厂自动化的最前端,测试精度、速度与实现该功能的成本是几个重要因素,数据采集也正朝着这几个方向发展。高速、实时数据采集在运动控制、爆炸检测、医疗设备(如CT、核磁共振)、快速生产过程(如石油化工过程)和变电站自动化等领域都有非常重要的应用。这些行业中,对高速数据采集的需求远远超过目前实际可以实现的程度。用户的需求促进了技术的发展和新产品的出现,因此,高速数据采集仍然会有长足的发展8。1.4 论文结构安排 第一章:介绍该数据采集系统的研究背景及其意义,论述了目前数据采集系统的特点以及研究现状,并给出了本文的主要工作及内容安排。 第二章:介绍了数据采集系统设计的总体方案。并对方案进行了进一步论证。 第三章:数据采集系统硬件电路设计,详细论述了系统各个模块设计方案,包括相关芯片的选择、电路连接、接口设计、电源设计等。第四章:数据采集系统的软件设计,包括各个模块的程序。第五章:总结,论述了硬件电路设计中遇到的各种问题,并对全文进行了总结。第 40 页 共 40 页2 系统设计方案本章主要介绍了数据采集系统设计的总体方案。2.1 设计任务及要求设计一个高速数据采集系统,要求用CPLD作为控制器,选择高速A/D转换器,对某武器系统的多个弹上数据进行采集并显示,采样频率1M,分辨率10位,显示到小数点后一位。2.2 系统框图 传统的数据采集系统,一般由信号输入部分、信号调理部分、数据采集部分、数据传输部分数据显示部分组成。从传感器过来的模拟量通过调理电路后再送入 AD 转换成数字量,采集到的数据再通过传输通道到单片机进行数据处理,最后显示出采样结果。 在这种系统中,单片机作为主控芯片来完成对外围芯片的控制,数据采集的 AD 转换是由单片机通过软件控制的,这样势必会引起系统的频繁中断,减弱了系统的数据运算能力,使得数据采集的速度降低,单片机本身的缺点制约了整个系统的性能。为了提高数据采集系统的性能,本文设计了基于 CPLD 的高速数据采集系统,与传统采集系统相比,采用高速的 CPLD 器件作为主控芯片,可轻易实现高速、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。 图2.1 系统结构框图 其中信号输入部分是由传感器传来的各种模拟信号。信号调理部分由放大电路、滤波器电路构成。其主要作用是对输入信号进行放大、滤波使其电压在AD的采样电压范围之内。AD采样部分是将输入的模拟信号转换成数字信号。其中AD的采样电压范围和位数决定了采样精度的大小。为了提高系统采集数据的频率,我们选择高速AD,这样采集速度就可以大大提高。数据采集与传输控制电路的开发工作主要集中在 CPLD 上,在此系统中,CPLD 用于控制AD 转换和对 AD 转换之后的数据进行显示9。2.3 方案论证2.3.1 信号调理部分 在数据采集系统中,量化误差的引入是不可避免的。量化误差成了评价数据采集系统的一个重要指标。一般来说AD转换器的位数越长则量化噪声越小,精度越高。可是在AD芯片的设计过程中,要想把数据转换分辨率提高一位,则AD转换器中的比较器数量必须增加一倍,其增加的成本可想而知。但是通过对信号调理电路的合理设计,可以减小引入的量化误差,这可以使整个数据采集系统的性能得到进一步的提高10。本系统中调理电路由滤波器电路构成。其主要作用是除去信号中的各种干扰成分,使输入信号的幅值尽可能接近 AD 的输入范围 Vmax,获得尽可能大的信噪比,提高数据采集的精度。2.3.2 数据采样控制部分当前的数据采集系统已有很多,有很多基于单片机的成熟的数据采集卡,由于单片机的频率难以做的太高,这使得其构成的系统的采集数据的频率难以提高。所以我们选择CPLD 作为处理 CPU,此外我们选择高速 AD、高速 RAM 来采集数据,这样采集速度就可以大大提高。数据采集电路的实现也有两种方案。方案 1 是用单片机完成数据采集及控制。方案 2 是用可编程逻辑器件 CPLD 来实现。单片机的速度相对较慢,而当前武器设备电子系统对频率的要求越来越高,如在一些实时的音频,视频处理中频率可达到上百兆,这样的频率对于单片机来说是无能为力的。如果采用单片机来控制 AD 芯片和数据显示,将显著降低整个系统的工作速度。随着微电子技术的发展,CPLD 器件的容量变得越来越大,速度变得越来越快,高端产品的速度已经达到几百兆11。采用 CPLD 器件来完成高速 AD 芯片的控制和数据显示,使系统的速度成倍提高。传统的系统除了单片机外还有大量的中小规模集成电路,在高速,强电磁干扰等恶劣条件下,芯片的数量越多,受到干扰的可能性就越大,造成单片机频繁出现程序跑飞,系统复位。采用 CPLD器件可减少系统受干扰的几率,显著提高系统的可靠性。该系统要求进行高速的数据采集,用普通单片机难以实现。所以,我们使用方案 2 实现数据采集电路。3 系统电路设计本章主要介绍该系统的电路设计。详细论述了系统各个模块设计方案,包括相关芯片的选择、电路连接、接口设计、电源设计等。系统框图如图3.1所示:图3.1 系统框图3.1 AD转换器介绍以及电路连接AD 转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。AD 进行数据采集有两个主要过程:采样和量化。采样是指每隔 T 秒所记录的 x(t)的幅值。设 x(t)是模拟信号,将采集到的幅值用 x(kt)表示,其中 k 表示数据序列中的采样位置,k=0,1,N-1,(N 是数据序列总的采样数)。T 称为采样间隔,采样频率为 1/T(Hz)。AD 采样时必须满足采样定理。香农采样定理给出了低通型带限信号的最低采样频率,即采样频率 fs 必须大于被测信号最高频率的两倍,即 fs2fmax。fs/2 称为纳奎斯特频率(Nyquist frequency)12。采样定理的出发点是从采样数据中能够完全恢复原始信号,可是在实际运用中,将连续的模拟信号转换成离散的数字信号势必会造成一定的失真和误差。特别是当信号中包含频率高于奈奎斯特频率的成分,信号将在直流和恩奎斯特频率之间畸变使得采集的信号失真。为了避免这种现象的发生,采样频率一般取信号最高频率的3-5 倍,有时为了较好地还原波形,甚至会取信号最高频率的 10 倍13。量化就是用有限长度的二进制数来逼近离散的模拟信号。由于量化的结果是把尾数按四舍五入处理,对于有 m 位、输入电压范围是 Vmax的 A/D 转换器,有 0 至 2m-1 共 2m 个等级,每个等级的增量为 =Vmax/2m-1,那么,量化的最大误差就是 emax(nT)= /2。AD 转换器的位数越长则量化噪声越小,精度越高。在 AD 的位数确定的情况下,应该使输入信号的幅值尽可能接近 AD 的输入范围 Vmax,获得尽可能大的信噪比,提高数据采集的精度。AD 的选择,首先看精度和速度,然后看输出是多少路,输出是怎样的,比如 SPI 或者是并行的,差分或者单端输入,输入范围是多少,这些都是选 择AD 转换器时需要考虑的14。 AD976为高速、低功耗、16位模数转换器(ADC),采用5 V单电源供电AD976的吞吐速率为100 ksps。器件均内置一个逐次逼近型开关电容ADC、一个2.5 V内部基准电压源和一个高速并行接口。最大功耗均为100 mW。该ADC经过工厂校准,所有线性误差均被降至最小。模拟满量程输入为10 V的标准工业范围。信噪比(SNR)和总谐波失真(THD)等交流参数,以及失调、增益和线性度等一般参数均经过全面测试。AD976采用ADI公司专有的BiCMOS工艺制造,兼有高性能双极性器件和CMOS晶体管的优点。提供超小型28引脚DIP、SSOP和SOIC三种封装15。3.1.1 封装及管脚功能 AD976/AD976A的封装如下图所示,为窄28脚DIP形式,两列管脚间距为0.3英寸。主要管脚功能如图3.2所示:图3.2 AD976管脚图(1)电源:2,5,14,27,28脚,分别为数字或模拟地以及电源。模拟地于数字地及模拟5V和数组5V之间,最好通过小磁珠再连接到一起。(2)模拟接口:1脚,模拟信号输入端,与模拟信号之间须接一200欧电阻 3脚,参考电压输入端,可外部输入,也可利用内部2.5V电压基准。无论以上那种情况,均须将该脚通过一2.2F电容接到AGND1。 4脚,参考缓冲输入,须通过一2.2F电容接到AGND2.(3)数据接口:613和1522分别对应16位数据的D15到D0(4)控制接口:24脚,R/C,为读取数据/模数转换选择控制信号; 25脚,CS,为片选端; 26脚,BUSY,用于指示转换是否完成; 23脚,BYTE,为转换结果输出高低字节选择控制端。3.1.2 工作过程及转换结果 AD976/AD976A要开始一次转换,首先要将CS信号置低,之后R/C信号的下降沿使得内部采样/保持单元进入保持状态并开始一次转换,BUSY信号在开始一次转换时变为低,且在转换结束前保持为低。BUSY信号为高时标明转换已经结束,BUSY的上升沿可以用来所存输出数据。此时,将R/C置高,即可把转换结果输出到数据总线上,数据有效可用。BYTE为低时,高8位从D15D8输出,低8位从D7D0输出,为高时相反;高8位从D7D0输出,低8位从D15D8输出。时序如图3.3所示:图3.3 A/D976转化器时序图连接图如下图3.4所示:图3.4 AD转换器连接图 本设计要求多路数据采集,该AD转换芯片是单路输入,因此采用8块AD976芯片。图3.4中只给出了其中一条通道。3.2 CPLD介绍及电路连接CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。相对而言规模大,结构复杂,属于大规模集成电路范围。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能16。 经过几十年的发展,许多公司都开发出了CPLD可编程逻辑器件。比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。本系统采用了由Xilinxt推出的XCR3128。XCR3128 CPLD是赛灵思CoolRunner CPLD系列的第三个产品。现在数字系统的一个发展趋势是在不断提高性能的同时努力降低系统功耗,而这款XCR3128就同时具有高性能和低功耗的特点17。图3.5为20M晶振源:图3.5 20M有源晶振源CPLD编程接口,如图3.6所示:图3.6 CPLD编程接口3.3 放大滤波电路在数据采集系统中,模拟低通滤波器是关键的组成部分,用以滤除或衰减高频噪声的影响,提高系统的精度。在本设计中,对运放的要求有:(1)由于传感器所传递的电压或者电流在有些情况下是非常微弱的,所以就需要在输入信号很微弱的情况下,仍然能很好的工作,而且产生很小的漂移。这就需要运放能在很宽的输入电压范围内工作,所以就应该选择具有 rail-to-rail 功能的运放。(2)具有较高的转换速度与转换精度考虑速度和精度的要求,再从性能价格比方面考虑,通常应尽量采用通用型运放,但在数据采集中的调理电路中,对运放的要求比较高, 综合各种指标,认为 CA3140 是非常理想的选择。 这里选择了CA3140来组成差分放大器,兼有高电压PMOS管和高压二极管的优点,都集成在单独的芯片上,输入电路PMOS提供非常高的阻抗,可达到T级,还具有自身补偿能力来达到稳定的放大增益,输出部分含有自身保护电路来保护由于负载短路造成的损害,非常适合此电路设计。操作电源电压从4V至36V(无论单或双电源),它结合了压电PMOS晶体管工艺和高电压双授晶体管的优点.(互补对称金属氧化半导体)卓越性能的运放18。图3.7 CA3140封转及引脚图引脚功能: 1:偏置(调零端) 2:反相输入端 3:同相输入端 4:电源-5:偏置(调零端) 6:输出 7: 电源 8:选通端电路连接如下图3.8所示:图3.8 滤波电路连接图滤波网络的电阻R和电容C确定特征频率f0的值。C的容量一般低于1F,所以取C=0.1F,根据可以得到 =1.45 (式3.1)根据。当Aup=3时,Q将趋于无穷大,意味着该LPF将产生自激现象,因此电路参数必须满足Aup3。根据集成运放两个输入端外接电阻的对称条件及Aup=1+Rf/R1=2.8,R1/Rf=2R可以解出R1=3.11R,Rf=5.6R,带入前面求得的R值后,可以求得R1=4.5,Rf=8.12。3.4 电源供电电路电源是一个控制系统的动力源,对于一个系统来说它就像是人体的心脏一样,有着至关重要的作用。一个好的电源电路可以大幅提高其相应系统的性能。系统中选用的芯片共需要2种大小不同的供电电源,分别为2.5V、3.3V。数字电路设计部分采用TPS70358电源转换芯片。在现代通讯设备中,容量的增加、功能的扩展等都造成电源功率大大增加,EMI、防干扰、防止浪涌等其它问题也随之出现。一个良好的产品在设计之初,就必须从整体上考虑电源的EMI、防干扰、浪涌、瞬态保护及散热等重要因素,因此电源设计是很重要的一个环节19。 在实际设计中,设备的整体供电大多采用开关电源;而相对于每一块电路板或每一片重要芯片(如FPGA、CPLD)的供电则需要电压调节器,它主要包含开关型、并联型和线性调节器。开关调节器的效率较高,但其本身具有一定的开关噪声,从而会从电源的输入端产生差模与共模干扰信号。线性/并联型调节器的低噪声和简单性使它相对于开关调节器更有吸引力。最简单的电压调节器是并联型调节器,它通过调节流过电阻的电流,使输入电压下降到一个稳定的输出电平。线性调节器的输入电流接近于输出电流,它的效率(输出功率除以输入功率)接近于输出/输入电压比。因此,压差是一个非常重要的性能,因为更低的压差意味着更高的效率。LDO(Low Dropout)线性稳压器的低压差特性有利于改善电路的总体效率,本文采用的就是LDO线性稳压器20。原理结构如下图3.9所示:图3.9 LDO线性稳压器原理结构图 Q1采用的是PMOS管,好象在电路中串上一个低值的电阻。流过Q1的电流与负载基本一样,Q1是个压控元件,静态电流非常小。当Vo下降时,通过控制器增加Vsg,使Q1的电流增大,至使Vo上升;当Vo上升时,通过控制器减少Vsg,使Q1电流减少,至使Vo下降,从而达到稳定Vo值。TPS703xx系列是TI公司专门为DSP、ASIC和FPGA等芯片供电而设计的LDO线性稳压器。它提供双路独立稳压输出,且具备电压监测复位(SVS)、手动复位、使能控制以及可编程上电顺序等功能,特别适用于DSP芯片的供电。其原理结构如图3.8所示21。TPS703xx系列的主要特性如下:双路独立稳压输出;可选择的上电顺序;第一路稳压输出电流达1A,第二路稳压输出电流可达2A;快速的瞬态反应;120ms的上电延迟;第一路稳压输出的电源准备好(Power Good)指示;极低的静态电流(典型值为185 A);待机状态的输入电流仅1 A;低噪声输出,没有旁路滤波电容时VRMS为78 V;快速输出电容放电功能;两路手动复位输入; 2%精确度的过载和;过热监测;极低输入电压时锁定输出功能(UVLO);过热保护功能。TPS70358是新一代的集成电路稳压器,是一个自耗很低的微型片上系统(SoC),具有极低的自有噪音和较高的电源纹波抑制PSRR(Power supply ripple rejection)。此外,其小封装尺寸以及电压监测和复位延迟等功能,使得CPLD的供电设计变得更简单和方便,实际使用效果也不错,满足CPLD的供电要求22。电路连接图如图3.10所示:图3.10 TPS70358连接图3.5 显示电路系统中使用的显示器主要有发光二极管显示器,简称LED(Light Emitting Diode)。3.5.1 LED显示器结构原理通常使用7段LED构成字型“8”,另外,还有一个小数点发光二级管,以显示数字,符号以及小数点。这种显示器有共阴极和共阳极两种接法,如图3.10所示。发光二级管的阳极连接在一起的(公共端K0)称为共阳极显示器,阴极连接在一起的(公共端K0)称为共阴极显示器。一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔画(段)a到g,另外一个小数点为dp发光二级管。当在某段发光二极管上施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED不被损坏,须外加限流电阻23。以共阴极LED为例,如图3.11所示,各LED公共阴极K0接地。若向各控制端a,b,g,dp依次送入11100001信号,则该显示器显示“7.”字型。图3.11 LED七段显示器3.5.2 LED显示器显示方式LED显示器有静态显示和动态显示两种方式。LED静态显示方式:静态显示就是当显示器显示某个字符时,相应的段(发光二级管)恒定的导通或截止,直到显示另一个字符为止。例如,7段显示器的a,b,c段恒定导通,其余段和小数点恒定截止时显示7;当显示字符8时,显示器的a,b,c,d,e,f,g 段恒定导通,dp截止。LED显示器工作于静态显示方式时,各位的共阴极(公共端K0)接地;若为共阳极(公共端K0),则接+5V电源。每位的段选线(a到dp)分别与一个8位锁存器的输出口相连,显示器中的各位相互独立,而且各位的显示字符一经确定,相应的所存的输出将维持不变。正因为如此,静态显示器的亮度较高。这种显示方式编程容易,管理也较简单,但占用的I/O口线资源较多。因此,在显示位数较多的情况下,一般采用动态显示方式。LED动态显示方式:在多位7 段LED 显示中,为了简化电路,降低成本,则将所有位的段选线并联在一起,刚好由8 个I/O 口来控制8 个段。而公共端(共阳极/共阴极)则分别由相应的I/O 口控制,以实现各个位的分时选通。图3.12所示为6位共阴极LED动态显示接口电路原理图24。图3.12 4位共阴极LED动态显示接口电路 由于所有的段选线并联到同一个I/O,由这个I/O 口来控制,因此,若是所有的4 位7 段LED 都选通的话,4 位7 段LED 将会显示相同的字符。要使各个位的7 段LED 显示不同的字符,就必须采用动态扫描方法来轮流点亮每一位7 段LED,即在每一瞬间只选通一位7 段LED 进行显示单独的字符。在此段点亮时间内,段选控制I/O 口输出要显示的相应字符的段选码,而位选控制I/O 口则输出位选信号,向要显示的位送出选通电平(共阴极则送出低电平,共阳极则送出高电平),使得该位显示相应字符。这样将四位7 段LED 轮流去点亮,使得每位分时显示该位应显示的字符。由于人眼的视觉暂留时间为0.1 秒,当每位显示的间隔未超过33ms 时,并在显示时保持直到下一位显示,则由于人眼的视觉暂留效果眼睛看上去就像是4 位7 段LED 都在点亮。设计时,要注意每位显示的间隔时间,由于一位7 段LED 的熄灭时间不能超过100ms,也就是说点亮其它位所用的时间不能超过100ms,这样当有N 位的7 段LED 用来显示时,每一位间隔的时间t 就必须符合下面的式子:t100ms/(N-1)比如,现在使用4 位,也就是N4,则由式子可以算出t33ms,就是每一位的间隔时间不能超过33ms。当然时间可以也设得短一些,比如5ms 或1ms 也可以25。显示电路连接图如图3.13所示:图3.13显示电路连接图7406是反相驱动器(30V高电压,OC门),这是因为CPLD的I/O口正逻辑输出的位控与共阴极LED要求的低电平点亮正好相反,即当CPLD的I/O口位控先输出高电平时,点亮一位LED。7407是同相OC门,作段选码驱动器。4 软件实现 本章节介绍了在软件设计中所使用的编程语言和开发软件,给出了部分模块的程序代码。4.1 硬件描述语言硬件描述语言是实现 EDA 的编程语言,目前,使用最广泛的硬件描述语言是 VHDL和 VerilogHDL。(1)VHDLVHDL 是由美国国防部于 20 世纪 80 年代提出的一种标准,其核心思想是用文字和语言的方式记录下完整的电路设计,当看到这种语言时,就能看到该语言对应的电路设计。很快的,VHDL 被 IEEE 所承认,成为了工业界的标准。随着时间的推移,VHDL 的标准也得到不断的修正和更新26。 与其它硬件描述语言相比,VHDL 具有良好的可读性、可移植性,对设计的描述具有相对独立性,拥有更强的行为描述能力,支持层次化设计,具有多层次描述系统硬件功能的能力,具有支持大规模设计的分解和已有设计的再利用功能,从而决定了它成为系统设计领域最佳的硬件描述语言。VHDL 拥有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能检查设计系统的功能可行性,随时可对设计进行时序和功能仿真。可以利用EDA 工具进行逻辑综合和优化,并自动将 VHDL 转化为门级网表27。 (2)Verilog HDL Verilog HDL 是在 C 语言的基础上发展起来的,语法和 C 语言极为相似。该硬件描述语言由 GDA(Gateway DesignAutomation)公司所创造,但并没公开分表,后来,Cadence公司于 1989 年收购了 GDA 公司,Verilog HDL 理所当然的成为了 Cadence 公司的专利。后来,Verilog HDL 被 IEEE 收录和标准化,即 IEEE1364-1995,越来越多公司和设计人员开始使用 Verilog HDL。Verilog HDL 简单易学,特别对于学过 C 语言或有 C 语言开发经验的人,一般只需花很短时间就能学习和熟悉它,不过要想熟练运用它,则需要经常编写代码和做实验,最好能做几个实际的项目,通过实际项目开发,可以让 FPGA 开发人员进一步了解和精通Verilog HDL28。观察一下两者的结构,我们可以发现 Verilog HDL 语言的系统抽象能力稍逊于 VHDL,而对门级开关电路的描述能力则优于 VHDL。VHDL 的书写的规则比 Verilog HDL 烦琐一些,换句话说,VHDL 格式很固定,语法更严谨,对于 Verilog HDL,其语法的自由度较高。本设计中采用 VHDL 对 CPLD 进行逻辑实现29。VHDL进行工程设计的优点是多方面的,具体如下:(1)与其他硬件描述语言相比,VHDL具有更强的行为描述能力。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与效率上略有差异。(2)VHDL具有丰富的仿真语句和库函数。使得在任何大系统的设计早期,就能查检系统的功能可行性,随时针对系统进行仿真模拟,是设计者对整个工程的结构和功能可行性做出判断。(3)VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。高效,高速完成符合市场需求的大规模系统设计必须有人甚至多个开发组共同进行工作才能实现。VHDL中设计实体的概念,程序包的概念,设计库的概念为设计的分解和并行工作提供了有利的支持。(4)用VHDL万恒一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表(根据不同的实现芯片)。这种方式突破了门级设计的瓶颈,极大的减少了电路设计的时间和可能发生的错误,降低了开发成本。利用EDA工具的逻辑优化功能,可以自动的把一个综合后设计变成一个更小,更高速的电路系统、反过来,设计者还可以容易的从综合和优化的电路获得设计信息,返回去修改VHDL设计描述,使之更加完善。(5)VHDL对设计的描述具有相对独立性。设计者可以不懂硬件的结构,也不必管最终设计的目标器件是什么,而进行独立的设计。正因为VHDL的硬件描述与具体的工艺技术和硬件结构无关,所以VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各种系列的CPLD,FPGA以及各种门阵列器件。(6)VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需要改变类属参量或函数,就能轻易的改变设计的规模和结构30 。系统的流程图如下图4.1所示:开始传感器输入信号调理线路AD转换结束?AD转换开始进行下一次AD转换?是否开始AD转换?否 是否 是CPLD读取转换结果 是显示结果结束否 图4.1 系统流程图4.2 ISE简要介绍 Xilinx是全球领先的可编程逻辑完整解决方案的供应商,研发、制造并销售应用范围广泛的高级集成电路、软件设计工具以及定义系统级功能的IP(Intellectual Property)核,长期以来一直推动着FPGA和CPLD技术的发展。Xilinx的开发工具也在不断地升级,由早期的Foundation系列逐步发展到目前的ISE 9.1i系列,集成了FPGA和CPLD开发需要的所有功能,其主要特点有: (1)包含了Xilinx新型SmartCompile技术,可以将实现时间缩减2.5倍,能在最短的时间内提供最高的性能,提供了一个功能强大的设计收敛环境; (2)全面支持Virtex-5系列器件(业界首款65nm FPGA); (3)集成式的时序收敛环境有助于快速、轻松地识别FPGA设计的瓶颈; (4)可以节省一个或多个速度等级的成本,并可在逻辑设计中实现最低的总成本。Foundation Series ISE具有界面友好、操作简单的特点,再加上Xilinx的FPGA和CPLD芯片占有很大的市场,使其成为非常通用的FPGA和CPLD工具软件。ISE作为高效的EDA设计工具集合,与第三方软件扬长补短,使软件功能越来越强大,为用户提供了更加丰富的Xilinx平台。ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA和CPLD开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA软件。 设计输入:ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。 综合:ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的LeonardoSpectrum和Synplicity公司的Synplify,实现无缝链接。 仿真:ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。 实现:此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。 下载:下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,功能是进行设备配置和通信,控制将程序烧写到FPGA芯片中去。 使用ISE进行FPGA,CPLD设计的各个过程可能涉及到的设计工具如表4-1所示。4.2.1 ISE软件的基本操作ISE9.1i的界面如图4.2所示,由上到下主要分为标题栏、菜单栏、工具栏、工程管理区、源文件编辑区、过程管理区、信息显示区、状态栏等8部分。图4.2 ISE的主界面4.2.2 HDL代码输入 第一步新建工程。首先打开ISE,每次启动时ISE都会默认恢复到最近使用过的工程界面。当第一次使用时,由于此时还没有过去的工程记录,所以工程管理区显示空白。选择FileNew Project选项,在弹出的新建工程对话框中的工程名称中输入“one2two”。在工程路径中单击Browse按键,当工程放到指定目录,如图4.3所示。图4.3利用ISE新建工程的示意图 然后点击“Next”进入下一页,选择所使用的芯片类型以及综合、仿真工具。计算机上所安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到,如图4.4所示。在图中,我们选用了XCR3128芯片,并且指定综合工具为Synplify(Verilog),仿真工具选为ModelSin-SE mixed。图4.4 新建工程器件属性配置表 再点击“Next”进入下一页,可以选择新建源代码文件,也可以直接跳过,进入下一页。第页用于添加已有的代码,如果没有源代码,点击“Next”,进入最后一页,单击确认后,就可以建立一个完整的工程。第二步代码输入。在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择“New Source”命令,会弹出如图4.5所示的New Source对话框。图4.5 新建源代码对话框左侧的列表用于选择代码的类型,各项的意义如下所示: BMM File: ChipScope Definition and Connection File:在线逻辑分析仪ChipScope文件类型,具有独特的优势和强大的功能,将在M张进行讨论。 IP(Coregen & Architecture Wizard):由ISE的IP Core生成工具快速生成可靠的源代码,这是目前最流行、最快速的一种设计方法,将在4.5节详细讨论。 MEM File: Implementation Constraints File:约束文件类型。 State Disgram:状态图类型。 Test Bench Wavaform:测试波形类型。 User Document:用户文档类型。 Verilog Module:Verilog模块类型。 Verilog Test Fixture:Verilog测试模块类型。 VHDL Module:VHDL模块类型。 VHDL Library:VHDL库类型。 VHDL Packet:VHDL包类型。 VHDL Test Bench:VHDL测试模块类型。在代码类型中选择Verilog Module选项,在File Name文本框中输入one2two单击Next进入端口定义对话框,如图4.6所示:图4.6 Verilog模块端口定义对话框 其中Module Name就是输入的“one2two”,下面的列表框用于对端口的定义。“Port Name”表示端口名称,“Direction”表示端口方向(可以选择为input、output或inout),MSB表示信号的最高位,LSB表示信号的最低位,对于单位信号的MSB和LSB不用填写。定义了模块端口后,单击“Next”进入下一步,点击“Finish”按键完成创建。这样,ISE会自动创建一个Verilog模块的例子,并且在源代码编辑区内打开。简单的注释、模块和端口定义已经自动生成,所剩余的工作就是在模块中实现代码。填入的代码如下: module one2two(x_in, flag, y1_out, y2_out); input 7:0 x_in;input flag; output 7:0 y1_out; output 7:0 y2_out;/以下为手工添加的代码 assign y1_out = flag ? x_in : 8b0000_0000; assign y2_out = flag ? 8b0000_0000:x_in; Endmodule 鉴于篇幅,不可能对该软件的其他功能进行详细介绍,我们应该在实际工作中学习并熟练掌握。4.3 AD 控制模块定义端口:CS:片选(低电平有效);R/C:为读取数据/模数转换选择控制信号;BUSY:高电平, 表示本次A /D转换完成, 控制电路可将数据取走。数据采集时序可分成4个状态: S0、S1、S2、S3, 每个状态的动作如下: S0: CS=0、RC=0、BUSY=0(由控制电路发出信号,要求A/D开始进行A/D转换)。 S1: CS=0、RC=0、BUSY = 1 (A/D进行转换动作,转换完后将BUSY信号从低电平降至高电平)。 S2: CS=0、RC=1、BUSY=1(由控制电路发出读信号)。 S3: CS=0、RC=1、BUSY=1(数据被读取到DB0DB15上)。 下面给出部分主要源程序:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论