Hi all,
I am testing a new design with ADS1262 and cannot make it to run at fast sampling rate.
Running scenario:
1. Do set-up for the ADC via SPI. Read the value at beginning, then reconfigure and write data back to the ADS1262. Read again to make sure registers are set correctly. Set-up details is listed below.
2. Enable a timer interrupt on MCU, aiming at 20kHz (the device specification says it can do more than 38kHz)
3. At timer interrupt, pull START pin up to trigger a conversion
4. #DRDY pin is connected to an Interrupt pin on MCU. When #DRDY triggers, the MCU interrupt immediately read the ADS1262, and pull the START pin to low. The sequence repeats with timer interrupt and #DRDY interrupt.
Problems:
The time for #DRDY to go low from START signal is measured at about 208us. This is too slow and not correct according to the datasheet. Please see the attach photo
Below are the settings that I tried:
config->internal_ref_en = 1; //enable internal reference
config->crc_en = 1; //enable crc byte
config->status_en = 1; //enable status byte
config->chop = 0; //disable chop
config->delay_idx = (((uint8_T)0U)); //no delay - default
config->pulse_mode_en = (((uint8_T)1U)); //enable pulse mode conversion
config->filter_idx = (((uint8_T)0U)); //filter selection set to 0: sinc1 filter
config->pga_bypass = (((uint8_T)0U)); // enable PGA
config->pga_gain = (((uint8_T)5U)); // pga gain set to 0x5 (0101b): 32V/V gain
config->datarate_idx = (((uint8_T)15U)); // DR set t0 0xF : 38400 SPS
config->neg_input_mux = (((uint8_T)2U)); // Negative input: AIN2
config->pos_input_mux = (((uint8_T)0U)); // Positive input: AIN0
config->neg_ref_mux = (((uint8_T)3U)); //Negative Reference input: AIN5
config->pos_ref_mux = (((uint8_T)3U)); //Positive Reference input: AIN4
All other values are kept as default.
I'm not sure what I have done wrongly. Any help is much appreciated.
Many thanks,
Phil




