This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB953-Q1: Want to get 48MHz clock out from 953 with least amount of jitter

Part Number: DS90UB953-Q1
Other Parts Discussed in Thread: ALP

Hi , initially setup M/N ratio for FC =4000 of 6/250 with HS_CLK_DIV = 1 , but the jitter is too much.

The sensor requires 48MHz and these values give that output but I think now that HS_CLK_DIV should be 4 or more to satisfy equation 2 on page 25 of 953 datasheet

could you recommend the best values closest to 48MHz to give the least jitter.

  • Could you try FC = 4000, M = 6, N = 126, HS_CLK_DIV = 4?

    It'll give you a freq = 47.62 MHz . Is that acceptable?
  • We changed the sensor settings to yield a 50MHz input clock so I could get integer N/M , values for 0x06 register was 0x21 and 0x3c for 0x07 register. Got a frequency at the 953 clock output as 50MHz +/- 100KHZ ,
    As we increased the M/N ratio to give the biggest integer value the Frequency drift lessened somewhat but it is still too much .
    We are using the 953 in sync mode , is there any other settings that could be modified to lessen the frequency drift.
    the 954 deserialiser in ALP reports a steady 3840 x 1080 image received with no errors in the link , but we cannot display anything as yet through the CSI to USB3 bridge we are using.
    The sensor settings are for YUV 422 8bit at 30 ips which should yield a steady 4,127,400 bytes per frame.
    We are getting 4,03X,XXX fluctuating frames and assume this is down to the 50MHz variation.
    Any ideas ?
  • Hello Martin,

    I would first try using PATGEN from the FPD Link devices to verify that the CSI converter is working as expected. Can you please check it?

    Best Regards,
    Casey
  • Patgen is fine , I am able to setup YUV422 8 bit in the 953 and stream out through the 954 in to the csi to usb3 device and display a color bar on PC

  • Also , we are running the BC at 25Mbps between 953 and 954 over STP , could this affect the clock? 

  • Hello Martin,

    First of all, what mode are you using for 953? Synchronous mode? I'm a little bit confused on your values how you got 50MHz from the M/N programming. With 4G forward channel, M = 1, N = 60, HS_CLK_DIV = 2, you should get a 66.66MHz CLKOUT.

    But if your BC is 25Mbps and you are in synchronous mode, then the forward channel would be 2G and the CLKOUT would be 33.33MHz. Still unsure where the 50MHz is coming from here.

    Best Regards,
    Casey
  • Apologies , typo in M value , it was 3 with the div ratio of 4 , getting Fc = (4000)  x  3 / (4 x 60) .

    I am going to check that the clkout  resistors satisfy the >35K load requirement , in case this is the issue.

  • Hello Martin,

    So are you in non-synchronous mode then?

    Best Regards.

    Casey

  • The alp script has 35,000 lines , mostly i2c writes to setup the ISP AND sensor , the 954 / 953 are setup as below , a 25MHz oscillator feeds the 954

    ####################################################################################
    # setup the 954 to be csi/ and 50MHz
    ###################################################################################
    board.WriteI2C (UB954,0x03,0x10) # ENSURE mode pin is csi-2 synchronous
    board.WriteI2C (UB954,0x4c,0x01) # RX_PORT 0 read / write
    board.WriteI2C (UB954,0x6d,0x78) # port config csi mode and stp cable
    board.WriteI2C (UB954,0x4c,0x12) # RX_PORT 1 read / write
    board.WriteI2C (UB954,0x6d,0x78) # port config csi mode and stp cable
    ###############################################################################################
    # Setup both ports
    ###############################################################################################
    board.WriteI2C (UB954,0x4c,0x01) # RX_PORT 0 read / write
    board.WriteI2C(UB954,0x58,0x5d) # BC to 50 Mbps, I2C pass thru and pass thru all - seems to be required
    board.WriteI2C (UB954,0x4c,0x12) # RX_PORT 1 read / write
    board.WriteI2C(UB954,0x58,0x5d) # BC to 50 Mbps : to set to 50 use 0x5e
    board.WriteI2C(UB954,0x72,0x1e) # csi vc map to 0x2c for raw12 , 0x1e is 422-8 bit , 0x1f is 10 bit
    board.WriteI2C (UB954,0x4c,0x01) # RX_PORT 0 read / write
    board.WriteI2C (UB953A_alias,0x06, 0x23) # set prescalar : div FC by 1=000,2=001,4=010,8 16 and M =1-31
    board.WriteI2C (UB953A_alias,0x07, 0x3c) # Set N value , 0--255 range , default is 28
    board.WriteI2C(UB954,0x33,0x01) # ENABLE CSI port , continuous clock disabled.
    print " ENABLE CSI pass through and continuous clock and periodic calibration "
    print " Forward RX1 to CSI 0 "
    board.WriteI2C(UB954,0x20,0x20) #CSI FORWARDING enable for port 1 AND PORT 0 : 0x10 > port 1 , 0x20 port 0 , 0x00 both ports

    I see the 50MHz output on the 953 clockout pin but it is not a perfect sinusoidal shape. Will get some scope captures tomorrow for this thread.
  • Hello Martin,

    I still can't tell if you are operating with synchronous or non-synchronous mode. Please check the pin strapping on the 954 and 953 mode pins.

    Best Regards,
    Casey
  • for the 953 board we have Rlow = 40.2K and Rhigh = 10M

    For the 954 we have Rhigh =78.7K and Rlow =97.9K giving a vstrap voltage of 0.995

     

  • looking at the ALP screenshot , whether we are at 50MHz clock or 48MHz clock I get the 3840 bytes x 1080 lines at the RX port.

    this is YUV422 8bit 

     

    I take it that the 0x72 register of 954 should be set to 0x1e for this stream type. It is then passed on out to the CX3 device without any changes  

    Is there anything to do on the port forward side other than 

    1: set clk to 400MHz , enable port forward  0x20,0x20  , continuous clock on ? 

  • Hello,

    I think the problem is that you have 953 and 954 strapped into synchronous mode so 953 will use 954's back channel as the reference clock to drive the forward channel. If you set the 954 back channel to 25Mbps, then the 953 forward channel will run at half rate (2Gbps). With YUV422 8-bit 1080p, your data rate could exceed the 2Gbps easily. I would suggest changing the BC frequency to 50Mbps on the 954.

    Best Regards,
    Casey
  • we had tried the faster rate but lost i2c comms , ALP shows the link up at 50Mbps but we cannot program the sensor.

    Will try programming at low speed then setting link to 50Mbps after setup .

  • Martin,

    This should affect your CLKOUT calculation when you set the link to 4G mode since the REFCLK going into 953 is 50MHz instead of 25MHz which is probably why you lose comms with the sensor.

    Best Regards,
    Casey
  • will start with 50Mbps link and adjust the 953 0x06 and 0x07 registers to get 48 MHz.