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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计时器电路设计方案.docx

1、计时器电路设计方案计时器电路设计方案1 总体电路结构设计1.1 电路功能与性能计时器电路的功能主要集中在五方面。一是对按键消抖的控制(电平检查、消抖命令延时、消抖完成前延时、完成消抖后平稳电平输出等)为主的输入信号的采集与处理;二是对输入全局时钟分频,获取所需时钟;三是进行时间的正常计时和可以调整时间,如正常的记录时、分、秒,可以准确调时、分、秒等;四是正常利用八位数码管进行译码显示;五是处理维护和配置信息,如层停留时间、运行速度等信息。电路的具体功能细节罗列如下:1) 计时电路输入10KHZ的基准时钟,利用10K计数器和200计时器进行计数分频,获取1HZ的自动扫描计时时钟及50Hz的数码管

2、扫描时钟。2) 消抖模块分为电平检查和10ms延时;通过按键输入电平信号,检查模块对电平进行检测,发送所需脉冲,若10ms延时模块检测到所发脉冲,并对该脉冲进行触发10ms的过滤抖动,然后输出正常脉冲信号。3) 经过按键消抖发出的平稳电平信号,校时模块就会对获取相应管脚约束所发送的按键信号,并进行时、分、秒的调整。4) 计时模块采用24进制计数器,10进制计数器,6进制计数器分别对时分秒高低位计数,检测到时钟分频器所分的1HZ时钟信号便自动开始扫描计时,自动产生进位计数。5) 利用多路选择器,即多路复用器,进行对时分秒高位地位进行选通,并发送到译码显示器,进行数字输出。6) 利用八位数码管显示

3、输出,采取七段数码管译码方式对09进行译码输出。7) 电路根据流水线设计方法,按键消抖和计时器运行状态8) 配置信息通过,目的计时信号处理。1.2 主要按键消抖法本电路设计的主要难点在于按键的消抖及调整时分秒上,也就是如何获取稳定的电平信号进行时间调整。经过功能分析,决定采用电平检查及消抖延时的方式进行调度与输出控制。其中电平检测模块会根据电平发生变化产生的不同命令,然后进入延时模块当中。接着,延时模块会根据输送进入的命令在执行相关的延时操作并且进一步决定输出。其功能利用布尔运算,具体运算如下表1.1所示。表1.1 h2l_f1和h2l_f2运算表表 时间 h2l_f1H2l_f2H2l_si

4、g=(!H2l_f1)&h2l_f2 initial110 T1011 T21000 1.3 电路接口控制电路根据信号功能将接口分为5部分,分别是按键调时(使用者按下)、时钟分频扫描功能、计时选通信号、译码显示等其它信号。具体接口如下表1.2所示。表1.2 接口信号表 名称IO属性 描述备注clkin 输入时钟,10KHZ频率rstin 系统复位信号低有效key_in3:0in 按键输入电平信号低有效led_selout数码管选通信号led_ selled_drvout数码管驱动信号led drv1.4 电路功能框图1)根据功能要求 所画系统框图 图1.1 系统结构框图 2)依照功能,将电路分

5、为7个功能模块:输入信号按键消抖模块key_in,用于对输入信号进行有效检测、消抖处理、脉冲整理等功能;选通模块,用于主控选择功能,。电路的功能框图如下所示。 图1.2 电路功能框图图中输入按键处理模块key_in主要用于t调整时间,需要进行相关的电平消抖。1.5 验证方案 设计的验证主要有两方面的容:一是代码输入过程中的仿真验证;二是在硬件电路板上的验证。仿真的验证比较简单,即模拟键盘的输入动作,查看对应按键被按下时,产生的输入数据及波形是否与预想的一致。 板级验证需要使用开发板,用小按键键盘作为数据的输入部分,用2位8段数码管作为显示输出部分。2 模块设计 设计共有4个功能模块,分别是按键

