TI中文支持网
TI专业的中文技术问题搜集分享网站

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,希望有人可以给我解解惑!

Van Yang:

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

peng liao:

回复 Van Yang:

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

peng liao:

回复 peng liao:

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

Van Yang:

回复 peng liao:

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

Van Yang:

回复 peng liao:

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

peng liao:

回复 Van Yang:

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

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;} 

赞(0)
未经允许不得转载:TI中文支持网 » TLV5614的输出问题
分享到: 更多 (0)