脉冲与电平信号的相互转换

1 前言

回想自己写的某些代码,发现这些代码正好是脉冲与电平信号的相互转换,只是当时并没有深刻认识,因此记下,是为心得。

其实也特别简单。

2 电平转换成脉冲信号(边沿检测)

一个高电平变成低电平;或者
一个低电平变成高电平,那么如何将变化的时刻产生脉冲信号呢?

2.1 高电平变低电平

设电平信号为vol
定义一个寄存器reg_r
关键代码:

wire negedge_detect;
assign negedeg_detect = (!vol) && reg_r;

always @ (posedge clk or negedge rstn) begin
	if (!rstn)
		reg_r <= 1'b0;
	else
		reg_r <= vol;
end

对应下图:
在这里插入图片描述

2.2 低电平变高电平

设电平信号为vol
定义一个寄存器reg_r
关键代码:

wire posedge_detect;
assign posedge_detect = vol && (!reg_r);

always @ (posedge clk or negedge rstn) begin
	if (!rstn)
		reg_r <= 1'b0;
	else
		reg_r <= vol;
end

对应下图:
在这里插入图片描述

即,不论电平如何变换,变换的电平总是能够产生出一个周期的脉冲信号。寄存器reg_r的信号总是比电平信号延迟一个时钟周期,两者通过逻辑运算,即可得到电平信号到脉冲信号的转换,不过这种方法还有一个更通俗的名字:边沿检测

3 脉冲信号转电平信号

设脉冲信号为pulse
假设在一个系统所有动作完成时,比如状态机跳转完成或者计数器计数到期望值时能够产生一个脉冲信号done
定义一个寄存器pulse_to_vol;
关键代码为:

always @ (posedge clk or negedge rstn) begin
	if (!rstn)
		pulse_to_vol <= 1'b0;
	else if (pulse)
		pulse_to_vol <= 1'b1;
	else if (done)
		pulse_to_vol <= 1'b0;
	else
		pulse_to_vol <= pulse_to_vol;
end

对应下图:
在这里插入图片描述

此即为一个周期的脉冲信号转换成电平信号的方法。

  • 16
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
脉冲信号电平信号有以下几个区别。首先,脉冲信号是一种离散信号,波形之间有明显的间隔,具有一定的周期性,最常见的脉冲波是矩形波。而电平信号则是一种电压信号,在一段时间内保持一个相对固定的值,不发生明显的变化。 其次,脉冲信号的产生通常是通过振荡电路通过自我激励的形式形成特殊波形,然后经过非门等电路整形得到的。脉冲信号的特点是波形多样,与普通模拟信号在时间轴上不连续。而电平信号则不经过特殊波形的形成,可以直接由输入电路或电源提供一个恒定的电压值。 最后,脉冲信号电平信号在应用上也有不同。脉冲信号常常用于数字电路、通信系统、计算机等领域,用于传输和处理数字信息。而电平信号则广泛应用于模拟电路、电力系统、控制系统等领域,用于传输和控制连续变化的信号。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [脉冲信号电平信号到底有什么区别](https://download.csdn.net/download/weixin_38720461/20052800)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [脉冲信号电平的区别](https://blog.csdn.net/lishen05/article/details/121510996)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值