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:即使是、也不会在 IC 的 Iout 引脚上传入电流

Guru**** 2387830 points
Other Parts Discussed in Thread: DAC7750
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/998372/dac7750-current-not-comming-at-iout-pin-of-ic-even-though

器件型号:DAC7750

PCB 上的连接图像: PCV_DAC7750

我已最小化与 DAC7750的连接、即 AVDD (=11.5V)、SDO、DIN、SCK、LATCH、 如 PCB 中所示的 GND (链接至上图)。  我只是使用 ESP32内置 SPI 库进行电流斜升和斜降。 我还面临同样的问题、因为未在输出端检测到电流(使用电流表进行测量)。 AVDD 在10V 至18V 范围内变化、但仍然存在相同的问题。 DVDD 未连接、因为 DVDD_EN 处于开路状态、这意味着为内部数字外设启用内部电源。 我已经通过示波器验证了在 ESP32引脚上生成的 MOSI、SCL、SS 信号。 我使用了控制器的 HSPI 端口。 我一直保持较高的延迟、以便在示波器上轻松调试。  

 

#include <SPI.h>

//#define ALARM  
#define HSPI_MISO   12
#define HSPI_MOSI   13
#define HSPI_SCLK   14
#define HSPI_SS     15    //To be connected to LATCH pin of DAC7750

//see pg32 datasheet
#define Config   0x57
#define Ctrl     0x55
#define DAC_data 0x01
#define Reset    0x56

static const int spiClk = 1000; //freq in Hz

SPIClass SPI2(HSPI);

//Send values to DAC7750 in format 'address_of_register + data' 
//24-bit frame= 8bit addr + 16bit data
//See pg10, Datasheet for timing diagram
void Send(uint8_t addr, uint16_t value)
{ 
  SPI2.transfer(addr);
  SPI2.transfer16(value);    ///inbuilt function in SPI.h for 2bytes transfer
  digitalWrite(HSPI_SS, LOW);
  delay(1);
  digitalWrite(HSPI_SS, HIGH);
  delay(1);
}

void setup()
{ delay(1000);  //Let the power supply be stable. 

  pinMode(HSPI_SS, OUTPUT);
  digitalWrite(HSPI_SS, HIGH); 

//  pinMode(ALARM, INPUT);

  SPI2.begin(HSPI_SCLK, HSPI_MISO, HSPI_MOSI, HSPI_SS);

  SPI2.beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE0));
   
  //INITIALISE REGISTERS (pg34 onwards, Datasheet)
  //..Reset register
  Send(Reset, 0x0001); 
  delay(1);
  
  //..config register 
  Send(Config,0b0000000000001100);   //disable HART, watchdog, error-check, calliberation
  delay(1);
  
  //..Data register   -> initialise with all 0. (But is already at default reset)
  //Send(DAC_data, 0x0000);  //last 4 LSB digits invalid for DAC7750 (to act as 12-bit)
  //delay(1);
  
  //..Control register
  Send(Ctrl, 0b0011000000001110);  //o/p enable, o/p->0-20mA, current setting res enable
  delay(1);
}

void loop() 
{
  //send a ramp from 0 - 2mA, then const upto 30sec, then ramp to 0mA
  //ramp slope around 30sec
  uint16_t i=0;
  for(i=0; i<409; i++)  //Current upto 2mA i.e. 409.5 value of 12bit-DAC in 30sec
  {
    Send(DAC_data, (i<<4));
    delay(75);
  }

  delay(10000);

  for(i=409; i>=0; i--) //Current upto 2mA i.e. 409.5 value of 12bit-DAC in 30sec (16bit register, last 4bits useless)
  {
    Send(DAC_data, (i<<4));
    delay(75);
  }

  delay(10000);
  
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lakshay、


    我在代码中没有看到任何错误、但在设置中还有其他可能出错的东西、以防止输出从器件中输出。

    首先、您能否获取 SPI 的一些示波器截图并将其发布在此处? 我只想确保您具有正确的 SPI 模式、并且信号是干净的、并且遵循正确的时序。 您应该做的另一件事是查看电路并确保原理图中没有任何错误。 您是否还可以发布您正在使用的原理图?

    最后、一项有用的测试是从器件回读。 遗憾的是、大多数寄存器的默认数据都是0。 但是、您可以写入 DAC 数据寄存器、然后读回它、以查看器件是否正在接收数据并将其发送到寄存器。


    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经从示波器收集了从 ESP32引脚发出的信号的图片、如上一个线程的程序中声明的那样。 我已将 MOSI、SS、SCK 分类在单独的文件夹中。  以下是链接: GDrive_link 

    对于 DAC7750器件、我仅连接了 AVDD=11.5V、DVDD=OPEN、因为 DVDD_EN 保持断开。 然后是 GND、SDI 和 SDK。 电流输出始终为0安培(尝试连接100欧姆的电阻器、在下一次试验中连接红色 LED)。  

    PS:在历史早期、我碰巧故意将 ESP 的稳压器的3.3V 电压提供给 DVDD、大约5-10分钟、不知道 DVDD_EN 的作用。 因此、甚至可以考虑、如果 IC 的功能受到偶然的干扰!  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lakshay、

    您还能在此处发布几张示波器照片吗?   访问 google 驱动器受到 TI 的限制、因此我无法访问它并查看它。

    至于 DVDD_EN、我将对其进行研究。 我确定这是否会损坏电路板/器件。 如果有任何帮助、我可能以前也在电路板上做过同样的事情。


    吴约瑟

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joseph、感谢您的及时回复、我将随附文件夹中包含必要的照片/视频。
    您关于 DVDD_EN 点的最后一句话现在给了我一点希望。 )

    感谢所有帮助。
    e2e.ti.com/.../SPI_5F00_data_5F00_outputs_2D00_20210503T213350Z_2D00_001.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lakshay、

    谢谢、但您是否有多通道示波器来同时显示信号? 显示各个信号并不能真正帮助确定时序是否正确。

    吴约瑟