关于脉冲信号发生器的一点心得
很早就想写博客了,但是一方面是因为忙,另一方面是因为懒,所以从现在才开始尝试。我是某电子科技大学的一名工科女生,由于种种原因,走上了硬件这条不归路。从大一开始已经一年多了,然而至今还是个菜鸟,由于专业等方面的原因,屡屡受挫,几近放弃,参加了好几次比赛,也没有过什么好成绩。到现在为止也做了不少题,今年寒假早早来学校参加集训,做的就是脉冲信号发生器,虽然验收结果貌似并不好,但还是想就这道题来讲讲看我的收获,如果哪里有什么问题还希望大神们不吝赐教。 
以上是题目要求,一开始由于没学过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左右,波也突然变得更抖了,当时都快急哭了,找了很久都没有找到问题,只能就这样验收了。虽然老师并没有怪罪我们,但还是觉得挺受打击的,唉~还是经验太少,知识太浅薄,革命尚未成功,同志仍需努力。
浙公网安备 33010602011771号