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.

DS90UB954-Q1EVM: Data type packet header field is not as expected after deserialization

Part Number: DS90UB954-Q1EVM
Other Parts Discussed in Thread: DS90UB953-Q1EVM, , AWR1243, DS90UB954-Q1

I am currently doing some testing with the DS90UB953-Q1EVM and DS90UB954-Q1EVM SerDes evaluation modules in conjunction with the AWR1243 BOOST board and I've run into an issue I can't explain--the data type fields appear to change when routing the data through the FPD-Link system.

The AWR1243 passes CSI data to the 953 serializer, which is connected via coax to the 954.

I am observing that I can receive CSI2 data from the DS90UB954 which has been sent from the AWR1243 via the 953 evaluation board. However, the packet headers are not what I am expecting. I have verified that bypassing the FPD-Link system entirely yields CSI synchronization packets (data types 0x00, 0x01, 0x02, and 0x03) as well as the payload packets (data type 0x2A). But when the data is passed through the serializer and deserializer, the non-synchronization packet data types are different: 0x13, 0x19, 0x1E, 0x15, 0x11 etc and appear to be somewhat random, instead of a consistent 0x2A as expected. This is all despite the same configuration being applied to the AWR1243.

In addition to the packet header data type being inconsistent with what I am expecting, the Word Count field also appears to be an arbitrary value inconsistent with my expectations.

Interestingly enough, reading register 0x61 on the DS90UB953-Q1EVM reflects that the data type it received is 0x2A, just as I am expecting.  However the data appears to be garbled after reading the output of the 954.  Further, I have also tested using the image sensor included in the 954 evaluation kit.  When using this image sensor, all the data comes across the FPD-Link channel just fine and the long packet headers read at the output show a consistent 0x2C data type.  Maintaining the same configuration but replacing the image sensor for an AWR1243 yields the aforementioned garbled data type in the packet headers.

