基于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 展开
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 展开
2个回答
2013-03-14
展开全部
更多追问追答
追问
图文并茂,谢谢了。那我想请问多一个问题。计数器开始都有一个分频模块,就像这句话
系统所给clock是50MHZ,将其分频为1HZ,即周期为1S,用于计数。当key键为1时,输出的div的频率增加到10倍,由此可以进行校时。
要怎么理解呢
深圳市兴威帆电子技术有限公司
2023-08-24 广告
2023-08-24 广告
实时时钟模块可以选择许多不同的制造商和型号,具体选择取决于您的应用需求和预算。一些流行的实时时钟模块品牌包括DS1302、MA电商平台6925和MCP7941。这些模块都具有精度高、稳定性好、功耗低等优点,并具有不同的功能和特性,可以满足各...
点击进入详情页
本回答由深圳市兴威帆电子技术有限公司提供
展开全部
用作计时器及所有的时序电路都与晶振相关,晶振在外加恒定电压的情况下会产生固定频率的机械振动,如一个规格为12M晶振,表示若振动12M次,时间便过去1秒。将晶振应用于电路中便可以由振动得到高低电平,再对高低电平的次数进行计数便可以完成计时
在FPGA中有专门检测高低电平的电路,只管用语言调用就行了
在FPGA中有专门检测高低电平的电路,只管用语言调用就行了
更多追问追答
追问
谢谢了,那我再问一个问题,我看到每个计时器都需要一个分频模块,请问这个分频模块有什么用?
追答
我不太明白“每一个计时器都需要一个分频模块”是什么意思,通常情况下分频都是根据需要人为添加的,比如说计数器的话你可以直接用12M晶振的不经过分频计数12M次,或者可以经过2分频计数6M次....,若要说有什么好处的话,虽然计数12M次和6M次需要的寄存器数量相差不多,但是分频级数越多,后一级的变化率就慢,产生毛刺的情况就会减少,此种方法的缺点就是延时较高。
比较推荐的方法是使用时钟时能来进行分频,如果没有解决你的疑问你可以把代码粘出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询