原来的设计是由27M的时钟产生出来100M和75M的两种时钟,75M为系统时钟,100M为Memory时钟,并且用PLL的LOCKED输出作为系统的全局复位信号。
在设计比较小的时候没有发现什么异常。而当设计比较大的时候,LOCKED信号就会莫名的复位。
1-- 最开始是怀疑是不是PLL输出的时钟的FAN OUT太多,导致PLL不稳定,所以把FAN OUT比较大的时钟信号分成2个PLL来做,但是还是不行。
2-- 然后怀疑是不是PLL的供电不稳定,导致了经常失锁。经过测试没有发现问题。
3-- 最后想到由27M分出100M时钟,PLL的设置的系数是100/27,如果时钟不稳定的话,倒是容易导致失锁。所以把两个时钟换成了54M和108M,PLL系数是2和4。经过测试没有问题。
===================
总结看来,很有可能是PLL的系数设置的问题,当设计比较大的时候,温度高,导致晶振的温飘较大,导致了PLL失锁。
|
用户377235 2012-4-7 11:15