ZHCSJS8 May 2019 ADS7138
ADVANCE INFORMATION for pre-production products; subject to change without notice.
The ADS7138 features a built-in oversampling (OSR) function that can be used to average several samples. The averaging filter can be enabled by programming the OSR[2:0] bits in the OSR_CFG register. The averaging filter configuration is common to all analog input channels. Figure 5 shows that the averaging filter module output is 16 bits long. In the manual conversion mode and auto-sequence mode, only the first conversion for the selected analog input channel must be initiated by the host; see the Manual Mode and Auto-Sequence Mode sections. As shown in Figure 5, any remaining conversions for the selected averaging factor are generated internally. The time required to complete the averaging operation is determined by the sampling speed and number of samples to be averaged. As shown in Figure 5, the 16-bit result can be read out after the averaging operation completes.
In Figure 5, SCL is stretched by the device after the start of conversions until the averaging operation is complete.
If SCL stretching is not required during averaging, enable the statistics registers by setting STATS_EN to 1b and initiate conversions by writing 1b to the CNVST bit. The OSR_DONE bit in the SYSTEM_STATUS register can be polled to check the averaging completion status. When using the CNVST bit to initiate conversion, the result can be read in the RECENT_CHx_LSB and RECENT_CHx_MSB registers.
In the autonomous mode of operation, samples from the analog input channels that are enabled in the AUTO_SEQ_CH_SEL register are averaged sequentially; see the Autonomous Mode section. The digital window comparator compares the top 12 bits of the 16-bit average result with the thresholds.
Equation 2 provides the LSB value of the 16-bit average result.