加入收藏
|
设为首页
|
会员中心
|
我要投稿
|
RSS
首页
设计中心
基准
数字万用表
智能仪表
电子DIY
电子发烧
您当前的位置:
首页
>
电子发烧
>
EDA技术
用VHDL语言设计延时电路
时间:2013-08-27 来源:
123485.com
作者:9stone
用VHDL语言设计延时电路时一般用计数器或计数器的级联来实现。
下面以一个实例来说明如何实现任意时间量的延时。
在5 MHz时钟CLK控制下对同步信号SYNC进行N延时(SYNC脉冲宽度为2 μs,脉冲重复频率为1 kHz;0μs≤N≤998 μs)。要求每次在同步脉冲上升沿到来时开始延时,并在延时结束后产生宽度为10 μs的选通信号。
需要产生的延时时序如图2所示(延时量N=4.2μs)。
这里采用3个计数器和1个或门产生上述延时信号,如图3所示,模N计数器计延时量;模50计数器计选通信号的宽度;模N+50计数器用于产生使能信号。用VHDL硬件描述语言进行硬件电路设计时,同一个进程中不能用2个时钟来触发,而时序图中又要求在同步脉冲SYNC的上升沿开始延时,为了解决这一问题,采用了模N+50计数器和1个或门。
当同步脉冲为高电平时,模N计数器和模N+50计数器开始计数,并置dly_en为高电平。模N计数器满,置dly_enl为高电平同时产生选通信号。当模N+50计数器计满即选通信号产生完之后置dly_en为低电平。当下一个同步脉冲到来时重复以上过程。这种设计电路的好处是当同步脉冲的宽度改变时对时序控制并无影响,因为在计数过程中只用了SYNC的上升沿,从延时开始到选通信号结束,在或门的作用下SYNC对计数器不起控制作用。
上述电路的VHDL程序如下:
该程序选择N=20,即延时量是4.2 μs,由于要使用时钟来判断SYNC的上升沿情况,因此,如果令N=0,产生的delay信号仍然会有1个时钟的固有延时,在计算延时量时应充分考虑到这一点,延时量=(N+1)×时钟周期。
分享到:
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
栏目导航->EDA技术
电子应用基础
电源技术
无线传输技术
信号处理
PCB设计
EDA技术
单片机学习
电子工具设备
技术文章
精彩拆解欣赏
推荐资讯
使用普通运放的仪表放
3V与5V混合系统中逻辑
数字PID控制及其改进
恶劣环境下的高性价比
栏目更新
栏目热门
站内搜索:
资讯
高级搜索
网站首页
|
关于我们
|
服务条款
|
广告服务
|
联系我们
|
网站地图
|
免责声明
|
WAP
巴斯仪表网,专注于数字仪表技术!
www.123485.com
© 2008-2013