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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

可编程时钟控制器报告Word文件下载.docx

1、A b c d e f g12915H1 0 0 00 0 0 10 0 1 01 0 0 11 1 1 11 1 1 1 1 1 10 1 1 0 0 0 01 1 0 1 1 0 11 1 1 0 0 1 10 0 0 0 0 0 1BIL 0 0 0 00 0 0 0 0 0 03)计数电路秒脉冲信号经过6个计数器,分别得到“秒”个位、十位,“分”个位、十位和“时”个位、十位。“秒”“分”为六十进制,小时为二十四进制。此部分可使用74LS90或74LS163等实现。(1)60进制计数器是由一级10进制计数器,和一级6进制计数器连接构成。采用两片集成电路74LS90串接成“秒”“分”计数器

2、。第一级7490的QA和B相连,即组成了十进制计数器。将第一级的 QD作为十进制的进位信号,当第十个脉冲到来时QD由“1”变为“0”送出一个负跳变脉冲,十位计数一次。第二级的QBQC相与后送至两级计数的清零端R0(1)或R0(2),当十位计数到6个位计数到10即计数到60时,计数器清零,完成六十进制计数。(2)24进制计数器24进制的个位与十位之间的进位与六十进制一样,将第一级QD接至第二级的CP输入端即可。将第一级的QC和第二级的QB相与后接至计数器的清零端R0(1)或R0(2)。这样当第一级计数器计到4(0100),第二级计数器计到2(0010),计数器清零,完成24进制计数。(4)报时控

3、制电路用不同频率的脉冲实现了51秒,53秒,55秒,57秒和59秒时打铃的响声不同。74LS148的输入端从到分别接,输出端接一些与非门和与门,最后接一蜂鸣器。电路图如总的电路图中。5)效时控制电路效时电路实现对“十”“分”的效准。通过开关设有正常计数和效时位置。效时方法是将秒脉冲分别接到“分”输入和“时”输入,这样可以快速校准。6)定点报时用到了RAM62256存储器,它是32K随机存储器有15个地址线,8个数据线作为数据写入和读出, ,控制读写信号,当S合上时,有效,数据写入存储器RAM,写入的内容由S01到S71决定。当S打开,读信号有效,数据输出,S0-S7接输出,将选中的单元数据输出

4、,若数据中某位为“1”,则相应的二极管发光,若数据中某位为“0”,则相应的发光二极管不亮。五 总的电路图2、利用EDA的方法实现:由于电路十分复杂,采用中规模集成电路的话将十分繁琐。而如果采用可编程器件,我们可以将走时电路模块、数码管显示驱动模块、校时模块、语音报时控制模块、工业控制模块都集成在一块可编程逻辑器件上,通过使用硬件描述语言VHDL编程。实现方案框图如下:以上框图采用“自上而下”的设计方法,将电路分为四大模块(时间设置、走时、响铃、显示)这种设计数字逻辑电路的方法,使得我们脱离了具体电路的实现方法,而变成通过编程的方法实现所要的电路。综合上面两种方案,我们选择了使用可编成器件,有以

5、下两点原因:1、如果采用中规模电路,要使用大量芯片,焊接和连接的工作量过大,并且加大了调试电路的难度,从而使得电路的可靠性大大降低;而如果次采用可编程器件,连线和焊接量大大减少; 2、可编成器件可以通过编写程序,实现许多拓展功能;而用中规模集成电路设计拓展功能时,则增加大量的门电路、导线、开关,同样也会影响电路的可靠性。当然采用集成芯片需要编写VHDL程序,并用MAX-PLUS开发。四、芯片介绍:1、ALTERA MAX7000S:EPM7128有4个直接输入(INPUT)2、1、84、83和64个IO引脚,他们即可作为输入,又可作为输出。TMS、TDI、TDO和TCK是系统编程引脚以下是EM

