ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:797.15KB ,
资源ID:22644998      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22644998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易数字存储示波器实验报告Word格式.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简易数字存储示波器实验报告Word格式.docx

1、系统工作流程图如下所示:通过RESET按键初始化,按键选择是否进展采样或是进展其他操作如例如波形的演示、调用查看以前存储的波形,假设进展采样,那么将采集的数据存储到FPGA置的RAM中,下一步进展是否存储或进展实时数据处理。假设进展实时数据处理那么可以在LCD显示屏上观察到相应的波形,并且可以对其进展上移、下移、扩展、收缩和测频的处理。二、实验设计原理设计总体逻辑思路如下:系统开场工作时,通过按键选择是否开场检测波形,假设是,那么首先由频率检测器检测频率,然后根据测得的频率选择适当的采样频率。信号源产生的信号通过A/D采样,采样结果保存在FPGA置的存储器中。待存储完一帧数据时进展输出到LCD

2、上显示。待显示100ms后暂停100ms以消除视觉暂留效应,然后准备下一帧数据的存储和显示。如假设需要存储波形,那么在当前显示的同时,将采样得到的数据送往片外的SDRAM存储,直至存储完毕或者存储容量到达上限。当需要显示存储波形时,那么将外部SDRAM的数据读进来,送往LCD显示,其原理和实时显示大致一样。在显示暂停期间,要读取按键情况进展整体控制,比方控制波形是否显示在LCD屏幕上、是否存储、是否显示实时波形还是存储波形、是否上下移动、是否进展时域扩展等。在实验的验收中,因为缺少信号源的调试,因此A/D采样存储模块未得到验证。为了展示对LCD显示控制,我们利用FPGA部的ROM进展波形数据预

3、存,通过对ROM读取来模仿外部的AD采样存储。同时为了演示各种不同的波形正弦、方波、锯齿波,同样可以通过按键进展选择。最后我们可以在LCD上观察到稳定的正弦波、锯齿波,方波较差。三、系统各模块的简单说明根据上述硬件使用说明图以及实验原理,我们的设计总体有以下几个模块:1分频、测频模块和选择A/D采样速率模块说明:FREDEVIDER作为分频器得到所需要的各档采样频率。同时局部频率分量也在其他模块的计时处使用。FREQ_COUNT是测频模块,用于测量输入信号的频率。其根本原理是给一个1s宽的高电平脉冲,在此期间对信号时钟的跳变进展计数,一秒完毕后所得的数据就是信号的频率。SAMPLERATE模块

4、是为了针对不同频率信号的档位选择不同的采样频率。为了在LCD上显示适当数量周期的波形,我们将频率设置为12个档位。最低档位是15Hz,采样频率为100Hz,然后是510Hz,采样频率为200Hz,然后是1050Hz,采样频率为1000Hz等等。以此类推,直到最高档500K1MHz,采样频率为20MHz。2按键控制模块 说明:KEYBOARD模块是单片机和FPGA的接口和简单的初步处理,用来控制键盘操作;各buffer触发器是对按键的记录。为了防止对按键的重复读入,此处的触发器设置为上升沿触发,这样每次按键只读入一次。模块图如下所示:3实时波形处理模块KEY_DEAL模块主要是处理按键,包括对按

5、键的记录和相应的参数计算;tlc5510模块是对外部超高速A/D采样芯片tlc5540采样得到的实时数据进展采样存储控制的,作用是将采样得到的数据存储在置的RAM,用于实时显示,该RAM容量较小,只用来存储一帧的波形数据。 需要说明的是,tlc5510里面包括一个100ms的计数器,作用是在一帧数据显示完计时100ms等待,用于消除视觉暂留效应。计时过后,开场下一帧数据的存储显示。4存储波形控制模块该模块的主要作用是控制存储波形数据的读写操作和送到LCD显示,同时也包括在显示存储波形时对相应按键的处理。STORE_CTRL模块对存储波形的数据进展采样存储的初步处理;SDRAM_CTRL模块对外

