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.

TLV5614的输出问题

Other Parts Discussed in Thread: TLV5614

我将TLV5614与51单片机连接,出现了这样的情况:通道之间可以切换,但是第一次开A通道,第二次开B通道,但是第二次开B通道的时候,A通道依然保持第一次写入的数据,这样就不正常了。断电后,A通道数据才能清零,B通道依然保持写入的数据,这样又正常了。但是有时候的数据与给的命令会相差50个码字的样子,有时候又是正常的。C、D通道的情况也是这样的,我将(PD非)脚接5V,整个系统5V供电,REF+也接了5V,REF-接地,其他控制引脚都接51的IO口,这是怎么回事呢?很纠结,难道是REF+不能接那么高的参考电压,数据手册上写的是Max=Vcc-1.5V,希望有人可以给我解解惑!

  • 你好,第一,正常工作的最大参考电压应该是VCC-1.5V。第二,DAC内部有一个数据锁存器,所以即使通道切换,原有通道的数据也会保持。

  • 谢谢您的回答,我认为它的参考电压最大只能是Vcc-1.5V,应该是保证输出的数据不大于4095吧,再者其输出的电压最大也不能超过Vcc的,现在的问题是输出不稳定,有时候准确,有时候又相差了50个码字,您知道这是为什么吗?

  • 还有就是第一次向A通道写数据,第二次再向A通道写不同的数据,输出保持第一次的数据,断电再上电后,输出的又是第二次的数据了,我在想是不是那个PD脚也应该接到单片机上,给予控制呢?

  • 你好,请问你的LDAC脚怎么处理的,LDAC为高,数据只是进锁存寄存器,DAC并不刷新。PD是低功耗控制,如果你不需要DA进入低功耗模式,可以上拉。

  • 你好,参考电压能接受的最大正常工作电压是VCC-1.5V。你输入码子4095只是输出REF而已。输出不稳定,可能是因为你的电路噪声。

  • 您好!这是驱动程序,您帮我看看好吗?谢谢了

    sbit ldac=P3^3;
    sbit din=P3^4;
    sbit sclk5614=P3^5;
    sbit cs=P3^6;
    sbit fs=P3^7;

    void Write_tlv5614_dat(uchar port,uint dat)  //2*Vref*code/4096
    {
     uint com;
     uchar i;   
     ldac=0;
     cs=1;
     cs=0;
     switch(port) //通道选择0-A 1-B 2-C 3-D
     {
      case 0:com=dat|0x1000;break;
      case 1:com=dat|0x5000;break;
      case 2:com=dat|0x9000;break;
      case 3:com=dat|0xd000;break;
      default :break;
     }  
     fs=1;
     fs=0;
     for(i=16;i>0;i--)
     { 
      fs=1;  
      din=(bit)(com&0x8000);  
      fs=0;
      sclk5614=1;
      sclk5614=0;
      com<<=1;
     }
     ldac=1;
     fs=1;
     cs=1;