时钟信号产生模块设计
- 格式:ppt
- 大小:1.14 MB
- 文档页数:23
简易数字钟设计摘 要 本文针对简易数字钟的设计要求,提出了两种整体设计方案,在比较两个方案的优缺点后,选择了其中较优的一个方案,进行由上而下层次化的设计,先定义和规定各个模块的结构,再对模块内部进行详细设计。
详细设计的时候又根据可采用的芯片,分析各芯片是否适合本次设计,选择较合适的芯片进行设计,最后将设计好的模块组合调试,并最终在EWB 下仿真通过。
关键词 数字钟,EWB ,74LS160,总线,三态门,子电路一、引言:所谓数字钟,是指利用电子电路构成的计时器。
相对机械钟而言,数字钟能达到准确计时,并显示小时、分、秒,同时能对该钟进行调整。
在此基础上,还能够实现整点报时,定时报闹等功能。
设计过程采用系统设计的方法,先分析任务,得到系统要求,然后进行总体设计,划分子系统,然后进行详细设计,决定各个功能子系统中的内部电路,最后进行测试。
二、任务分析:能按时钟功能进行小时、分钟、秒计时,并显示时间及调整时间,能整点报时,定点报时,使用4个数码管,能切换显示。
总体设计本阶段的任务是根据任务要求进行模块划分,提出方案,并进行比较分析,最终找到较优的方案。
方案一、采用异步电路,数据选择器将时钟信号输给秒模块,秒模块的进位输给分模块,分模块进位输入给时模块,切换的时候使用2选1数据选择器进行切换,电路框图如下:该方案的优点是模块内部简单,基本不需要额外的电路,但缺点也很明显,该方案结构不清晰,模块间关系混乱,模块外还需使用较多门电路,不利于功能扩充,且使用了异步电路,计数在59的时候,高一级马上进位,故本次设计不采用此方案。
方案二、采用同步电路,总线结构时钟信号分别加到各个模块,各个模块功能相对独立,框图如下: 显示 切换秒钟分钟 小时 控制1Hz 脉冲信号闹钟该方案用总线结构,主要功能集中在模块内部,模块功能较为独立,模块间连线简单,易于扩展,本次设计采用此方案。
综上所述,本次设计采用方案二。
秒计数和分计数为60进制,时计数为24进制,为了简化设计,秒和分计数采用同一单元。
fpga数字时钟课程设计FPGA数字时钟课程设计随着科技的不断发展,数字时钟已经成为现代人生活中必不可少的物品。
数字时钟的准确性和便捷性吸引了越来越多的人使用。
而现在,我们可以通过FPGA数字时钟课程设计来实现一个高精度的数字时钟。
FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,可以通过编程实现各种不同的功能。
数字时钟的实现也可以通过FPGA来完成。
在FPGA数字时钟课程设计中,我们需要先确定时钟的基础部分。
时钟的基础部分由时钟信号产生器、时钟分频器、时钟计数器和时钟显示器组成。
时钟信号产生器需要产生一个稳定的时钟信号,以供后续的计数器和分频器使用。
我们可以通过FPGA中的时钟模块来产生一个稳定的时钟信号。
接下来,时钟分频器需要将时钟信号分频,使得计数器可以进行精确的计数。
分频器的分频系数可以通过FPGA中的数码开关进行设置。
然后,时钟计数器需要根据分频器的设定进行精确的计数。
计数器的计数值可以通过FPGA中的计数器模块进行设置。
时钟显示器需要将计数器的计数值进行显示。
我们可以通过FPGA 中的数码管模块来实现时钟的显示功能。
除了基础部分,我们还可以通过添加更多的功能来完善数字时钟。
例如,我们可以添加闹钟功能、日期显示功能等,以增加数字时钟的实用性。
在FPGA数字时钟课程设计中,我们可以使用VHDL(VHSIC Hardware Description Language)语言进行编程。
VHDL是一种硬件描述语言,可以用于FPGA和ASIC的设计。
通过编写VHDL 程序,我们可以实现数字时钟的各种功能。
FPGA数字时钟课程设计是一个非常有趣和实用的课程项目。
通过这个项目,我们可以深入了解数字时钟的工作原理,熟悉FPGA的编程方法,同时也可以锻炼自己的编程能力。
The University of South China 电子课程设计题目 1Hz时钟信号发生器学院名称电气工程学院指导教师班级测控071班学号学生姓名2010年01月21日1Hz时钟信号发生器系统设计摘要:本设计由两个模块组成:信号产生电路,分频电路。
信号产生电路由=32768Hz的石英晶振组成的晶振电路,分频电路由十四级分频器CD4060和二级分频器74LS390组成。
关键词: 晶振,反馈电阻,负载电容,分频器ABSTRACT:This design consists of two modules: signal generating circuit, sub-frequency circuits. Signal generation circuit consists of = 32768Hz crystal composed of quartz crystal oscillator circuit, divider circuit consists of 14 and two divider divider CD4060 composed of 74LS390.KEYWORDS: Crystal,feedback resistance,loading capacitor,frequency divider目录:1 系统设计 (4)1.1设计任务与要求 (4)1.2设计分析 (4)1.3各模块方案选择和论证 (5)1.3.1时钟信号发生电路的选择 (5)1.3.2 分频电路模块 (8)2系统的硬件实现 (9)2.1信号发生电路模块 (9)2.2分频电路模块 (10)2.3电路仿真调整 (10)2.4信号检测 ......................................................................................................... 11_Toc249868527 3总结语. (11)参考文献: (12)附录: (13)附录一 (13)附录二 (13)1 系统设计1.1设计任务与要求设计1Hz的时钟信号发生器,要求要有稳定的频率,非线性失真小。
VHDL数字时钟设计序⾔这个是我在做FPGA界的HelloWorld——数字钟设计时随⼿写下的,再现了数字钟设计的过程⽬标分析1. 时钟具有时分秒的显⽰,需6个数码管。
为了减⼩功耗采⽤扫描法显⽰2. 按键设置时间,需要对按键进⾏消抖3. 时分秒即为2个60进制计数器,⼀个24进制计数器。
模块设计综上所述,我采⽤模块化设计⽅法进⾏设计,绘制框图如下。
1. 时钟分频产⽣各个模块所需频率时钟。
2. 按键处理模块对按键信号进⾏消抖、变长脉冲为短脉冲等处理。
3. 时间控制模块产⽣时间信号或对时间进⾏设置。
4. 数码管驱动模块负责对时间信号BCD码译码为数码管的段码并且扫描输出到数码管。
下⾯对各个模块分别详细叙述时钟分频模块我打算把时钟分频模块做成“数控N分频器”,通过给分频器传⼊数值N来对时钟信号进⾏N分频。
得到的信号频率为原时钟信号的频率/N,占空⽐为1/N。
稍微考虑下其他模块所需时钟:按键处理模块100Hz ,时间控制模块1Hz,数码管驱动50Hz。
⽽输⼊时钟为33.8688MHz。
我不想传⼊的N数值过⼤,我打算先对时钟进⾏两次:第⼀次调⽤时钟分频模块得到1Mhz,第⼆次得到1Khz。
这样N的位数为10可以满⾜需求。
代码如下library IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_UNSIGNED.all;entity ClkDiv isport(clk_i:IN STD_LOGIC;N_i: IN STD_LOGIC_VECTOR(9 DOWNTO 0);clk_o:OUT STD_LOGIC);end ClkDiv;architecture behavior of ClkDiv issignal count:STD_LOGIC_VECTOR(9 DOWNTO 0):="0000000001";signal clk_temp:STD_LOGIC:='0';beginprocess(clk_i)beginif(clk_i'EVENT and clk_i='1')thenif (count=N_i)thencount<="0000000001";clk_temp<='1';elsecount<=count+1;clk_temp<='0';end if;end if;end process;clk_o<=clk_temp;end behavior;仿真结果如下:2分频:输出信号为f/2Hz,占空⽐1:23分频:输出信号为f/3Hz,占空⽐1:3按键处理模块去抖动根据以往的经验,按键按下弹起电平会有⼀⼩段⽑刺,可能会引起电路误操作,所以要对按键进⾏消抖处理使变为⼲净的矩形信号。
电子技术课程设计多功能数字钟学院:专业、班级:姓名:学号:指导老师:2008年12月目录1、设计任务与要求 (2)2、总体框图 (2)3、选择器件 (2)4、功能模块 (3)(1)时钟记数模块 (3)(2)整点报时驱动信号产生模块 (6)(3)八段共阴扫描数码管的片选驱动信号输出模块 (7)(4)驱动八段字形译码输出模块 (9)5、总体设计电路图 (10)(1)仿真图 (10)(2)电路图 (11)(3)管脚图 (11)6、设计心得体会 (12)一、设计任务与要求1、具有时、分、秒记数显示功能,以24小时循环计时。
2、要求数字钟具有清零、调节小时、分钟功能。
3、具有整点报时,整点报时的同时LED灯花样显示。
二、总体框图多功能数字钟总体框图如下图所示。
它由时钟记数模块(包括hour、minute、second 三个小模块)、驱动8位八段共阴扫描数码管的片选驱动信号输出模块(seltime)、驱动八段字形译码输出模块(deled)、整点报时驱动信号产生模块(alart)。
系统总体框图三、选择器件网络线若干/人、共阴八段数码管6个、蜂鸣器、hour(24进制记数器)、minute(60进制记数器)、second(60进制记数器)、alert(整点报时驱动信号产生模块)、seltime(驱动8位八段共阴扫描数码管的片选驱动信号输出模块)、deled(驱动八段字形译码输出模块)。
四、功能模块多功能数字钟中的时钟记数模块、驱动8位八段共阴扫描数码管的片选驱动信号输出模块、驱动八段字形译码输出模块、整点报时驱动信号产生模块。
(1) 时钟记数模块:<1.1>该模块的功能是:在时钟信号(CLK)的作用下可以生成波形;在清零信号(RESET)作用下,即可清零。
VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport(clk,reset:in std_logic;daout:out std_logic_vector(5 downto 0));end entity hour;architecture fun of hour issignal count:std_logic_vector(5 downto 0);begindaout<=count;process(clk,reset)beginif(reset='0') thencount<="000000";elsif(clk' event and clk='1') thenif(count(3 downto 0)="1001") thenif(count<16#24#) thencount<=count+7;else count<="000000";end if;elsif(count<16#23#) thencount<=count+1;else count<="000000";end if;end if;end process;end fun;<1.2>VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute isport(clk,clk1,reset,sethour:in std_logic;enhour:out std_logicdaout:out std_logic_vector(6 downto 0));end entity minute;architecture fun of minute issignal count:std_logic_vector(6 downto 0); begindaout<=count;process(clk,reset,sethour)beginif(reset='0') thencount<="0000000";elsif(sethour='0') thenenhour<=clk1;elsif(clk' event and clk='1') thenif(count(3 downto 0)="1001") thenif(count<16#60#) thenif(count="1011001") thenenhour<='1';count<="0000000"; else count<=count+7;end if;elsecount<="0000000";end if;elsif(count<16#60#) thencount<=count+1;enhour<='0';elsecount<="0000000";end if;end if;<1.3>VHDL程序如下:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY second ISPORT(clk,reset,setmin:IN STD_LOGIC;enmin:OUT STD_LOGIC;daout:out std_logic_vector(6 downto 0)); END entity second;ARCHITECTURE fun OF second ISSIGNAL count:STD_LOGIC_VECTOR(6 downto 0); BEGINdaout<=count;process(clk,reset,setmin)beginif(reset='0') thencount<="0000000";elsif(setmin='0')thenenmin <=clk;elsif(clk'event and clk='1')thenif(count(3 downto 0)="1001")thenif(count<16#60#)thenif(count="1011001")thenenmin<='1';count<="0000000";ELSE count<=count+7;end if;elsecount<="0000000";end if;elsif(count<16#60#)thencount<=count+1;enmin<='0';elsecount<="0000000";end if;end if;end process;END fun;(2)整点报时驱动信号产生模块该模块功能:在时钟信号(CLK)的作用下可以生成波形,SPEAK输出接扬声器,以产生整点报时发声。
电子技术(下)课程设计题目名称:多功能电子时钟的设计院系名称:电子信息学院班级:学号:学生姓名:指导教师:年月电子技术(下)课程设计任务书姓名学号学院电子信息学院班级题目多功能电子时钟的设计设计任务1、基本部分1)、由振荡电路产生秒脉冲信号;2)、经分频电路、计数电路、译码电路,由数码管显示;3)、秒和分电路为60进制,小时电路为24进制;2、发挥部分1)、可以增加校正电路,对秒、分、小时进行校对;2)、可以增加报时电路,整点前进行“四低一高”报时;时间进度总体时间为1周;星期一上午:讲解;星期一下午:理解电路原理;星期二上午:发放元器件和工具,设计电路和连线;星期四上午:验收电路;星期日之前:上交课程设计报告;主要参考文献[1]康华光。
电子技术基础数字部分(第五版)。
北京:高等教育出版社,2006;[2]康华光。
电子技术基础模拟部分(第五版)。
北京:高等教育出版社,2006;[3]电子技术(下)实验指导书,中原工学院电子技术课程组自编,2011;摘要设计一台可以准确计时,以十进制数显示“时”、“分”、“秒”的多功能电子时钟,小时为24进制,分和秒均为60进制。
多功能电子时钟实际是一个对标准频率(1HZ)进行计数的计数电路,是采用数字电路实现“时”、“分”、“秒”数字显示的计时装置。
通过本课程设计,巩固加强“数字电子技术”课程的理论知识;掌握电子电路的一般设计方法,并了解电子产品研制开发的过程;基本掌握电子电路安装和调试的方法;培养独立分析问题和解决问题的能力以及创新能力和创新思维。
关键词:电子时钟;计数器;AbstractDesign a can accurate timing, in decimal number shows "hour"," minute" and "seconds" multifunctional electronic clock, for 24 hours into the system, minutes and seconds are 60 into the system. Multifunctional electronic clock is actually a for standard frequency (1 HZ) to count count circuit, is the digital circuit implementation digital display timer device. Through this course design, make we strengthen "hour","minute" and "seconds" digital electronic technology" the curriculum theory knowledge; Grasp the electronic circuit of the general design method, and understand the electronic product development development process; Basic grasp the electronic circuit installation and debugging methods; To foster independent analysis and problem-solving ability and creative ability and creative thinking.Key words:Electronic clock; counter;目录中文摘要Abstract第一章绪论 (1)第二章总体方案设计 (1)2.1 设计内容 (1)2.1.1基本部分 (1)2.1.2发挥部分 (1)2.2 原理说明 (1)第三章单元模块设计 (3)3.1 振荡器 (3)3.2 分频器 (6)3.3 计数器 (7)3.4 译码显示电路 (10)3.5校时电路 (11)3.6 整点报时电路 (12)第四章系统的调试与功能 (13)4.1 系统的调试 (13)4.2 系统的功能 (14)第五章心得体会 (15)参考文献 (15)附录一:工具清单 (15)附录二:元器件清单 (16)附录三:主要元器件的引脚图和功能表 (17)第一章绪论随科技的发展,电子产品越来越多的走进人们的生活,工艺也是越来越精湛。
FPGA时钟设计在FPGA设计中,时钟设计需要考虑以下几个方面:1.时钟源:时钟源可以是外部信号源,也可以是FPGA内部的时钟发生器。
外部时钟源一般来自外部设备或者振荡器。
FPGA内部的时钟发生器可以根据需要生成所需的时钟频率。
2.时钟分频:时钟分频是指将输入的时钟频率分频为所需的输出频率。
在一些应用中,需要将时钟频率降低到一个更低的频率,以降低功耗或满足特定的应用需求。
3.时钟分配:在FPGA设计中,可能会有多个模块需要使用时钟信号。
时钟分配是指将时钟信号分配给各个模块,以确保它们能够按照同步的方式工作。
4.时钟域划分:在FPGA设计中,可能会存在多个时钟域,即不同的时钟频率和时钟相位。
时钟域划分是指将设计中的电路划分为不同的时钟域,并确保时钟跨域的数据传输正确。
5.时钟驱动和延迟:时钟驱动和延迟是指时钟信号的传输延时。
由于FPGA中的逻辑电路通常具有不同的传输延时,所以时钟信号需要正确地驱动各个子模块,以确保数据的正常传输。
在进行FPGA时钟设计时,需要考虑以下几个关键问题:1.时钟频率选择:时钟频率选择需要综合考虑系统的需求和FPGA的性能。
较高的时钟频率可以提高系统的工作速度,但也会增加功耗和电磁干扰。
较低的时钟频率可以降低功耗和电磁干扰,但会降低系统的工作速度。
2.时钟相位对齐:时钟相位对齐是指在不同时钟域之间进行数据传输时,需要确保时钟相位的对齐。
时钟相位对齐可以通过插入寄存器或者使用FPGA的时钟管理资源来实现。
3.时钟缓冲和驱动:时钟缓冲和驱动是指对时钟信号进行放大和驱动,以确保时钟信号能够正常传输和驱动其他模块。
时钟缓冲和驱动可以使用FPGA内部的时钟管理资源,如PLL和BUFIO等。
4.时钟分频策略:时钟分频策略是指根据需要将时钟频率分频为所需的频率。
时钟分频可以使用FPGA内部的分频器来实现,也可以使用逻辑电路来实现。
在FPGA时钟设计过程中,需要进行时钟约束设置,即设置时钟频率、时钟相位和时钟域等约束条件。
PCB模块化布局---时钟电路设计在一个电路系统中,时钟是必不可少的一部分。
时钟电路相当关键,在电路中的作用犹如人的心脏的作用,如果电路系统的时钟出错了,系统就会发生紊乱,因此在PCB中设计一个好的时钟电路是非常必要的。
我们常用的时钟电路有:晶体、晶振、时钟分配器。
有些IC用的时钟可能是由主芯片产生的,但追根溯源,还是由上述三者之一产生的。
接下来结合具体实例,说明时钟电路布局、布线的原则和注意事项。
晶体PCB中常用的晶体封装有:2管脚的插件封装和SMD封装、4管脚的SMD封装,常见封装如下图:2管脚PTH 2管脚SMD封装4管脚SMD封装尽管晶体有不同的规格,但它们的基本电路设计是一致的,因此PCB的布局、布线规则也是通用的。
基本的电路设计如下图:从电路原理图中可以看出,电路由晶体+2个电容组成,这两个电容分别为增益电容和相位电容。
晶体电路布局时,两个电容靠近晶体放置,布局效果图如下:布线时,晶体的一对线要走成类差分的形式,线尽量短、且要加粗并进行包地处理,效果如下图:上述的是最基本和最常见的晶体电路设计,也有一些变形设计,如加串阻、测试点等,如下图,设计思路还是一致的:结合上述,布局应注意:1.和IC布在同一层面,这样可以少打孔;2.布局要紧凑,电容位于晶体和IC之间,且靠近晶体放置,使时钟线到IC尽量短;3.对于有测试点的情况,尽量避免stub或者是使stub尽量短;4.附近不要摆放大功率器件、如电源芯片、MOS管、电感等发热量大的器件;布线应注意:1.和IC同层布局,同层走线,尽量少打孔,如果打孔,需要在附近加回流地孔;2.类差分走线;3.走线要加粗,通常8~12mil;由于晶体时钟波形为正弦波,所以此处按模拟设计思路处理;4.信号线包地处理,且包地线或者铜皮要打屏蔽地孔;5.晶体电路模块区域相当于模拟区域,尽量不要有其他信号穿过;晶振相比于晶体电路,晶振是有源电路,主要由三部分组成:晶振+电源滤波电路+源端匹配电阻:常见电路设计如下图:布局布线效果图如下:布局、布线总结:1.滤波电容靠近电源管脚,遵循先大后小原则摆放,小电容靠得最近;2.匹配电阻靠近晶振摆放;如果原理图中没有这个电阻,可建议加上;3.附近不要摆放大功率器件、如电源芯片、MOS管、电感等发热量大的器件;4.时钟线按50欧姆阻抗线来走;如果时钟线过长,可以走在内层,打孔换层处加回流地孔;5.其他信号与时钟信号保持4W间距;6.包地处理,并加屏蔽地孔;时钟分配器时钟分配器种类比较多,在设计时保证时钟分配器到各个IC的距离尽量短,通常放在对称的位置,例如:时钟分配器电路:PCB设计如下图:布局、布线总结:1.时钟发生电路要靠近时钟分配器,常见的时钟发生电路是晶体、晶振电路;2.时钟分配电路放置在对称位置,保证到各个IC的时钟信号线路尽量短;3.附近不要摆放大功率器件、如电源芯片、MOS管、电感等发热量大的器件;4.时钟信号线过长时,可以走在内层,换层孔的200mil范围内要有回流地过孔;。
Verilog数字时钟计数器电路设计一、引言Verilog是一种硬件描述语言,用于描述、设计和模拟数字电路。
数字时钟计数器电路是数字电子系统中常见的模块,用于产生时钟信号和计数功能。
本文将介绍如何使用Verilog语言设计数字时钟计数器电路。
二、电路功能数字时钟计数器电路的功能是产生一个稳定的时钟信号,并实现计数功能,用于驱动数字系统中的时序逻辑。
该电路通常包括时钟发生器和计数器两部分,时钟发生器用于产生稳定的时钟信号,而计数器用于对时钟信号进行计数。
三、Verilog语言简介Verilog是一种硬件描述语言,它可以用于描述数字电路的结构、行为和时序特性。
Verilog语言具有丰富的语法结构,包括模块、端口、信号、赋值语句、过程块等,可以描述数字电路中的各种逻辑和时序操作。
四、数字时钟计数器电路设计1. 模块定义我们需要使用Verilog语言定义数字时钟计数器的模块。
模块是Verilog语言中的最基本单元,用于描述数字电路的结构和行为。
以下是数字时钟计数器模块的定义:```verilogmodule clk_counter(input wire clk,input wire rst,output reg [3:0] count);```在上面的代码中,我们定义了一个名为`clk_counter`的模块,该模块包括一个时钟输入`clk`、一个复位输入`rst`和一个4位计数输出`count`。
2. 时钟发生器接下来,我们需要设计时钟发生器模块,用于产生稳定的时钟信号。
以下是时钟发生器模块的定义:```verilogmodule clk_generator(output reg clk);always #10 clk = ~clk;endmodule```在上面的代码中,我们定义了一个名为`clk_generator`的模块,该模块包括一个时钟输出`clk`。
通过`always`块和`#10`延时控制,我们实现了一个简单的时钟发生器,每10个时间单位翻转一次。