DAC81402: DAC81402无法正常数据数据,但程序肯定正确!

Part Number: DAC81402

您好,TI,

 我最近在使用dac81402输出精密电压信号。我十分确定得讲,我的程序肯定正确。我通过正常写入Reg寄存器,正确的读出了默认的寄存器值,和正确读取了,我改写的寄存器的值,所以,我得出了,我的程序在操作DAC81402芯片的时候是正确的。但是,我现在发现我无法使用DAC81402输出我指定的电压值。

下面是我的DAC81042的原理图,您看看原理图是否正确??特别注意,J12,J13两个处是短接状态,也就是SENSENA,SENSENB都是处于GND状态。

1、我操作的时候,我先讲04寄存器的内部基准打开,默认是关闭内部基准,我改为打开内部基准。

2、然后,我将09寄存器,关闭了内部的PowerDown模式。

3、然后,我又重新设置了03寄存器,将DEV-PWDWN设为 0 ,sets the device in active mode.

4、然后,我又重新设置了0A寄存器,将DAC输出量程设置为0V~5V,也就是0000

5、最后,我设置了DACA输出寄存器,和DACB输出寄存器为0xFF,

 

结果,我用万用表直流电压档位,表测量了DAC_OUTB和DAC_OUTA,,结果,我输出的是0V,问一句,我错哪里了??还有,无论,我是否设置LDAC引脚的电平状态,我这边都是0V的DAC输出。我不明白咋回事儿。您这边有啥解决方案?

DAC81402_SendByte(0,0x4000,0x04);//内部基准设置
DAC81402_SendByte(1,0,0x04);//发送读取命令
DAC81402_ReadByte();//回读寄存器的值,确认是否与写入的一样

DAC81402_SendByte(0,0x0009,0x09);//关闭内部的powerDown模式
DAC81402_SendByte(1,0,0x09);//发送读取命令
DAC81402_ReadByte();//回读寄存器的值,确认是否与写入的一样

DAC81402_SendByte(0,0x0A84,0x03);//sets the device in active mode
DAC81402_SendByte(1,0,0x03);//发送读取命令
DAC81402_ReadByte();//回读寄存器的值,确认是否与写入的一样

DAC81402_SendByte(0,0x0000,0x0A);
DAC81402_SendByte(1,0,0x0a);//发送读取命令
DAC81402_ReadByte();//回读寄存器的值,确认是否与写入的一样

DAC81402_SendByte(0,0x00FF,0x11);//写入电压数据
DAC81402_SendByte(1,0,0x11);//发送读取命令
DAC81402_ReadByte();//回读寄存器的值,确认是否与写入的一样

DAC81402_SendByte(0,0x00FF,0x12);//写入电压数据
DAC81402_SendByte(1,0,0x11);//发送读取命令
DAC81402_ReadByte();//回读寄存器的值,确认是否与写入的一样