时间:2024-07-29 来源:网络搜集 关于我们 0
一, 设计要求
产生一个周期为100ns目标信号,在初始时全部为低电平,每间隔100ns目标信号高电平拉高时间长度为20ns.
二, 设计分析
波形分析
判断cnt1小于等于cnt时,目标信号为低电平,
cnt1的值表示目标信号经过多少目标周期;
cnt表示计数目标信号的一个周期;
当目标信号全部变为高电平时,将目标信号的高电平持续时间每经过一个目标信号周期减少20ns;
目标信号周期
判断cnt小于等于cnt1时,目标信号为低电平,
将对目标信号的调制划分为两个部分:
第一个部分:目标信号由低电平全部转换为高电平,需要经过五个目标信号周期就全部变化为高电平,第六个目标信号周期目标信号全部为高电平;
第二个部分:目标信号的高电平持续时间减少,低电平持续时间增大,需要4个目标信号周期。
《利用有限状态机思想进行设计》
状态划分为两个状态:
第一个状态:占空比增大状态,执行的判断条件为:pwm = (cnt1<= cnt)?1’b0:1’b1;目标信号周期计数器cnt计数循环(0到4),判断目标信号经过多少个周期计数器cnt1,计数到5表示目标信号全部为高电平;状态跳转条件为:cnt1=5且cnt=4时;
第二个状态:占空比减小状态,执行的判断条件为:pwm = (cnt<= cnt1)?1’b0:1’b1;目标信号周期计数器cnt计数循环(0到4),判断目标信号经过多少个周期计数器cnt1,计数到3表示目标信号占空比为20%;状态跳转条件为:cnt1=3且cnt=4时;
状态转移图:
通过脉冲宽度调制设计方式,我们设计一个呼吸灯逻辑
led灯的变化形式为:灭——亮——灭,
控制led灯变化的信号逻辑为:高——低——高
高——低时间间隔2秒
低——高时间间隔2秒
控制Led灯的信号周期为20ms,每经过一个目标信号周期低电平或者高电平持续时间增加20us;