- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
CPLD使用经验点滴
使用EPM7128SLC84-15,其中主要的功能是移位寄存器,就是类似于74LS164或4518那样的功能。PCB加工好,元件装配,程序下载,一切顺利,但是系统开机后就发现麻烦了:不能正常移位。
把本来相对复杂的功能全部去掉,最后只剩下一个最基本的移位寄存器:DATA,CLK,QOUT。但是就是无法移位。
还在CPLD可以在线重复编程,就试用了几种模式,结果发现无论是用原理图画出来的,还是用VHDL写的,还是LPM调用的都是一样的结果。尝试了若干次后发现其实不是不能移位,而是移位数不对:100位的移位只移动了不到10位就到输出了。如果移位数小于几十就一下移出了。
怀疑是CLK信号上有毛刺,但是用TEK210示波器看不出。
换板,换芯片,换电脑,无效。
因为此前已经用EPM7128S搞好一块板子,故实在想不出有什么问题。两天过去了,电话咨询骏龙科技,还是不知如何解决。决定把板子带到上海去让骏龙科技的技术支持人员看看。
所有东西收拾好,到了骏龙,一位毛工程师接待。看了半天,说是时钟信号的质量可能有问题。天哪,我的时钟是用AT2051模拟的,P1口直接输出,如果这个还不行,那我那系统上的时钟质量还要差。
毛工提到以前遇到过一位宁波的也是一个类似的问题,不过是分频器,最后用施密特触发器对时钟进行整型后就好了。
他如此一说,我好像也看到了答案。由于板上的输入信号很多是从比较远的一个机箱过来的,在上次做的那块板时就发现信号上会有杂波和毛刺,加一个RC低通就好了。所以我就把后设计的所有输入信号都加上了RC(信号经过一个1K的电阻到CPLD的输入,同时在CPLD的输入和地线之间接一个103的电容)。
既然用示波器看不出毛刺,那是不是波形的上升太慢,导致在逻辑临界点出现了多个时钟,由于分立元件速度太慢,不会有太大的影响,用了快速的CPLD影响就很明显了。
当场拆掉RC,好,移位正常。不,移位数还是不对,但是已经很接近实际数了。谢过毛工后回。
回公司后,觉得是不是加一上拉电阻就可以提升上升沿的速度。加上后没有效果。
加一74LS14,一个下午,所有功能都调试出来了。
问题时是很简单,但是还是费了好大的周折。
==============================================
在输入脉冲信号时我也遇到类似问题,加一个AHC1G14就OK了
==============================================
我也遇到过,我在clk后面加一个global就好了。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...
上一篇:挠性和刚挠印制板设计要求
下一篇:GERBER
FILE
简介(五)