原创 用CPLD做的一个高频分频器的干扰问题

2008-11-13 22:33 6637 6 6 分类: FPGA/CPLD

CPLD做的一个高频分频器的干扰问题


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

    老板布置了一个任务,是给一个100MHz的信号分频,分频分到100kHz。开头他的意思是用74系列做电路,我讥笑他都什么年代了,还用74,所以自己动手用CPLD。其实程序挺简单的,根本没花多少时间就写出来了。


程序如下:


module division(clk,clk10k,reset,outcontrol);


  input  clk;


  input  reset;


  output clk10k;


  output outcontrol;


  reg clk10k;


  reg outcontrol;


  reg[8:0] count="0";


 


always @(posedge clk)


   begin


          if(count==499)


             begin


                 count<=0;


                  clk10k<=~clk10k;


              end     


         else


              count<=count+1;


             


  end


 


always@(posedge clk10k)


   begin


       outcontrol=reset;


   end


 


endmodule


 


分频后加了一个D触发器使reset信号与分频后的信号同步。我们也可以通过看综合出来的原理图看到(RTL Schematic)


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


 

点击看大图 



 

点击看大图 


 


在做测试时,由于根本没有信号发生器能产生100MHz的信号,于是只好用10MHz20MHz30MHz的正弦波代替(由于我们最后也是要对100MHz正弦波分频,其实对于数字电路正弦波和方波都是一样的,TTL电平2.4V以上都是高电平,0.4V以下都算低电平),注意这个正弦波要有直流偏置,不然会有负电压,可能对芯片不好)


结果很不好。


 


1)当输入信号为30MHz时,分频出来为30kHz,如下图,可以看到有很大的杂波。



 

点击看大图 


 


把示波器的频率调高,可以看到高电平(或低电平)上叠加了一个周期为34.40ns的波(大概30MHz)。


 


 


点击看大图


 


 


2)当输入信号为20MHz时,分频出来的方波同样有杂波,很粗。



 

点击看大图 


  


也可以把频率旋钮调大,可以看到在20kHz的输出信号上叠加了一个50ns20MHz)的周期性波形。



 

点击看大图 


 


3)当输入信号为10MHz时,分频出来的波形也同样出现有杂波的情况



 


点击看大图  


 


有一个100ns(10MHz)的周期性波形


 

 



点击看大图 


 


 


