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.

ADS1018: configuration registers questions

Part Number: ADS1018

Team, 

Can you please provide some guidance to my customer on their questions on configuration registers used to set the conversion mode, sampling speed, amplifier gain, etc. for ADS1018:

As per the datasheet to fetch conversion result for respective channels we need to send configuration command by setting bit 14:12 bits for respective channels, i.e. to get AIN1 channel result send config command with bit 14:12 - 101 and so on.

 

  1. On power up we will be sending configuration command for initializing device for expected settings , is it ok to send configuration command every time to get data from conversion register?
  2. As per data sheet once configuration command is received AD1018 will start conversion and result will be ready after 1/SPS interval. In case of single shot conversion how is behaviour ?  For fetching conversion result in case of single shot mode , do we need to send 2 commands? First for setting configuration and then  for fetching result?
  3. Once initialization is done with first configuration command , subsequent config command of respective channels are for initiating conversion for respective channels ? or its for fetching respective channel’s converted result?

Thank you

Viktorija

  • Viktorija,


    I'll just answer the three questions and give a basic description of how to get data out of the ADS1018 efficiently.

    1. Yes, you can send a configuration command every time to get data from the conversion register, this is described as the 32-bit data transmission cycle described on page 18 of the datasheet in section 8.5.7.1. Here you configure the device with a write to the configuration register, but are reading back the data after the completion of the last conversion.

    2. Single-shot conversion is basically the same, you would write the next configuration to start it after the last conversion completes. I highly recommend using single-shot conversion mode when there are multiple channels. When using the device in continuous conversion mode, a write to the configuration register does not get executed until after the conversion in progress completes. This can cause problems for the user because the conversion may not start when it is expected.

    3. For each channel, you need to configure the device to get the data to convert and then retrieve the data for that channel. There is not auto-cycling of the device. You program it to take data for a particular channel, then read the data and program the device for the next channel.

    Now this is the sequence I would use:

    1. Start with the 32-bit data transmission cycle with configuration register read back. This is used to start conversions and read back the previous conversion data.

    2. The master waits for the conversion to complete. . This wait time is the nominal data
    period plus 10% (to compensate for the internal oscillator variation of the device). . An additional 20µs is added for the wakeup time of the ADC for each single-shot conversion.
    Total wait time = nominal data period + 10% + 20µs

    3. Go to 1 to configure the next setting and read back the ADC from the setting of 2.

    There's a basic description of how to do this with four devices, and two differential channels of each in the following cookbook circuit. However, it still applies to one device using four single-ended channels.

    https://www.ti.com/lit/an/sbaa409/sbaa409.pdf

    Regardless, the info in this post should be enough information to get started.


    Joseph Wu

  • Hi Joseph,

    Thank you for your reply. Its understood that for every channel we need to send separate configuration command. To fetch the result we need to send configuration command for respective channel after 1/SPS interval . 

    Do the ASIC have different result register for each channel or same result register will updated for every channel?

     We need this information to know if we need to fetch the result of previous channel before sending next conversion command. If we have different result buffers we can fetch the data at any instance of time once command is send i.e. result register will not get overwritten for next channel data.

    Thank you

    Viktorija

  • Viktorija,

    Sorry I didn't get back to you earlier, but I was out of the office.

    For the ADS1018, there is a multiplexer for the front end and a single ADC. Because of this there is only one ADC output and it is read back through the method shown in the 32-bit data transmission cycle or the 16-bit data transmission cycle. Both are outlined on page 18 of the data sheet. There are no separate data registers for the different channel configurations. The result will be overwritten by new conversion data.

    Joseph Wu