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.

ADS1292R: Reading or writing registers stops Acquisition

Part Number: ADS1292R

I am connecting to an ADS1292R via spi with an LPC4088 chip.

SPI mode is 1. CLK idles LOW, the data is set in Rising Flank and is Read in Falling Flank of clock cycle.

I have been able to read ID number correctly with 0x73 value.

Also I have read all the Register after reset and the values are the same as in the datasheet.

The problem is that if i READ or WRITE ANY register when i restart conversions the STATUS byte wont be correct anymore. As we know the status byte starts with 1100 and NOT EVEN THAT STAYS correct.

My tests done were:

Scenery 1,Sending SDATAC RDATAC START AND RESET routines:

1-TURN ON MY PCB (custom PCB that is working with older uC and the same ADS1292R chip),

2-Provide RESET> hardwareSTOP (start pin to 0)> provide SDATAC Command

3- Provide RDATAC > hardwareStart( start pin to 1)

Result, the chip still working and im getting status byte correct and changing values in channel 1 and 2.  is this noise in channel due reset condition of CH1 and CH2?

Scenery 2 Reading Registers one or more:

1-Provide STOP and SDATAC

2- read one or more registers, values obtaine are correct as per datasheet

3-Provide RDATAC and START

STATUS BYTE CHANGED, channels no longer vary values

Scenery 3 Writing Registers one or more, and NO READING ANY REGISTER:

1-Provide STOP and SDATAC

2- write CONFIG1 register with vale of 0x01 which configures 250 SPS

3-Provide RDATAC and START

4- check this changes by measuring DRDY which correctly has 4 ms between falling edges of end of conversion

In this case the change has been made but the STATUS byte is starting with 0100 and the channels wont change anymore

So i conclude that any read or write to registers i am doing are wrong or something is wrong. I assume the SPI communications is ok since i can read ID and status on Reset configuration correctly.

I have used ADS1292r in this pc with another uC and the same software same timings, so i cant find what it is

Please i need help.

  • Hola Alejandro,

    Thanks for your post and welcome to our forum!

    First, let me simplify things a little. The active ADC conversions, which are controlled by the START pin, do not affect your ability to read/write registers. So during your startup routine, you can pull the START pin high and leave it alone. To access the registers, send SDATAC, read/write registers, and send RDATAC when you're done.

    Are you making sure that all of the data (STATUS + 2 channels) are completely read before the next /DRDY falling edge?

    When you say "the channels won't change", what values are you reading? 0x7FFFFF and 0x800000 correspond to positive and negative full-scale outputs, respectively.

    Best regards,

  • Hello and thank you for your time.

    I have found the issue minutes ago, it was a simple mistake very common and kinda embarrassing.

    Since i'm using a RTOS, i had enabled interrupts prior to ADS initialization, so the changes in DRDY interrupted the initialization software, this was the problem, i was reading the data in the middle of the reading and writing registers.

    Regards, i hope this helps another fellow.

    Alejandro.-

  • Alejandro - we all make simple mistakes! I'm glad you solved your issue. :)

    Best regards,