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.

ADS1248 NO mA OUTPUT?

Other Parts Discussed in Thread: ADS1248

Hi Luis,

the ADS1248 registers has some bits that are read only what happens to those bits when i send data to their own registers that include writing 0 or 1 to those bits?

also, i've configured the ADS1248 registers as following :

     spi_en=0;
     spi(0x42);   //write to MUX1&SYS0
     spi(0x01);  
     spi(0x20);   //MUX1=32
     spi(0x02);   //SYS0=2
     spi_en=1;

     spi_en=0;
     spi(0x4A);
     spi(0x01);
     spi(0x06);   //IDAC0=6    set i magnitude to 1mAmp
     spi(0x01);   //IDAC1=1    connect IEXC1 TO AIN0 & connect IEXC2 TO AIN1
     spi_en=1;

and i have read them back OK but, no mAmp current follow from AIN0 neither AIN1 to GND

please help me.

Mahmoud

  • Hello Mahmoud,

    If you write to the ADS1248 register bits that are read only, nothing will happen.  The ADS1248 will only update the remaining register bits.  For example; if you try to write to the IDAC0 register 0x00; Bit7-4 are read only bits (device ID); therefore the device will only update bits 3-0 of the IDAC0 register.

    Regarding the current IDAC question; can you confirm the following:

    -Ensure a capacitor is installed between VREFOUT and VREFCOM.  The internal voltage reference requires a capacitor for stability.  The internal reference must be enabled in order to use the IDACs.  Confirm that the internal reference is turned on by measuring VREFOUT pin.

    - Looking at your code you have the internal reference enabled (turn on for the IDACS); and you have the REF0 input pair selected as the converter reference.  Do you have a external reference voltage connected to this input pair? 

    How are you measuring the currents from the IDAC?  On your example, you are connecting one IDAC to AIN0 and the other one to AIN1.  Do you have resistors connected from the inputs to GND or AVSS?  For example: Using the ADS1248EVM, I connected both IDAC's to AIN0 with the IDACs set to 1mA; I connected a resistor between AVSS and AIN0.  A 200 ohm resistor between AVDD and AIN0 would generate 200 Ohm*2mA=400mV accross the resistor.

    Thank you and Regards,

    Luis

     

     

  • Hi Luis,

    i'll answer your questions as follow:

    -i have attached my design so that you can check it.4744.Schematic.pdf

    -i measure current using mAmp Calibrator model CC-421 from AIN0 to CC-421positive prob and CC-421 negative prob to GND [series connection] & AIN1 to CC-421positive prob and CC-421 negative prob to GND i have tried also to measure mA from AIN0 to CC-421positive prob and CC-421 negative prob to REFP0 & AIN1 to CC-421positive prob and CC-421 negative prob to REFP1.

    Many thanks,

    Mahmoud

     

  • Hi Mahmoud,

    Please try the following experiments:

    1)  Reset the device or perform a Power On Reset.  Hold the START pin high and send a SDATAC (x16h) command in order to be able to read the registers.

    2) Write to the MUX1 and SYS0 sending a x42012002h; as you describe on your code and send a x2201XXXXh to confirm the contents of the registers.  The contents of the registers should read "2002h'.  Also confirm that the internal reference is turning on by measuring with a meter the voltage between VREFOUT and VREFCOM; you should be able to see the voltage changing from ~0 to 2.048V.  Is the internal reference on?

    3) Try the following as an experiment:  install an external resistor to the IEXC1 (or IEXC2) to AVSS (GND).  Ensure that nothing else is connected to the IEXC1,2 pins except for the external resistor.   Pick a resistor value of lets say 200 Ohms.  Send a command to write to the IDAC0 and IDAC1 registers to set up a current of 1mA and connect the IDACs to the IEXC outputs: Send x4A010689h. Read the contents of the registers: Send x2A01XXXXh and confirm the registers read "X689h"Measure the voltage accross  the external resistor: For example, 200 Ohms x 1mA = 200mV.  Do you measure the expected voltage/current out of the IEXC pin?

    4) Try the following as an experiment: send a command to connect the IDACs to an unused channel, for example AIN6 and AIN7.  Please make sure these pins are not shorted to GND and connect  external resistors from AIN6 to AVSS/GND and/or  AIN7 to AVSS (or GND).  Send x4A010667h;  send a read command x2A01XXXXh to confirm the register contents:"X667".  Can you measure the expected  voltage across the resistor as in the previous step?  Can you measure the expected current going through the resistor?  

    5) Finally, send a command to connect the IDACs channels AIN0 and AIN1.  If possible, disconnect your themocouple and RTD . Ensure that these pins are not shorted to GND and connect an external resistor between AIN1 to AVSS (and/or AIN0 to AVSS).  Send 4A010601; send a read command 2A01xxxx to confirm the register contents:"X601".  Can you measure the expected  voltage accross the resistor as in the previous step?  Disconnect the external resistors and connect your sensor/RTD.  Do you obtain the expected voltages?

    Please let me know the results you obtain from these experiments.

    Thank you,

    Luis

     

  • Hello Luis,

    1-Exactly i perform Power On Reset "POR" command during initialization then hold start high during all program steps and i sent a SDATAC (x16h) command.

    2-I wrote to the MUX1 and SYS0 sending a x42012002h; and sent a x2201FFFFh to confirm the contents of the registers.  The contents of the registers read back is "2002h"  which is OK.

    3-I can't measure the voltage changing from ~0 to 2.048V between VREFOUT(Voltmeter + prob here) and VREFCOM(Voltmeter - prob here) it gives me ~ -0.10. so I think the internal reference OFF.

    what can i do,

    Mahmoud

  • Hi Mahmoud,

    Can you connect the VREFCOM to GND?  I think that is one problem; the schematic shows the compensation capacitor between VREFOUT and VREFCOM; but VREFCOM needs to be connected (typically to GND).

    Please let me know if this helps,

    Regards

    Luis

  • Hi Luis,

    i have connected vrefcom to gnd and system work ok.

    now i can mwasure current follow from AIN0&AIN1.

    many thanks,

    Mahmoud

  • Hi Mahmoud,

    That's good news.  Thank you for the feedback!

    Regards,

    Luis