6、消抖及校时模块、时钟分频及扫描模块、计时选通模块、译码显示及顶层模块,这里对模块的详细功能和时序关系进行细致说明,以便达到预期的设计目的。2.1 按键消抖及校时模块设计1、按键消抖模块输入按键key_in按键电平信号输入,完成对电平消抖功能, 该模块主要由电平检查模块和10ms延时模块组合而成。具体如下:1、一旦检测到按键按下(发生高电平到低电平的变化),经由h2l_sig发送正脉冲。2、若10ms延时模块检测到h2l_sig的正脉冲,就会触发10ms过滤抖动,然后高拉输出。3、当按键被释放,电平检查模块会经由l2h_sig发送正脉冲。4、若10ms延时模块检测到l2h_sig的正脉冲,就会触

7、发10ms过滤抖动,然后拉低输出。其功能框图如下: 图2.1按键消抖框图 图2.2电平消抖过程 按键模块输入pin_in主要完成消抖获取平稳的时钟信号,便进行调时功能。按键输入信号处理模块decet的接口信号有clk,rst,pin_in,pin_out,具体如下表2.1所示表2.1 输入信号处理模块接口信号表 名称IO属性 描述备注clkin 输入时钟,10khz频率rstin 系统复位信号异步复位pin_inin按键调时输入信号pin_outout按键调时输出信号按键输入信号处理模块pin_in的模块电路如下图2.1所示。 图2.3 按键输入信号处理模块pin_in的模块电路图 h2l_s

8、ig和l2h_sig延时转移转移状态图 图2.4延时消抖状态转移图/电平检查模块 detect.module.v是电平检查模块。其中,第9行行定义100us的常量,第1119行是count1;因为电平检查模块非常敏感,在复位的一瞬间,电平容易处于不稳定状态,所以需要延时100us。第18行将寄存器isen置1,用于表示100s的延时已经完成。第2124行声明了四个寄存器;h2l_f1和h2l_f2用于检测电平由高到低,初始化逻辑为1;l2h_f1和l2h_f2用于检测电平有低到高,初值被设置为逻辑0第2732行是对各寄存器进行初始化,并进行赋值;h2l_f1和h2l_f2的初值是逻辑1,假设第

9、一个时钟周期pin_in为低电平,h2l_f1就会被赋值为逻辑0,而h2l_f2则是被赋值为h2l_f1上一次的值,也就是h2l_f1的初值。在第一个时钟周期,h2l_f1为逻辑0,h2l_f2为逻辑1.h2l_f1取反后和h2l_f2进行“与”运算,则h2l_sig的输出为逻辑1.假设第2个时钟周期pin_in保持为低电平,h2l_f1同样会被赋值为逻辑0,而h2l_f2被赋值h2l_f1上一次的值,即逻辑0,再经过布尔运算,输出结果是h2l_sig为逻辑0.无论检测到的电平由高到低还是由低到高,都是一样的原理。h2l_sig的输出是发生在100us之后,因为100us之前被isen寄存器所

10、限制。换言之,电平检查模块的有效输出发生在100us延时之后。/延时模块 delay_module.v是10ms延时功能模块,模块采用顺序操作的写法。第1127完成延时操作,当中采用了定时器和计数器,定时器和计数器都是通过标志寄存器iscount的使能。第3062行是仿序操作,i寄存器用来控制执行步骤。开始时,i会根据h2l_sig或者l2h_sig进入不同步骤。当检测到由高到低的电平变化时,i被赋值为1,进入步骤“d1”,经过10ms后,拉高输出(rpin_out=1b1),然后进入步骤“d2”。步骤“d2”会拉低输出(rpin_out=1b0),然后回到“d0”。输出由低到高的电平变化也是

11、采用同样的步骤原理。/检查和延时的组合模块 debounce_module.v是电平检查和10ms延时模块的组合模块,综合实现每个按键的消抖功能。2、校时模块 利用按键输入点评信号,进行按键校时功能,采取输入复位清零方式进行归零,再通过按键输入电平信号进行电平触发计数,进行增数计时功能。 模块功能为修正分钟和小时时间以及秒钟的精确调整清零。由key_in0控制调整分钟和调整小时之间的切换,每按一下key_in3:2所调整的计数器加1,分钟计数器满60清零,小时计数器满24清零;秒种的精确调整清零具体为在正常计时的情况下,长时间按住key_in1,即可使秒钟清零,进行精确调时。 电路供能如下:

12、图2.5 校时功能电路 2.2 时钟分频及扫描模块设计1、时钟分频 时钟分频主要10k分频得到1bit的1hz信号time1hz和方波形式1hz的enb1hz,以及200分频的time50hz的扫描信号。电路由一个10k计数器和三个译码器组成。电路图和波形如下: 图2.6电路图及波形图2、扫描计数扫描计数模块功能主要是对输入时钟信号time50hz进行累加计数。其原理电路图如下: 图2.7 扫描电路图2.3 计时选通模块设计 1、计时模块 计时模块是对1s的信号源进行秒计时,计时满后向上进位的设计思想。而1s的信号源由分频器分得的time1hz信号进行提供其设计电路功能图和流程图如下: 图2.

13、8计数器功能图当time1hz进行输入时,秒低位sl采用10进制计数器开始计时计数,当计数达到9时,秒自动向秒高位sh采用6进制计时器计时计数,当计数达到5时便自动向分钟地位进位,此时分钟地位并自动计时计数,当分钟地位计数到9时,便自动向分钟高位进位;当分钟高位计数计到5是便自动向小时地位进位,当小时地位计数到9时或者3时,便自动向小时高位进位,直到最后到24小时制的高位2.但计时计时达到23:59:59时,自动返回00:00:00。这样便完整的完成一个计时计数功能。其程序代码的结构框图如下: 图2.9 计数器流程图2、选通模块 复用选通模块的逻辑功能较为复杂,基本功能有两个,一个是0.5秒的

14、闪烁控制,可以这样实现:当处于调整状态时,如果闪烁控制信号(就是enblhz信号,该信号为lhz方波,0.5秒时问位低电平,0.5秒为高电平)为低电平时正常显示,当闪烁控制信号为高电平时数码管led灭掉,形成闪烁效果(0.5秒正常显示,0.5秒数码管熄灭);led熄灭时所有驱动信号为高(这里假定8段数码管共阳连接),我们可以设定在显示译码时将数值4hf译码为全高电平输因此设计中可以将数码管熄灭期问的定时计数器的值设定为4hf。该模块另一个为复用选根据选通信号sel的值选择输出相应的定时计数器值。其电路功能示意图如下 图2.10 选通功能电路图2.4 译码显示及顶层模块设计 1、译码显示块 显示

15、译码电路就是将复用后的BCD码(包括控制led熄灭的值4hf)译码为共阳连接的8段数码管显示驱动信号。2时钟延时模块就是两组串联触发器用于补偿选通复用模块和译码模块造成的对数据2个时钟延时,使数码管选通信号led_ sel和数码管驱动信号led_ drv同步。 数码管显示译码电路主要用来对实际的二进制数据装换为8段数码管的实际显示控制码,实验采用两个2位的8段共阴极数码管,数码管的显示方式有两种:静态显示和动态显示。具体如下:静态显示方式:所谓静态显示就是指无论是多少位数码管,同时处十显示状态。如图2. 5所示。 图2.11共阳数码管接法 静态显示的优点是:数码管显示无闪烁,亮度高,软件控制比

16、较容易;缺点是:需要的硬件电路较多(每一个数码管都需要一个锁存器),如果在全国大学生电子设计竞赛中使用,将造成很大的不便,同时由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,对电源的要求也就随之增高。所以,在大部分的硬件电路设计中,很少采用静态显示方式。 动态显示方式:所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有

17、1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。显示译码方式如下:1)时钟上升沿到来时分别对位选和段选进行译码。2)将输入的3bite位选数据译码成8比特数据控制数码管的8位,由于是共阴极数码管要选定相应的数码管则使该位位低电平,其它位为高电平即可,如:000译码为0111 1111,对应于实验板上的左边第一位数码管。3)将输入的4bite段选数据译码为8比特数据控制8个LED的亮灭,最高位接A,最低位接小数点位DP。若要显示0则对应的译码为8 b11ll 11000。 图2.12数码管段位示意图 该模块可由译码器构成,其功能电路图如