6、部DRAM进展读写控制。KEY_DEAL2是用来对按键进展处理,功能类似于实时局部中的KEY_DEAL,只是多了左右波形移位的控制。5LCD控制显示模块SWITCH_CTRL是用于选择显示实时波形还是存储波形的数据;LCD_POSITION是用来计算LCD屏幕中即将扫描到的位置;LCD_DISPLAY是用来进展显示控制的,包括计算是否需要显示和相应的RGB的输出。6PLL锁相环模块 整个系统的工作频率需要大于LCD的扫描频率20M,因为需要在即将得到的扫描点处进展是否需要显示的计算和处理。我们通过FPGA部配置一个锁相环,以得到80M的时钟。四、最终实现功能说明本次实验最后实现了波形频率的测量

7、、波形的稳定显示、波形的上下移位、时域上的伸缩扩展以及置不同波形的选择,完成了设计最初目中的大局部。和最初的预期相比有一局部没有实现,即外部的A/D采样和保存局部。同时由于我们使用的系统箱中,所要用到的FPGA-LCD接口引脚与FPGA-单片机接口引脚有复用局部,因此放弃用键盘操作控制系统功能,而是选用八位数码管下方的八个开关进展按键输入。同时测得频率显示在数码管上。 例如波形选择查看时,得到的正弦波和锯齿波均能很好地展现,而方波却不能得到稳定的波形。我们认为大致的问题是因为方波局部持续数据都一样,在同一行中需要持续显示多个数据,而数据的处理可能稍微跟不上就是说80M仍然不能完全保证时序,因此

8、波形不稳定。另外需要说明的是,左移右移只对存储波形的显示有效,因为在实时显示下,波形总是会一帧一帧的更新,按键没有意义。在切换到另一种波形显示时,当前波形显示的格式应该回到默认状态,而与之前的设置无关。同理,当前的按键值也只对当前显示的波形格式有效。因此实时显示和存储显示的Reset还要受waveform的影响,可参见原理图。五、实验设计实现功能模块具体分析 以下为本次实验验收时的系统框图:由于框图比拟大,为方便观看,将其分开观看。各模块功能具体说明:1、KEY_DEAL:主要是处理按键,包括对按键的记录和相应的参数计算。对于八个按键开关:KEY1:RESET键高电平有效;KEY2:波形上移;

9、KEY3:波形下移;KEY4:波形扩展;KEY5:波形缩小;KEY6:波形左移仅对存储后读取波形有效;KEY7:波形右移仅对存储后读取波形有效;KEY8:选择例如波形通过按键形成一个计数器,1是正弦波,2是方波,3是锯齿波,0没有。八个数码管中前三个是显示频率测量值的有效数字,第四个是显示频率的档位。显示出来的频率档位只设置为两个,小于1K的为第一档,1K1M的是第二档。第一档显示百、十、个三位,二档显示百千、十千、千三位,所以有效数字有限。对于按键根本是以触发器的形式保存的在keydeal部可以看出,同时对于需要计数的key值是每记住一次就去除一次,防止下次误读入,而对于waveform那么

10、无所谓,因为是持续显示。同时,KEY_DEAL模块负责计算对应于上移、下移时,LCD显示屏上的位置。其计算原理需要结合下面有关计算LCD横纵坐标来看。对于上移和下移,只需要根据按键值改变基准位置就可以了,比方每上移一次,基准行值减小“1111,即15,往下移动那么基准行值加上“1111。当然这里有位移限制值,当移动到最值时便不可进展操作。对该模块的功能进展简单仿真。本次仿真假使UP=1,即使波形上移,仿真波形如下:2、FREQDEVIDER:对系统时钟进展分频,得到本实验设计所需的各种采样频率。本模块设计无难度,主要就是分频程序的编写。以下为仿真波形:输入为CLKIN,输出为各个分频信号CLK

11、OUT1-11。由于截图问题,后面周期很大的波形没有表示出来。3、FREQ_COUNT:对信号进展频率测量。对于信号频率的测量,主要思想是通过输入一个1s的脉冲由20k频率的时钟计数20000得到1s,其中20k的时钟频率由分频器得到,在这1s对待测信号进展计数,等同于过零点测频,1s后得到的数据就是待测信号的频率。4、WAVE_CHOOSE:用于选择需要显示的波形,分别是零、正弦波、方波、锯齿波。00,01,10,11分别对应无波形输出、正弦波输出、锯齿波输出和方波输出。5、DATA_CHOOSE:根据WAVE_CHOOSE,从三个ROM中进展波形数据选择输出。6、RAM_ADDR:用来设置

