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

    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 29, 2021 6:02 PM 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.

  • 0
    •  Analog Employees 
    on Feb 16, 2021 4:23 PM in reply to Stonebull

    Max ambient temp is rated to +85C, but max junction temp is rated to +135C.  If most of the heat is being removed through the bottom of the case, at 20C ambient, the junction temp should only by about 31.6 C while in Tx mode.

    Where does your 80C number come from?  Are you taking the temperature of the top of the case?  Or are you using the ADC + Temp Sensor?

  • We are measuring it with a calibrated thermal imaging camera on the top of the case.

  • 0
    •  Analog Employees 
    on Feb 17, 2021 3:50 PM in reply to Stonebull

    This is a very strange result as it does not seem to add up with the power consumption in Tx mode (1.155 W), the ambient temperature of 20C, and the thermal resistances of the package.

    • How much power is the part consuming?  More specifically, what is the current draw on the 3.3V supply?
    • Is this on the ADI evaluation board or a board of your design?
      • If it is your board, what is your via distribution in the ground pad and how many ground planes do those vias connect to?
Reply
  • 0
    •  Analog Employees 
    on Feb 17, 2021 3:50 PM in reply to Stonebull

    This is a very strange result as it does not seem to add up with the power consumption in Tx mode (1.155 W), the ambient temperature of 20C, and the thermal resistances of the package.

    • How much power is the part consuming?  More specifically, what is the current draw on the 3.3V supply?
    • Is this on the ADI evaluation board or a board of your design?
      • If it is your board, what is your via distribution in the ground pad and how many ground planes do those vias connect to?
Children
No Data