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.

AWR2243: CSI2 Interface with Jetson AGX

Part Number: AWR2243

Hello Team,

I am working on CSI2 Interface of AWR2243 with Jetson AGX Xavier.

I have ported "mmwavelink" on Jetson platform and communication path via I2C is completed.

Data Path Configuration in mmwavelink :-  Lane Clock - DDR3 ; Data rate - 600Mbps ; All 4 lanes enabled ; CSI2 Virtual Channel 0 with Packet format CP_ADC_DATA and RAW8 Data format is used.

In configuring the data path for CSI2; I needed to modify the device tree of Jetson, which includes the following parameters.

Since AWR2243 is a RADAR Sensor and not a Camera Sensor , I find it hard to map values to these parameters.

Any support from the group is highly appreciated.

Device tree Config :-

            compatible = "nvidia,ov5693";
            /* I2C device address */
            reg = <>;

            /* V4L2 device node location */
            devnode = "";

            /* Physical dimensions of sensor */
            physical_w = "";
            physical_h = "";            

/**
            * A modeX node is required to support v4l2 driver
            * implementation with NVIDIA camera software stack
            *
            * mclk_khz = "";
            * Standard MIPI driving clock, typically 24MHz
            *
            * num_lanes = "";
            * Number of lane channels sensor is programmed to output
            *
            * tegra_sinterface = "";
            * The base tegra serial interface lanes are connected to
            * Incase of virtual HW devices, use virtual
            * For SW emulated devices, use host
            *
            * phy_mode = "";
            * PHY mode used by the MIPI lanes for this device
            *
            * discontinuous_clk = "";
            * The sensor is programmed to use a discontinuous clock on MIPI lanes
            *
            * dpcm_enable = "true";
            * The sensor is programmed to use a DPCM modes
            *
            * cil_settletime = "";
            * MIPI lane settle time value.
            * A "0" value attempts to autocalibrate based on mclk_multiplier
            *
            *
            *
            *
            * active_w = "";
            * Pixel active region width
            *
            * active_h = "";
            * Pixel active region height
            *
            * pixel_t = "";
            * The sensor readout pixel pattern
            *
            * readout_orientation = "0";
            * Based on camera module orientation.
            * Only change readout_orientation if you specifically
            * Program a different readout order for this mode
            *
            * line_length = "";
            * Pixel line length (width) for sensor mode.
            * This is used to calibrate features in our camera stack.
            *
            * mclk_multiplier = "";
            * Multiplier to MCLK to help time hardware capture sequence
            * TODO: Assign to PLL_Multiplier as well until fixed in core
            *
            * pix_clk_hz = "";
            * Sensor pixel clock used for calculations like exposure and framerate
            *
            *
            *
            *
            * inherent_gain = "";
            * Gain obtained inherently from mode (ie. pixel binning)
            *
            * == Source Control Settings ==
            *
            * Gain factor used to convert fixed point integer to float
            * Gain range [min_gain/gain_factor, max_gain/gain_factor]
            * Gain step [step_gain/gain_factor is the smallest step that can be configured]
            * Default gain [Default gain to be initialized for the control.
            *     use min_gain_val as default for optimal results]
            * Framerate factor used to convert fixed point integer to float
            * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
            * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
            * Default Framerate [Default framerate to be initialized for the control.
            *     use max_framerate to get required performance]
            * Exposure factor used to convert fixed point integer to float
            * For convenience use 1 sec = 1000000us as conversion factor
            * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
            * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
            * Default Exposure Time [Default exposure to be initialized for the control.
            *     Set default exposure based on the default_framerate for optimal exposure settings]
            *
            * gain_factor = ""; (integer factor used for floating to fixed point conversion)
            * min_gain_val = ""; (ceil to integer)
            * max_gain_val = ""; (ceil to integer)
            * step_gain_val = ""; (ceil to integer)
            * default_gain = ""; (ceil to integer)
            * Gain limits for mode
            *
            * exposure_factor = ""; (integer factor used for floating to fixed point conversion)
            * min_exp_time = ""; (ceil to integer)
            * max_exp_time = ""; (ceil to integer)
            * step_exp_time = ""; (ceil to integer)
            * default_exp_time = ""; (ceil to integer)
            * Exposure Time limits for mode (us)
            *
            *
            * min_hdr_ratio = "";
            * max_hdr_ratio = "";
            * HDR Ratio limits for mode
            *
            * framerate_factor = ""; (integer factor used for floating to fixed point conversion)
            * min_framerate = "";
            * max_framerate = "";
            * step_framerate = ""; (ceil to integer)
            * default_framerate = ""; (ceil to integer)
            * Framerate limits for mode (fps)
            */        



/**
        * Physical settings to calculate max ISO BW
        *
        * num_csi_lanes = <>;
        * Total number of CSI lanes when all cameras are active
        *
        * max_lane_speed = <>;
        * Max lane speed in Kbit/s
        *
        * min_bits_per_pixel = <>;
        * Min bits per pixel
        *
        * vi_peak_byte_per_pixel = <>;
        * Max byte per pixel for the VI ISO case
        *
        * vi_bw_margin_pct = <>;
        * Vi bandwidth margin in percentage
        *
        * max_pixel_rate = <>;
        * Max pixel rate in Kpixel/s for the ISP ISO case
        *
        * isp_peak_byte_per_pixel = <>;
        * Max byte per pixel for the ISP ISO case
        *
        * isp_bw_margin_pct = <>;
        * Isp bandwidth margin in percentage
        */

Thanks and Regards

Vignesh

  • Hi,

    SInce our support team is not familiar with this platform,

    We would need to open this questions to the forum community.

    You may also contact the Jetson support forums.

    thank you

    Cesar

  • Hello Cesar,

    Thanks for your reply. I had posted this in Jetson support forum and they told me to ask the vendor for this information.

    Regards

    Vignesh

  • For the radar sensor, the following is the CSI2 frame structure.

    This is described in the AWR2243 datasheet

    https://www.ti.com/lit/ds/symlink/awr2243.pdf

    Section 9.4.1 ADC Data Format Over CSI2 Interface.

    • frame - corresponds to the camera frame
    • chirp (nb of ADC samples) - corresponds to camera line
    • each ADC sample is

    One thing that is important to understand is that the data payload can include different type of information. This will be dependent on configuration parameters sent to the sensor through the mmwave link API.

    If you have more detailed questions regarding the CSI2 format we can provide you support.

    Regarding how this would map to the Jetson interface, this is where we don't have much expertise.

    I am hoping that other forum members went through this exercise and can provide some help.

    thank you
    Cesar