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.

ADS1247 interface with MMB3 without the EVM

Other Parts Discussed in Thread: ADS1247, ADCPRO, TPS3836

I'm in the process of evaluating the ADS1247 for a sensor application.  I first created a mock-up of my system to test the ADC, using the old-fashioned breadboard and cables method going to an ADS1247EVM plugged into an MMB3.  Things worked great, but naturally I saw some nasty (relative to my very small signal) 60Hz noise.  (My system needs the data rate to be too high to be able use the 60Hz notch in the ADC's filter.)

I have now constructed some prototype boards that contain all of my analog components (sensors, MUX, ADC, voltage references and AVDD if needed), with simple SPI and GPIO outputs from the protoboard.  Ideally, I would like to be able to plug in a cable from my protoboard directly to the MMB3, carrying just SPI to my ADC.  This would hopefully allow my to continue to use the ADCPro software to control and monitor the ADC, so I won't have to build my own software for this purpose (at least not right away).  Looking at the ADS1247EVM schematic, it looks like there are essentially three features I'd be missing: the watchdog, the I2C expander, and the I2C EEPROM.  How essential are these components for the proper operation of the software?  Could I do most of what I'd want to do without them?  If these are necessary components, could I hijack the SPI from the MMB3 into my board and send the rest to the EVM (possibly grabbing GPIO0 from the MMB3 if I need the START signal)?

  • Hi Adam,

    You will need to ensure that the Start pin has a pull up resistor to DVDD.  Also the RESET pin will also need a pull up resistor.  The TPS3836 power supervisory device is not essential.

    The device could be used with the internal oscillator; so you may take the CLK pin of the ADS1247 and ground it and you will not need the selector mux SN74LVC2G157DCT (U7) or oscillator (U8).

    The ADS1247 ADCPRO software needs to read the pre-programmed EEPROM for board ID when is loaded; therefore that is the only issue that may get in the way of using the ADCPRO software directly.  I could check into the possibility of providing you a modified ADCPRO plugin that does not ask for the EEPROM information.

    Please let me know if you would like me to look into this EEPROM issue,

    Thanks and Regards,

    Luis

     

  • Thanks for the response, Luis.  Here's what I've tried:

    I removed two-row header J4 from the MMB3 and replaced it with two one row headers, such that one row (the even numbered pins) goes straight into the EVM module as before, but the other row (the odd numbered pins) comes out the bottom of the board at a right angle.  This effectively disconnects the SPI from the EVM module, as well as the DRDY signal and the control for an external oscillator.  I've connected the right angle connector with a cable such that the SPI now leads directly to the ADS1247 on my board, and my board grabs power (AVDD) from J3A, pins 3 and 5, on the EVM module.  On my board, the Start pin is pulled up with a 10k resistor, as is the RESET pin.  The external clock pin of the ADS1247 is grounded.

    The MMB3 is able to read the EEPROM and recognize the module on power up just fine.  However, the SPI doesn't seem to be doing anything at all.  I've probed the CLK and DX pins and I see no activity at all.  Not surprisingly, the LCD on the MMB3 reads "No Data" after the power up sequence.  As for other things to look out for, my board seems to power up fine; the sensors power up ok and operate normally, and the correct voltages can be seen on the ADC power pins.  Nothing is getting warm, and I've double checked all the connections.

    Any clues on what might be preventing the SPI bus from running?

     

    Thanks,

    Adam

  • Hi Adam,

    I believe that if  the device is powered up with the START pin high and the RESET pin high; the device should be by default converting; at default settings.

    Can you confirm if the DRDY pin is toggling on the ADS1247? 

    Thanks,

    Luis

  • That did it, somewhat.  I hadn't tied the DRDY pin to the MMB3.  When I did that (to pins 9 and 15, as in the EVM), the SPI did start communicating.  I am able to change gain and sample rate, and I am able to use the GPIO.  I am also able to take readings, but for whatever reason, I am still getting no meaningful output from the ADC SPI.  

    As one would expect, when I click the acquire button in ADCPro, the DOUT/DRDY pin goes low to indicate data ready, and three NOP bytes are sent by the program.  Instead of outputting data, however, the DOUT pin just goes high and stays there, which the program interprets as (Vref / gain).  (I'm using a gain of 32 and the internal 2.048 Vref, so I get 64mV.)  I've attached a scope capture of the SPI bus for reference.  Channel 1 is the SPI clock; channel 2 is the DOUT pin.

    For reference, my signal is ~10mV, with the inputs being at ~2.43V and ~2.42V.  I had no trouble reading the same signal on the EVM.

  • Hi Adam,

    Can you confirm if the internal reference is on?  Measure the voltage between VREFCOM and VREFOUT; you should be able to measure the internal reference 2.048V.  If the internal reference does not turn on after enabling it with the ADCPRO software, please check that VREFCOM is connected to GND or AVSS; and also confirm that a decoupling capacitor is installed between VREFCOM and VREFOUT on the ADS1247.  Also, I believe that AVDD and AVSS are set to 5V and 0V, is this assumption correct?

    Can you perform the following as an experiment: Go into the I/O Config Tab and turn on the System Monitor button and perform a Temp reading (using the ADS1247 on-chip diode reading for ambient temperature).  This is just to verify if you can get valid data from the converter.   

    Thank you,

    Luis

  • You were correct; the internal reference was the problem.  I had failed to ground VREFCOM and add that decoupling cap to VREFOUT.  I am now able to get data from my protoboard.  

     

    For those who wish to do this and might have skipped ahead, the full solution is this:

    - Redirect the SPI pins and the DRDY pins from the MMB3 to the ADS1247 on the non-EVM board.  

    - Connect the rest of the pins from the MMB3 to the EVM

    - Make sure START and RESET are pulled high, VREFCOM is connected to AVSS (or ground if using a bipolar supply), and VREFOUT has a decoupling cap to VREFCOM

     

    I suspect a general version of this solution would work for connecting other ADC modules to the MMB3.  

     

    Thanks for the help!

    -- Adam

  • Hi Adam,
    \

    That is good news. Thank you,

    Kind Regards,

    Luis