【博友原创】基于FPGA的测频系统+上位机

【1】本设计的要求:

  • 利用FPGA实现频率计,要求2秒内测出外部频率,并且2秒更新一次值;

  • 实现100MHz频率的测量;

  • 测量结果通过串口921600bps发送给PC;

  • 发送格式为:FFCB0176543210,其中FFCB01为帧头,76543210(即0x76543210)为频率值,数据在上位机中转换成十进制并用合适的单位(MHz、KHz、Hz)表示;

  • 完善上位机。

【2】现在就来说说我是如何实现上述条件的。对于第一个条件“2秒内测出频率并2秒更新一次”,很明显这是连续、实时的测量过程。跟我们经常看过的“一个占空比为50%、周期为4秒的方波,在其高电平时测试频率”完全不同,当然它也可以测出频率,但达不到连续测量的要求。为了实现该要求,我们得采取另一种思路,就是两个间隔2秒的脉冲之间进行频率的测量,如下图所示:

实现代码(时钟为100MHz,clkin为待测频的信号):

在上面的设计中涉及到了一种很重要的思想即边沿检测。所谓边沿检测,就是检测外部输入信号或FPGA内部逻辑信号的跳变,即上升沿或下降沿的捕获。通过边沿检测实现使能时钟,避免了时钟满天飞,同时提高了时序电路的稳定性。边沿检测功能实现之前,我们必须对它在时序上的理解。当上一时刻为低电平,当前时刻为高电平时为上升沿;当上一时刻为高电平,当前时刻为低电平时为下降沿。

(1)上升沿的检测

(2)下降沿的检测

【3】对于第二个条件”实现100MHz频率的测量”,必须满足采样定理即采样率大于等于200MHz,而本设计的采样取250MHz。

【4】对于第三个条件“测量结果通过串口921600bps发送给PC”,首先要设计一个UART发送端,波特率为921600,然后将32位宽的测量结果并加上帧头FFCB01以字节为单位进行发送,其核心代码如下:

【5】第四个条件“数据在上位机中转换成十进制并用合适的单位(MHz、KHz、Hz)表示”,该上位机使用VC++6.0实现,该条件部分实现代码如下:

【6】最后,完成的上位机“测频系统”效果如下:

【7】完成了测频电路和上位机的设计后,接下来就是调试了。由于我没有条件提供外部信号进行测频,于是采取了调用IP核PLL来产生待测信号(可通过按键进行选择),其例化代码如下:

测试结果如下:

经过调试,该设计是符合条件的。

【8】虽然没有把该设计很详细的写出来,但是重要的是思路。哈哈,明天去公司报道,今晚就不再折腾了,早点睡觉,晚安*^_^*

(0)

相关推荐

  • 光伏直流电弧故障危害大,易引发火灾,用电弧电磁辐射来检测它

    会议通知|EITRT 2019 参会注册 长按识别左侧二维码,登录报名网站(先注册网站会员,然后提交报名信息) 会议微信号 摘要 省部共建电工装备可靠性与智能化国家重点实验室(河北工业大学).河北省电 ...

  • 2021夏季大赏 - 新一代高性能软件无线电平台

    NI (美国国家仪器) 公司近日发布了新一代高性能软件无线电设备NI  Ettus USRP X410,基于Xilinx Zynq UltraScale+ RFSoC芯片构建.该芯片同时集成了ARM® ...

  • 【博友原创】FPGA之资源优化思想的运用

    很多不安于现状的年轻人心中都有一个明确的目标,并最终为之留下了心酸和泪水而走上了成功的道路.如今我就觉得自己挺年轻的,不过我并没有像他们那么的努力.为了实现梦想,对得起自己,从现在开始我要向他们学习拼 ...

  • 【博友原创】如何在Ubantu10.10系统上编写一个sbull驱动

    【博友原创】如何在Ubantu10.10系统上编写一个sbull驱动

  • 【博友原创】modelsim三种仿真实验结果对比

    既然决定认认真真搞FPGA,学好modelsim,那么就一路坚持下去!首先,继续摸熟modelsim仿真. 今天摸清了用Modelsim做功能仿真,综合后仿真,时序仿真.纪录下过程和对比下结果. 首先 ...

  • 【博友原创】令新手头疼的modelsim库编译

    估计很多人买了CB哥的书来看吧,他们在学习modelsim仿真的过程中可能遇到过明明是按照书上的步骤添加器件库的了,但还是出现如下的错误: 首先,我想说的是CB哥书上的modelsim-altera1 ...

  • 【博友原创】使用NCVERILOG仿真mos数字电路

    在cadence中,使用mos管和电阻构建了数字电路,但是要对这电路进行功能仿真,仿真的激励也比较复杂,不能使用简单的信号源产生,这个时候,就会考虑使用verilog,编写testbench来进行仿真 ...

  • 【博友原创】k64开发之AD数模转换

    所谓AD就是模拟信号转化为数字信号 强大的性能:k64拥有两个分辨率可配置的高速16位模数转换器(ADC).这个精度相当高了,大部分应用都能满足. 单输出或差分输出模式运行,可提高噪声抑制水平.利用可 ...

  • 【原创诗词】观博友微信菜园照片有感

    [原创诗词]观博友微信菜园照片有感 观博友微信菜园照片有感七言 雪岸 20210315 绝句 押庚韵 喜看园蹊绿己盈,一枝一叶是春声. 仄中平平仄仄平,仄平仄仄仄平平. 欲归故里舒望眼,把酒言欢笑语生 ...

  • 基于FPGA和DSP的高速实时轨道巡检图像采集处理系统

    随着我国铁路高速发展,高铁总里程已跃居世界第1位,维修养护压力也日益凸显.在高速铁路的日常维护中,线路上的钢轨.扣件.应答器.轨腰塞钉等轨道设施需要大量的人工进行检测.然而,由于人工巡道作业存在检测条 ...

  • 【原创】和博友玩对联(三十七)

    和博友玩对联(三十七) 文/八哥(闫俊) 出句:雨打蕉叶声声泪[赶海者] 对句:风摇竹梢阵阵歌[八哥] 出句:梨花怒放白如雪[赶海者] 对句:桃蕾争浓红似霞[八哥] 出句:人生自古不离吃喝拉撒睡[行家 ...