简单梯形波的设计实验报告.doc_第1页
简单梯形波的设计实验报告.doc_第2页
简单梯形波的设计实验报告.doc_第3页
简单梯形波的设计实验报告.doc_第4页
简单梯形波的设计实验报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

电工电子实验报告简单梯形波的设计实验任务:基于AD558可将输入的数字量转化成02.56v的压模电压量;用CPLD器件产生循环变化的数据量,如:0255(8BT)的循环加法计数和减法计数,在时钟信号的控制下先上升到一定的值,在保持该数值一个设定的时间,然后在进行减法计数,在该值的基础上减到零,在示波器上则显示为个梯形的波.硬件要求: 示波器、模拟功能块、DA转换芯片。实验思路:从整个实验来看,要能显示梯形的波形则可看成是三个状态的组成,而且三个状态的之间的出现时间和先后也需要控制,通过对模拟函数信号的实验我们知道了上升和下降是如何实现的了,最关键是如何让上升到一定值后进入保持阶段,于是就想到了利用D触发器有记忆的功能,我们在设计一个模块把它的输出状态来控制显示模块的状态。 分频模块状态控制模块CLK 状态实现模块实验原理及改进和分析:征对上述的思路,设计了三个模块如下:(1)、首先是分频模块的设计,因为所需要的两个脉冲至少要有200倍的关系,所以在分频时对D触发器的个数控制上要选择好,硬件语言如下:SUBDESIGN CN( CLK :INPUT; CLKCLK,CKDSP :OUTPUT;)VARIABLE count7.0 :DFF;BEGIN count.clk=clk; count.clrn=VCC; count.d=count.q+1; CLKCLK=count7; 分配时钟脉冲时要保证SS模块的扫描快于显示模块. CKDSP=count0;END;(2)、是对S的控制模块,在这个模块的设计上由于只有三个状态的改变则只需给它分配两个BT,要注意为了使波形能实现循环,则要使S的第四个状态是多的用来回到零状态,而且它的扫描要快。硬件语言描述如下:初步的设计:成熟的设计:SUBDESIGN SE SUBDESIGN SE(( CKCLK,RESET :INPUT; CKCLK,RESET :INPUT; SSOUT1.0 :OUTPUT; SSOUT1.0 :OUTPUT; ))VARIABLE VARIABLE SS1.0 :DFF; SS1.0 :DFF; count21.0 :DFF;BEGIN BEGIN count2.clk=CKCLK; SS.CLK=CKCLK; count2.clrn=RESET;SS.CLRN=RESET; count2.d=count2.q+1; SS.CLK=count21; IF SS=2 THENSS.d=SS.q+1;SS.d=B00;ELSE IF(SS.q=3) THEN SS.d=SS.q+1; SS.d=B00 ELSE SSOUT=SS; END IF; END IF;END; END; 初步的设计会出现的问题是,我们多定义了一个计数器,而SS本身也是定义的计数器,则在工作时内部会出现分频,而使SS状态的改变和下个模块合不上,则会出现如图的波形,只有一个梯形波. (3)、则是显示模块,根据S状态的改变来控制计数。硬件语言描述如下:SUBDESIGN BO( CKDSP,RESET ,SSOUT1.0 :INPUT; DAOUT7.0 :OUTPUT;)初步设计:成熟设计:VARIABLE VARIABLECOUNT37.0 :DFF;COUNT37.0:DFF;BEGINBEGIN count3.clk=CKDSP;count3.clk=CKDSP; count3.clrn=RESET;count3.clrn=RESET; IF(SSOUT=0) THENIF(SSOUT=0) THEN count3.d=count3.q+1; if count3.q0 thencount3.d=count3.q-1;END IF;else DAOUT=count3;count3.d=count3.q;End if;END;ELSECount3.d=count3.q;End if;DAOUT=count3;END;初步设计出现的问题是会导致梯形波出现后在下降段下降为零后会自动跳到计数的最大值然后再下降再上升就是所说的溢出.改进的方法是在每个SS的判断阶段增加判断条件,限制上升和下降使对称.实验结果:在示波器上的显示为:(1)、初步实验梯形波绉行:(2)、成熟的实验结果:实验总结:这个设计实验虽说不是老师指定的设计内容,是我做了模拟函数信号的实验后想到的设计。实验给我的第一个要解决的问题是如何让波形在上升到一个值后可以保持一段时间,起初我想到了在保持的阶段定义一个计数器来维持,可是在语言的编写上不好实现,接着想到了把波行解剖为三部分,在这个思路上花了不少时间,但越是编下去问题越多,比如各段波的衔接如何实现,还有如何确定一个状态的结束紧接着下个状态出现等。虽然在老师的指导下我的思路是存在问题的,但在把三个模块编写的过程中我还是学会了不少的东西的。在老师的跟我提供的思路下,我有重新设计了。这个设计实验我最大的收获是我对AHLD语言有

温馨提示

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

评论

0/150

提交评论