View my account

D457 module reg-related issues (GMSL)

Comments

12 comments

  • MartyX Grover

    Hi cam test  I note that you mention that you are using the D457 'module'.  Can you confirm please whether you are using a D457 camera, or a D450 depth module board and Vision Processor D4 V5 board combined together to make a D457?

     

    The deserializer module should contain a Maxim deserializer component in order to work with D457.  An example of a D457-compatible deserializer that incorporates Maxim tech is Leopard Imaging's one at the link below.

    https://leopardimaging.com/product/accessories/adapters-carrier-boards/for-nvidia-jetson/li-gmsl2-ipx-deser/

     

    Which deserializer are you using, please?

     

    The RealSense MIPI driver software should also be installed in order to access the D457's streams on a GMSL connection.

    https://github.com/IntelRealSense/realsense_mipi_platform_driver

    0
    Comment actions Permalink
  • cam test

    MartyX Grover Yes, I'm using the deserializer from the example design that is hosted on GitHub. The previously mentioned error was because of the wrong usage when doing a manual setup of the device's regs (using the different endianness). Right now, all devs from the RealSense module (serializer, RGB sensor) can be used. One another issue seems to be the resulted image format from the RGB sensor's path (from the datasheet, it seems that the ISP will export a YUV422 by default), but it seems that the final image plot using a v4l2 pipe for UYVY8_1x16 seems to be broken (using QtV4l2) [serializer and deserializer being set to transfer YUV422 8bit data). Is a non-modified UYVY format used as a default one for the ISP path (in case of using the USB path and the RealSense viewer, it seems that there are multiple data formats - RGB888, UVVY)? Thanks in advance for your response!

    0
    Comment actions Permalink
  • MartyX Grover

    A RealSense 400 Series camera's hardware generates raw RGB camera frames in YUY2 format.  These frames are not directly accessible by the user though, and are instead converted to user-accessible RGB formats RGB8, BGR8 and YUYV.

     

     

    0
    Comment actions Permalink
  • cam test

    MartyX Grover Yes, but in case of the final format that is resulted after the ISP-based conversion, is this one a YUV422 one [UYVY8_1x16 - Packed YUV 4:2:2, 8 bits per component and 2 bytes/pixel -16bits/pixel]  (without additional bytes along with the pixels' ones, related to meta data for e.g.)? (the D457 datasheet specifies that this is the output format. in case of the FPS/width/height, all the changes are seen correctly in the plot). Thanks in advance for your prompt response!

    0
    Comment actions Permalink
  • MartyX Grover

    The datasheet for the RealSense 400 Series cameras that use a USB connection states YUY2 as the raw RGB format and the D457 datasheet states YUV422 as the raw RGB format when using a GMSL / FAKRA connection.

     

    In regard to the structure of the RGB data after conversion, the official documentation for RealSense formats states that the structure of YUYV is "32-bit y0, u, y1, v data for every two pixels.  Similar to YUV422 but packed in a different order". 

    https://unanancyowen.github.io/librealsense2_apireference/rs__sensor_8h.html#ae04b7887ce35d16dbd9d2d295d23aac7

    0
    Comment actions Permalink
  • cam test

    Hi MartyX Grover,

     

    Ok, the resulted frame from the RealSense D457 is like this one (using the YUYV format in the V4l2-related streaming app - 1280x720@30fps, being the same in case of using other frame sizes. in case of firmware version, the last one 17.0.10 is used).

    Most of the image contains a black color with a horizontal white line that is seen at the top part of the rectangle. Thanks in advance for your response!

    0
    Comment actions Permalink
  • MartyX Grover

    Are you using a V4L2 streaming app in Linux, please?  If you are then the RealSense SDK should be built from source code with CMake with the V4L2 backend (also known as the native backend). 

     

    This basically involves using a source code build of the SDK where the libuvc_backend or force_RSUSB_backend build flags are not used in the CMake build instruction, and a kernel patch script has been applied to the Linux kernel.  Then non-RealSense Linux tools can use RealSense images, though they will be of reduced quality compared to ones obtained with the SDK.

    0
    Comment actions Permalink
  • cam test

    MartyX Grover Yes, I'm using a v4l2 streaming app (qv4l2). In case of the streaming app, I compared the ones when using the USB-based paths and its drivers, and they contained the same video quality (in this case, the streaming app can be excluded as a possible cause of the issues). Thanks in advance for your response!

    0
    Comment actions Permalink
  • cam test

    In this case, it seems that something would be missing or different in the configuration made by using the commands exposed in the mipi-camera-driver repo and the WRs done by using the librealsense for the USB-based interface. Does the https://github.com/IntelRealSense/realsense_mipi_platform_driver/blob/master/kernel/realsense/d4xx.c contain all the commands that need to be done in order to stream/calibrate/configure the D457 module to output YUYV from the RGB sensor path?

    0
    Comment actions Permalink
  • MartyX Grover

    The best place to seek advice about the MIPI driver and its operating mechanisms is on its GitHub support forum, where GMSL experts on the RealSense team provide advice.

    https://github.com/IntelRealSense/realsense_mipi_platform_driver/issues

    0
    Comment actions Permalink
  • cam test

    MartyX Grover Ok, will try out on GitHub. As regards the sensor/ISP capabilities, is there a reg that can put the ISP in a test-pattern mode? This would be a helpful capability for debugging.

    0
    Comment actions Permalink
  • MartyX Grover

    No, RealSense cameras do not have a test-pattern mode.

    0
    Comment actions Permalink

Please sign in to leave a comment.