- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EA快速校时数字钟程序文档 .doc
由于要实现快速调时,所以这就要求在“计数”时用一个时钟频率,在 “较时”时有需要一个频率,这就会出现一个问题,那就是:一个进程(即
process)中,不能出现两个时钟,否则就会出现error (100028) ,所以
如果“较时”和“计数”在一个process吋,就需要避免在一个进程中采用两 个时钟输入(即将两个时钟频率作为敏感信号),所以这也就是这里需要解决的 问题了,考虑到计数和调时不是同时进行的,因此可以考虑在一个进程中,采 用一个时钟输入进行类似于分时复用的原理,即计数时elk信号输出计数频率, 校时时输出计数频率频率。而在设计时由于釆用了 EN信号进行计数和校时的切 换(即EN为1吋汁数,为0吋校吋),因此可以利用EN信号作为时钟分频模 块(即下图屮的CLK_TW0模块)屮的CLK_low输出的高低频切换。具体程序如 下(主要看一下CLK_TW0模块中的红色程序部分即能明白)。
顶层原理图
CLK _TW0模块程序
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_unsigned.all;
ENTITY CLK_TWO IS PORT(CLK,CHAG: IN STD_LOGIC;
CLK_low,CLK_high : OUT STD_LOGIC );
END CLK_TWO;
ARCHITECTURE BEHAV OF CLK一TWO IS BEGIN
PROCESS(CLKZCHAG)
VARIABLE A,B JNTEGER := 0; VARIABLE H,L :STD_LOGIC ; BEGIN
IF CLKEVENT AND CLK=T THEN
IFA10000THEN A:=A+1;
IF A5000 THEN H :=0*;
ELSE H :=T;
END IF;
ELSE A :=0;
END IF;
ifCHAG =l thenTHE N B :=B+1;——24MHz 分频为 1Hz 用于计数 IF HENL-O;
ELSE L:=T;
END IF;
ELSE B :=0;
END IF;
else
IF EN B :=B+1; 2 4MHz分频,分频比为5 000 000。用于校时
000 THENL:=O*;
ELSE L:=T;
END IF;
ELS EB :=0;
END IF;
end if;
END IF ;
CLK_high CLK_lo w = L;
END PROCESS ;
END BEHAV;
DG_CL K模块程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity DIG_CLOCK is
port (CLK/EN,RST1,RST2,RST3/ADD_HOUR/ADD_SEC,ADD_MIN:IN STD_LOGIC; COUT:OUTSTD_LOGIC;
DIS_HOUR10ZDIS_HOUR1/DIS_MIN10/DIS_MIN1,DIS_SEC10/DIS_SEC1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END DIG_CLOCK;
ARCHITECTURE BEHAV OF DIG_CLOCK IS SIGNAL COUNT1ZCOUNT2 : STD_LOGIC :=*0;
SIGNAL LCX: STD_LOGIC; BEGIN
BI:
process (CLK,EN,RST3,ADD_SEC) -----秒校时及计数模块 VARIABLE S1O,S1 : STD_LOGIC_VECTOR(3 DOWNTO 0):=0000;
VARIABLE ul,v3 JNTEGER := 0;
BEGIN
IF RST3 = *0* THEN S10:= 0000;Sl:= 0000;
ELSIF CLKEVENT AND CLK=T THEN
IF EN =T THEN I ENS1 :=Sl+l;ul :=0;-秒
ELSE SI := 0000;ul:=l;
END IF;
IF(ul=l)THEN
IF(S105) THEN S10 := S10+1;
ELSE S10 := 0000;
END IF;
END IF;
IF (S1O=5)AND(S1=9) THEN COUNT1 = T;--S10:= (OTHERS = 0*);Sl:= (OTHERS = O);
ELSE COUNT1 = ■?■;
END IF;
ELSIF ADD_SEC= *0 THEN
IF (Sl9) THEN SI := S
您可能关注的文档
最近下载
- 施工企业现场质量管理制度及奖惩办法.pdf VIP
- 传感器原理及应用 教案.pdf VIP
- 砂石料供应、运输、售后服务方案14627.pdf VIP
- 传承雷锋精神争做时代新人--主题班会课件.pptx VIP
- 气管切开非机械通气患者气道管理考试题及答案.doc
- 横河flxa21两线制电导率变送器快速启动手册.pdf VIP
- 图集规范-天津图集-12J5-1图集(2012版)平屋面 DBJT29-18-2013.pdf VIP
- 第2课+丰富多彩的中华传统体育+课件 2025-2026学年人教版(2024)初中体育与健康八年级全一册.pptx VIP
- 第12课 闭环控制助稳定 教案 义务教育人教版信息科技六年级全一册.pdf VIP
- 生命教育PPT模板.pptx VIP
文档评论(0)