Problem on changing Rx data format setting

When I change the Rx data formant by calling API command setRxDataFormat() after the initialization completes, I can see that the parameters in taliseRxDataFormat_t by using getRxDataFormat(). However those looks being reset to the initial values when toggling RX_ENABLE. Should I call any other command to hold the new setting of Rx data formant?  

Top Replies

Parents
  • 0
    •  Analog Employees 
    on Apr 9, 2019 4:50 PM

    Sorry for delay in reply. Can you please list down the steps including what API cals you have made. If you generate a python script from TES GUI will be more helpful. I need to reproduce the issue you are seeing to understand it better.

  • 0
    •  Analog Employees 
    on Apr 10, 2019 2:48 AM in reply to gverma

    I have some additional information about this issue. 

    - Call TALISE_setRxDataFormat() and set formatSelect to TAL_GAIN_WITH_FLOATING POINT after the initial configuration done. And then verify that formatSelect is correctly set by calling TALISE_getRxDataFormat() before toggling Rx Enable signal. However it looks change to TAL_GAIN_COMPENSATION_DISABLED which is the default after toggling Rx Enable.

    -  Also changing the state of Rx by changing rxEnable from inactive to active after all initial configuration done, can see same as above.

    - verify all paraments in the structure taliseRxDataFormat_t rxDataFormat. Only formatSelect reset to the default in the above test.  

    This is strange behavior.

    If you have any suggestion I should check anything, please let me know.   

  • +1
    •  Analog Employees 
    on Apr 29, 2019 9:17 AM in reply to M-koba

    In GUI you need to select required gain compensation mode and generate stream, as this changes are added in stream.

     If it is not enabled and stream is generated then in SPI mode you can configure and use any GC mode using API, but in pin mode this mode will be overwritten by streams as the mode was not selected.

  • Thanks but I want to use pin mode with gain compensation mode in TDD. would you let me know how I should configure the chip?

  • 0
    •  Analog Employees 
    on May 9, 2019 10:25 AM in reply to Anonymous

    You can configure the chip using GUI for your use case requirement.

    Based on the configuration settings, the TES sets up structure member values that are then used by API commands. The TES allows the user to create a *.c file that contains all of these initial values. This file can be imported into a user system that uses the ADRV9008-1, ADRV9008-2, and ADRV9009 APIs. To generate the *.c files, the user must click the Tools > Save .c Init Script option. This will generate the stream.bin file which can be used for software integration.

  • 0
    •  Analog Employees 
    on May 16, 2019 12:26 PM in reply to PVALAVAN

    generated stream processor image looks same as the default and i can't see an improvement with that new stream processor.

    Should I create the files after verifying Rx works well in gain compensation mode?

  • 0
    •  Analog Employees 
    on May 17, 2019 10:43 AM in reply to M-koba

    You should configure and program successfully then need to generate script.

Reply Children
  • 0
    •  Analog Employees 
    on May 28, 2019 8:01 AM in reply to PVALAVAN

    I could see some difference in  TaliseStream.bin generated with the default Rx setting and floating point setting by using WinMerge. So I would like to verify Rx data formant setting can be held the setting in TDD switching. So can I repeatedly check Rx data formant setting by using GetRxDataFormat() in Iron Python script tab while enabling Rx channel? If yes, can you show me the reference script to verify Rx data formant setting?

  • 0
    •  Analog Employees 
    on Jun 4, 2019 6:33 AM in reply to M-koba

    Please refer to the below script,

    ##################################################
    # GainWithFloatingPoint or GainWithNoCompensation
    ##################################################
    #Ensure Stream File has been set to receive Floating Point Data
    rxDataFormatter = TaliseRxDataFormat()
    rxDataFormatter.FormatSelect = (rxDataFormatter.FormatSelect.GainWithFloatingPoint)
    rxDataFormatter.FpNumExpBits = (rxDataFormatter.FpNumExpBits.TwoExponentBits)
    rxDataFormatter.FpRoundMode = (rxDataFormatter.FpRoundMode.RoundToEven)
    rxDataFormatter.FpRx1Atten = (rxDataFormatter.FpRx1Atten.FpAtten0dB)
    rxDataFormatter.FpRx2Atten = (rxDataFormatter.FpRx2Atten.FpAtten0dB)
    rxDataFormatter.FpHideLeadingOne = (1)
    rxDataFormatter.IntEmbeddedBits = (rxDataFormatter.IntEmbeddedBits.Embed1SlicerBitAtLsb)
    rxDataFormatter.IntSampleResolution = (rxDataFormatter.IntSampleRes.Integer12Bit2sComp)
    Link.Talise.SetRxDataFormat(rxDataFormatter)
    #Link.Talise.SetRxDataFormat(TaliseRxDataFormat.1,0,0,0,0,1,0,0,2,0,0,3,3,0,0)