Team,
I have a customer using the named IC in a design, and on a small percentage of the boards (and we have run several thousand of them), it sometimes fails to boot.
We have monitored what we can in the design and from what we see, it looks like the PLL is failing to lock up. They have a fairly large, second stage bootloader that configures the interfaces in the DSP. The PLL is started near the beginning of the bootloader, but no clock speeds higher than 3MHz are used until after it is finished loading. On failed boot attempts, activity stops immediately before talking to the SPI bus with a higher 25MHz speed. They are using a 12.288Mhz core clock.
My question is about any particular sensitivities of the PLL. I noticed that the requirements of the clock are quite stringent. On Table 6-4 of the datasheet, the timing requirements of the clock specifies the clock should be high and low for 46.6% of the clock period. They are violating this in their standard design, but the boot success did not improve with a squarer clock.
In short, could you answer the following three questions:
- What should occur, internal and external to the C5505 prior to starting the PLL?
- Is there some initialization that needs to occur before starting the PLL?
- What is the easiest way to determine if the PLL is locked? Enable the CLKOUT pin?