基于verilog hdl 的数字计时器

最近在学习veriloghdl语言制作计时器,看到很多例子都是使用高电平和低电平来实现,如always@(posedgemt),我数电学的不好,请问使用高低电平来进行计时... 最近在学习verilog hdl 语言制作计时器,看到很多例子都是使用高电平和低电平来实现,如 always@(posedge mt) ,我数电学的不好,请问使用高低电平来进行计时器的原理是什么,非常感谢各位大神!
always@(posedge clock)//分频校时
begin
if(key)
begin
if (count==2500000) begindiv<=1;count<=count+1;end
elseif(count==5000000)begin div<=0;count<=0;end
elsecount<=count+1;
end
else
begin
if(count==25000000) begin div<=1;count<=count+1;end
elseif(count==50000000)begin div<=0;count<=0;end
elsecount<=count+1;
end
end
展开
 我来答
匿名用户
2013-03-14
展开全部

时钟通常是有一定频率的,比如12Mhz,那么占空比为50%的就是一半高电平、一半低电平。

那么低电平到高电平就是上升沿,一个上升沿到另个上升沿就是时钟周期。

通过计数上升沿的个数,不就可以记时间了吗?

有帮助,请采纳,谢谢!

更多追问追答
追问
图文并茂,谢谢了。那我想请问多一个问题。计数器开始都有一个分频模块,就像这句话

系统所给clock是50MHZ,将其分频为1HZ,即周期为1S,用于计数。当key键为1时,输出的div的频率增加到10倍,由此可以进行校时。

要怎么理解呢
追答

50Mhz = 1/ (20ns)             

1hz = 1/ 1s 

频率 = 周期的倒数。

分频模块就是相当于计数啊,比如:

50Mhz 周期为20ns,那么计数 50000000/2  次,电平翻转一次,时间就是1s啦。

输入到输出,即50Mhz时钟分频到了1hz时钟。

例如:四分频(计数2个时钟脉冲就翻转一次)  clk_out频率是clk_in的1/4

绿的谐波传动科技
2024-07-17 广告
旋转执行器是工业自动化中不可或缺的关键组件,它凭借精准的控制和稳定的性能,广泛应用于各类机械装备中。我们公司精心研发并生产的旋转执行器,不仅拥有高精度定位和快速响应的特性,而且经过严格的质量检测,确保其可靠性及耐久性。通过旋转执行器,我们助... 点击进入详情页
本回答由绿的谐波传动科技提供
兮咩咩
2013-03-15 · TA获得超过126个赞
知道答主
回答量:49
采纳率:0%
帮助的人:38.9万
展开全部
用作计时器及所有的时序电路都与晶振相关,晶振在外加恒定电压的情况下会产生固定频率的机械振动,如一个规格为12M晶振,表示若振动12M次,时间便过去1秒。将晶振应用于电路中便可以由振动得到高低电平,再对高低电平的次数进行计数便可以完成计时
在FPGA中有专门检测高低电平的电路,只管用语言调用就行了
更多追问追答
追问
谢谢了,那我再问一个问题,我看到每个计时器都需要一个分频模块,请问这个分频模块有什么用?
追答
我不太明白“每一个计时器都需要一个分频模块”是什么意思,通常情况下分频都是根据需要人为添加的,比如说计数器的话你可以直接用12M晶振的不经过分频计数12M次,或者可以经过2分频计数6M次....,若要说有什么好处的话,虽然计数12M次和6M次需要的寄存器数量相差不多,但是分频级数越多,后一级的变化率就慢,产生毛刺的情况就会减少,此种方法的缺点就是延时较高。
比较推荐的方法是使用时钟时能来进行分频,如果没有解决你的疑问你可以把代码粘出来看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式