6、P7128的器件结构图器件结构如下它由8个相似的逻辑阵列块、一个可编程内连阵列、和多个输入、输出控制块构成EMP7128S具有以下特点:1) 高集成密度高密度可编程逻辑器件是高性能的CMOS E2PROM器件,其规模比较大,能够将许多PAL、GAL集成在一片HDPLD内2) 速度高、低功耗、抗噪声容限大3) 在系统编程能力EMP7128S通过4根编程线,把可编成逻辑芯片置入系统进行编成避免了用编程器来回插拔造成的物理损失4) 可测试性能力5) 线或功能6) 异步时钟、异步清零功能7) 乘积项共享功能8) 输出缓冲器多种使能的能力9) 单片多系统能力10) 很强的加密能力对于可编成器件,还需将程

7、序下载到芯片上,现在普遍用JTAGJTAG(Joint Test Action Group)联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port�测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,

8、能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System rogrammable&在线编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程 通常所说的JTAG大致分两类:一类用于测试芯片的电气特性,检测芯片是否有问题;另一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部

9、寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。管脚标号如下:引脚定义如下引脚序号信号名描述TCK时钟GND信号地3TDO器件输出数据4Vcc由PCB板提供的电源4.75-5,25V5TMSJTAG状态控制机6-78-TDI发送到器件的数据102.动态数码管的扫描显示实验中一共需要6个数码管,如果按照传统的数码管驱动方式,则需要引出76=42根线驱动数码管的每一段,这样大大加大了连线的复杂性。所以我们选用了现在最常见的数码管驱动电路为动态扫描显示。数码扫描显示的工作原理如

10、下:6 个数码管在同一时间进行显示可用两种不同的方式获得:第一就是传统的方式;第二即利用人眼的视觉暂留效应,把六个数码管按一定顺序(从左至右或从右至左)进行点亮,当点亮的频率(即扫描频率)不大时,我们看到的是数码管一个个的点亮,然而,当点亮频率足够大时,我们看到的不再是一个一个的点亮,还是全部同时显示(点亮),传统方式得到的结果完全一样。因此我们只要给数码管这样一个扫描频率,那么就可以实现6 个(或更多)数码管同时点亮。而这个频率我们可以通过晶振分频来产生,只要计数频率足够大,就可以实现我们的要求。由于市场上没有6个一起的数码管,因此我们用两连和四连的各一个实现:两连的:四连的:3、CD406

11、0、CD4013CD4060是14级二进制串行计数/分频器可以作为控制计数器、分频器、时间延迟器它的管脚图如下:CD4013是双主从D型触发器管脚图如下:五、时基信号发生器:方案一:由555构成多谐振荡器电路图如下:方案二:由晶体构成晶体振荡器:晶振振荡频率通常在MHz以上,要经过适当的分频电路才能得到我们所需的频率石英晶体振荡器具有极高的稳定性,用它作为谐振元件构成的晶体振荡器的频率稳定度高可优于10-9。所以我们采用了后者,再用CD4013,CMOS的把2Hz二分频分成我们实验所需要的1Hz本次实验用晶振、4060,4013构成分频器,输出为1Hz将4060输出的2Hz的信号作为CD401

12、3的时钟信号,并将CD4013的与S,与R相连接,这样CD4013就构成一个主从计数触发器,每当时钟信号来临时就反转一次,从而实现对2Hz信号的二分频。六、问题分析与调试: 我们在第一次焊接完成之后,电路有些问题,数码管不能正常显示,于是我们对电路进行了检查,发现有些虚焊点和错误。进行了纠正之后,电路可以显示,但是秒钟不能正常工作。在检查了时基信号发生部分之后,发现晶振不能够正常地起振,于是我们更换了其他晶振后仍没有好转。当我们用1Hz的信号直接接入是,秒钟工作正常。这说明我们的时基发生电路有问题。由于以没有时间再去购买元件修改成施密特电路,所以此部分无法修正了。七、实验总结:这次是我们第一次

