Hi,
while transitioning from a VersaClock 5 (which was working fine) to a VersaClock 6 component we are encountering difficulties with the device configuration.
Some information about the devices integration on our board:
The clock outputs are incorrect. e.g. the expected 150MHz comes out as 160.5 MHz!
We are using Timing Commander to generate our configuration. We do not burn the OTP, instead we configure over I2C from a microcontroller on power-up.
Register dump of the device after configuration:
0x00 -> 0xFF 0x01 -> 0xF3 0x02 -> 0xFF 0x03 -> 0x00 0x04 -> 0x00 0x05 -> 0x00 0x06 -> 0xFF 0x07 -> 0xFF 0x08 -> 0xFF 0x09 -> 0xFF 0x0A -> 0xFD 0x0B -> 0x00 0x0C -> 0x00 0x0D -> 0xB6 0x0E -> 0xB4 0x0F -> 0x92 0x10 -> 0xA8 0x11 -> 0x4C 0x12 -> 0xD1 0x13 -> 0xD0 0x14 -> 0x00 0x15 -> 0x04 0x16 -> 0x0C 0x17 -> 0x03 0x18 -> 0x30 0x19 -> 0x00 0x1A -> 0x00 0x1B -> 0x00 0x1C -> 0x1F 0x1D -> 0xFD 0x1E -> 0xF0 0x1F -> 0x80 0x20 -> 0x00 0x21 -> 0x00 0x22 -> 0x00 0x23 -> 0x00 0x24 -> 0x00 0x25 -> 0x00 0x26 -> 0x00 0x27 -> 0x00 0x28 -> 0x00 0x29 -> 0x00 0x2A -> 0x00 0x2B -> 0x00 0x2C -> 0x00 0x2D -> 0x00 0x2E -> 0x00 0x2F -> 0x00 0x30 -> 0x00 0x31 -> 0x81 0x32 -> 0x02 0x33 -> 0x00 0x34 -> 0x00 0x35 -> 0x00 0x36 -> 0x00 0x37 -> 0x00 0x38 -> 0x00 0x39 -> 0x00 0x3A -> 0x00 0x3B -> 0x00 0x3C -> 0x00 0x3D -> 0x00 0x3E -> 0x80 0x3F -> 0x20 0x40 -> 0x00 0x41 -> 0x81 0x42 -> 0x01 0x43 -> 0x00 0x44 -> 0x00 0x45 -> 0x00 0x46 -> 0x00 0x47 -> 0x00 0x48 -> 0x00 0x49 -> 0x00 0x4A -> 0x00 0x4B -> 0x00 0x4C -> 0x00 0x4D -> 0x00 0x4E -> 0x40 0x4F -> 0x10 0x50 -> 0x00 0x51 -> 0x81 0x52 -> 0x01 0x53 -> 0x80 0x54 -> 0x00 0x55 -> 0x00 0x56 -> 0x00 0x57 -> 0x00 0x58 -> 0x00 0x59 -> 0x00 0x5A -> 0x00 0x5B -> 0x00 0x5C -> 0x00 0x5D -> 0x00 0x5E -> 0x60 0x5F -> 0x18 0x60 -> 0x63 0x61 -> 0x04 0x62 -> 0x23 0x63 -> 0x05 0x64 -> 0x63 0x65 -> 0x05 0x66 -> 0x63 0x67 -> 0x05 0x68 -> 0xBC 0x69 -> 0x3C
Any hints what we could be missing? Any special requirements concerning the programming sequence for VC6 compared to VC5?
Hello Hepster,
It would be most helpful if you could attached your TimingCommander project file to this posting for review.
If you would perfer not to post it publicly here you can either send it to me via private message or Submit a Ticket
5P49V6965_v1_20221215_103049.zip
Sorry I meant to attach it but couldn't figure out how. Here it is then.
Thank you, let me dig into this and perhaps get applications team involved.
From our Engineering team:
When “Critical” is selected, the Bypass_predivider is set to 0, and input predivider is used. While at this time
feedback divider from Timing commander still remains the value as before, makes the VCO frequency not getting the right frequency, cause the output accuracy error.
To get accurate output frequency for this case, we could either disable the predivider (this case it does not matter for what the input divider value is set) or update he feedback divider from 51 to 51x4=204 get correct VCO. (predivider was set to 4 this config)
I tested both cases and find when disable the predivider it gives me better RMA Jitter.
I disabled the predivider , by setting Bypass_predivider is set to1, and tested the config get accurate output frequency.
PN measured
Thank you very much. Changing the Bypass_predivider bit resolved our issue.
We actually found this out just yesterday on our own. I'm wondering now - is this a bug in the Timing Commander? The user interface doesn't always seem to reflect the Bypass_predivider setting properly.
PS: We are very pleased with the swiftness of your reply!
That is good you found this and according to the development team no it is not considered a bug in the software.