PLL woes #166
Replies: 4 comments 1 reply
-
Thanks for your note. I'm glad your got it working, but I'd be concerned about the reliability of a design that repeatedly loses clock lock. I've not really worked with iCE40HX, so don't have any suggestions on the VCO situation. Perhaps someone else can chime in? |
Beta Was this translation helpful? Give feedback.
-
I've never commented on this forum before, but here goes... |
Beta Was this translation helpful? Give feedback.
-
Hi, Thanks for all the feedback. These are the PLL settings I use (and got from the
Both input and output frequencies are within spec for the PLL. The only thing I see that's above the minimum capability of the PLL is From reading a bit more about PLL's, one reason of loosing a lock could be PCB layout and/or unstable power supplies. Maybe the rather high input frequency ( |
Beta Was this translation helpful? Give feedback.
-
Hello again, |
Beta Was this translation helpful? Give feedback.
-
Hi,
Since this caused me a few hours to figure out, I thought it might be interesting to share it here.
I wanted to try out higher screen resolutions and I managed to get the needed PLL parameters with
icepll -i clockin -o clockout -m
without problems.All was fine as long as I sticked to 640 by 480 resolution. But trying the higher resolutions, my LCD screen flickered constantly and it never seemed able to lock to the video signal.
I finally found out that this line
if (!pix_clk_locked)
in the code below was related to this:From what I understand is, that the PLL at those higher frequencies looses it lock quite often before it could acquire a lock again and this is constantly resetting
sx
andsy
. Which could explain the flickering. When I replaced theif (!pix_clk_locked)
withif (reset)
then all is well.I checked the datasheet of the iCE40HX8K I'm using (which has a
100 MHz
input clock - it's an Olimex iCE40HX8K-EVB) and the minVCO
freq is533 MHz
while its maxVCO
freq is1066 MHz
(assuming this is the problem).Weirdly, the
VCO
that is calculated byicepll
for the640 by 480 @ 60 Hz
is810 MHz
and it has no problems with that. But the calculatedVCO
for800 by 600 @ 60 Hz
is only640 MHz
. Thus lower, but it does cause that weird PLL Lock problem.Beta Was this translation helpful? Give feedback.
All reactions