13、用EDA来实现一个大规模的电路。由于经验的不足,我们在其中走了很多的弯路,但从中我们也汲取了很多的教训和经验。可编程器件对我们设计数字系统有很多其它手段所不能及的,有着很多优点。首先,它对我们布线提供了更大的自由度。一般的中规模芯片的管脚都是固定的,而 PLD管脚是我们分配的,这样,我们可以灵活地根据实际电路的情况分配管脚,使我们布线更美观、布线的数量可以减小;其次,它允许我们在焊接完毕后仍然可以修改程序,修改电路的逻辑功能。这给我们调试提供了极大的方便;最后,这种方法能够提高我们的逻辑思维能力,把更多的精力放在对原理的理解上,而不是捎带繁琐的焊接过程中。 可编程逻辑器件的设计应用是具有很多优

14、点的现代化的电子电路实现方法了,借着这次试验我们从中学到了很多,这对以后的这方面应用有着巩固基础的作用。附录一:模块的VHDL实现:源程序:CONTROL模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity settime is -defining set moduleport(reset:in std_logic; start:-enter and exit estup mode adjust:-change value m

15、ove:-change bit settime:out std_logic;-output indicator hrhset:out integer range 0 to 2;-high bit of hour hrlset:out integer range 0 to 9;-low bit of hour mnhset:out integer range 0 to 5;-highbit of minute mnlset:-low bit of minute sehset:-high bit of second selset:out integer range 0 to 9-low bit o

16、f second );end settime;architecture control of settime is -time setting unittype state is (hh,hl,mh,ml,sh,sl,ini);-defines point being set,statessignal adjst:state;-pointer of point being setsignal setmark:std_logic;-status of settingsignal slo,mlo,hlo:integer range 0 to 9;-place to store time data,

17、variablessignal shi,mhi:integer range 0 to 5;-place to store time datasignal hhi:integer range 0 to 2;BEGINhrhset=hhi;hrlset=hlo;mnhset=mhi;mnlset=mlo;sehset=shi;selset=slo;settime=setmark;mark:process(start)beginif reset=1 thensetmark=0;elsif startevent and start=if setmark=else setmarkend if;end p

18、rocess;-core program for setting timeset_core:process(move,reset)-change the bit being setadjst=hh;when hh=hl;when hl=mh;when mh=ml;when ml=sh;when sh=sl;when sl=end case;process(adjust)-change the number of the bit then hhi=0;hlomhimloshisloelsif adjust= and adjustif hhi=2 thenelse hhi=hhi+1;if hhi

19、=2 and hlo=3 thenelsif hlo=9 thenelse hlo=hlo+1;if(mhi=5)thenelse mhi=mhi+1;if(mlo=9)thenelse mlo=mlo+1;if(shi=5)thenelse shi=shi+1;if(slo=9)thenelse=slo+1;NULL;end control;走时模块:entity runtime isport(clk:-clock signal,1Hz-input signal from control module -begin of input time hhset:in integer range 0

20、 to 2; hlset:in integer range 0 to 9; mhset:in integer range 0 to 5; mlset: shset: slset: -end of input time -begin of output time to display hhdis: hldis: mhdis: mldis: shdis: sldis:out integer range 0 to 9); -end of output time to display end runtime;architecture run of runtime is signal sl,ml,hl:

21、 signal sh,mh: signal hh:begin-initalize time outputrun_time:-main clock processprocess(clk,settime) if settime= sl=slset; sh=shset; ml=mlset; mh=mhset; hl=hlset; hh=hhset; else if clk= and clkevent then if sl=9 then sl if sh=5 then sh if ml=9 then ml if mh=5 then mh if hl=9 then hl=hh+1; elsif hl=3 and hh=2 thenhl else hl=hl+1;mh=mh+1;ml=ml+1;sh=sh+1;sl=sl+1;hhdishldismhdismldisshdissldisdisplay=00111111when 1

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

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