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.

DS90UB936-Q1: DS90UB936-Q1

Part Number: DS90UB936-Q1

HI ALL,

we using ds90ub936q1/ds90ub935q1 to build a multi camera system. The config as follows:

936:

input=>2 rx port, CSI-2 SYNCHRONOUS mode

output=>2-lane with 2 vc, Replication mode 

hardware scheme==>

register=>

{0x01, 0x02},
{0xB3, 0x00}, /* BIST */
{0x1F, 0x00}, /* 1.6 Gbps csi clock per lane */
{0x33, 0x23}, /* 2 lane, continuous clock*/
{0x20, 0x00},
{0x21, 0x81},

/*RX port 0*/
{0x4C, 0x01},
{0x58, 0x5E},
{0x5C, (DS90UB935_CAM1_ADDR << 1)}, /* TI 935 alias address */
{0x5D, (SENSOR_ADDR << 1)}, 
{0x65, (CAM1_SENSOR_ADDR << 1)}, /* CAM alias address */
{0x72, 0xE8},
{0x0F, 0x7F}, 
{0x6E, 0x08},
{0x6F, 0x12}, 

/*RX port 1*/
{0x4C, 0x12},
{0x58, 0x5E},
{0x5C, (DS90UB935_CAM2_ADDR << 1)},
{0x5D, (SENSOR_ADDR << 1)},
{0x65, (CAM2_SENSOR_ADDR << 1)},
{0x72, 0xE9},
{0x0F, 0x7F}, 
{0x6E, 0x08}, 
{0x6F, 0x12}, 

935:

input=>4-lanes mipi-csi2, 600M

hardware scheme==>

register:

{DS90UB935_CAM1_ADDR, 0x01, 0x02},
{DS90UB935_CAM1_ADDR, 0x02, 0x73}, 
{DS90UB935_CAM1_ADDR, 0x0E, 0xF0}, 
{DS90UB935_CAM1_ADDR, 0x0D, 0x3C}, 

data flow:

sensor==>ds90ub935====fpdlink(50-Ω single-ended coaxial)====>ds90ub936====>host

problem:

1.when we stream on only one sensor,  the fpdlink is no error,  the host can get data correctly, no frame drops.

status register as follows==>

[ 145.477346] ds90ub936 30-0030: Dump rx0 936 status*******
[ 145.488881] ds90ub936 30-0030: reg[0x4d]=0x3
[ 145.500416] ds90ub936 30-0030: reg[0x4e]=0x4
[ 145.511937] ds90ub936 30-0030: reg[0x4f]=0x64
[ 145.523432] ds90ub936 30-0030: reg[0x50]=0x0
[ 145.534541] ds90ub936 30-0030: reg[0x54]=0x0
[ 145.546081] ds90ub936 30-0030: reg[0x55]=0x0
[ 145.558073] ds90ub936 30-0030: reg[0x56]=0x0
[ 145.569568] ds90ub936 30-0030: reg[0x57]=0x0
[ 145.581402] ds90ub936 30-0030: reg[0x73]=0x1
[ 145.592907] ds90ub936 30-0030: reg[0x74]=0xe0
[ 145.604435] ds90ub936 30-0030: reg[0x75]=0x3
[ 145.615930] ds90ub936 30-0030: reg[0x76]=0xc0
[ 145.627436] ds90ub936 30-0030: reg[0x7a]=0x0
[ 145.627446] ds90ub936 30-0030: Dump rx0 935 status*******
[ 145.638548] ds90ub936 30-0030: reg[0x54]=0x0
[ 145.650077] ds90ub936 30-0030: reg[0x55]=0x0
[ 145.661634] ds90ub936 30-0030: reg[0x56]=0x0
[ 145.673943] ds90ub936 30-0030: reg[0x5c]=0x0
[ 145.685644] ds90ub936 30-0030: reg[0x5d]=0x0
[ 145.697210] ds90ub936 30-0030: reg[0x5e]=0x0
[ 145.708731] ds90ub936 30-0030: reg[0x5f]=0x0
[ 145.720310] ds90ub936 30-0030: reg[0x60]=0x0
[ 145.731853] ds90ub936 30-0030: reg[0x61]=0x2c
[ 145.743360] ds90ub936 30-0030: reg[0x62]=0xc0
[ 145.754537] ds90ub936 30-0030: reg[0x63]=0x3
[ 145.766041] ds90ub936 30-0030: reg[0x64]=0x13

2.when we stream on two sensor input at the the same time, the fpdlink raising Errors, the worst thing of all  is that host can't get correct data.

status register as follows==>

