欢迎来到天天文库
浏览记录
ID:36293455
大小:1.46 MB
页数:36页
时间:2019-05-08
《eda原理第11章数字时钟设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字时钟设计及实现何宾2011.09数字时钟设计-本章概要本章给出了PLD器件在复杂数字系统的典型应用实例-数字时钟的设计。数字时钟的设计也是PLD在复杂数字系统的经典应用。该章首先介绍了数字时钟的功能要求和整体结构;随后具体介绍了数字时钟的模块设计,其中包括数字时钟控制信号和控制模块的具体结构。本章最后详细描述了设计的具体实现过程,具体包括数字时钟的计数模块设计、计数时钟及扫描时钟设计和显示控制模块设计。数字时钟设计-数字时钟的功能要求数字钟时常见的一种计数装置,数字钟以1Hz的频率工作。该设计完成数字钟的运行和显示。其主要功能有:1、数字钟以1Hz的频率工作,其输入频率为1MHz
2、。2、数字钟显示时、分、秒信息。这些显示信息在6个7段数码管上完成。3、通过按键设置时、分信息。并且具有对数字钟的复位功能。4、复位键将时、分、秒清零,并做好重新计数的准备。5、按键具有预置时、分的功能。分别对当前的时和分信息做递增设置和递减设置。数字时钟设计-数字时钟的结构数字时钟设计-数字时钟的结构该数字钟的控制部分由PLD芯片完成。该芯片的输入和输出接口由下面信号组成:输入信号:复位信号(reset)时钟输入信号(clk)小时递增信号(inc_hour)小时递减信号(sub_hour)分钟递增信号(inc_min)分钟递减信号(sub_min)输出信号:7段数码管选信号(sel
3、)7段数码管段选信号(q)数字时钟设计-控制模块结构该设计分成下面四个模块:定时时钟模块、扫描时钟模块、按键处理模块、定时计数模块和显示控制模块。图11.2给出了这几个模块之间的信号连接关系。数字时钟设计-控制模块结构1、按键处理模块由于VHDL语言的规则,将按键的处理和定时模块设计在一起。为了描述清楚,将对按键的处理进行说明。在该设计中,采用异步复位电路方式。当复位信号低有效时,计数器停止计数,时、分、秒清零。对于小时的递增、递减按键操作,通过一个1Hz的计数时钟采样。图11.3给出了递增、递减的操作时序。数字时钟设计-控制模块结构数字时钟设计-控制模块结构当1Hz的div_clk
4、信号的上升沿到来时,检测hour_inc和hour_dec按键,图中的虚线表示在时钟的上升沿对按键信号进行采样。当hour_inc或hour_dec按键低有效时,对小时进行递加或递减操作。对于分钟的递加、递减按键操作,也是通过一个1Hz的计数时钟采样。原理同图11.4。数字时钟设计-控制模块结构2、定时时钟模块定时时钟模块其作用就是将外部提供的1MHz的时钟,通过分频器后向模块内的定时计数模块提供1Hz的定时计数时钟。在设计定时时钟模块时,采用同步计数电路。数字时钟设计-控制模块结构3、扫描时钟模块扫描时钟模块的作用就是通过对1MHz的分频处理后,向显示控制模块提供合适的显示扫描时钟
5、,该时钟必须经过合理的设计,才能保证7段数码显示的稳定。在设计扫描时钟模块时,采用同步计数电路。数字时钟设计-控制模块结构4、定时计数模块定时计数模块是该设计中最重要的一部分,在设计该模块时,为了便于后续显示控制模块的设计,将时、分、秒进行分离,即小时分成了小时的十位和个位分别处理,分钟分成了分钟的十位和个位分别处理。秒分成了秒的十位和个位分别处理。在该设计中,采用24小时计数模式。例如:13:28:57。13为小时的表示,1为小时的十位,3为小时的个位;28为分钟的表示,2为分钟的十位,8为分钟的个位;57为秒的表示,5为秒的十位,7为秒的个位。数字时钟设计-控制模块结构秒的个位计
6、数从0-9,即十进制计数。当秒的个位计数到9后,准备向秒的十位进位。秒的十位计数从0-5,即六进制计数。当秒的十位计数到5后,准备向分的个位进位。分钟的个位计数从0-9,即十进制计数。当分钟的个位计数到9后,准备向分钟的十位进位。分钟的十位计数从0-5,即六进制计数。当分钟的十位计数到5后,准备向小时的个位进位。数字时钟设计-控制模块结构对于小时的处理比较复杂,小时的十位和个位之间存在下面的关系:当小时的十位为0或1时,小时的个位可以计数范围为0-9,即十进制计数;当小时的十位为2时,小时的各位可以计数的范围为0-3,即四进制计数;数字时钟设计-控制模块结构数字时钟设计-控制模块结构
7、5、显示控制模块显示控制模块主要作用是在7段数码管上正确的显示0-9的数字。sel三位选择线和3-8译码器相连数字时钟设计-主程序libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;--实体定义部分entityclockisport(clk:instd_logic;rst:instd_logic;inc_min:i
此文档下载收益归作者所有