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.

AWR2E44PEVM: Configuration of LVDS data rate and test pattern

Part Number: AWR2E44PEVM
Other Parts Discussed in Thread: AWR2243

Tool/software:

I see in the documentation that the LVDS speed supports the following speeds?

How can i configure the DDR speed?

I would like to limit speed to 600Mpbs or 400Mpbs? What is the default speed?

In addition i would like to enable a test pattern for the LVDS data for testing? Is there an example code with details how to enable?

Thanks

  • Hello,

    The DDR speed can be configured used the ar1.LvdsClkConfig API. 

    The default is set to 900Mbps.

    You should be able to enable LVDS via the mmWaveStudio to test it out using our capture board, DCA1000.

    Thanks,

    E. Shareef

  • I do not see anywhere in code or documentation the LvdsClkConfig API. 

    Please can you give me more details of where located in sdk and documentation. 

    In addition please answer how i can enable a test pattern?

  • This should be a part of data config. Let me check for more details in the ICD so I can direct you to that. Will respond shortly.

    E. Shareef 

  • Hello,

    You can refer to the AWR_DEV_RX_DATA_PATH_LANEEN_SET_SB API in the ICD. This will be used to set the DDR clock. 

    -E. Shareef

  • I have looked over the document mmWave-Radar-Interface-Control.pdf. Firstly i want to check that all the messages in this API are relevant for the AWR2e44p chip? This chip has an internal BIST system and communication is via mailbox. When looking through the code in the SDK i see the following functions: 

    - rlReturnVal_t rlDeviceSetLaneConfig(rlUInt8_t deviceMap, rlDevLaneEnable_t* data)
    rlReturnVal_t rlDeviceSetDataPathConfig(rlUInt8_t deviceMaprlDevDataPathCfg_t*data);
    - rlReturnVal_t rlDeviceSetLvdsLaneConfig(rlUInt8_t deviceMap, rlDevLvdsLaneCfg_t* data)
    - rlReturnVal_t rlDeviceSetHsiConfig(rlUInt8_t deviceMap, rlDevHsiCfg_t* data )
    - rlReturnVal_t rlDeviceSetTestPatternConfig(rlUInt8_t deviceMap, rltestPattern_t * data)
    However in the comments all these function says that do not support chip awr2e44p and only device when mmWaveLink instance is running on External Host Processor? Is this correct? How can i call these function or something similar on the AWR2e44p?
    In addition in the lvds streaming example code for mss in file mmw_lvds_stream.c most of the LVDS configuration and CBUFF are done by writing to the  CONFIG_REG_0 and similar registers found in the technical reference manual.
    What are the different uses for registers in technical reference manual compared to the mmWave-Radar-Interface-Control documentation?
    One further question, about the default of LVDS being configured at 900Mhz, I have measured the clock (with external oscilloscope) in the mmw_tdm example and get a clock of 400Mhz, i.e. 800Mbps. Why is this the case?
    Thanks
  • Hello,

    Someone on our software team will respond here shortly.

    -E. Shareef

  • Hello Joseph,

    For understanding how the LVDS is configured in the AWR2E44P, please refer the demo application present in the 

    C:\ti\mmwave_mcuplus_sdk_04_07_01_04\mmwave_mcuplus_sdk_04_07_01_04\ti\demo\awr2x44P\mmw_ddm\mss\mss_main.c

    The API's you have mentioned are only appliable when the device has a firmware loaded like AWR2243. In case of the AWR2E44P, when you run with studio you flash the mss_firmware, which takes in the custom command: ar1.LvdsClkConfig.
    It also internally configures similarly how the demo configures the LVDS line.
    Please do not refer those API's in ICD as mentioned they are not applicable for AWR2E44P, only for front end device like AWR2243.

    Which clock have you measured using an oscilloscope? The PLL itself will be configured to 1800 Mhz unless you are overriding and clock configurations. We have cross verified this on our end as well. Can you check the Per_PLL value which is configured on your end?

    Regards,
    Saswat Kumar