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.
DAC61416芯片供电正常,VIO 1.8V, VAA VDD 5.0V,VCC +12.2V,VSS -12.2V,SPI通信已通过读取DEVICEID验证正常,需输出方波电压(非差分),按照数据手册进行编程(简要代码如下),实际输出为0,请帮忙解答
//Power-on Device, Disable Soft-toggle, Set Streaming Mode,Power-on Internal Reference
SPI_Transmit 0x03(***),0x0A,0x8C
SPI_Transmit 0x04(GENCONFIG),0x3F,0x00
//Select Range for all the channels as ±10V
SPI_Transmit 0x0A(DACRANGE0),0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA
//Power-on DAC Channels
SPI_Transmit 0x09(DACPWDWN),0x00,0x00
//Set DAC channel in synchronous mode and disable toggle mode for that channel
SPI_Transmit 0x06(SYNCCONFIG),0xFF,0xFF
SPI_Transmit 0x07(TOGGCONFIG0),0x00,0x00,0x00,0x00
//Write Positive voltage code to Register A
SPI_Transmit 0x10(DAC0),0xXX,0xXX,0xXX,0xXX..
数据如0x91,0x60,0x91,0xA0,0x92,0x50...
//Issue a DAC trigger signal to load Register A
LDAC引脚拉低
//Write Negative voltage code to Register B
SPI_Transmit 0x10(DAC0),0xXX,0xXX,0xXX,0xXX..
//Enable toggle mode to load Register B
SPI_Transmit 0x07(TOGGCONFIG0),0x55,0x55,0x55,0x55
//Input PWM
MCU发送PWM信号给TOGGLE0引脚
只输出Register B的电压,故猜测Register A的电压可能被覆盖了,就是说输入到DAC寄存器的值会立马变成输出,而9.4.1中LDAC引脚的Triggle信号是用来将Register A的值从Buffer下载到寄存器,所以可以尝试在写入Register A后,拉低LDAC后,加一个延迟(让下载有时间去完成),然后再将LDAC拉高,阻断之后写入的Register B从Buffer下载到寄存器