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.

Questions of ADS1243

Other Parts Discussed in Thread: ADS1243

I am not familiar with this part, so could you help us to answer below questions or forwarding them to right person ?

 

They have some questions as below.

1. In the ADS12443 datasheet 19 page,  if they want to use WREG comment to setting MUX register to 0x00.

Is it right to send “0101 0100 0000 0001 0000 0000” ?

 

2. if they send RESET, SELFCAL and WREG in turn, ADS1243 didn’t send any signal. Could you let us know the right way to send these comments ?

 

3. MUX register have positive and negative. Which one should be selected ?

 

4.how to read the 24bit code ? for example: (0000 0000 0000 0000 1110 0000 1100 0011)

 

5. do you have any sample code or control sequence may help understanding ?

 

  • Peter,


    1. I believe that's incorrect. The first four bits are 0101 then the next four bits indicated the address that you want to write to. Since MUX is 01, the next four bits would be 0001. Then the next byte indicates the number of bytes you want to write to +1. If you want to write 1 byte, then you write 0000 0000. Finally you select the ADC positive and negative input. Typically you would select two different inputs. If you want AIN0 as your positive input and AIN1 as the negative input then you would write 0000 0001. In this case, it's still the default.

    The total transaction would be 0101 0001 0000 0000 0000 0001, writing 1 byte to the MUX register.

    2. If they write the command, and they don't get the proper response, then you want to verify that they are writing to the device correctly. I would get an oscilloscope or logic analyzer to show the SPI communications. Grab the DIN, DOUT, SCLK, and /CS. If possible, I would also look at /DRDY just to make sure that the device is alive and taking data.

    3. The ADS1243 is a fully differential input ADC. This means that it reports the voltage measurement as a function of AINP-AINN. That means that if AINN is higher than AINP, this would report a negative number.

    4. The data output to a voltage depends on the PGA setting and the U/B Data format in the ACR register. The equivalent PGA setting is shown in TABLE VI on page 22 of the datasheet and the U/B data format is shown in the ACR explanation on page 16 of the datasheet. I'd also need to know the reference voltage to be able to calculate the result.

    5. I can check to see if there's any example code, but at this point, I'm not aware of any code that I can share.


    Joseph Wu
  • Hi Joseph,

    Thanks for your kindly reply.it’s very use for us to understand. I have 3 more questions about ADS1243.

     

    1. As we know, ADS1243 MUX have positive and negative. If we don’t use it for differential mode and just use it for 8 channel. How to setting? It is right to use 0x0f to setting MUX (positive Ain0 and Nagative Reserved will be selected.) like this?

     

    2.Currently, my customer use “Reset → SELFCAL” command and use RDATA command to read data periodic. It is right and do you think we need add other command for it ?

     

    3. currently, we use above 1 and 2 to read data.

    To summarize the sequence are like below.

    Select Ain0 and use RDATA command → Select Ain1 and use RDATA command → ….

    To use one channel, there is no issue. But when we use 8 channels and follow DREADY to read data, the data was “push away 1 channel “.

    Could you help above 3 questions?

     

    Thanks,

     

  • Peter,


    1. The ADC is fully differential. If you want to use it single-ended, then you use tie the negaitve input to a common point. If you're not using the buffer, then you can tie the negative input to ground. As an example, you can tie AIN7 to ground and then make measurements from AIN0 to AIN7, AIN1 to AIN7, and so on. This way you can make 7 single-ended measurements.

    2. I think doing a RESET and then a SELFCAL is fine. Then using the RDATA command to read the data should work as well. You might need a DSYNC command as well and I'll explain that in the section below.

    3. If the data that you are reading is off by a channel, it could be that the ADC is taking data from a different channel. In our newer devices, when we change the mux channel, the ADC will reset so that the data for the conversion comes only from the new channel in the mux. For most of our older devices, the ADC simply takes data, without considering the change in the mux.

    In this case, when you change the channel, you will want to reset the digital filter so that the conversion coming out will be for just the new channel. This is the sequence that I would use.

    Set mux to the channel you want to read.
    Send DSYNC command to reset digital filter
    Wait for conversion to complete indicated by /DRDY going low
    RDATA to get ADC conversion
    Repeat this with a new mux channel setting

    This should give correct conversions for each of the mux settings. The ADS1243 uses a single cycle settling digital filter so there shouldn't be any latency for the reading and you should be able to get good data with the first reading. The important thing to note is that you want to reset the digital filter with a DSYNC each time you get a new mux setting.


    Joseph Wu