18、图2. 4.3所示: 图2.13 译码显示功能电路图2、顶层设计块本程序采用结构化设计方法,将其分为彼此独立又有一定联系的七个模块,这部分代码是顶层设计,其实到了这里,只有三件事可做:声明一个顶层模块、例化刚才说过的各个功能模块、将各个功能模块用连线将端口连接起来。这里最好不要出现功能描述语句,这个被称为粘合逻辑(gluelogic,对逻辑综合(就是在一定约束条件下利用工具将HDL代码转化为器件单元或库单元表达的网表的过程)有较大的影响,而且可读性差。何况模块划分完成之后各个模块的功能应该是完善的,不应该出现glue logic 。3 设计仿真与测试功能验证分为两部分,一部分是电路功能与时序的

19、软件仿真,采用Moldsim完成;另一部分是将配置文件下载后在开发板上对设计进行测试,通过开关、按键、LED、数码管以及示波器、逻辑分析仪等方式进行。3.1仿真与测试的功能列表功能仿真与测试要针对每一条设计需要实现的功能进行。设计中要现的、需要仿真与测试功能列表如下:1) 复位功能当复位信号低有效时,电路应处于复位状态:运行控制信号处于无效(低电平)、任何输入没有响应、计时指示数码管显示无效;当复位信号变为高电平时,计时电路正常工作。2) 时钟信号当有时钟时电路正常工作;没有时钟信号时,除复位外所有的输入没有响应,所有的输出没有变化。3) 当校时模块被输入调整信号时,当调时信号有效,计时选通停

20、止自动扫描计时;当输入调时、分、秒信号时,选通其进行调整位选通。4) 八位数码管进行译码显示选通数字。3.2 仿真平台构建和仿真结果3.2.1 顶层仿真平台与激励 仿真激励的构造只要针对需要验证的功能即可。这里构造一个测试平台,相应文件为timer_tb. v,其中将位于文件timer. v中的激励信号引入,加载到例化的功能模块中;由于时间限制,这里采用查看波形的方式确认输出。 这里激励主要有以下的容构成:一是按键键盘的输入仿真。二是计数器的仿真。三是一个个时钟信号、一个异步复位信号。四是数码管显示功能控制。 需要查看波形的功能有以下容:一是异步复位与时钟功能,当没有输入时钟时所有电路处于静止

21、状态;无论是否有时钟,异步复位都会有效。二数码管的输入译码以及输出显示功能。三是矩按键键的输入与输出提示信号。3.2.2 电路功能仿真结果 首先仿真最重要的按键键盘输入及输出功能。如图3.2.1 图3.1按键键输出指示信号与按键返回值的仿真 由上图可知,一个按键key_in通过一个电平检测模块和一个延时模块,通过对h2l_sig和l2h_sig命令的作用,进行对时钟消抖后拉高输出和拉低输出完成一个稳定的按键输入,获取一个平稳的按键信号。即为所得的结果。 其次是计时计数器功能仿真,下图为计数计时模块仿真图。如图3.2.2 图3.2 计时器仿真图 由上图可知,当计时器接收到1s信号time1hz后

22、,秒计数器会自动进行累加计时,秒低位到9遍向秒高位进位计数,同理分、时也是进行进位加法计数,最后达到24小时制计时功能。 最后,顶层全局模块仿真,下面为顶层模块的时序仿真图: 图3.3顶层仿真图 由上图可以看出,顶层进行仿真时,当数码管的译码电路接收到信号后,开始将数字译码为数码管显示的段选方式值,并通过计数器的增加,逐一扫描数码管的每一位,使数码管处在动态扫描状态,同时由段选IO口将段选的值发送到数码管,即可将数码管点亮并输出想要的值。所以数码管的功能是正常的。3.2.3 电路后仿真结果 电路的后仿真是要在布线完成之后,生成电路网表的仿真模型和标准延时文件,再在仿真器中进行仿真的方法,主要为

23、了查看时许是否满足要求。这部分工作之简单进行了一下:将功能仿真的激励施加到网表中,加载延时文件,得到的结果同上面的功能仿真是一样的。而且设计过程中又进行了静态时序分析,这里就不对时序仿真进行过多的说明。其全局电路的仿真结果就如顶层模块对全局的仿真结果。3.3 测试环境的搭建与测试结果3.3.1 测试环境模拟将数码管与FPGA连接,将按键键盘与FPGA连接,下载程序到FPGA中,从左到右的按键模块如下表所示。 按照程序设计的流程依次按下对应的按键即可在数码管上得出正确的结果。3.3.2 电路测试结果 当从按键输入key_in0时,数码管依次显示00-00-00。 当从按键输入key_in3时,进

