毕业设计(论文)-基于EDA技术的数字示波器的设计.docx_第1页
毕业设计(论文)-基于EDA技术的数字示波器的设计.docx_第2页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

武汉轻工大学毕业设计武汉轻工大学毕业设计(论文)毕业(论文)题目:基于eda技术的数字示波器的设计姓 名 学 号 院(系) 电气与电子信息工程 专 业 电子信息工程 指导教师2015 年 5 月 18 日目录目录2摘要iabstractii第一章绪论11.1示波器概况11.2本示波器主要研究内容11.3数字示波器在国内外的发展现状21.4eda技术的发展21.5vhdl硬件描述语言简介3第二章系统总体方案42.1数字示波器的组成框图42.2系统的设计任务42.3示波器实现思路42.4硬件控制器方案论证52.5示波器的实时采样和等效采样62.6存储器的选择和水平移动扩展显示62.7输入被测信号的处理62.8示波器信号的采集和缓存7第三章系统硬件设计83.1系统总体框图83.2前端电路模块83.3系统fpga硬件电路的设计93.3.1实时采样电路93.3.2等精度测频电路143.4系统的电源电路17第四章系统软件设计194.1系统软件结构图194.2fpga程序设计194.3采样频率设置子程序204.4测量频率/占空比子程序224.5数据采集处理及显示子程序22总结25致谢26参考文献27基于eda技术的数字示波器的设计摘要数字示波器是很常用的测量仪器,它可以用来观察、测量电路中的信号,还可以观察波型的频谱图,计算频率的噪声,是工程师不可缺少的常用工具。随着电子科技技术的发展和电路的集成化,电路中信号的频率越来越高,因此对电路中波形的测量要求变得更高了,这就需要提高数字示波器的性能了。现在市面上卖的高端数字示波器价格昂贵,为了满足一般的需求,本文采用fpga和能到ti网站申请的样片设计本示波器。本数字示波器的设计综合了eda技术、fpga器件的知识,eda设计技术的主要特征就是采用硬件描述语言来完成设计。首先,在本文的最开始部分叙述了数字示波器的背景,继而讲解采用eda方法设计的优势和编译软件的特点,最后讲解eda的硬件和软件编程。该示波器硬件编程语言完成底层控制电路程序的功能设计。设计模块有tft液晶的显示屏,程控控制电路,时钟电路,显示模块,高速ad转换和电源电路模块,对被测信号采样的实现,通过存储和显示。本系统对程控放大、波形参数测量以及水平扫速和垂直灵敏度的自动测量进行了重点介绍,设计的频率范围为dc10m。最后做出来的实物达到了预期的目的,是一个可以实用的示波器。关键词:程控放大、tft显示、eda、示波器abstractdigital oscilloscope is a commonly used measuring instrument, it can be used to observe, measuring circuit of the signal, can also observe the wave type spectrum diagram, calculate the frequency of the noise, is indispensable to engineer factory use tools. with the development of electronic technology and integrated circuit, the signal frequency of the circuit is higher and higher, so the circuit waveform measurement requirement becomes more accurate, it is need to improve the performance of digital oscilloscope. the market which sell high-end digital oscilloscope is expensive, in order to meet the requirements of general, this paper uses the cheap mcu and can apply to the ti website for plate design of the oscilloscope.this digital oscilloscope design combined the knowledge of eda technology and fpga device, the main characteristics of the eda technology is to use hardware description language to complete the design. first, this paper introduces the history of digital oscilloscope, and then, the advantage of eda technology is introduced, and the characteristics of the hardware description language and compile software. this oscilloscope uses hardware description language to complete the underlying control of the system and the important function of design. the difficulty of the design is the design of the control language and the design of data storage. design content the tft lcd display module, spc control circuit, the clock circuit, display module, high-speed ad conversion and power supply circuit module, for the realization of the measured signal sampling, through the storage and display. this system of program-controlled amplifier, the waveform parameter measurement and automatic measurement of vertical and horizontal sweep speed sensitivity were introduced, the design of frequency range for 0 10 mhz. the function of the oscilloscope design is based on ordinary oscilloscope design frequently used functions. finally make production reached the expected purpose, is a practical oscilloscope.key words: programmable amplifier; tft display; eda; and oscilloscopeii第一章 绪论1.1 示波器概况示波器的研究是现在研究发展的必要,随着元件的发展和技术工艺的提高,出现了很多小型化的,智能的示波器。今后还会出现虚拟的示波器的仪器。它将推动现在所有的示波器技术的发展。现代示波器的原理实际上还是与原来示波器原理是相同的。示波器可以应用于工业控制、电子电器测量等各种领域的一般测试,当然也应用于高等学校和其他教学组织的教学,为国家培养一批专业化的科技人才。智能型的示波器的功能的拓展也是在模拟示波器的基本功能上实现的。他正在向宽带,模块化的多方向发展。它的强大的功能可以测量很高的信号频率,这样就增加了示波器的带宽。现在高端的示波器的带宽可以达到15ghz以上了,这是一个相当宽的带宽了。这个带宽的示波器就可以用来,测量上千百兆的网络电路,通信电路了。填补了在这方面的测量仪器的不足。加快了通信领域的发展和建设。数字示波器设计的核心,就是重点设计采集电路。研究一台示波器,满足一般需要很有意义。市面上卖的数字示波器,大多是国外生产的,价格非常贵,国内生产的示波器还处于研究开发的初步阶段,在国民经济落后的中国,价格昂贵的国外示波器问题,使示波器的广泛应用受到了严重的限制,阻碍了我国测量行业和电子技术的发展。对于我们学生以及广大教学单位来说,只是用到示波器的基本功能,买一个价格昂贵的示波器就不是划算了。因此,研究一个满足基本功能的示波器就非常有意义了,既提高了学生对示波器原理的理解也拓展了自己的知识面。因此,我提出了一个便携式数字存储器的设计,它使用fpga和单片机为控制核心,tft显示屏。由程控控制调理电路、缓存电路、高速ad电路组成的基于eda的示波器。最后经过实践,做出了一个具有基本示波器的功能以及深入研究发展价值示波器。在这大学的最后的一个作品,为将学所学的理论运用到现实中,把理论和实际相结合,我选择做出一个实物,它是在eda 的平台下设计一个数字示波器,它有基本的数字示波器的功能。拓宽了本身专业、行业的知识面,使得此后本身有更多的发展方向。 1.2 本示波器主要研究内容这次我们设计和研究的,是以fpga和单片机共同控制管理整个系统。fpga主要是承担底层电路的设计,单片机主要就是实现人机界面,和显示的控制。在设计整个系统的过程中,把设计分成程控放大、电源电路、高速ad、缓存等几部分。运用的知识与本设计相关的技术,就是控制系统与控制的方式。其中fpga是采用hdl语言来编写的,单片机的程序就是采用c语言来写的。首先,制订方案画出模块电路图,做出实物调试,然后把各个模块做到一块板子上调试。1.3 数字示波器在国内外的发展现状示波器有信号的触发,信号的存储,信号显示的功能,得到工程师的普遍使用。1972年出现了数字式的示波器后,因为当时的技术元件,数据传输的速度,价格比较等因素的影响,发展的研究的进度缓慢。到现在数字示波器已经进入了飞速的发展,如果要求不高的话,本示波器可以满足日常所用。本次所要设计的示波器需要比测量信号频率要高出2倍以上,就能够把信号不丢失的显示到屏幕上了。在数字示波器中,需要从缓存中取出数据,处理后送到显示屏幕上了。现在有很多测量设备可以作为示波器。但是有很多电子工程师不是很看好这些测量设备。有时候这些测量设备还会误导工程师。示波器的好处就是要显示出电路中的信号的波形。它的测量也不受信号频率的限制,不管是高频率的信号,还是低频率的信号。都能够正确的显示。模拟的示波器比较好使用,主要是测量高频信号时,能够很清晰的。显示出信号的外包络。但是要是要求对信号进行分析还有保存的话。数字示波器就是很好的选择了。它能够解决这些所有的问题。现在的示波器有了比较大的改动。就是对采用频率有了很大的提高。现在的示波器测量的。信号频率比较高,比较古老的数字式的示波器。采样率过低的话就出现了信号的频率的混叠。看不清信号的波形。这样工程师就要腾出大量精力去寻找,电路中出现的问题。从示波器出现后,到现在。它都是很重要的,和非常常见的测试工具。后来随着电子技术和电路集成电路,快速发展。示波器的功能和性能,技术指标的提高。它的发展得到了快速的升级。示波器的,触发使能的功能,与水平方向的扫描位置点有着密切的联系。它决定了示波器是否能够准确清晰的显示出,信号的波形。触发的方式有,很多种。比较常见的有单次触发和连续的触发等等。在使用中有很多人,使用的是边沿触发的方式,它在某些信号测量领域是很有好处的。比方说对刚刚设计的产品,进行检查。边沿的触发方式将信号部分分离出来。用最大的存储深度和最高的采样频率。来测量信号的波形。现在示波器有很多的触发方式,有限定时间的脉冲触发和逻辑状态的、图形方式的脉冲触发。在测量上,和测试方式上有了非常多的触发方式的灵活性。1.4 eda技术的发展这次毕业设计本人使用了eda方面的知识和技术来,设计与开发。电子设计自动化,的eda就是在计算机中来实现整个电子系统的设计。eda技术汇集了计算机的知识和微型电子技术的综合技术。包括了计算机知识的图形,逻辑和拓扑等很多种类计算数学。和计算机科学的最新研究的成果1。本次采用eda的技术主要是依靠在计算机上完成数学系统的逻辑关系,电子线路的布局以及硬件的仿真。设计的工程师还需要完成对整个系统的文档描述。最后有计算机进行处理得到设计前的技术指标。eda的好处就是能够通过编程来修改硬件电路,就相当于修改软件一样方便,这个设计带来了很多的好处。1.5 vhdl硬件语言的简介这个vhdl的硬件描述性的语言,是1983年美国的国家部门研发组建的。并且通过了联合国的国家标准,这样,vhdl就成为了硬件编程语言的行业标准之一。从ieee发布了vhdl设计环节,各个公司就发出了自己的vhdl设计环境。对外面宣布自己的研发出来的工具,并且支持vhdl语言。从这个以后,vhdl语言就在这个行业中得到了大量的应用,使得很多公司对它进行进一步的升级。就慢慢的淘汰了原来的不是很标准的硬件描述语言。这个硬件描述语言vhdl是一个非常标准化和国际化的语言,这样随着业界长期的发展,和设计需要,就诞生了这个硬件描述语言。的仿真器。刚开始建立vhdl硬件语言的时候就是想用国际化的标准文档,和电路的模拟功能。其中主要的方法是在比较高的层次上对系统的描述。和处理元件的关系。但是在上个世纪年代。我们发现这个偏向硬件性的vhdl不仅仅可以作为设计系统中。硬件模拟的设计工具。同时还可以用作整个电路设计系统的实际电路的编程设计。用编写vhdl软件的方法。变化为图形文本的形式。来表达整个逻辑单元的设计工具。最后生成网络报表。就是硬件编程语言的逻辑型的综合器。把模糊的语句部分变化为实际的具体的电路,产生网络报表2。第二章 系统总体方案这一章主要讲的是对示波器外围电路分析或者说是对整个系统电路,方案可行性的分析。讲了控制器件的选择问题,还有芯片的介绍。选定,系统中各个子模块的电路设计饭方案。设计中要对的是对重点电路的讲解。2.1 示波器组成的总体框图图2-1 数字示波器的系统级框图2.2 系统的设计任务设计和研究内容:本系统采用fpga控制结构,利用fpga的可在线编程的特点完成数据的采集、存储。mcu完成人与机器的相连和系统调控。设计预期达到的目标:能对被测信好行进集采、存储,被测信号的显示,扫描频率可调,垂直分辨率可调,要求设置多个扫描幅度档位,被测信号的带宽从dc10m。设计的实现:画出原理图和做出pcb硬件板,编写相应的程序,终究调试完成。2.3 示波器实现思路2.3.1 示波器实现方法用本示波器测量被测信号,首先被测信号经过电阻衰减网络,然后通过缓冲器缓冲进入程控放大电路调整,送入高速ad转换成数字信号存入fpga中,通过对数字数据的计算处理。最后显示在tft屏幕的信号波形。ad的采集道理事实上通过对缓存的采样。实现间接对ad的控制。在对缓存读取数据的过程中,控制器要对缓存禁止写入操作,所以是有一点数据丢失的。在测量信号时,要根据被测信号的频率设定合适的采样率,设置过低了,很有可能会观察不到波形信号3。2.3.2 高速ad转换器1) adc的基本分类adc的分类有很多种。可以从速度、输入的方式、采样的速度、数据输出的方式等方面分类。数据输出的方式分为串行和并行输出的方式。从功能上分的有逐次比较型,积分型,并行比较型等等。2) sar型adc关于asr的模拟,数字转换器。在使用的时候,要注意它的采样时钟和外围电路的阻抗。这两个技术指标不能忽视。如果不注意,忽视的这两个指标,不管是使用,内部集成的转换器,还是外部扩展的,都得不到最优的结果。通常使用这一类型的转换器,都要在前面加一个放大器,来实现阻抗的匹配。3) 流水线型adc这些adc由于其结构限制,需要多个时钟周期产生一个数据。致使采样率较低,可是直流精度高,功耗低,在工业界利用普遍。在每个时钟周期可以是一个数据,随着仿真技术的发展,比较快,每个比较器的直流特性和响应时间,是很难实现的完美匹配,导致精度无法做高4。2.4 硬件控制器的方案论证方案一:本方案的系统设计。包含前端电路,信号前端调理,数据的处理,人机界面的显示。系统选用mcu和cpld作用系统的中央处理器。根据在网上的查阅的资料,决定使用高速的,噪声比较低的ti的芯片。组成的前端调里电路。来达到高速ad芯片输入的合适的电平信号。使这个信号的幅度。能够把ad充分利用起来。然后还要采用高速的比较器。来实现一个触发电路。并且这个电路的电平是可以调节的。数据存储的缓存电路是由采样电路和高速ad组成的。他在fpga的控制的采样时钟下来。实现采样。mcu用作整个系统的总的控制器。它与fpga里面的双口缓存相连。最后就实现了对被测信号的采样,保存和数据的处理。处理得到的数据转变为波形数据,最后在显示出来5。方案二:这个方案是用mcu和fpga为主控核心。设计的输入测量信号是从dc10mhz。首先经过电阻的组成的衰减电路,经过这几个衰减网络时还要对它进行高频补偿,才能使测量信号的频率在高频时。保证被正确无误的采集。这个衰减网络一共设计有3个档位。在进入缓冲电路,实现前级和后级的相等的,阻抗匹配。经过信号的调理电路后,送入由非门组成的放大器和施密特触发器。对信号进行修整。使它变为数字脉冲信号。之后送入pfga计算测频。整理后的信号还要经过ad采样。在这里我选用的高速ad是用ti的830芯片。它是一个8位的adc。其最高支持的采样率为60mhz。采样出来的数据信号就是信号的幅度值的数字量数据。这个时候也要实现调节触发电平的控制。调节触发电位器的电压,达到调节触发电平的程控的目的。经过采样所得到的幅度数字量,存入fpga的内部的双口缓存器中。存入后经过波形数据,处理模块计算处理后传送给显示屏幕显示出波形来。系统的设置的固定采样频率为40khz。这整个系统能够实现连续触发的显示还有单次触发显示,并能实现波形的存储于回放6。方案三:本设计方案采用的是“双核的方案”即采用两个cpu。包括的电路模块有,前端电路,自动调节信号的电路,缓存电路和显示等。所选用的单片机是avr的单片机。采用ad603作为控制放大调整电路的agc电路的芯片,通过控制数模转化器产生的直流电压来调节信号的放大(衰减)倍数,使被测信号的幅度满足ad控制转化器的输入,由于avr单片机速度的限制所以采用idt7204作为缓存,来缓冲mcu与tft显示。综合考虑,要使示波器便于携带,价格便宜,能满足普通的测试的设计理念,最后,决定选择方案二。2.5 示波器实时性的采样与等效采样2.5.1 实时采样实时采用的意思就是说在规定的时间范围内对信号进行采样。即是有周期采样。然后把周期性采样的数字点。按照一定的时间顺序,简单的排列。最后得到一个波形数据组。我们根据来奎斯特采样的知识。采样的频率要在信号频率的2倍或者以上。就能够通过数据的处理,还原信号在屏幕上显示出来。现在的成品示波器一般采样率都在测量频率的4到10倍的样子。还要用到内插的算法。采用内插法,可以减小对系统采样率的要求。实时性的采样方法,他对系统的硬件和软件要求比较低。可以恢复任意信号。系统的采样速度越高,它对高速ad本身的转换速度和变化的精度。也就越高7。2.5.2 等效采样等效采样的方式有很多种。工程应用上一般分为顺序的采集与随机的采样。顺序的采集。它能够对输入的信号,精确的测量。但是现在市面上出现的示波器都是采用的,是随机的采样。等效采样的方式。可以用相对较低的时钟采样率,来换取测量高的输入信号的频率。要注意的是使用等效采样。输入的信号一定是要以周期性的出现,才能够准确测量信号频率。为了让原来的信号,这个信号是指输入的信号,恢复成能够。使时钟信号在每个周期内等效的,等间隔的。取出信号的样本。之后再将在多个周期采样的,样本值综合到一个周期内。就能够达到等价于,一个周期内采样的效果。这样提高了测量的精度8。2.6 存储器的选择和水平移动扩展显示本次设计选用的存储器。是采用fpga内部的资源,这样减少了外部资源的扩展,简化了电路的设计。存储器有很多种,但从结构上来讲,有两种。有双端口的存储器ram和普通的ram也叫sram。其中双端口的ram可以进行读或者写操作。编写程序起来比较复杂。它的价格也比较贵。而sram是很普遍使用的存储器。使用起来也很方面。市场价格也很便宜。这个缓存器fifo的生成通过对程序的编写就能够得到的。因为fpga有内部的嵌入式阵列块,所以我们直接到编程环境中设计就能够得到缓存器fifo。这种做法既提高了系统可靠性,又降低了成本9。水平移动显示的方法,就是信号在采集的时候就已经将数据存储增加了两倍。这样在显示的时候,只需要恢复一半的数据的模拟量就能够显示出来了。2.7 输入被测信号的处理信号进入前端采集后。开始要对进来的信号,进行在信号幅度大小线性的处理。使它信号的幅度在ad转换器的输入范围内。被测信号输入到dos时要经过前段处理才能输送给adc,adc输入端口一般有电压幅度的限制,超过这个值就可能损坏adc。所以输入测量信号。根据不同档位的垂直灵敏度的选择做出调整,也就是说小信号放大,信号衰减到adc的输入电压范围。要实现这个目标就要。根据信号输入的幅度的不同来调整大小。这个办法用手动的调节肯定是不现实的。我们就要选择用电压来控制放大或者是衰减的倍数。即是电压控制的放大芯片603。我们把整个电路叫做采用agc电路。在这个电路中。要考虑,在理论上放大器的增益。和带宽是互相牵制的。是一个矛盾。同时,要防止被测信号的幅度过大烧坏adc,要在adc的输入端口加入限幅电路10。2.8 示波器信号的采集和缓存在本示波器中,ad转换电路在指定采样时钟的控制下把被测信号转换为数字信号,供给控制器读取。adc参数的选取要考虑到很多技术指标。设计中,尽量选择具有比较高的采样率的adc。因为这个指标,决定了整个示波器设计的最高的。信号采样率。同时也决定了所测量的信号的最高频率。也就是测量带宽。反映到示波器的界面也就是水平扫描速率。而adc的编码位数与y轴方向的分辨率相关。根据这两个技术指标我们选定了ti公司提供的ads830e。数据信号保存到缓存,内存的位数必须基于adc转换器的数量选择。内存的多少来确定每个采集点的能力,以及相关的垂直分辨率。存储进ram中的数据来自于adc,经过控制器读出来在显示到tft屏幕上。第三章 系统硬件设计本数字示波器的设计在做方案论证的同时也把电路做出来调试了一遍,采用了模块化的设计方法,把比较繁琐的系统电路分解成单个模块进行制作调试,最后选出一个最优的模块电路。经过筛选出来的模块电路最后做到一个板子上面,成为一个完整的系统,整个系统不难,就是比较麻烦。3.1 系统总体框图系统总体的结构如图3-1所示,输入的信号先经过电阻和电容组成的衰减网络,变换为可以送入ad电路的信号,然后进行程控放大调整,在经过由采样和存储电路进入ads830进行采样。除此之外,系统还要根据信号的频率,经过由产生的频率的模块,选择出合适的一系列频率中合适的时钟频率,最后所输出的时钟信号提供给ad进行转化,变成数字数据。最后所得出的数据,被送进fpga中的双口缓存中。这样通过对数字数据的处理,最终显示在屏幕上。功能的设置都是由,按键输入实现的。图3-1 总体系统框图3.2 前端的电路组成前端电路是由衰减网络、缓冲电路、程控模块和直流供电电路组成的。此部分的框图如图所示图3-2 前端电路总体框图在此模块电路中,由于要保证信号的大小在ad芯片的输入范围内,设计的时候需要加保护电路,当然,也需要根据信号的大小来调整,信号过大时,对其进行衰减,信号小时,也要对它放大,保证对模拟数字转换芯片的充分利用。衰减倍数大小的选择,通过对mcu的控制来实现,最终达到对多种倍数的选择。因为电阻不是纯电阻,所以要对衰减的电阻网络,进行补偿。来得到稳定的信号。缓冲器作为最前端电路的跟随器,来实现输入和后面电路的阻抗相互匹配。缓存器是由ti公司的ad8065构成的,ad8065具有比较高的输入电阻。并且在带宽内增益是很稳定的。程控放大电路即是调整信号的电路,既能对信号进行衰减,还能对信号进行放大。所采用的芯片是通过用电压来调整的放大倍数或是衰减倍数电压控制芯片ad603。控制电压的大小是由da芯片得来的,da芯片电压要输出稳定。单片机通过控制da来调整信号。直流供给电路中,通过控制da来实现,直接输出直流电压。后级电路经过普通放大器,构成的放大器来加入,直流中点的电位压。最终在屏幕的中间显示x轴。3.3 系统fpga硬件电路的设计fpga里面的电路组成是本次电路设计的核心和重点,它主要完成高速转化器的数据采集,还有信号的频率的测量计数和时钟系统的控制等功能。fpga里面包含了对数据的采样电路、采样的方式选择电路等。精度测频电路、嵌入式处理器内核和其它附属电路11。3.3.1 实时采样电路本电路主要完成的是dso中的采样的功能,其特点是实时。通过控制ad转换器将得到的数字数据,存入缓存fifo中。同时也要控制ad转换器的采样速度。本模块包含了频率产生的选择电路,高速ad的控制时钟信号还有缓存fifo。在fpga控制中各个单元电路连成采样电路,如图所示。图3-3 fpga内部实时采样控制电路这个电路是在主控器与触发电平电压的共同作用下工作的,先主控器要在用户的设置下,发出采样的初始信号。之后,当触发电平来到的时候这个电路开始工作。输出不同的采样频率,是要由用户来进行设置的。输出的采样频率,来控制高速ad的采集速度,这样就达到了通过用户的设置在不同采样率的条件下对信号采样。最后把采集的数字信号,存入fifo当中。当fifo存满之后,就停止采样。1) 采样频率和选择电路采样频率和选择电路是用来产生一类的不同的采样速度的,和选择其中单一频率的时钟信号。在设置中选择一个信号输出某一频率下的时钟信号。这个频率就是控制高速ad和fifo的时钟信号实现对信号的处理。本电路的实现是要在编程中用硬件描述语言编写的。写的时候要注意竞争与冒险12。程序是在编程环境中编译、仿真得到的。最后得到symbol块。如图所示图3-4 采样频率产生/选择模块这个电路快有四个接入的端子与一个输出端。clk作为基准的时钟信号,也是最高信号。它是由外围电路的晶体振荡器产生的。其频率为60mhz。该信号的频率又经过分频电路产生一类不同频率的信号。这样就得到了采样的频率。clk30mhz作为频率的输入端,它是由fpga内部产生的。rset作为复位信号,并且是低电平有效。程序中set2.0表示作为选择的控制信号,由用户决定。输出端口用y表示。输入的开始信号频率先要经过分频后,在控制信号的作用下选择出不同的频率,如表所示。表3-1 水平采样速率set 2set 1set 0y00030mhz00110mhz0105mhz0111mhz10010khz101400hz最后将采样和选择的模块电路在编译软件中仿真,仿真出来的波形如图所示。图3-5 采样频率和选择电路的仿真波形图2) ad转换采样的控制电路这个电路可以说成是示波器的咽喉要到。它的功能就是要在用户的控制下对高速ad在多种采样频率下采集信号。并将采样得到的数据放到fifo中。产生的ad时钟是下降沿有效,经过n次采样得到的数据先经过一小段时间的延迟,在送入内部总线上。假如这个时候输入的使能有效,所得到的数据可以直接送入总线上,这时不会发生冲突。送入总线上后,需要将串行数字传化为并行传输的数据。转化后的数据事实上也要延时一段时间。现在根据ad手册上的时序,在fpga的编程上,写出它的控制逻辑时序程序。这块电路也要采用硬件描述语言来编写。在编写程序上,可以采用两种方法,一种是状态机,另外一种是直接编写的方法。最后在编译环境中产生.bsf文件,如图所示。图3-6 ad的采样电路这个电路的程序中端口的定义:rset,作为本电路程序的复位口,是用来控制外面ad转化器的启动和停止,还有对缓存fifo写入和读取控制。elk,作为端口的输入,它控制上级电路的输出。ad data7.0,看到这个字眼当然是数据输入端口,接收来自高速ad的输出数据。ad oe,作为使能信号端口,低电平有效。irr,使能请求信号,最后写入fifo中,上升沿有效。a clk,作为控制输出的采样信号,来控制ad速度;此时钟反向后作为fifo的写时钟。data out7.0,作为数据的输出,送入到缓存fifo。通过软件得到仿真图,如图所示。图3-7 ad实时采样控制器模块仿真波形图从上面的图中可以得到,当复位信号rset为低电平时,高速ad是不能够进行正常换化工作的,fifi也不能够写入数据;只有在rset为高电平时,上诉芯片才能够进行相应的正常转换工作,fifo的写入数据是靠上升沿来进行工作的。3) fifo存储电路fifo缓存主要应用与数字电子系统中。可以作为高速主控与低速外围或者是作为低速主控与高速外围电路的匹配链接,也就是用于数字数据的缓存。它和通常用的缓存就是没有设置地址线,所以用起来很方便,程序的编写也简单的多。它是按照数据谁先进来谁就先出去。指向指针自动完成加减操作。fifo通常用于异步时钟数据之间的缓冲13。fifo的工作方式可以分为两种,一种是由单一时钟控制的,还有一种是由两个时钟控制的,这是根据这个芯片时钟的工作决定的,前一种工作方式又称为同步时钟,后一种又称为异步时钟。在本次设计中高速ad是根据不相同的频率时钟进行转化的,在在这个时钟的引入下送入fifo缓存,继而被主控读取。又由于写入数据时是一个时钟,读取时又是一个时钟,所以本次设计采用异步的fifo工作的方法。本次设计的异步fifo是选用完全不一样的两个时钟,通常用于时钟电路模块间的变换。本次采用的异步fifo相比同步fifo其内部电路结构要复制,当然编写程序起来也相应的复杂一些。所以有可能应为时序问题,包括时间段的建立,保持问题进入不稳定的状态。是系统工作的不够稳定,工作不正常等问题。为了解决这个问题,我们采用流线型的工作方式,这个工作方式也分为写入的流水线和读取出的流水线。写的时候是由4个和写的时钟同步的计数器和一位读取时钟同步的计数器组成。读的流水方式是由4个与读相关的计数器组成。里面的数据都是采用循环码。这种方法有效的降低了不稳定因素的产生。本次设计中使用编译器quartus ii中向导自带的生成fifo缓,编程的时候可以用逻辑单元结构编程,还可以用存储器结构编程。本次设计编程我们采用存储器的结构方式来编写。在编译软件中使用mega wizard向导生成fifo。最后得到的电路块。如图所示。图3-8 异步fifo模块编写的时候要考虑到存储器的深度的技术指标,这里我们设计出fifo为4k的容量。越大的存储容量,可以存入更多的波形数据,更能够充分的显示出波形的形状特征。fifo电路的端口如下:daea7.0,用于数据的输入,它是8为数据的并行输入;wreq,作为信号的写入使能,高输入的电平有效;wrk,作为输入的写入时钟;rdrq,用于输入的时候是读取还有应答;cdck,它是用作在输入的读时钟信号;acr,它定义为输入的时候的异步复位的信号,为搞的时候有效;wrfl,设定为缓存fifo的满设位,高位的时候有效;oute7.0当然是数据的输出了;rdwty,定义为输出的空的标志位。他和读取的是同一个时钟。高为有效。在本次设计中重点是如何来判断的缓存器fifo的读写情况,是空的还是满的数据状态。为了能够确保该电路快的正常工作,数据的读入和写,而不出现漏读空读的情况出现,就要在缓存fifo写满的情况下,禁止对fifo的写入。在没有数据的时候,不能读取。编写程序时fifo的写入的使能wrq、写入的时基信号wrck和数字端口楼来源于控制的采样时钟。数字缓存存储的数据在wrq和wrck的控制下一次写入fifo,在fifo写入满时,fifo的满位至高,被cpu读取。当控制器检测到这个跳变的信号后,立即产生停止采样的信号,控制fifo不在向它写入数据,等待读取完毕后在写。这个变化的信号发送后,fifo就产生请求读取的信号,控制器检测到后产生读的时钟信号,对fifo读取。读完了之后,fifo发出读取空了的信号,停止读取。这样就完成了,一次fifo数据的读写过程。3.3.2 等精度测频电路本电路的设计是测量信号的频率还有占空比的,本文前面部分已经讲了,它是采用高精度测量原理的测频方法。可以去除用直接测量方法中所带来的频率误差。所以,测量精度很高。该部分主要包含,信号的产生电路、计算测量器和输出的存储电路。在fpga中通过编程来实现它的功能,其逻辑图,如图所示。图3-9 fpga等精度测频电路该电路是在单片机的控制下工作的,工作的时候需要根据信号本身的频率的大小,来选择门控信号,本电路模块设计了两种控制门信号的时间,分别是1.5s和0.5s。控制门有产生门信号的上升沿的时候,通过控制计数器的标准频率还有通过调整后的被测信号、还有计数的脉宽。有下降沿出现的时候停止计数器。之后,由单片机分别读出这些计数值通过处理后,最后得到信号的频率等其他技术指标。送入到tft屏幕上显示。1) 门控信号生成的电路14通过前面的叙述,门控信号控制这本电路中所有的时间测量长度。但是,为测量比较低的频率信号,比如1hz的信号,这就要本电路控制的打开门电路的时间要小于1s,当检测比较高的频率的时候,打开门电路的时间要小于1s。此时,系统仍然在采用比较长的门电路下工作时,会降低系统的使用率。也会延迟显示屏幕的更新速度。故本系统需要选择一个合适的门控选择信号,所以,本系统设计了两个门控的时间选择信号。当在频率比较低的时候选择0.5s的,在频率比较高的时候选择用1.5s。这样就实现频率的测量,很好的解决了门限时间的问题。门控信号采用对输入50mhz频率计数得到。该信号实现的方法是在fpga 的编译环境中,用状态机实现的,得到的模块如图所示。图3-10 门控信号产生模块本电路有ck、stst和gatt_sl三个输入端还有out输出端口。ck,设定为时钟的输入,它是由锁相环电路输出的;stst,定义为本电路的启动控制端;gatt_sl编程定义他为门的控制时间的端口;当gatt_sl 为低电平的时候,对应的门控制时间为0.56,当gatt_sl 为搞电平的时候,门的控制时间为1.5;out 为门的控制信号的输出端口。2) 计数器电路这一块电路与电路的其他部分要相匹配,门信号的启动后,在被测信号的上升计数的时候,允许这个电路工作,在其关闭后即下降沿的时候,关闭这个计数器;经过这样一处理,保证了门信号。始终是信号的整数。这样一来就实现了对信号频率的准确测量。当计数停止时,发出一个保存信号。来供给单片机进行数据的读取。一路保存计数器里记录的计数值,传给单片机处理;另一路的信号取反之后为eda送入查询的信号,单片机要根据,这个信号来显示出具体的数值。本电路也是在主控芯片的编译环境中设计的,自后产生了如下图所示的图形15。图3-11 计数器控制模块这个电路有两个输入端子,它们是gae、f_i;三个输出端,为e_x、e_h、latc。其中gat是前面电路输出的门的控制信号;f_i为信号的输入;e_x为给出的计数信号;e_h为高精度频率信号;latc为锁存的校准信号。之后,由cnx和cnb算出测量信号频率和周期。3) 计数器电路和保存电路本块电路中所用到的计数器电路的实现是采用fpga的编程软件,编写而成的。编写的时候要设置宽度,本次配置中,配置了2个16位的计数计数器。保证足够大的计数值不产生溢出。用到的保存电路用于计数器的计数。最后给单片机读取,输出到显示屏幕,计数时在信号的门电路关闭时。不进行计数。之后启动保存电路。3.4 系统的电源电路3.4.1 电源电路介绍该电路为整个系统提供能源,将电源电路分为两个部分,模拟和数字两部分。系统总的输入电压是由两节3.7v的锂电池串联得到的,所以需要dc稳压芯片,还要有将正电压反相得到负电压的芯片,这里我选用mc34063a芯片得到负电压。3.4.2 电源电路的设计为了防止相互发生串扰,故将模拟部分和数字部分分开,分别用独立的dc芯片,并用电感和电容搭成 型滤波电路进行滤波后在输入dc芯片。模拟部分采用的是 v双电源,用于程控放大电路和高速ad模拟电路,其中高速ad只需要用到+5v单电源。+5v电源由芯片ams1117-5对两节锂电池组成的7.4v的电压稳压得到,而-5v电压要先经过mc34063a芯片反相得到-7.4v后,在经过mc79m05cdt稳压得到-5v。数字电源只需要+5v的电压,也是先由电感和电容滤波后用ams1117-5芯片得到的。其具体的电路如图所示图3-12 系统的电源电路第四章 系统软件设计fpga是一种半定制asic。它可以让开发技术人员根据实际问题,实现相应的功能。本文用到的电路设计主要是fpga的编程,在本文中占了大量的篇幅。其中控制采样的部分是本文的重点,它为各个模块电路单元提供基准时钟信号。还有采样存储电路的模块,也是本设计的主要部分,它的作用主要是将送过来的数据信号保存到fpga里面的存储单元。4.1 系统软件结构图图4-1 系统总体程序结构图4.2 fpga程序设计本设计的部分,主要有fpga数据传输的结构总线,时钟信号的发生电路,数据存储的电路等。在这个部分中,时钟电路通过多路器的选择,产生单一频率的信号对ad进行采样,同时也是作为系统其它部分的基准信号。其稳定度,关系着系统测频电路的精度,非常重要。所以本文重点设计了该部分。如图所示。图4-2 fpga程序设计图当系统开始运行的时候,第一就是初始化,其初始化的部分包括控制信号、初始化显示、fifo缓存等。然后在扫描按键,其按键程序是采用状态机的方法来实现的,这样就提高了cpu的运行效率。根据用户设置的值来执行相应的程序。当按键值为1时,系统进入采样时钟的设置,并且跳转到相应的程序执行相应的操作,输出稳定频率的采样信号提供系统的正常工作。如果用户设置的是键值为2则相应的功能为频率设置的页面设置,进入页面设置后,就可以执行相应的程序。如果为用户设置的值是3,则为触发工作方式的设置。如果用户的设置值为4其功能就是测量频率。到现在,完成了软件框架的所有设置。这个软件系统,开始调用数据的采集功能,然后在调用显示屏幕的子程序。在判断开始和停止键是否按下,如果按下了则在屏幕上,显示波形数据16。4.3 采样频率的子程序这个模块程序,作用就是完成不同频率的选择,即通过对输入数字端的选择最后确定一个单一频率的信号进入系统采样。此程序,是根据自己的输入,完成不同频率的采样。可以输出不同频率的选择信号。fpga中采样频率的产生与选择器模块的生成。它是根据3位码clk的值输出,得到不同频率的信号。最后控制外面的ad转换电路,实现达到不同的采样频率。图4-3 采样频率设置子程序流程图当程序进入频率的子程序之后,先要显示一个初始频率的频率,这里我设置的初始值为4mhz,并且输出一个频率的选择信号,就达到了控制芯片的选择与采样信号的产生。这一步执行过后,就开始扫描按键的检测了,如果设置的键5被按下,就返回到主程序。相反如果没有键按下,就检测到循环键6,这样一直到检测到有键按下时,就在程序的内部加1操作在显示值。之后显示下一个值,并且输出相应频率,选择信号的频率,然后提供给fpga内部的频率生成电路。最后,就达到了控制不同输出频率的目的。但是,只要第5键没有按下,程序就循环扫描。4.4 测量频率和占空比的程序本部分是测量频率与占空比的程序部分,它的作用就是计算和测量信号的频率和占空比。最后显示在屏幕上。程序的实现要根据本人的设置,是显示输出频率还是显示占空比。还可以控制fpga中的高精度的测量频率的电路的工作。还要根据的设置操作启动测频信号。通过控制fpga中测频电路,计数信号个数,从而计算出信号的频率,最后显示在lcd液晶上。图4-4 测量频率和占空比程序流程图检测到有频率按键按下时,设个时候程序就跳转到这个模块的程序下,进入到这个子程序,首先要进行初始化。刚开始要清楚计数器和锁存的信号。然后开始测频。这个时候需要根据测量信号频率的大小。从而选择出合适的门控信号。假如信号的频率比较低,低于50hz时就选长时间的门控信号;信号的频率很高的时候,就选择短时间的门控信号。门选择信号的控制是高精度测量频率的重要保障。它产生两种时间的信号。在门控信号的上升沿的时候,就要使能芯片的计数器,来开始计算数据的个数了,当门信号在的下降产生脉冲的时候,就要使控制器停止计数。在程序的执行中,当检查到了计数停止信号的时候,就要快速的读取计数值了,这个信号电平为低电平有效使能。在读取得到的数据后,读取的数据有信号的计数器值、高精度的时钟信号,检测得到的停止标志位,然后通过这三个数据的计算处理,算出的结果就是信号的频率还有占空比。最后送到液晶上面来显示出。然后在检测按键,如果还有按键按下。就回到主干程序,继续上面的循环。没有按下时,再继续测量。这样就实现了连续测频功能17。4.5 数据采集、处理及显示程序这个子程序块是本系统中的数据采集的重点设计对象,按照前面对按键的功能定义。用户就是通过按键的输入来实现功能之间的切换的。当启动整个系统工作时,根据本

温馨提示

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

最新文档

评论

0/150

提交评论