ADAR1000 ADC Init & Output Interpretation

Hallo,

I'm trying to use the ADAR1000's in built ADC to read out the temperature & power detectors and have several questions regarding it which I unfortunately could not resolve by reading the manual.

First of all regarding the ADC's initialization:

In the register 0x032 (REG_ADC_CNTRL)  there is a clock enable bit and an ADC enable bit (which also resets the ADC). Shall the clock enable bit be set in a separate transaction before setting the ADC enable bit? And if so, how much time shall pass in between?

And when should the conversion start bit be set? Can it be set simultaneously with the other bits or be delayed?

Regarding the Output of the ADC:

How shall the data byte be interpreted?

  • What is the resolution in terms of temperature? e.g. 0 = 0° and 255 = 255° (unlikely)
  • What is the resolution for the power detectors?

I hope someone can help me, thanks in advance.

Best Regards,

Parents
  • +1
    •  Analog Employees 
    on Dec 17, 2020 11:00 PM 3 months ago

    You can enable the ADC and the clock in the same SPI write.  I would assert the start conversion bit in a subsequent SPI write after the clock and ADC are enabled.

    If you look at the specifications table, the temperature has a slope of 0.8 LSB/degC.  The offset value is dependent on the bias conditions of the part.  Take a look at Figure 80 in the Rev. A datasheet.

    For the detector, the transfer function is shown in Figure 78.  I think it is a linear-in-voltage detector, so I'm going to have to undo the LOG plot that is shown in Figure 78 to get an LSB/Volt number.  

  • Hello,

    thanks for your reply. I'm initializing the ADC as you recomanded, but I keep getting the exact same value (156 Dez) when trying to read the temperature sensor. Even if I cool the ADAR down by means of a refrigerating spray, the value keeps stable at 156. Something is not measuring correctly. Do you spot any mistake in my attemps to measure the temperature?

    The bias config is nominal for both RX & TX path (in case this info helps).

    Pseudo Code:

    	//ADC_CLKFREQ_SEL = 0, ADC_EN = 1, CLK_EN = 1, ST_CONV = 0, MUX_SEL = 000,
    	WRITE 0x032, 0x60
    
    	//START Conversion
    	//ADC_CLKFREQ_SEL = 0, ADC_EN = 1, CLK_EN = 1, MUX_SEL = 000, ST_CONV = 1
        WRITE 0x032, 0x70
        
        ...
     while(1)
     {
        ...
        //Read Temperature
        READ 0x033
        ...    
    }

    Best Regards,

  • 0
    •  Analog Employees 
    on Jan 21, 2021 5:31 PM 2 months ago in reply to Stonebull

    It looks like you are sampling the Temperature Sensor output due to the Mux Select = 0b000.  An ADC output code of 156 decimal is about right.  Take a look Figure 80 in the Rev. A datasheet: at 25 degC, you should be measuring in the mid 150's while in Receive mode (with nominal bias) and about 160 in Transmit mode (with nominal bias). 

    It looks like the ADC and temperature sensor is working OK. 

  • Thanks for your reply. During the operation of the ADAR we were monitoring the PCB with a thermo cam, which revealed that the ADAR's temperature was around 70 °C. How can the temperature sensor output 25°C if the whole chip is already well above that limit? Moreover, cooling down the chip did not result in any change of the measured value at all. How can this be? What temperature is the ADAR monitoring and how can it be so stable?

  • Thanks for your reply. During the operation of the ADAR we were monitoring the PCB with a thermo cam, which revealed that the ADAR's temperature was around 70 °C. How can the temperature sensor output 25°C if the whole chip is already well above that limit? Moreover, cooling down the chip did not result in any change of the measured value at all. How can this be? What temperature is the ADAR monitoring and how can it be so stable?

    EDIT: I just realized what caused the ADC to output always the same value regardless of changes in temperature. I missunderstood the datasheet and thought that the ST_CONV bit initiates a continiouse conversion. But it only triggers one single conversion instead.

    Is there some other way to trigger the ADC? This is especially interesting for reading the Power Detector values. In our setup the TX phase is pulsed and the power detector of each channel is connected to its TX output. Therefore the power sampling is only interesting if done during the sending phase. Is there a way to initiate the ADC sampling automatically while the ADAR is in TX mode?

    Additionally I would kindly request for some additional information about the SPI communication module of the ADAR1000.

    1. What is the Wave Impedance of the transmission lines? Is it 50 Ohms?

    2. Regarding the ADAR Silicon Errata from the 26th of July 2020 about the "Unintentional Write to all" problem, I was wondering if you could simply pull the chip select line high for thoes chips that are not meant to respond to a read request in order to read from one single module. Would the ADARs that receive a HIGH level on their chip select line free the MISO line or still keep it driven to a level, thus inhibiting communication?

    Best Regards,

  • 0
    •  Analog Employees 
    on Jan 29, 2021 6:02 PM 2 months ago in reply to Stonebull

    No, unfortunately the only way to start an ADC conversion is to assert the ST_CONV bit, and as you said it is only a single conversion. 

    The ADC was really meant for a self testing mechanism during a system setup, i.e. you would have a continuous Tx signal being sampled and could easily sample it without worrying about any sort of timing windows.  So no, there isn't a why to automatically sample while in Tx mode.  

    1. All RF Inputs and outputs are nominally 50 Ohms.  All the digital pins are high impedance, essentially looking into a gate of a FET.  

    2.  a) Yes, you could keep the CSB line high on the parts that you do not want to write to.  This would get around the Register 0x00 write all problem. 

    2.  b)  The MISO should be high impedance when CSB is high.  The problem was actually a separate, although related problem of the four chips on the bus trying to talk over each other when a Read command was issued.   

  • Hello,

    thanks for your informative replies.

     

    A different question came up during the testing of the ADAR1000.

    The device seems to get pretty hot during operation (between 70 - 80 °C at approx. 20 °C ambient temp.), independently from gain and input power. Its temperature hits nearly 80 °C with four TX channels enabled (P_out per channel = 7 dBm).

    Given that the chip's max. operating temperature is 85°C, the question is: Is that normal behavior or is our device faulty.

Reply
  • Hello,

    thanks for your informative replies.

     

    A different question came up during the testing of the ADAR1000.

    The device seems to get pretty hot during operation (between 70 - 80 °C at approx. 20 °C ambient temp.), independently from gain and input power. Its temperature hits nearly 80 °C with four TX channels enabled (P_out per channel = 7 dBm).

    Given that the chip's max. operating temperature is 85°C, the question is: Is that normal behavior or is our device faulty.

Children