24、行对小时的调整,如09-00-00。 当从按键输入key_in2时,进行对分钟的调整,如09-30-00。 当从按键输入key_in3时,进行对秒的调整,如09-30-01。 所以可以得出结论:电路功能完全正常,可以得出正确的运算结果,完成本设计的要求。4 电路约束与综合实现 FPGA/CPLD设计中的约束主要可以分为两个方面,一是时序约束,另一个是管脚约束,而一般不考虑面积约束、设计规则约束和工作环境约束。综合工具直接采用ISE的XST进行。4.1 时序约束时序约束主要分为输入/输出延时约束、时钟约束以及异步时钟数据间的约束等容。本设计中由于是同步设计,而且没有纯组合逻辑的输入与输出,时钟约

25、束变得简单。设计中仅需要对输入延时、输出延时、触发器间的延时进行约束即可。根据实际的工作环境,这样的时钟约束相对于Cyclone II的器件和QuartusII TimeQuest Timing Analyzer默认的工作频率而言,是没有必要添加的。但是实现中为了设计的完整性,添加了时钟约束。输入延时和输出延时均设定为时钟周期的60%,时钟频率为10khz。 时钟约束的具体过程如下: 1)在编译完成之后,双击TimeQuest Timing Analyzer,启动TimeQuest TimingAnalyzer工具之后,进入如下图4.1所示的界面。 图4.1时序界面图 2)双击操作任务栏的Cr

26、eate Timing Netlist然后如图4.2点击Constraints-create clock选项,进入时钟创建对话框。如图4.2所示。 图4.2 创建时钟对话框 4)完成时钟创建之后,接下来进行输入输出延时约束设定。在TimeQuest TimingAnalyzer工具中分别点击菜单命令constraints-set input delayconstraints-set output delay。在Delay value选项中填入时钟周期的60%左右,然后点击run按钮即可。 5)时钟约束的tcl语句如下: create clock -period 10000.000 -name

27、clk -waveform f50000 100000 get ports fsys clk set input delay一clockclk 12 get ports fsys clk set output delay一clockclk12 get ports fsys clk4.2 引脚锁定约束由于开发板上的电源、时钟、复位以及其它功能键等的连接已经固定,管脚约束所要完成的只要锁定即可。在QuartusII中单击工具栏中的PIN PLANNER按钮,打开管脚约束对话框,具体的管脚设置如下图4.3所示。 图4.3 引脚锁定约束4.3 电路综合报告 图4.4 电路综合报告 电路综合报告如上图4

28、.5所示,综合成功,本设计中一共用到逻辑单元5980个,一共用到17个输入输出管脚,占总数的9%,一共用到92160位存储单元。 图4.5 部具体资源消耗图4.4 设计实现与下载 设计的最后一步就是将文件下载到FPGA中。1)启动编程器后,首先进行硬件设置,点击Hardware Setup按钮,选择USB-Blaster;2)分别点击Add File和Add Device添加对听的待编程的芯片和配置文件;3)选定配置文件,点击start按钮即可开始编程。结论 本次设计经过仿真与板级的验证,可以正常工作,达到了设计的任务书要求。但是由于设计容较为复杂,实用性稍强,因此如果有机会应该将其扩展,采用

29、SoPC的模式,将该接口模块做成一个IP,挂接到CPU上,利用多种软件解析和处理,实现真正的多功能计时功能,这样才完美。 这次EDA课程设计历时两个周,学到很多很多的东西。同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解。特别是当每一个子模块编写调试成功时,都会很高兴。在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误。排除困难后,程序编译就通过了。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示,后来,经过屡次的调试之后,才发现在写代码之前对信号的相位考虑不足。 通

30、过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。总的来说,这次设计还是完成了要求的分量的,在设计中遇到了很多问题,最后在马老师的辛勤指导下,终于可以解决一些小小的问题,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的马老师和所有同学再次表示忠心的感! 参考文献1 杜慧敏 基于Verilog的FPGA设计基础 电子科技大学,2006,22开陵 徐巧玉等 FPGA那些事儿-verilog HDL建模设计 航空航天大学,2013,83王金明 数字系统设计与verilog HDL(第3版) 电子工业 20094夏宇闻 Verilog数字系统设计教程 航空航天大学 2003附录A 设计源代码

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

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