ZHCSEB2A October 2015 – November 2015 ADS1018-Q1
PRODUCTION DATA.
The ADS1018-Q1 is a very small, low-power, noise-free, 12-bit, delta-sigma (ΔΣ) analog-to-digital converter (ADC). The ADS1018-Q1 consists of a ΔΣ ADC core with adjustable gain, an internal voltage reference, a clock oscillator, and an SPI. This device is also a highly linear and accurate temperature sensor. All of these features are intended to reduce required external circuitry and improve performance. The Functional Block Diagram section shows the ADS1018-Q1 functional block diagram.
The ADS1018-Q1 ADC core measures a differential signal, VIN, that is the difference of V(AINP) and V(AINN). The converter core consists of a differential, switched-capacitor ΔΣ modulator followed by a digital filter. This architecture results in a very strong attenuation in any common-mode signals. Input signals are compared to the internal voltage reference. The digital filter receives a high-speed bitstream from the modulator and outputs a code proportional to the input voltage.
The ADS1018-Q1 has two available conversion modes: single-shot and continuous-conversion. In single-shot mode, the ADC performs one conversion of the input signal upon request and stores the value to an internal conversion register. The device then enters a power-down state. This mode is intended to provide significant power savings in systems that require only periodic conversions or when there are long idle periods between conversions. In continuous-conversion mode, the ADC automatically begins a conversion of the input signal as soon as the previous conversion is completed. The rate of continuous conversion is equal to the programmed data rate. Data can be read at any time and always reflect the most recently completed conversion.
The ADS1018-Q1 contains an input multiplexer (mux), as shown in Figure 8. Either four single-ended or two differential signals can be measured. Additionally, AIN0, AIN1, and AIN2 can be measured differentially to AIN3. The multiplexer is configured by bits MUX[2:0] in the Config register. When single-ended signals are measured, the negative input of the ADC is internally connected to GND by a switch within the multiplexer.
When measuring single-ended inputs, the device does not output negative codes. These negative codes indicate negative differential signals; that is, (V(AINP) – V(AINN)) < 0. Electrostatic discharge (ESD) diodes to VDD and GND protect the ADS1018-Q1 inputs. To prevent the ESD diodes from turning on, keep the absolute voltage on any input within the range given in Equation 1:
If the voltages on the input pins can possibly violate these conditions, use external Schottky diodes and series resistors to limit the input current to safe values (see the Absolute Maximum Ratings table).
Also, overdriving one unused input on the ADS1018-Q1 may affect conversions currently taking place on other input pins. If overdriving unused inputs is possible, clamp the signal with external Schottky diodes.
The ADS1018-Q1 uses a switched-capacitor input stage where capacitors are continuously charged and then discharged to measure the voltage between AINP and AINN. This frequency at which the input signal is sampled is called the sampling frequency or the modulator frequency (f(MOD)). The ADS1018-Q1 has a 1 MHz internal oscillator which is further divided by a factor of 4 to generate the modulator frequency at 250 kHz. The capacitors used in this input stage are small, and to external circuitry, the average loading appears resistive. This structure is shown in Figure 9. The resistance is set by the capacitor values and the rate at which they are switched. Figure 10 shows the setting of the switches illustrated in Figure 9. During the sampling phase, switches S1 are closed. This event charges CA1 to V(AINP), CA2 to V(AINN), and CB to (V(AINP) – V(AINN)). During the discharge phase, S1 is first opened and then S2 is closed. Both CA1 and CA2 then discharge to approximately 0.7 V and CB discharges to 0 V. This charging draws a very small transient current from the source driving the ADS1018-Q1 analog inputs. The average value of this current can be used to calculate the effective impedance (Zeff), where Zeff = VIN / IAVERAGE.
Common-mode input impedance is measured by applying a common-mode signal to the shorted AINP and AINN inputs and measuring the average current consumed by each pin. The common-mode input impedance changes depending on the full-scale range, but is approximately 6 MΩ for the default full-scale range. In Figure 9, the common-mode input impedance is ZCM.
The differential input impedance is measured by applying a differential signal to AINP and AINN inputs where one input is held at 0.7 V. The current that flows through the pin connected to 0.7 V is the differential current and scales with the full-scale range. In Figure 9, the differential input impedance is ZDIFF.
Make sure to consider the typical value of the input impedance. Unless the input source has a low impedance, the ADS1018-Q1 input impedance may affect the measurement accuracy. For sources with high output impedance, buffering may be necessary. Active buffers introduce noise, and also introduce offset and gain errors. Consider all of these factors in high-accuracy applications.
The clock oscillator frequency drifts slightly with temperature; therefore, the input impedances also drift. For most applications, this input impedance drift is negligible, and can be ignored.
A programmable gain amplifier (PGA) is implemented in front of the ADS1018-Q1 ΔΣ ADC core. The full-scale range is configured by bits PGA[2:0] in the Config register, and can be set to ±6.144 V, ±4.096 V, ±2.048 V, ±1.024 V, ±0.512 V, or ±0.256 V.
Table 1 shows the FSR together with the corresponding LSB size. Calculate the LSB size from the full-scale voltage by the formula shown in Equation 2. However, make sure that the analog input voltage never exceeds the analog input voltage range limit given in the Electrical Characteristics. If VDD greater than 4 V is used, the ±6.144-V full-scale range allows input voltages to extend up to the supply. Note though that in this case, or whenever the supply voltage is less than the full-scale range (for example, VDD = 3.3 V and full-scale range = ±4.096 V), a full-scale ADC output code cannot be obtained. This inability means that some dynamic range is lost.
The ADS1018-Q1 has an integrated voltage reference. An external reference cannot be used with this device. Errors associated with the initial voltage reference accuracy and the reference drift with temperature are included in the gain error and gain drift specifications in the Electrical Characteristics.
The ADS1018-Q1 has an integrated oscillator running at 1 MHz. No external clock is required to operate the device. Note that the internal oscillator drifts over temperature and time. The output data rate scales proportionally with the oscillator frequency.
The ADS1018-Q1 offers an integrated precision temperature sensor. To enable the temperature sensor mode, set bit TS_MODE = 1 in the Config register. Temperature data are represented as a 12-bit result that is left-justified within the 16-bit conversion result. Data are output starting with the most significant byte (MSB). When reading the two data bytes, the first 12 bits are used to indicate the temperature measurement result. One 12-bit LSB equals 0.125°C. Negative numbers are represented in binary twos complement format, as shown in Table 2.
TEMPERATURE (°C) | DIGITAL OUTPUT (BINARY) | HEX |
---|---|---|
128 | 0 100 0000 0000 | 400 |
127.875 | 0 011 1111 1111 | 3FF |
100 | 0 011 0010 0000 | 320 |
80 | 0 010 1000 0000 | 280 |
75 | 0 010 0101 1000 | 258 |
50 | 0 001 1001 0000 | 190 |
25 | 0 000 1100 1000 | 0C8 |
0.25 | 0 000 0000 0010 | 002 |
0 | 0 000 0000 0000 | 000 |
–0.25 | 1 111 1111 1110 | FFE |
–25 | 1 111 0011 1000 | F38 |
–40 | 1 110 1100 0000 | EC0 |
For positive temperatures:
Twos complement is not performed on positive numbers. Therefore, simply convert the number to binary code in a 12-bit, left justified format with the MSB = 0 to denote the positive sign.
Example: 50°C / (0.125°C/count) = 400 = 190h = 0001 1001 0000
For negative temperatures:
Generate the twos complement of a negative number by complementing the absolute binary number and adding 1. Then, denote the negative sign with the MSB = 1.
Example: |–25°C| / (0.125/count) = 200 = 0C8h = 0000 1100 1000
Twos complement format: 1111 0011 01111 + 1 = 1111 0011 1000
To convert from digital codes to temperature, first check whether the MSB is a 0 or a 1. If the MSB is a 0, simply multiply the decimal code by 0.125°C to obtain the result. If the MSB = 1, subtract 1 from the result and complement all of the bits. Then, multiply the result by –0.125°C.
Example: The device reads back 258h: 258h has an MSB = 0.
258h × 0.125°C = 600 × 0.125°C = +75°C
Example: The device reads back F38h: F38h has an MSB = 1.
Subtract 1 and complement the result: F38h → C8h
C8h × (–0.125°C) = 200 × (–0.125°C) = –25°C
When the ADS1018-Q1 powers up, the device resets. As part of the reset process, the ADS1018-Q1 sets all bits in the Config register to the respective default settings. By default, the ADS1018-Q1 enters a power-down state at start-up. The device interface and digital blocks are active, but no data conversions are performed. The initial power-down state of the ADS1018-Q1 relieves systems with tight power-supply requirements from encountering a surge during power-up.
The ADS1018-Q1 operates in one of two modes: continuous-conversion or single-shot. The MODE bit in the Config register selects the respective operating mode.
When the MODE bit in the Config register is set to 1, the ADS1018-Q1 enters a power-down state, and operates in single-shot mode. This power-down state is the default state for the ADS1018-Q1 when power is first applied. Although powered down, the device still responds to commands. The ADS1018-Q1 remains in this power-down state until a 1 is written to the single-shot (SS) bit in the Config register. When the SS bit is asserted, the device powers up, resets the SS bit to 0, and starts a single conversion. When conversion data are ready for retrieval, the device powers down again. Writing a 1 to the SS bit while a conversion is ongoing has no effect. To switch to continuous-conversion mode, write a 0 to the MODE bit in the Config register.
In continuous-conversion mode (MODE bit set to 0), the ADS1018-Q1 continuously performs conversions. When a conversion completes, the ADS1018-Q1 places the result in the Conversion register and immediately begins another conversion. To switch to single-shot mode, write a 1 to the MODE bit in the Config register, or reset the device.
The noise performance of a ΔΣ ADC generally improves when lowering the output data rate because more samples of the internal modulator are averaged to yield one conversion result. In applications where power consumption is critical, the improved noise performance at low data rates may not be required. For these applications, the ADS1018-Q1 supports duty cycling that can yield significant power savings by periodically requesting high data-rate readings at an effectively lower data rate.
For example, an ADS1018-Q1 in power-down state with a data rate set to 3300 SPS can be operated by a microcontroller that instructs a single-shot conversion every 7.8 ms (128 SPS). A conversion at 3300 SPS only requires approximately 0.3 ms; therefore, the ADS1018-Q1 enters power-down state for the remaining 7.5 ms. In this configuration, the ADS1018-Q1 consumes approximately 1/25th the power that is otherwise consumed in continuous-conversion mode. The duty cycling rate is completely arbitrary and is defined by the master controller. The ADS1018-Q1 offers lower data rates that do not implement duty cycling and also offers improved noise performance, if required.
The SPI-compatible serial interface consists of either four signals (CS, SCLK, DIN, and DOUT/DRDY), or three signals (SCLK, DIN, and DOUT/DRDY, with CS tied low). The interface is used to read conversion data, read from and write to registers, and control device operation.
The chip select pin (CS) selects the ADS1018-Q1 for SPI communication. This feature is useful when multiple devices share the same serial bus. Keep CS low for the duration of the serial communication. When CS is taken high, the serial interface is reset, SCLK is ignored, and DOUT/DRDY enters a high-impedance state. In this state, DOUT/DRDY cannot provide data-ready indication. In situations where multiple devices are present and DOUT/DRDY must be monitored, lower CS periodically. At this point, the DOUT/DRDY pin either immediately goes high to indicate that no new data are available, or immediately goes low to indicate that new data are present in the Conversion register and are available for transfer. New data can be transferred at any time without concern of data corruption. When a transmission starts, the current result is locked into the output shift register and does not change until the communication completes. This system avoids any possibility of data corruption.
The serial clock pin (SCLK) features a Schmitt-triggered input and is used to clock data on the DIN and DOUT/DRDY pins into and out of the ADS1018-Q1. Even though the input has hysteresis, keep SCLK as clean as possible to prevent glitches from accidentally shifting the data. To reset the serial interface, hold SCLK low for 28 ms, and the next SCLK pulse starts a new communication cycle. Use this time-out feature to recover communication when a serial interface transmission is interrupted. When the serial interface is idle, hold SCLK low.
The data input pin (DIN) is used along with SCLK to send data to the ADS1018-Q1. The device latches data on DIN at the SCLK falling edge. The ADS1018-Q1 never drives the DIN pin.
The data output and data ready pin (DOUT/DRDY) is used with SCLK to read conversion and register data from the ADS1018-Q1. Data on DOUT/DRDY are shifted out on the SCLK rising edge. DOUT/DRDY is also used to indicate that a conversion is complete and new data are available. This pin transitions low when new data are ready for retrieval. DOUT/DRDY is also able to trigger a microcontroller to start reading data from the ADS1018-Q1. In continuous-conversion mode, DOUT/DRDY transitions high again 8 µs before the next data ready signal (DOUT/DRDY low) if no data are retrieved from the device. This transition is shown in Figure 11. Complete the data transfer before DOUT/DRDY returns high.
NOINDENT:
CS can be held low if the ADS1018-Q1 does not share the serial bus with another device. If CS is low, DOUT/DRDY asserts low indicating new data are available.When CS is high, DOUT/DRDY is configured by default with a weak internal pullup resistor. This feature reduces the risk of DOUT/DRDY floating near midsupply and causing leakage current in the master device. To disable this pullup resistor and place the device into a high-impedance state, set the PULL_UP_EN bit to 0 in the Config register.
The ADS1018-Q1 provides 12 bits of data in binary twos complement format that is left justified within the 16-bit data word. A positive full-scale (+FS) input produces an output code of 7FF0h and a negative full-scale (–FS) input produces an output code of 8000h. The output clips at these codes for signals that exceed full-scale. Table 3 summarizes the ideal output codes for different input signals. Figure 12 shows code transitions versus input voltage.
INPUT SIGNAL, VIN
(AINP – AINN) |
IDEAL OUTPUT CODE(1) |
---|---|
≥ +FS (211 – 1) / 211 | 7FF0h |
+FS / 211 | 0010h |
0 | 0 |
–FS / 211 | FFF0h |
≤ –FS | 8000h |
Data is written to and read from the ADS1018-Q1 in the same manner for both single-shot and continuous conversion modes, without having to issue any commands. The operating mode for the ADS1018-Q1 is selected by the MODE bit in the Config register.
Set the MODE bit to 0 to put the device in continuous-conversion mode. In continuous-conversion mode, the device is constantly starting new conversions even when CS is high.
Set the MODE bit to 1 for single-shot mode. In single-shot mode, a new conversion only starts by writing a 1 to the SS bit.
The conversion data are always buffered, and retain the current data until replaced by new conversion data. Therefore, data can be read at any time without concern of data corruption. When DOUT/DRDY asserts low, indicating that new conversion data are ready, the conversion data are read by shifting the data out on DOUT/DRDY. The MSB of the data (bit 15) on DOUT/DRDY is clocked out on the first SCLK rising edge. At the same time that the conversion result is clocked out of DOUT/DRDY, new Config register data are latched on DIN on the SCLK falling edge.
The ADS1018-Q1 also offers the possibility of direct readback of the Config register settings in the same data transmission cycle. One complete data transmission cycle consists of either 32 bits (when the Config register data readback is used) or 16 bits (only used when the CS line can be controlled and is not permanently tied low).
The data in a 32-bit data transmission cycle consist of four bytes: two bytes for the conversion result, and an additional two bytes for the Config register readback. The device always reads the MSB first.
Write the same Config register setting twice during one transmission cycle as shown in Figure 13. If convenient, write the Config register setting once during the first half of the transmission cycle, and then hold the DIN pin either low (as shown in Figure 14) or high during the second half of the cycle. If no update to the Config register is required, hold the DIN pin either low or high during the entire transmission cycle. The Config register setting written in the first two bytes of a 32-bit transmission cycle is read back in the last two bytes of the same cycle.
NOINDENT:
CS can be held low if the ADS1018-Q1 does not share the serial bus with another device. If CS is low, DOUT/DRDY asserts low indicating new data are available.NOINDENT:
CS can be held low if the ADS1018-Q1 does not share the serial bus with another device. If CS is low, DOUT/DRDY asserts low indicating new data are available.If Config register data are not required to be read back, the ADS1018-Q1 conversion data can be clocked out in a short 16-bit data transmission cycle, as shown in Figure 15. Take CS high after the 16th SCLK cycle to reset the SPI interface. The next time CS is taken low, data transmission starts with the currently buffered conversion result on the first SCLK rising edge. If DOUT/DRDY is low when data retrieval starts, the conversion buffer is already updated with a new result. Otherwise, if DOUT/DRDY is high, the same result from the previous data transmission cycle is read.
The ADS1018-Q1 has two registers that are accessible through the SPI. The Conversion register contains the result of the last conversion. The Config register allows the user to change the ADS1018-Q1 operating modes and query the status of the devices.
The 16-bit Conversion register contains the result of the last conversion in binary twos complement format. Following power up, the Conversion register is cleared to 0, and remains 0 until the first conversion is complete. The register format is shown in Figure 16.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 |
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
D3 | D2 | D1 | D0 | Reserved | |||
R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15:4 | D[11:0] | R | 000h | 12-bit conversion result |
3:0 | Reserved | R | 0h | Always Reads back 0h |
The 16-bit Config register can be used to control the ADS1018-Q1 operating mode, input selection, data rate, full-scale range, and temperature sensor mode. The register format is shown in Figure 17.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
SS | MUX[2:0] | PGA[2:0] | MODE | ||||
R/W-0h | R/W-0h | R/W-2h | R/W-1h | ||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DR[2:0] | TS_MODE | PULL_UP_EN | NOP[1:0] | Reserved | |||
R/W-4h | R/W-0h | R/W-1h | R/W-1h | R-1h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15 | SS | R/W | 0h | Single-shot conversion start
This bit is used to start a single conversion. SS can only be written when in power-down state and has no effect when a conversion is ongoing. When writing: 0 = No effect 1 = Start a single conversion (when in power-down state) Always reads back as 0 (default). |
14:12 | MUX[2:0] | R/W | 0h | Input multiplexer configuration
These bits configure the input multiplexer. 000 = AINP is AIN0 and AINN is AIN1 (default) 001 = AINP is AIN0 and AINN is AIN3 010 = AINP is AIN1 and AINN is AIN3 011 = AINP is AIN2 and AINN is AIN3 100 = AINP is AIN0 and AINN is GND 101 = AINP is AIN1 and AINN is GND 110 = AINP is AIN2 and AINN is GND 111 = AINP is AIN3 and AINN is GND |
11:9 | PGA[2:0] | R/W | 2h | Programmable gain amplifier configuration
These bits configure the programmable gain amplifier. 000 = FSR is ±6.144 V(1) 001 = FSR is ±4.096 V(1) 010 = FSR is ±2.048 V (default) 011 = FSR is ±1.024 V 100 = FSR is ±0.512 V 101 = FSR is ±0.256 V 110 = FSR is ±0.256 V 111 = FSR is ±0.256 V |
8 | MODE | R/W | 1h | Device operating mode
This bit controls the ADS1018-Q1 operating mode. 0 = Continuous-conversion mode 1 = Power-down and single-shot mode (default) |
7:5 | DR[2:0] | R/W | 4h | Data rate
These bits control the data-rate setting. 000 = 128 SPS 001 = 250 SPS 010 = 490 SPS 011 = 920 SPS 100 = 1600 SPS (default) 101 = 2400 SPS 110 = 3300 SPS 111 = Not Used |
4 | TS_MODE | R/W | 0h | Temperature sensor mode
This bit configures the ADC to convert temperature or input signals. 0 = ADC mode (default) 1 = Temperature sensor mode |
3 | PULL_UP_EN | R/W | 1h | Pullup enable
This bit enables a weak internal pullup resistor on the DOUT/DRDY pin only when CS is high. When enabled, an internal 400-kΩ resistor connects the bus line to supply. When disabled, the DOUT/DRDY pin floats. 0 = Pullup resistor disabled on DOUT/DRDY pin 1 = Pullup resistor enabled on DOUT/DRDY pin (default) |
2:1 | NOP[1:0] | R/W | 1h | No operation
The NOP[1:0] bits control whether data are written to the Config register or not. For data to be written to the Config register, the NOP[1:0] bits must be 01. Any other value results in a NOP command. DIN can be held high or low during SCLK pulses without data being written to the Config register. 00 = Invalid data; do not update the contents of the Config register 01 = Valid data; update the Config register (default) 10 = Invalid data; do not update the contents of the Config register 11 = Invalid data; do not update the contents of the Config register |
0 | Reserved | R | 1h | Reserved
Always write 1h Reads back either 0h or 1h |