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.

AWR1243BOOST: Data transfer in LVDS mode - set of LVDS clock

Part Number: AWR1243BOOST

Hi there,

We are using AWR1243BOOST boards and we want to collect raw ADC data.

We know that MIPI-CSI2 is the recomended way to trasfer ADC data, but at the moment we have to use LVDS and we have to make LVDS working.

We have a doubt on:

  1. LVDS clock output pins, and
  2. LVDS clock frequency.

For the first point we noticed that

  • LVDS clock is at output debug pins pair N14-N15;
  • LVDS frame clock is at output debug pins pair M14-M15;
  • LVDS data lines (4 differential pairs) pins are as defined for MIPI-CSI2 case.

Q1: Can you please confirm or comment on the above three bullets?

For the second point, i.e. the LVDS clock frequency measured at N14-N15 pair, we noticed that:

  • wrt nominal HSI clock, it is 12 times slower;
  • transitions on data lines are only on LVDS clock rising edge, no matter for SDR/DDR configuration.

For example:

  • Case 1:
    • we set:
      • rlDevDataPathCfg_t -> intfSel = 1 (LVDS interface selected)
      • rlDevDataPathClkCfg_t -> laneClkCfg = 1b (DDR Clock)
      • rlDevDataPathClkCfg_t -> dataRate = 0010b (DDR 450Mbps)
      • rlDevHsiClk_t -> hsiClk = 0x5 (DDR 450)

    • we get:
      • LVDS clock  frequency measured at N14-N15 pair equal to 37.5MHz
      • transitions on data lines are only on LVDS clock rising edge
  • Case 2:
    • we set:
      • rlDevDataPathCfg_t -> intfSel = 1 (LVDS interface selected)
      • rlDevDataPathClkCfg_t -> laneClkCfg = 0b (SDR Clock)
      • rlDevDataPathClkCfg_t -> dataRate = 0100b (SDR 300Mbps)
      • rlDevHsiClk_t -> hsiClk = 0xB (SDR 300)
    • we get:
      • LVDS clock  frequency measured at N14-N15 pair equal to 25MHz
      • transitions on data lines are only on LVDS clock rising edge

Q2: Can you please confirm or comment on the above measured LVDS clock frequencies?

