Other Parts Discussed in Thread: DS90UB934-Q1
Hello,
I am inputting a 40 MHz (crystal) clock to the serializer (CLKIN), and need to get 20 MHz out (CLK_OUT) for the sensor.
To achieve this, I set CLK_DIV to 4, M to 1, and N to 14.
I based my register values off the equation provided in the datasheet: CLK_OUT = FC x [M / (HS_CLK_DIV x N)], where FC should equal 28 x CLK_IN (for the DVP RAW10 mode).
Thus CLK_OUT = 28 * [1 / (4*14)] * CLK_IN = 1/2 CLK_IN.
I've ran a series of tests using different reister values, and. I've concluded that the error lies in the FC constant, which is always 16.8x (CLK_IN) rather than 28x. I can't find any registers on the serializer that sets this beyond the mode setting, which is strapped. The FC constant should be based on the number of bits per transaction (28), so I'm not sure if the error lies in the sensor, serializer, or deserializer
For instance, I've set: HS_CLK_DIV = 4, M = 4, N = 28, so that CLK_OUT = CLK_IN, expecting 40 MHz out. Instead I am getting 24 MHz out. The only thing that factor be causing this discrepancy is the FC multiplier, which is 16.8 rather than 28 (28/16.8 = 5/3).
If anyone has insight into the reason why the forward channel data rate is always 3/5ths the rate it should be, I would really appreciate your help.
I am using the serializer in conjunction with DS90UB934 deserializer in DVP (backwards compatable) mode.
Thanks,
Sam