可以看到这些杂波是会随着输入频率的变化而变化的,而又等于输入波的频率,所以可以判定这些杂波是又输入耦合到输出的。经过检查可以知道,最大的原因为输入输出供用了地(也就是输出的信号发生器和输出的示波器的地是连在一起的再连到CPLD的地上。第二个原因是输入输出的线。由于是试验性质的,所以我随手拿了普通排线,定义输入输出管脚的时候也把两个管脚定义在一起。如下图



 


786abf80-15be-442b-80aa-b4299b3cbf38.jpg


 


 


使得输入的高频信号串扰到输出信号中。总结这些因素如下,重要性如排序先后:


1.      输入输出用地


解决办法:输入输出不接一个地上,分别接CPLD的不同地管脚。


2.  普通排线,平行输入


   解决办法:把排线撕开,使之远离。最好的办法是用带屏蔽的同轴线。并使线缆尽量短。


3.       CPLD输入输出管脚定义太近


定义管脚的时候要尽量原理,高频的输入信号管脚尽量远离输出管脚及其他敏感信号管脚。



 


d90bb0f3-8db5-440b-8f97-c8b76a6aa8a0.jpg


 


   这个在设计PCB板的时候也是重点考虑的因素。


  


   把这些措施都做了之后,可以看到输出波形大为改善。


   10MHz输入频率的时候


 


点击看大图



 


  


  30MHz输入频率的时候



 


点击看大图


    


 


       从以上可以看到输出的杂波的幅值大小都明显减少。要跟彻底地解决高频串扰的问题,还可以在输出加一个高频滤波器(因为我们要的是高频分频1000份之一的低频),或者加磁珠等等。

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户377235 2012-5-18 17:33

程序中故意有个错误大家发现了吗。哈哈哈,我试下发现了

用户1168877 2011-8-20 17:11

正要用这款LCD,打算用并行,串行也用,

用户362754 2011-8-3 20:58

很好的资源,太感谢了。

用户322840 2011-4-22 21:37

果然是好东西,谢谢楼主

用户563753 2011-2-14 10:40

呵呵呵,可以!挺详细的啊1!!!

用户234619 2010-4-26 12:46

谢谢博主!估计是电阻没焊好。学习板刚开始就少不了程序,把USB-blaster里的芯片重焊了一下,一切都好了。

用户195584 2010-4-26 10:30

博主:能否贴一张显示4行汉字的图片看看?我最近在选型评估,手上有个12832的模块,点了一下,才能显示两行16个字,太少,不晓得你手头这块是否是能显示4行汉字的?谢谢 andyangdy的问题很可能是博主说的原因,同样是7920驱动的模块,我的12832要是vo接了电压,则显示全无,悬空的话,显示即正常。但是有其他的模块,情况却是相反。

tengjingshu_112148725 2010-4-25 18:06

andyandy:有可能是没接那个可调电阻。你这个只是初始化,初始化后其实液晶是没变化的,所以程序也有可能没问题

用户234619 2010-4-24 19:50

不好意思,很乱。有空的话,帮我看看。3Q!!!

用户234619 2010-4-24 19:41

能帮我看看这个程序吗?晶振是50MHz。 module LCD1602B(CLK50M,RS,RW,EN,DATA); input CLK50M; output RS,RW,EN; output reg[7:0]DATA; reg RS,EN; wire CLK_L; reg[19:0]MARK=0; reg[4:0]STATE=0; always @ (posedge CLK50M) MARK<=MARK+20'B1; assign CLK_L=MARK[19]; assign RW="0"; always @(posedge CLK_L) begin if(STATE==11) RS<=1; else RS<=0; case(STATE) 6: DATA=8'B0011_1000; 7: DATA=8'B0000_0110; 8: DATA=8'B0000_1100; 9: DATA=8'B0000_0001; 10: DATA=8'B1000_0001; 11: DATA=8'B0111_1110; default: DATA=DATA; endcase end always @(CLK_L) EN<=CLK_L; always @ (posedge CLK_L) case(STATE) 0: STATE=1; 1: STATE=2; 2: STATE=3; 3: STATE=4; 4: STATE=5; 5: STATE=6; 6: STATE=7; 7: STATE=8; 8: STATE=9; 9: STATE=10; 10: STATE=11; 11: STATE=12; 12: STATE=13; 13: STATE=14; 14: STATE=15; 15: STATE=11; 16: STATE=17; 17: STATE=18; 18: STATE=18; endcase endmodule 思路是这样的,50MHz分频2的20次方,大约是50Hz,周期约为20ms。不检忙。时钟上升沿送数,同时使能置1;下降沿使能赋0。前6个周期空转,然后依次设置38H、0CH、06H、清屏、写地址81H、写右箭头的地址码7EH。 无任何显示。 实在没办法了!3Q!
相关推荐阅读
藤井树 2015-10-12 14:43
印制电路板的抗干扰设计 zz
印制电路板的抗干扰设计     作者:中船重工集团第707所 肖麟芬   摘   要:本文以印制电路板的电磁兼容性为核心,分析了电磁干扰的产生机理...
藤井树 2013-10-22 15:32
2010.5.30 黄草梁上包饺子一日登山活动——摘韭菜篇
        上次桃花节的时候也有野韭菜,那时候的我连草和韭菜叶分不清,才回去的韭菜也不敢吃,哈哈,这次可算真正见识了韭菜,黄草梁也叫韭菜梁,因为满山遍野都是野韭菜而闻名,比较圆比较粗的就是野韭...
藤井树 2013-10-22 15:28
2010.5.30 黄草梁上包饺子一日登山活动——包饺子篇
摘韭菜回来,大家已经忙开了 我也装模作样地“工作着” 哈哈,还不让我包,包饺子是技术活,一定要皮薄馅厚才有资格包,像我这样的只能旁观了 摘的韭菜应该足够了,旁边那个袋子是我摘来带回学校的 ...
藤井树 2013-08-09 15:19
datasheet下载网站整理(查IC芯片手册)【原创】
*************************************************************************         作为电子工程师,芯片的dat...
藤井树 2010-06-04 00:21
陈伟宁王辉一家捐助渠道(北京菲亚特—英菲尼迪)
       王辉的最新消息请关注 http://chenweining.org/       目前事故责任认定已经出来了——陈家全责。        发信人: program (程序), 信区: D...
藤井树 2010-06-01 13:43
2010.5.30 黄草梁上包饺子一日登山活动——美景篇
这天不得不说的是天空,蓝蓝的天空,白白的云    绿油油的山脊  我、洪涛哥哥、huangna妹妹还有她同事小艾走在黄草梁上    在蓝天白云下合影       阳光照过来,景色真美 象鼻山,走不...
我要评论
2
6
关闭 站长推荐上一条 /3 下一条