12、计算读取ROM地址的,包括步长的选择。对于波形的扩展和收缩,需要通过此模块实现。其设计思路如下:如果将ROM中的数据每隔两个点读一次,那一个周期只要读32个点总共64个,一个周期在LCD上占的列值为96每三个列显示一列。如果要扩展时间波形,那么就将读取地址的步长变为原来的一半,与上面的比拟,就是变为步长是1,那么我一个周期需要显示64个点,总共占据LCD的192列,这样波形就扩展了。同理,如果要收缩,那么将时间步长增大,这样读取的数据点少,一个周期占的显示列就少,整个屏幕就可以显示更多的周期。在设计中,是以2倍2倍的关系进展扩展和1/2的关系进展收缩的。7、LCD_POSITION:用来计算L

13、CD中即将扫描的位置。LCD的工作原理是逐点逐行的扫描,扫描的规格是1026*506,但是显示的有效区域是800*480。对LCD的显示控制输出数据分为三类一类为18位的RGB颜色值,一类是扫描时钟,最后一类是数据加载允许DE,即DATAENABLE。因此控制的原理是需要知道LCD现在扫描到什么地方,当到达需要显示的位置时,输出恰当的RGB值或者令DE=1。LCD_POSITION模块用来计算下一个即将扫描的LCD的位置,输出为扫描位置的两个坐标参数,即行和列。当LCD屏幕作为示波器显示屏幕时,可将LCD横轴作为时间轴,纵轴作为幅值轴。在横轴上,每隔一个点取一个显示这样的好处是需要的采样数据少

14、,同时可以只显示几个波形,而不至于显的太拥挤,不然LCD上的点会比拟密集。对于纵轴,因为要代表幅值,一个很直观的策略就是待显示的点与基准零点取为368行,因为显示中心是240行,幅值最大256,上下折半就是128,那么最地点的位置就是240+128=368之间的行差值就是数字信号的幅度。所以在要显示的时候,首先从LCD_POSITION中读出下一个要显示的点,然后将列值作为ROM的地址列值的低几位,因为整个屏幕要显示几个周期的波形,读出信号的幅值数据,将它与即将显示的行值相加,再和基准线比拟,如果相等,就说明这是我们要显示的点,否那么就不是,通过此来选择RGB的数值。因为数据处理需要一些时间,

15、从ROM中读出数据也需要时间,因此设置处理时钟和读写数据时钟的速度为80M,而LCD的扫描显示是20M,这样可以保证在下一个显示点真正显示的时候,数据已经处理好,到底要不要显示已经决定好了。80M的时钟是通过20M的时钟经过锁相环PLL0实现的。8、LCD_SHOW:用来进展显示控制的,包括计算是否需要显示和RGB的输出。对于LCD的显示,我们的处理方法是,在有效的显示区域800*480始终令DE=1,在不需要显示的点设置RGB全1,显示出的是白色,在要显示点的局部,设置显示蓝色蓝白比照色差比拟大,便于观察。需要显示的位置是通过如下方法实现的:该模块有一个输入L_POSITION,作为波形的基

16、准行。该输入是从KEY_DEAL中得到的,主要是处理按键对波形控制的上下移动。在每次读入下次即将扫描到的点时,首先根据读入的列数看是否为偶数列,如果是每两列显示一个点,那么用即将扫描到的行值减去基准行值L_POSITION,将差值与从ROM中读入的代表幅值的数据相比拟,如果相等,那么下一个点需要显示对应的图样,输出RGB为蓝色,否那么输出白色。在KEY_DEAL中,上下移动的按键对输出L_POSITION进展调整,如果上移,那么将L_POSITION的值减小“1111,即15,否那么加上“1111。如此便可实现波形整体的上下移动。9、ROM1、ROM2和ROM3:存储上述三种波形一个周期的数据

