FPGA边沿检测正确,而电平检测失灵

2020-02-04 10:47发布

求帮助,本人正设计频率计,输入信号为100Hz,3.3Vpp方波。使用边沿检测(上升沿)对方波周期进行计数得出方波频率为99.9313Hz,基本符合要求。但是使用电平检测对方波某一周期占空比进行计算时,却发现FPGA并不能正常检测出方波电平值,然而程序已通过功能仿真,不知道是哪里配置错误呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
xiamingmin163
1楼-- · 2020-02-04 11:25
首先,没有电平检测这个概念,FPGA内部逻辑资源是触发器和LUT的组合,只有时序逻辑和组合逻辑的区分;
其次,你测占空比完全看以计数高电平的持续时间和低电平的持续时间;
最后,仿真只代表软件层次的思想实现,不代表硬件层次的实现。
waiter
2楼-- · 2020-02-04 16:00
代码都没有,别人怎么帮你分析? 万一是代码错误了呢?
ar_dong
3楼-- · 2020-02-04 21:00
假设这个是个理想方波
用这个直接做计数肯定没问题
但是你用别的时钟采样检测上升沿,肯定会采到边沿,肯定有亚稳态问题,想想办法把亚稳态解决了就ok了
xuander
4楼-- · 2020-02-05 00:15
 精彩回答 2  元偷偷看……
waiter
5楼-- · 2020-02-05 03:27
代码上怎么区别?
边沿检测:
neg_edge = sig_delay & (!sig) ;
pos_edge = (!sig_delay) & (sig) ;

电平检测,那就得要做个计数器了,你要检测sig高电平,就是sig高电平时计数器累加1不就行了?

一周热门 更多>