关于脉冲信号发生器的一点心得

  很早就想写博客了,但是一方面是因为忙,另一方面是因为懒,所以从现在才开始尝试。我是某电子科技大学的一名工科女生,由于种种原因,走上了硬件这条不归路。从大一开始已经一年多了,然而至今还是个菜鸟,由于专业等方面的原因,屡屡受挫,几近放弃,参加了好几次比赛,也没有过什么好成绩。到现在为止也做了不少题,今年寒假早早来学校参加集训,做的就是脉冲信号发生器,虽然验收结果貌似并不好,但还是想就这道题来讲讲看我的收获,如果哪里有什么问题还希望大神们不吝赐教。                                                          

  以上是题目要求,一开始由于没学过FPGA,所以打算用纯硬件的方案,用DDS产生正弦波,再用高速比较器产生矩形波,用高精度DA输出来改变参考电压从而可以改变门限来改变脉冲波的占空比,额。。。。有点绕。然后这个方案立刻就被老师OUT了,老师建议我们用FPGA来做,简单易行,所以我们就开始了FPGA的学习之旅。。。。。。。

  这道题的代码其实并不难,就是一个分频计数,短短十几行代码就搞定了(代码如下),出来的波形还是挺好的,就是稍稍有些过冲。因为题目要求是输出5V还得带上50Ω的负载,所以后级还得加上一级功率放大。

module  div(rst,clk,cout);

    input clk,rst;
    output cout;
    parameter L=24;
    reg cout;
    integer cnt;
    
    always @(posedge clk)
        begin
            if(!rst) cnt<= 0;
            else if(cnt==49) cnt<= 0;
            else cnt<= cnt+1;
        end
    always @(posedge clk)
        begin
            if(!rst) cout<= 0;
            else if(cnt<5) cout<= 1;
            else cout<= 0;
        end
endmodule

  接下来的问题就是后级的功率放大了,我们用的是THS3091,按理说是挺好的一块芯片,但是我用出来的效果还是不好,一开始的时候是因为电源坏掉了,所以出来的波面目全非,找了半天不知道咋回事,后来才发现是电源出了问题,所以以后一定一定要先检查电源,铭记!后来电源的问题解决了,还是有问题,一方面是过冲特别大,另一方面是波一直在“颤抖”。根据一些学长的建议,我总结了以下几个要注意的地方吧,1.电源滤波要做好;2.示波器使用时地必须离信号越近越好,当然使用馈线是最好的;3.阻抗匹配,当过冲大的时候可以用串电阻的方法减小过冲,具体串多大的,还是得试,具体的计算方法其实我也不清楚;4.当信号抖的时候可以在信号线和地之间并一些小电容,PF级的,但是值也要适当,不然可能会引起波形失真。

  把上述方法都试过之后,波确实有改善了,基本上能达到指标了,于是就安心地等待验收。但是就在验收的那天早上,板子就莫名其妙的坏了,脉宽突然变大了,本来是100左右,突然变到了110左右,波也突然变得更抖了,当时都快急哭了,找了很久都没有找到问题,只能就这样验收了。虽然老师并没有怪罪我们,但还是觉得挺受打击的,唉~还是经验太少,知识太浅薄,革命尚未成功,同志仍需努力。

posted on 2017-02-26 17:23  小二~  阅读(350)  评论(0)    收藏  举报

导航