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.

DAC7750: Strange behavior on Current output pin when AVDD powered down from 20V to 4.8V

Part Number: DAC7750
Other Parts Discussed in Thread: LM1117,

I have a circuit where I have connected DAC7750 SPI pins to ESP32 hspi pins. DAC7750 is powered with sx1308 boost IC, which is getting input from ESP32 3v3 pin (which again is coming from LM1117 IC onboard). DAC is configured so that internal power supply is enabled (DVDD-EN pin opened, no connection)

The following situation is occuring in the circuit:

1. When the setup is powered ON, ESP32 sends a LOW signal on Enable pin of boost IC. So voltage at AVDD is 4.8V (same as ESP32 supply). As per datasheet of DAC7750, AVDD needs minimum 10V to start. So at this stage DAC7750 is powered OFF

Then I wrote a program to ramp current up and down after turning on the Boost_enable pin of Boost IC. The boost is now giving a 20V output as it should give as per the resistor ratio in it. 
The program runs as it should. Here is the Arduino based code: 

digitalWrite(Boost_en, HIGH); 
delay(200);  //Switch ON boost and wait till output settles

//following code sends data to DAC7750 registers via HSPI pins
  send_tDCS(DAC_Reset,  0x0001);                // Reset registers to default
  send_tDCS(DAC_NOP,    0x0000);                  // NOP operation
  send_tDCS(DAC_Ctrl,   0b0001000000000110);   // o/p enable, o/p->0-20mA, current setting res enable
  send_tDCS(DAC_Config, 0b0000000000100000);   // disable HART, watchdog, error-check, calliberation
  send_tDCS(DAC_GAIN,   0x8000);                 // Gain of 1, default is 0.5


//following code is to ramp-up and ramp-down current
uint16_t i=0x0000;
for(;i<0x1990; i+=0x0010)
{     send_tDCS(DAC_data, i);
      delayMicroseconds(73349);  //delay needed for 30sec ramp
}
for(; i>0x0000; i-=0x0010)
{
      send_tDCS(DAC_data, i);
      delayMicroseconds(73349);  //delay needed for 30sec ramp
}
send_tDCS(DAC_data, 0x0000);

Now the problem arises when I switch Boost_enable pin of boost module to low. Now the AVDD pin connected to the boost output switched back to 4.8V (as was in the power on stage). Suddenly the current output pin of DAC7750 is giving 6mA as output. 

There was no effect seen by user resetting the ESP32. I had to power on the whole setup again to switch off the current output. 

My confusion is that if AVDD needs minimum 10V for internal supply to power ON. Why it is letting DAC to output 6mA current that wasn't even instructed by the controller. 

I was thinking that in the output side, the MOSFET driver inside is getting drain voltage as 4.8V (from AVDD, datasheet section 8.3.2) and somehow gate is also getting similar voltage, so MOSFET is getting ON. But why is the same thing not happening at power ON when AVDD is 4.8V then.  

Any suggestions would be much appreciated as I am stuck at this problem since a week.

Thanks

  • Update: I have give software reset command by setiing Reset register as 0x0001 to switch off the high current output at AVDD=4.8V

  • Swapniil,

    The DACx750 device requires a minimum of 10V for operation. Below that voltage, you should not expect that the device would just shut down. Below 10V, the device may not operate or may give unusual outputs. For example, the control loop that sets the output may not give anything correct. Additionally, if you're using the digital power supply as an output. This comes from a subregulated voltage from AVDD. If AVDD is significantly lower than expected, the digital power may not be high enough to properly operate.

    Because the power supply is so low (less than half of the expected operating voltage), I don't think the device will give any consistent results or output.

    Joseph Wu