[ 380.717639] ds90ub936 30-0030: Dump rx1 936 status*******
[ 380.729222] ds90ub936 30-0030: reg[0x4d]=0x53
[ 380.740807] ds90ub936 30-0030: reg[0x4e]=0x7d
[ 380.752387] ds90ub936 30-0030: reg[0x4f]=0x64
[ 380.763933] ds90ub936 30-0030: reg[0x50]=0x0
[ 380.775511] ds90ub936 30-0030: reg[0x54]=0x0
[ 380.787087] ds90ub936 30-0030: reg[0x55]=0x0
[ 380.798651] ds90ub936 30-0030: reg[0x56]=0x0
[ 380.810214] ds90ub936 30-0030: reg[0x57]=0x0
[ 380.822138] ds90ub936 30-0030: reg[0x73]=0x1
[ 380.834316] ds90ub936 30-0030: reg[0x74]=0xe0
[ 380.846143] ds90ub936 30-0030: reg[0x75]=0x3
[ 380.858186] ds90ub936 30-0030: reg[0x76]=0xc0
[ 380.870133] ds90ub936 30-0030: reg[0x7a]=0xf
[ 380.870143] ds90ub936 30-0030: Dump rx1 935 status*******
[ 380.881722] ds90ub936 30-0030: reg[0x54]=0x0
[ 380.894371] ds90ub936 30-0030: reg[0x55]=0x83
[ 380.906122] ds90ub936 30-0030: reg[0x56]=0x10
[ 380.917700] ds90ub936 30-0030: reg[0x5c]=0x0
[ 380.929963] ds90ub936 30-0030: reg[0x5d]=0x0
[ 380.941739] ds90ub936 30-0030: reg[0x5e]=0x0
[ 380.953856] ds90ub936 30-0030: reg[0x5f]=0x0
[ 380.965865] ds90ub936 30-0030: reg[0x60]=0x0
[ 380.977422] ds90ub936 30-0030: reg[0x61]=0x2c
[ 380.988977] ds90ub936 30-0030: reg[0x62]=0xc0
[ 381.000537] ds90ub936 30-0030: reg[0x63]=0x3
[ 381.012121] ds90ub936 30-0030: reg[0x64]=0x13

[ 381.028386] ds90ub936 30-0030: Dump rx0 936 status*******
[ 381.040007] ds90ub936 30-0030: reg[0x4d]=0x3
[ 381.051541] ds90ub936 30-0030: reg[0x4e]=0x14
[ 381.063064] ds90ub936 30-0030: reg[0x4f]=0x64
[ 381.074565] ds90ub936 30-0030: reg[0x50]=0x0
[ 381.086113] ds90ub936 30-0030: reg[0x54]=0x0
[ 381.097682] ds90ub936 30-0030: reg[0x55]=0x0
[ 381.109320] ds90ub936 30-0030: reg[0x56]=0x0
[ 381.120973] ds90ub936 30-0030: reg[0x57]=0x0
[ 381.132532] ds90ub936 30-0030: reg[0x73]=0x1
[ 381.144060] ds90ub936 30-0030: reg[0x74]=0xe0
[ 381.155595] ds90ub936 30-0030: reg[0x75]=0x3
[ 381.167171] ds90ub936 30-0030: reg[0x76]=0xc0
[ 381.178544] ds90ub936 30-0030: reg[0x7a]=0x0
[ 381.178554] ds90ub936 30-0030: Dump rx0 935 status*******
[ 381.190095] ds90ub936 30-0030: reg[0x54]=0x0
[ 381.202206] ds90ub936 30-0030: reg[0x55]=0x0
[ 381.213830] ds90ub936 30-0030: reg[0x56]=0x0
[ 381.225455] ds90ub936 30-0030: reg[0x5c]=0x0
[ 381.236986] ds90ub936 30-0030: reg[0x5d]=0x0
[ 381.248502] ds90ub936 30-0030: reg[0x5e]=0x0
[ 381.260018] ds90ub936 30-0030: reg[0x5f]=0x0
[ 381.271532] ds90ub936 30-0030: reg[0x60]=0x0
[ 381.283043] ds90ub936 30-0030: reg[0x61]=0x2c
[ 381.294597] ds90ub936 30-0030: reg[0x62]=0xc0
[ 381.306117] ds90ub936 30-0030: reg[0x63]=0x3
[ 381.318201] ds90ub936 30-0030: reg[0x64]=0x13

Anything wrong with my hardware design or register config?

Looks forward your help.

thans

  • Hello Clound,

    You are using 1x 936 connected to 2x 935, correct?

    Can you tell me what is the resolution, data type and frames per second coming out of each sensor?

    Which errors are you seeing?

  • Hi Hamzeh,

    tof sensor input: 640x480@240fps raw12  csi-2:800Mbps

    when stream on only one sensor input, the fpdlink no errors and host can get correct data;

    when stream on two sensor input at the same time , the fpdlink occures error

    [ 380.740807] ds90ub936 30-0030: reg[0x4e]=0x7d

    this means: LINE_LEN_CHG, FPD3_ENCODE_ERROR , BUFFER_ERROR and CABLE_FAULT

    of course we try to decrease the sensor CSI-2 data rate to 200Mbps,  but no effect.

    thanks.

  • hello clound,

    which cable are you using? STQ or other?

    Can you please try another cable type/length?

    Are you using one connector to both inputs?

    What about your layout from the connector to the DES inputs? Are you using impedance controlled traces with suffecient seperations?