Thank you in advance for any help.

  • Hi

    Do you have a DCA1000 board?

    Did you measure the LVDS clock with that board?

    Thank you
    Cesar
  • Hi Cesar,
    Thanks for your answer.

    We haven't the DCA1000 board.
    We measured the LVDS clock frequency with a bank oscilloscope.

    I can add a bit of information for you: signal transitions on data lines occur with the same frequency of LVDS clock.

    Do you think this behaviour is not compliant with the expected one?
    Should we measure a higher (12 times) clock frequency?

    Thank you,
  • Hi Paolo,

    Could you please provide more information on how you are configuring the AWR1243BOOST? Are you using MMWave Studio? If so, could you please include screenshots from mmWaveStudio showing the different configurations, or the log file from mmWave Studio? (You can obtain the log file by selecting "View -> Output" to get the output window and then right click in the output window are and select "Show Log").

    Best Regards,
    Anand
  • Hi Anand,

    Thanks for your reply.

    Actually I am using my external MCU to configure the AWR1243BOOST (via SPI) through the mmWaveLink DFP.

    I can attach the DFP debug printf.

    Please, let me know if this is sufficent for you to understand the problem.

    awr1243_ctrl_enable Callback is called by mmWaveLink for Device Index [0]
    mmWave Device Power on success for deviceMap 1 
    
    ==========================Firmware Download==========================
    Master SS FIrmware download started for deviceMap 1
    Download in Progress: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..Done!
    Master SS FIrmware download complete ret = 0
    
    Radar SS Firmware download started for deviceMap 1
    Download in Progress: 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..Done!
    Radar SS Firmware download complete ret = 0
    
    Config File download started for deviceMap 1
    Done!
    Config file  download complete ret = 0
    
    Waiting for firmware update response from mmWave device 
    Firmware update successful for deviceMap 1 
    =====================================================================
    Debug: Finished rlDeviceSetMiscConfig
    CRC Type set for MasterSS success for deviceMap 1 
    
    rlDeviceRfStart succeeded
    rlDeviceRfStart response received
    
    RF Version [ 2. 0. 0.15] 
    MSS version [ 1.10. 0.23] 
    mmWaveLink version [ 1. 0. 0. 0]
    rlDeviceGetVersion succeeded
    Radar/RF subsystem Power up successful for deviceMap 1 
    
    ======================Basic/Static Configuration======================
    Calling rlSetChannelConfig With [1]Rx and [1]Tx Channel Enabled 
    Channel Configuration success for deviceMap 1
    
    Calling rlSetAdcOutConfig With [0]ADC Bits and [0]ADC Format 
    AdcOut Configuration success for deviceMap 1
    
    Data format Configuration success for deviceMap 1
    Low Power Configuration success for deviceMap 1 
    Debug: Finished rlSetAsyncEventDir
    AsyncEvent Configuration success for deviceMap 1 
    
    Basic/Static configuration success for deviceMap 1 
    Async event: RF-init calibration status 
    RF Initialization/Calibration successful for deviceMap 1 
    ====================================================================
    
    ======================FMCW Configuration======================
    Calling rlSetProfileConfig with ProfileId[0] arguments
    Start Frequency[77.000] GHz
    Ramp Slope[79.999] MHz/uS
    Profile Configuration success for deviceMap 1 
    
    Calling rlSetChirpConfig with Chirp[0] arguments
    Start Idx[0]
    End Idx[0].
    Chirp Configuration success for deviceMap 1 
    
    ==================Data Path(LVDS/CSI2) Configuration==================
    Calling rlDeviceSetDataPathConfig with HSI Interface[1] Selected 
    Data Path Configuration successful for deviceMap 1 
    
    Calling rlDeviceSetDataPathClkConfig with HSI Data Rate[2] Selected 
    MMWL_hsiDataRateConfig success for deviceMap 1
    
    Calling rlDeviceSetHsiClk with HSI Clock[5] 
    MMWL_setHsiClock success for deviceMap 1
    
    CSI2/LVDS Clock Configuration success for deviceMap 1 
    
    LaneConfig success for deviceMap 1
    LvdsLaneConfig success for deviceMap 1
    CSI2/LVDS Lane Configuration success for deviceMap 1 
    ======================================================================
    
    Calling rlSetFrameConfig with 
    Start Idx[0]
    End Idx[0]
    Loops[1]
    Periodicity[20]ms
    Num Frames[0] 
    Frame Configuration success for deviceMap 1 
    ======================================================================
    
    Async event: Frame trigger 
    Sensor Start successful for deviceMap 1 
    
    ======================================================================
    
    Async event: Frame stopped 
    Sensor Stop successful for deviceMap 1 

  • Hi Paolo,

    Is the log you shared based on the mmwavelink example? If so, could you let me know if any customizations were done to the example code?

    The example binary generates a trace.txt file when it is run. Would it be possible to share this file here.

    We will review these settings again and get back to you.

    Best Regards,
    Anand
  • Anand,

    Anand Gadiyar said:
    If so, could you let me know if any customizations were done to the example code?

    Of course we started from the mmwavelink example, but "any customizations were done to the example code" means our whole project or, at least, a big part of it. It is a little bit unsual to share that on an engineers forum.

    My impression is that the significative part is

    ==================Data Path(LVDS/CSI2) Configuration==================
    Calling rlDeviceSetDataPathConfig with HSI Interface[1] Selected 
    Data Path Configuration successful for deviceMap 1 
    
    Calling rlDeviceSetDataPathClkConfig with HSI Data Rate[2] Selected 
    MMWL_hsiDataRateConfig success for deviceMap 1
    
    Calling rlDeviceSetHsiClk with HSI Clock[5] 
    MMWL_setHsiClock success for deviceMap 1
    
    CSI2/LVDS Clock Configuration success for deviceMap 1 
    
    LaneConfig success for deviceMap 1
    LvdsLaneConfig success for deviceMap 1
    CSI2/LVDS Lane Configuration success for deviceMap 1 
    ======================================================================

    Through which we are setting the mmWaveLink DFP data structures as I wrote in my first post. The mmWaveLink DFP is then in charge of downloading these settings to the AWR through the callbacks we have instantiated on our MCU.

    Is there any other way to set the LVDS clock? Might be we are sending also some obsole/wrong setting to the AWR HSI clock a part from the ones I have reported above? Or is that correct for LVDS?

    Thank you,

  • Hi Paolo,

    These settings appear to be correct for a 450 MHz rate, although I'm not sure what you're using for the laneClkCfg parameter (SDR vs DDR) - this is missing in the logs.

    Also, the default settings used by the example should also be a valid clock rate of 300 MHz DDR (600 Mbps).

    Could you check what you measure with the default example as is?

    Best Regards,
    Anand
  • Anand Gadiyar said:
    although I'm not sure what you're using for the laneClkCfg parameter (SDR vs DDR) - this is missing in the logs.

    From my first post:

    Paolo Falcone said:
    For example:
    • Case 1:
      • we set:
        • rlDevDataPathCfg_t -> intfSel = 1 (LVDS interface selected)
        • rlDevDataPathClkCfg_t -> laneClkCfg = 1b (DDR Clock)
        • rlDevDataPathClkCfg_t -> dataRate = 0010b (DDR 450Mbps)
        • rlDevHsiClk_t -> hsiClk = 0x5 (DDR 450)

      • we get:
        • LVDS clock  frequency measured at N14-N15 pair equal to 37.5MHz
        • transitions on data lines are only on LVDS clock rising edge
    • Case 2:
      • we set:
        • rlDevDataPathCfg_t -> intfSel = 1 (LVDS interface selected)
        • rlDevDataPathClkCfg_t -> laneClkCfg = 0b (SDR Clock)
        • rlDevDataPathClkCfg_t -> dataRate = 0100b (SDR 300Mbps)
        • rlDevHsiClk_t -> hsiClk = 0xB (SDR 300)
      • we get:
        • LVDS clock  frequency measured at N14-N15 pair equal to 25MHz
        • transitions on data lines are only on LVDS clock rising edge

    Anand Gadiyar said:
    Also, the default settings used by the example should also be a valid clock rate of 300 MHz DDR (600 Mbps).

    Could you check what you measure with the default example as is?

    I will check with the default mmwavelink_example.exe and I will let you know as soon as possible.