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.

CCS/IWR6843: does

Part Number: IWR6843
Other Parts Discussed in Thread: UNIFLASH

Tool/software: Code Composer Studio

Hi,

I am trying to use IWR6843 OOB with HCC configuration( So that i can hard code the chirp configurations).

How ever i want to transfer the ADC raw data over LVDS channels so that I can process the data in my custom hardware.

My question is 

Will this demo transfer the ADC raw data over LVDS lines. Is there ant example where i can look for the code.

Roshan

  • Hi Roshan,

    The default configuration does not enable LVDS. You will have to enable it yourself. Please familiarize yourself with the instructions detailed in the section 'Understand Chirp Config File" of the "68xx ISK – Hard Coded Config for mmWave SDK Demo" User's guide.

    Furthermore, to enable lvds, you will have to change the lvdsStreamCfg command in the file "hc_config_defs.h". Please read section "mmWave demo with LVDS-based instrumentation" from the SDK User's Guide for more information. 

    An example to enable HW and SW LVDS stream with header would be: lvdsStreamCfg -1 1 1 1

  • Hi sabeeh,

    I ve tried to configure by changing the LVDS config(-1,1,1,1) and with default profile configuration but stiil it isn't working.

    I am unable to find any data on LVDS lines.

    Is there any thing else i am missing.

    Regards,

    Roshan

  • Hi Rishan, Please be specific. What did you change? Were you able to modify the code and rebuild the project? Please read through all documentation.
  • Hi sabeeh,

    Thank you for your patience and replying.

    Ti RTOS is new to me and hence I am completely dependent on the Demo projects for configuring the IWR IC with the chirp parameters and get the data on LVDS lines and later I would process the raw data on FPGA.

    To be clear, I will explain what I did.

    1) Have imported mmwsdk_68xx_hcc_dss and mmwsdk_68xx_hcc_mss project into code composer studio. 

    2) Changed following 

    #define LVDSSTREAM_HCC_SUBFRAME_IDX (-1)
    #define LVDSSTREAM_HCC_ENABLE_HEADER (1U)
    #define LVDSSTREAM_HCC_DATA_FMT (1U)
    #define LVDSSTREAM_HCC_ENABLE_SW (1U)

    in hc_config_defs.h file. Built the project dss first and second mss.

    3) Loaded the mss bin file to the chip using uniflash tool.

    4) Placed highly reflective object near antenna.

    5) Finally am trying to probe data on Lvds Clk output pin on CRO so that I can see any clk signal on CRO.

    The chirp configurations and all are common. My main motto is to get the Raw ADC data out on LVDS lanes so that I can process data on an FPGA.

    I have tried to chage the above to lvds config to -1 1 1 0 and son on.

    I have a doubt here . Will this configuration really stream data out on LVDS lanes continuously in the demo as i have seen somewhere that latest mmwSDK OOB demos will send data over LVDS parallely if LVDS config is properly done.

    Regards,

    Roshan

  • Hi Roshan,

    Could you try running the out of box demo? I am referring to the version that does not use hard coded config: 

    https://dev.ti.com/tirex/explore/node?node=AM1kRI3l5vvDUDVn-RHrxQ__VLyFKFf__LATEST 

     

  • Hi sabeeh,

    I tried with "ods_point_cloud_68xx_hwa_es1" demo project and in that i modified & hard coded [mmw_cli.c] MmwDemo_CLILvdsStreamCfg function as 

    int8_t                  subFrameNum=LVDSSTREAM_HCC_SUBFRAME_IDX;

    cfg.isHeaderEnabled = LVDSSTREAM_HCC_ENABLE_HEADER; //(bool) atoi(argv[2]);
    cfg.dataFmt = LVDSSTREAM_HCC_DATA_FMT; //(uint8_t) atoi(argv[3]);
    cfg.isSwEnabled = LVDSSTREAM_HCC_ENABLE_SW; //(bool) atoi(argv[4]);

    then with help of mmw visualizer i got LVDS Data output. that is ok 

    But the problem is each and every command which comes from visualizer need to implement hard coded instead of this i want LVDS data output in "mmwave_sdk_68xx_hcc_mss" demo project .[ Industrial Toolbox 4.5.1 ]

    to get LVDS Data i did following changes in hc_config_defs.h header file. but still i am not getting any data on LVDS lines.

    #ifndef HC_CONFIG_DEFS_H
    #define HC_CONFIG_DEFS_H
    #include <ti/common/sys_common.h>

    // #ifndef PROFILE_CALIBRATION
    // #define PROFILE_CALIBRATION
    // #endif
    //
    #ifndef PROFILE_ADVANCED_SUBFRAME
    #define PROFILE_ADVANCED_SUBFRAME
    #endif
    //
    // #ifndef PROFILE_2d_BPM
    // #define PROFILE_2d_BPM
    // #endif

    // #ifndef PROFILE_2d
    // #define PROFILE_2d
    // #endif


    #define CHANNEL_HCC_CASCADING (0U)

    #define ADC_HCC_NUM_ADC_BITS (2U)
    #define ADC_HCC_OUTPUT_FMT (1U)

    #define ADCBUF_HCC_SUBFRAME_IDX (-1)
    #define ADCBUF_HCC_OUTPUT_FMT (0U)
    #define ADCBUF_HCC_SAMPLE_SWAP (1U)
    #define ADCBUF_HCC_CHAN_INTERLEAVE (1U)
    #define ADCBUF_HCC_CHIRP_THRESHOLD (1U)

    #define LP_HCC_DONT_CARE (0U)
    #define LP_HCC_LOW_POWER_MODE (0U)

    #define CLUTTER_HCC_SUBFRAME_IDX (-1)
    #define CLUTTER_HCC_ENABLED (0)

    #define AOAFOV_HCC_SUBFRAME_IDX (-1)
    #define AOAFOV_HCC_MIN_AZIMUTH_DEG (-90)
    #define AOAFOV_HCC_MAX_AZIMUTH_DEG (90U)
    #define AOAFOV_HCC_MIN_ELEVATION_DEG (-90)
    #define AOAFOV_HCC_MAX_ELEVATION_DEG (90U)

    #define COMPRANGEBIASANDRXCHANPHASE (0.0f)

    #define EXTENDMAXVELOCITY_HCC_SUBFRAME_IDX (-1)
    #define EXTENDMAXVELOCITY_HCC_ENABLED (0U)

    #define ANALOGMONITOR_HCC_RX_SATURATION (0U)
    #define ANALOGMONITOR_HCC_SIG_IMG_BAND (0U)

    #define LVDSSTREAM_HCC_SUBFRAME_IDX (-1)
    #define LVDSSTREAM_HCC_ENABLE_HEADER (1U)
    #define LVDSSTREAM_HCC_DATA_FMT (1U)
    #define LVDSSTREAM_HCC_ENABLE_SW (1U)

    #if defined(PROFILE_CALIBRATION)
    #include "../mss/hc_config_profile_calibration.h"
    #elif defined(PROFILE_ADVANCED_SUBFRAME)
    #include "../mss/hc_config_profile_advanced_subframe.h"
    #elif defined(PROFILE_2d_BPM)
    #include "../mss/hc_config_profile_2d_bpm.h"
    #elif defined(PROFILE_2d)
    #include "../mss/hc_config_profile_2d.h"
    #else
    #define PROFILE_3d
    #include "../mss/hc_config_profile_3d.h"
    #endif

    #endif

    Please guide me to get LVDS Data by using "mmwave_sdk_68xx_hcc_mss" demo project .

  • Just to be clear, you have built this project after making the change, and then used the output binary and flashed that to your device, correct? Are you sure you aren't using an old binary?

  • Yes,

    we are pretty much sure that we have loaded the new binary after rebuilding and from workspace itself.

    Roshan.

  • Thanks Roshan, I will try to duplicate your work on my end. In the meantime, could you please try using the out of box demo and modifying the .cfg file to enable LVDS? This process is very simple and does not involve any code. 

  • I have duplicated your scenario on my own. Here are the steps I followed:

    1. Installed SDK 3.5 and Industrial Toolbox 4.5.1. 
    2. Imported 'mmwave_sdk_68xx_hcc_mss' and '*_dss' into code composer studio
    3. Opened 'hc_config_defs.h'
    4. Modified lines 53 - 56 such that the parameters for the LVDS CLI command would be '-1 1 1 1'
    5. Build project
    6. Put device into flashing configuration.
    7. Flash device with modified binary
    8. Put device into functional configuration. 

    I then used a DCA1000 to record the ADC data stream and was successful. I also verified that the device was streaming point cloud data on the UART port (step 4B as described in the HCC user guide), you should also verify this data stream. 

  • Hi sabeeh,

    As you said i did the same configuration and i checked 2 to 3 times but not getting LVDS data

    "ods_point_cloud_68xx_hwa_es1"  demo project i am getting data with the help of demo visualizer . I modified ods_point_cloud_68xx_hwa_es1 project 

    and each and every function of Command line interface still not getting data then i thought that may be profile configuration and chirp configuration is missing so I added profile and chirp configuration but no use not data on LVDS.

    I am not understanding why it happen with the help of demo visualizer only i am getting LVDS data 

     

  • Hi Roshan,

    Is your ODS device a ES1 or ES2 device? Here is reference to determine which you have. The HCC demo only supports ES2.

  • I am using ES1 device then what should i do to get LVDS data on ES1 device any other example that i can easily get LVDS data with minimum changes.

  • hello,

      .cfg file means you are speaking about hc_config_defs.h file or any other file because I found LVDS configuration in only hc_config_defs.h file.

    and one more thing i am using mmWaveIC boost evalution board with XIWR6843 60GHz (ES1) .

    which board you are using please mention any hardware difference there or not ??

    I observed that "ods_point_cloud_68xx_hwa_es1"  is also supporting to ES2 as mentioned in TI website but still with the help of this project and demo visualizer it worked and we are getting LVDS data output

    if version really matters then how it worked and other demo such as " mmwave_sdk_68xx_hcc_mss" is not responding.

  • What you have found to work is what I would recommend to get LVDS data. If it is required to not use LVDS data, then you will have to code the chirp configuration yourself just as you have done with the LVDS. You can use the HCC demo as a guide. But the latest industrial toolbox no longer supports ES1 devices. I would recommend using a ES2 device as it is a silicon update and is supported. 

  • finally i added all the hardcoded parameters in "ods_point_cloud_68xx_hwa_es1" but one small issue is there sensor start with only demo visualizer only all other parameters are hardcoded (not depends on demo visualizer ) but only start command need to send with demo visualizer please guide me how i can run my project without demo visualizer .

    power on it should start sensor and get output ,please help us to get LVDS data on power on 

    where is issue is it depend on TI-RTOS ????

    /*****************************************************************************
    * Initialize the CLI Module:
    * User can choose to create their own task here with the same priority
    * instead that does hard coded config instead of interactive CLI
    *****************************************************************************/
    MmwDemo_CLIInit(MMWDEMO_CLI_TASK_PRIORITY);

    This above function i want to start with power on only where i need to modify???

  • Hello Roshan,

    Have you looked into the mmwdemo_sensorstart function that is provided in the source code? If it's not in your project it will be in other projects, such as mmwave_sdk_68xx_dsp_mss.

    If you have more questions related to the SDK, please create a new thread. 

  • thanks for helping i got it.