Given all this, it seems to indicate to me that something is not quite right with my setup. How would you best advise I find a resolution for this issue?

  • Does the AWR1243 use multiple virtual channel ID?

    Best Regards,
    Charley Cai
  • Hi Charley,

    It does not.  The AWR1243 outputs all of the data on virtual channel 0.

    Sincerely,

    Christopher

  • From some further testing, it almost seems like a deserializer FIFO underflow issue.

    The data being transmitted across the serdes link from the AWR1243 is 1 line of 16592 bytes. Registers 0x73-0x76 show a line count of 1 and a line length of 0x40D0 (ie 16592 decimal) which is just as we expected. This appears to be further evidence that the data from the AWR1243 is successfully making it into the FPD-Link system correctly.

    Looking at the CSI data output by the deserializer, we can continue to see the following transmission structure

    Frame Start (Header 0x00000000)
    Line Start (0x0200000B)
    Data Long Packet (0x??00??FF)
    Line End (0x0300000C)
    Frame End (0x01000007)
    Frame Start (Header 0x00000000)
    Line Start (0x0200000B)
    Data Long Packet (0x??00??FF)
    Line End (0x0300000C)
    Frame End (0x01000007)
    and so on.

    The synchronization structure appears clear and consistent. However, the data packets are not correct. As stated in the original post, they all have some incorrect and seemingly arbitrary data type. Here are some examples of data packet headers I am receiving:
    0x5100B7FF, 0x4B00ACFF, 0x5700AEFF, 0x5500ADFF, 0x5900B9FF
    The payload of the data packet then appears to contain data. The first 212 bytes of this data appears that it could plausibly be valid. However, after ~212 bytes, the payload of the data packet then reads 0x3000000C about 15 times in a row, followed by 0x10000007 for about 80,000 - 100,000 bytes (varies per packet). It seems relevant to the issue that the four byte sequences that keep repeating where the payload of the data packet should be are equivalent to the content of the synchronization packets for the Line End and Frame End which are transmitted after completion of the corrupted data packet.

    Given that the Serializer register correctly registers the data type as 0x2A, and the deserializer correctly registers the number and length of the lines as 1 and 16592 respectively, it seems that this problem likely lies between the FPD-Link III input to the 954 deserializer, and the CSI2 output of the 954 deserializer. Perhaps the way upcoming synchronization packets are preemptively printed during the payload of the data packet may serve as a clue for where the glitch in this system exists.

    Could TI please advise how I should proceed to troubleshoot and resolve this issue?

    Sincerely,
    Christopher

  • Hi Christopher,
    Could you provide a copy of the register reads for 953 and 954 when this issue happens.
    Please manually read all registers from 0x0 to 0xFF.

    Best Regards,
    Charley Cai
  • Hi Charley,

    Here are all of the registers for the 954 and 953.

    Sincerely,
    Christopher

    954
    Reg,Value
    0x00,0x60
    0x01,0x00
    0x02,0x1E
    0x03,0x20
    0x04,0xDF
    0x05,0x01
    0x06,0x00
    0x07,0xFE
    0x08,0x1C
    0x09,0x10
    0x0A,0x7A
    0x0B,0x7A
    0x0C,0x83
    0x0D,0x09
    0x0E,0x08
    0x0F,0x7F
    0x10,0x00
    0x11,0x00
    0x12,0x00
    0x13,0x00
    0x14,0x00
    0x15,0x00
    0x16,0x00
    0x17,0x00
    0x18,0x00
    0x19,0x00
    0x1A,0x00
    0x1B,0x00
    0x1C,0x00
    0x1D,0x00
    0x1E,0x04
    0x1F,0x03
    0x20,0x20
    0x21,0x01
    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,0x00
    0x32,0x00
    0x33,0x03
    0x34,0x40
    0x35,0x01
    0x36,0x00
    0x37,0x01
    0x38,0x00
    0x39,0x00
    0x3A,0x00
    0x3B,0x01
    0x3C,0x14
    0x3D,0x6F
    0x3E,0x00
    0x3F,0x40
    0x40,0x00
    0x41,0xA7
    0x42,0x71
    0x43,0x01
    0x44,0x00
    0x45,0x00
    0x46,0x00
    0x47,0x00
    0x48,0x00
    0x49,0x00
    0x4A,0x00
    0x4B,0x12
    0x4C,0x01
    0x4D,0x03
    0x4E,0x45
    0x4F,0x64
    0x50,0x00
    0x51,0x08
    0x52,0x00
    0x53,0x02
    0x54,0x00
    0x55,0x00
    0x56,0x00
    0x57,0x00
    0x58,0x5E
    0x59,0x00
    0x5A,0x00
    0x5B,0x30
    0x5C,0x18
    0x5D,0x60
    0x5E,0x00
    0x5F,0x00
    0x60,0x00
    0x61,0x00
    0x62,0x00
    0x63,0x00
    0x64,0x00
    0x65,0xC4
    0x66,0x00
    0x67,0x00
    0x68,0x00
    0x69,0x00
    0x6A,0x00
    0x6B,0x00
    0x6C,0x00
    0x6D,0x7C
    0x6E,0x99
    0x6F,0x88
    0x70,0x1F
    0x71,0x1F
    0x72,0x00
    0x73,0x00
    0x74,0x01
    0x75,0x40
    0x76,0xD0
    0x77,0xC5
    0x78,0x00
    0x79,0x01
    0x7A,0x00
    0x7B,0x00
    0x7C,0x00
    0x7D,0x00
    0x7E,0x00
    0x7F,0x00
    0x80,0x00
    0x81,0x00
    0x82,0x00
    0x83,0x00
    0x84,0x00
    0x85,0x00
    0x86,0x00
    0x87,0x00
    0x88,0x00
    0x89,0x00
    0x8A,0x00
    0x8B,0x00
    0x8C,0x00
    0x8D,0x00
    0x8E,0x00
    0x8F,0x00
    0x90,0x00
    0x91,0x00
    0x92,0x00
    0x93,0x00
    0x94,0x00
    0x95,0x00
    0x96,0x00
    0x97,0x00
    0x98,0x00
    0x99,0x00
    0x9A,0x00
    0x9B,0x00
    0x9C,0x00
    0x9D,0x00
    0x9E,0x00
    0x9F,0x00
    0xA0,0x02
    0xA1,0x0F
    0xA2,0x00
    0xA3,0x00
    0xA4,0x08
    0xA5,0x19
    0xA6,0x00
    0xA7,0x00
    0xA8,0x00
    0xA9,0x00
    0xAA,0x00
    0xAB,0x00
    0xAC,0x00
    0xAD,0x00
    0xAE,0x00
    0xAF,0x00
    0xB0,0x08
    0xB1,0x14
    0xB2,0x3F
    0xB3,0x08
    0xB4,0x25
    0xB5,0x00
    0xB6,0x18
    0xB7,0x00
    0xB8,0x8C
    0xB9,0x33
    0xBA,0x83
    0xBB,0x74
    0xBC,0x80
    0xBD,0x00
    0xBE,0x00
    0xBF,0x00
    0xC0,0x00
    0xC1,0x00
    0xC2,0x00
    0xC3,0x00
    0xC4,0x00
    0xC5,0x00
    0xC6,0x00
    0xC7,0x00
    0xC8,0x00
    0xC9,0x00
    0xCA,0x00
    0xCB,0x00
    0xCC,0x00
    0xCD,0x00
    0xCE,0x00
    0xCF,0x00
    0xD0,0x00
    0xD1,0x43
    0xD2,0x94
    0xD3,0x02
    0xD4,0x60
    0xD5,0xF2
    0xD6,0x00
    0xD7,0x00
    0xD8,0x00
    0xD9,0x00
    0xDA,0x00
    0xDB,0x00
    0xDC,0x00
    0xDD,0x00
    0xDE,0x00
    0xDF,0x00
    0xE0,0x00
    0xE1,0x00
    0xE2,0x00
    0xE3,0x00
    0xE4,0x00
    0xE5,0x00
    0xE6,0x00
    0xE7,0x00
    0xE8,0x00
    0xE9,0x00
    0xEA,0x00
    0xEB,0x00
    0xEC,0x00
    0xED,0x00
    0xEE,0x00
    0xEF,0x00
    0xF0,0x5F
    0xF1,0x55
    0xF2,0x42
    0xF3,0x39
    0xF4,0x35
    0xF5,0x34
    0xF6,0x00
    0xF7,0x00
    0xF8,0x00
    0xF9,0x00
    0xFA,0x00
    0xFB,0x00
    0xFC,0x00
    0xFD,0x00
    0xFE,0x00
    0xFF,0x00


    953
    Reg,Value
    0x00,0x30
    0x01,0x00
    0x02,0x33
    0x03,0x48
    0x04,0x00
    0x05,0x03
    0x06,0x41
    0x07,0x28
    0x08,0xFE
    0x09,0x1E
    0x0A,0x10
    0x0B,0x7F
    0x0C,0x7F
    0x0D,0x0C
    0x0E,0xC0
    0x0F,0x00
    0x10,0x00
    0x11,0x00
    0x12,0x00
    0x13,0x00
    0x14,0x00
    0x15,0x20
    0x16,0x18
    0x17,0x3C
    0x18,0x80
    0x19,0x62
    0x1A,0x62
    0x1B,0x62
    0x1C,0x3F
    0x1D,0x00
    0x1E,0x03
    0x1F,0x00
    0x20,0x00
    0x21,0x00
    0x22,0x00
    0x23,0x00
    0x24,0x00
    0x25,0x02
    0x26,0x00
    0x27,0x00
    0x28,0x67
    0x29,0x33
    0x2A,0x01
    0x2B,0x00
    0x2C,0x00
    0x2D,0x00
    0x2E,0x00
    0x2F,0x00
    0x30,0x00
    0x31,0x20
    0x32,0x09
    0x33,0x04
    0x34,0x00
    0x35,0x10
    0x36,0x00
    0x37,0x60
    0x38,0x00
    0x39,0x00
    0x3A,0x00
    0x3B,0x00
    0x3C,0x00
    0x3D,0x00
    0x3E,0x00
    0x3F,0x00
    0x40,0x00
    0x41,0x00
    0x42,0x00
    0x43,0x00
    0x44,0x00
    0x45,0x00
    0x46,0x00
    0x47,0x00
    0x48,0x00
    0x49,0x00
    0x4A,0x00
    0x4B,0x00
    0x4C,0x00
    0x4D,0x00
    0x4E,0x00
    0x4F,0x00
    0x50,0x20
    0x51,0xC0
    0x52,0x47
    0x53,0x00
    0x54,0x00
    0x55,0x08
    0x56,0x00
    0x57,0x00
    0x58,0x07
    0x59,0x07
    0x5A,0x07
    0x5B,0x00
    0x5C,0x00
    0x5D,0x00
    0x5E,0x00
    0x5F,0x00
    0x60,0x00
    0x61,0x2A
    0x62,0xD0
    0x63,0x40
    0x64,0x07
    0x65,0x88
    0x66,0x00
    0x67,0x00
    0x68,0x00
    0x69,0x00
    0x6A,0x00
    0x6B,0x00
    0x6C,0x00
    0x6D,0x00
    0x6E,0x00
    0x6F,0x00
    0x70,0x00
    0x71,0x00
    0x72,0x25
    0x73,0x00
    0x74,0x00
    0x75,0x00
    0x76,0x00
    0x77,0x00
    0x78,0x00
    0x79,0x00
    0x7A,0xE4
    0x7B,0x00
    0x7C,0x00
    0x7D,0x00
    0x7E,0x00
    0x7F,0x00
    0x80,0x00
    0x81,0x00
    0x82,0x00
    0x83,0x00
    0x84,0x00
    0x85,0x00
    0x86,0x90
    0x87,0x00
    0x88,0x00
    0x89,0x00
    0x8A,0x00
    0x8B,0x00
    0x8C,0x09
    0x8D,0x00
    0x8E,0x00
    0x8F,0x00
    0x90,0x32
    0x91,0xE3
    0x92,0x64
    0x93,0x01
    0x94,0x00
    0x95,0x00
    0x96,0x00
    0x97,0x00
    0x98,0x00
    0x99,0x00
    0x9A,0x29
    0x9B,0x27
    0x9C,0x00
    0x9D,0x00
    0x9E,0x02
    0x9F,0x11
    0xA0,0x00
    0xA1,0x10
    0xA2,0x0D
    0xA3,0x0F
    0xA4,0x0F
    0xA5,0x10
    0xA6,0x42
    0xA7,0x10
    0xA8,0x10
    0xA9,0x10
    0xAA,0x05
    0xAB,0x01
    0xAC,0x00
    0xAD,0x00
    0xAE,0x00
    0xAF,0x00
    0xB0,0x04
    0xB1,0x4A
    0xB2,0x3F
    0xB3,0x00
    0xB4,0x00
    0xB5,0x00
    0xB6,0x00
    0xB7,0x00
    0xB8,0x00
    0xB9,0x00
    0xBA,0x00
    0xBB,0x00
    0xBC,0x00
    0xBD,0x00
    0xBE,0x00
    0xBF,0x00
    0xC0,0x00
    0xC1,0x00
    0xC2,0x00
    0xC3,0x00
    0xC4,0x00
    0xC5,0x00
    0xC6,0x00
    0xC7,0x00
    0xC8,0x00
    0xC9,0x00
    0xCA,0x00
    0xCB,0x00
    0xCC,0x00
    0xCD,0x00
    0xCE,0x00
    0xCF,0x00
    0xD0,0x00
    0xD1,0x00
    0xD2,0x00
    0xD3,0x00
    0xD4,0x00
    0xD5,0x00
    0xD6,0x00
    0xD7,0x00
    0xD8,0x00
    0xD9,0x00
    0xDA,0x00
    0xDB,0x00
    0xDC,0x00
    0xDD,0x00
    0xDE,0x00
    0xDF,0x00
    0xE0,0x00
    0xE1,0x00
    0xE2,0x00
    0xE3,0x00
    0xE4,0x00
    0xE5,0x00
    0xE6,0x00
    0xE7,0x00
    0xE8,0x00
    0xE9,0x00
    0xEA,0x00
    0xEB,0x00
    0xEC,0x00
    0xED,0x00
    0xEE,0x00
    0xEF,0x00
    0xF0,0x5F
    0xF1,0x55
    0xF2,0x42
    0xF3,0x39
    0xF4,0x35
    0xF5,0x33
    0xF6,0x00
    0xF7,0x00
    0xF8,0x00
    0xF9,0x00
    0xFA,0x00
    0xFB,0x00
    0xFC,0x00
    0xFD,0x00
    0xFE,0x00
    0xFF,0x00

  • Hi Charley,

    I believe we have identified the issue to be an overflow of the video line buffer.  The line buffer appears specified in section 7.4.25 to be 16 kB or 16384 bytes.  The behavior we are describing appears to manifest when we send packets of size 16384 bytes or greater.

    Is there a method or configuration we can apply to use the DS90UB954-Q1 to pass data in lines of size greater than or equal to 16384 bytes?

    Christopher

  • Hi Christopher,
    You are correct that our line buffer is 16384 bytes.
    I have checked with the team, and unfortunately we don't have a way to forward half a line.
    954 will wait for a whole line and then forward the data.

    Can AWR1243 split one line into half?

    Best Regards,
    Charley Cai
  • Hi Charley,

    The AWR1243 does not appear to have this functionality to split packets.

    Thank you for your help.

    Sincerely,
    Christopher