17、。此局部的设计无难点,主要就是将相关数据按照采样原理存入RAM中。六、实验未实现功能分析说明及问题分析本次实验中,对波形进展采样并且存储到外围RAM中进展存储这一功能没有验证。但我们的设计思路是这样的:A/D采样模块,由于实验室当时没有相关的信号发生器,故验收时无法验证,A/D采样整个工作的流程为加载信号Reset之后,先对信号进展频率测量,在测得频率之后一秒多一点点的时间,选择采样的频率外部的AD采样时钟始终为20M的高速采样,但是抽样存储的时钟是由信号时钟的频率进展选择的。设置为12个档位,15,采样频率为100,510,采样频率为200,1050,采样频率为1000。以此类推,直到最高档

18、500K1M,采样频率为20M。而对于存储波形,为了方便显示,和LCD同步,存储的地址也是每隔三个取一个,而我们打算使用的有效显示列数为600,就是要显示200个数据。实际中我们存储400个数据存储地址就到达1200,这是为了在扩展、收缩波形时有数据可以显示不然收缩一下可以显示的局部只剩下一半了。当存储完毕,送一个标志位给LCD的显示控制局部,准备显示。当可以显示时,我们开场利用和现验收程序中几乎一样的方法从RAM中读取数据进展显示注意此时RAM停顿写入数据,共显示100msLCD_DISPLAY里有一个计数器,这是为了保持波形的稳定。由于在20M的扫描时钟下,扫描一次完整的屏幕需要的时间是2

19、0 000 000/1026/506,大约是26ms,所以100ms可以扫描不到四遍,即可显示四次波形,当然,由于视觉暂留效应1s24幅图即可,我们看到的是稳定持续的波形。在显示一百秒后,我们需要进展下一帧数据的存储这里LCD的显示是一帧一帧的,不可能实时同步显示,同样是由于视觉暂留效应。为了消除上一帧数据显示的影响,我们在显示完100ms后再等待100mstlc5510中可以看出,然后进展新一轮的实时数据存储,存储完再进展显示,如此重复下去。当需要存储波形的时候,我们一边一帧一帧的实时显示数据,同时也进展数据的存储,存储到芯片上附带的DRAM中。同样,需要根据DRAM的大小设置存储时限,超过

20、时限就不再存储。这个时限是根据采样速率的变化而变化的。当需要显示存储的波形时,我们就利用类似的方法处理SDRAM,但是和实时显示不同的地方在于:因为LCD大小有限,一次只显示200个点,因此在不进展选择时,我们只显示当前的200个点,这个以基准的读地址为根底。只当按一下向左或向右键时,那么进展下一帧或者前一帧的显示,对应的处理方法是使基准的读地址加上或减去600200个点,同样的,要注意的围问题。参数MAX_ADDR就是防止一直向右到没有数据可读。每次在显示完毕一次后即显示100ms之后,不仅要计时100ms然后读取新数据,还要对按键值进展处理,以便做出相应的反响。这在KEY_DEAL中可以看

21、出,因为处理是在READ_DONE的上升沿进展的,这样做的好处是使波形可以稳定的显示,同时也可以保证波形随着控制尽快的变化大概200ms的时延,几乎感觉不到,且正常情况下,连续按键两次的间隔要大于200ms。七、实验硬件分配及总体仿真波形。由于验收时我们未能进展拍照保存展示,所以事后我们只能通过SignalTap对ROM里的数据进展读出仿真,其中正弦波波形图如下所示:关于实验箱硬件说明和引脚分配说明采用实验箱上部提供的CLK0作为20M的系统时钟。待测信号的时钟用的是CLK5。八个数码管工作模式5。数码管前四个用作频率测得值的显示,前三位显示信号频率的三个有效数字,第四位显示档位。需要注意的是这里涉及频率计数器的细节见上分析。按键选用数码管下的八个开关因单片机和FPGA引脚有复用,故放弃键盘模块。实验箱各控制引脚说明:正负15V的电源翻开,LCD与FPGA的接口引脚全部打到ON即连接状态,工作模式选在模式5。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1