DS90UB954-Q1: DS90UB954 working with DS90UB953: CSI problem, LENGTH_ERR and CKSUM_ERR

Tool/software:

Hello TI Experts,

We're encountering a similar issue to this previous thread: [DS954 working with DS953 CSI problem](e2e.ti.com/.../ds954-working-with-ds953-csi-problem).

Our setup is as follows:
- **System Connection**: Sensor (4lane x 2) → Two UB953 serializers → UB954 deserializer → FPGA
- **Hardware**: Custom design, which we've verified as functional using a different sensor (images display normally without issues).

We're now debugging a new sensor and seeing errors on the UB954: Register 0x7A shows value 0x0C (indicating LENGTH_ERR and CKSUM_ERR) on both RX ports.

**System Configuration**:
- Sensor resolution: 3840x2160,
- UB953 register PKT_HDR_WC (0x62-0x63): 2400
- UB954 register LINE_LEN (0x75-0x76): 2400

The UB953 appears to receive data correctly, with no errors reported in registers 0x5C to 0x60 (all 0x00).

Here are some key register values read from the UB954:
- 0x04: 0xDF
- 0x22: 0x01
- 0x35: 0x03
- RX Port 0 - 0x4D: 0x43
- RX Port 1 - 0x4D: 0x43
- RX Port 0 - 0x4E: 0x0C
- RX Port 1 - 0x4E: 0x0C
- RX Port 0 - 0x7A: 0x0C
- RX Port 1 - 0x7A: 0x0C
- RX Port 1 - 0x75: 0x09
- RX Port 1 - 0x76: 0x60

Additionally, when we configure the sensor for 4 lanes in 1-channel mode (using only one UB953), the UB954 reports no errors. However, this configuration doesn't meet our required frame rate.

What steps should we take next to troubleshoot and resolve this? Any insights into potential causes for the LENGTH_ERR and CKSUM_ERR in the dual-UB953 setup would be greatly appreciated.

Best regards,

  • Hi,

    I see from your register 0x73-0x76 values that each 954 RX port is receiving 2400 bytes per line, 2181 lines per frame. I understand your active video resolution is 3840x2160. I'd like to understand a few things.

    • What is the video format (bpp)?
    • Are there 21 lines of vertical blanking per frame?
    • How is the image split up by the sensor across 2 CSI ports?
    • What is the frame rate of the sensor?
    • What is the data rate per lane of the sensor CSI output?

    I understand you are seeing LENGTH_ERR and CKSUM_ERR at the 954 RX ports but no CSI errors at the 953. Can you read the following registers repeatedly during operation with a 1 second interval? I'd like to understand if these errors are occurring continuously or in short bursts. I'd also like to confirm if line length/line count remain stable.

    • 954 (both RX ports): 0x4d, 0x4e, 0x55, 0x56, 0x7a, 0x7b, 0x73-0x76
    • 953 (both devices): 0x52, 0x55, 0x56, 0x5c-0x64

    Best,

    Lucas

  • Hi Lucas,

    Thank you for your guidance and detailed questions. Below are the configuration details and the results from the repeated register reads as requested.


    We will eventually need 4K60FPS video, but for now we debug in 4K25FPS mode to ensure sufficient bandwidth under different mipi channel numbers.

    System Configuration:

    • Video format (bpp): RAW10.
    • Vertical blanking lines: We’ve set VMAX (VTS) to 2250, but it seems there might be an issue here, as the UB954 register 0x73-0x76 reports 2181 lines per frame (with 2160 active lines, implying 21 blanking lines). Could you advise if this discrepancy might be related to the errors?
    • Image split across 2 CSI ports: The sensor splits the image horizontally, with the left half (1920x2160) sent to one CSI port and the right half to the other.
    • Frame rate of the sensor: Configured for 25 FPS in dual-channel mode.
    • Data rate per lane of the sensor CSI output: 594 Mbps per lane.

    Register Read Results:
    As per your request, we read the specified registers every second during operation over several minutes. The values are stable with no variations observed:

    Given the stable register values and persistent errors, are there specific UB954 or UB953 settings (e.g., timing, synchronization, or error handling) we should check or modify?

    Last, when we configure the sensor for 4 lanes in 1-channel mode (using only one UB953), the UB954 reports no errors (ignore the RX port1 and ub953_1):

    Best regards