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

tlv5610是否可以控制单通道输出

8通道DA芯片tlv5610,输出第一个通道同时,第二个通道会得到一样的输出。

请问该芯片是否可以控制单通道输出?

Robin Feng:

你好,可以的,控制不同寄存器即可,参见手册12页

The 16-bit data word consists of two parts:· Address bits (D150D12)· Data bits (D110D0)D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0A3 A2 A1 A0 DATARegister MapA3 A2 A1 A0 FUNCTION0 0 0 0 DAC A0 0 0 1 DAC B0 0 1 0 DAC C0 0 1 1 DAC D0 1 0 0 DAC E0 1 0 1 DAC F0 1 1 0 DAC G0 1 1 1 DAC H1 0 0 0 CTRL01 0 0 1 CTRL11 0 1 0 Preset1 0 1 1 Reserved1 1 0 0 DAC A and B1 1 0 1 DAC C and D1 1 1 0 DAC E and F1 1 1 1 DAC G and H12

user1479057:

回复 Robin Feng:

Robin您好,

          试验了好多次,结果依旧,A,B通道会同时输出。

         1.初始化程序(dac_5610_init())如下.

         2.写入程序(dac_5610(u_int data_in))如下.

         帮忙给予指导,非常感谢哦.

void dac_5610_init(){    DAFS   = 0;    _nop_();    DACLK  = 1;    _nop_();

    DAFS   = 1;    _nop_();    DACLK  = 0;    _nop_();}

void dac_5610(u_int data_in){    u_char i;

    DAFS   = 0;    DALDAC=1;

    for (i=0;i<16;i++)    {        DACLK  = 1;        _nop_();        _nop_();

        DADIN  = (bit)(data_in&0x8000);        _nop_();        _nop_();

        DACLK = 0;        _nop_();        _nop_();

        data_in <<= 1;

        _nop_();        _nop_();    }

    DAFS=1;    _nop_();    _nop_();    DACLK=1;    _nop_();    _nop_();    DALDAC=0;    _nop_();    _nop_();}

Robin Feng:

回复 user1479057:

那你的CDEF呢?

从你得代码上没有看到你对某个具体的地址进行操作, 请把你的每个地址寄存器值读出来给我看,谢谢

user1479057:

回复 Robin Feng:

主程序对于地址的具体操作,以及操作结果如下,tlv5610 VCC=5V,tlv5610参考电源4096mV。

u_int DA_setting=0x03FF;

dac_5610_init();

dac_5610(0x8000);  //CTRL0 config,此步序执行完毕,tlv5610的8个通道输出为0.

dac_5610(DA_setting);//此步序执行完毕,tlv5610的A,B通道输出约为1024mV,其他CDEFGH通道输出为0.

user1479057:

回复 user1479057:

DA_setting=0x03FF,对比datasheet register map on page12,输出结果理论上是A通道输出3FF,其余7个通道未进行操作。

实际结果是A,B通道输出3FF.

Robin Feng:

回复 user1479057:

请单独操作B通道寄存器写其他值,看是否生效.请注意用示波器观察或回读是否有值被写到B通道去了.谢谢

user1479057:

回复 Robin Feng:

Hi,Robin您好,

     tlv5610确定可以单独控制每一路的输出吗?

Robin Feng:

回复 user1479057:

是的确定,5608超多人用.

另请确认正规渠道购买

user1479057:

回复 Robin Feng:

Robin您好,

          是上两个月从贵司申请的样片.

          重新努力看了datasheet,程式,现象依旧,百思不得其解,用仿真器,MCU来试验都一样,单独操作A通道或者B通道,另一个通道均会出现相同的值.

          选择的是uc mode。

          另外,datasheet里面有句话的意思不太理解,LDAC is an asynchronous input。It can be held low if a simultaneous update of all eight channels is not needed。翻译过来就是说,LDAC是异步输入,如果不需要所有8个通道的同步更新的话,LDAC可以保持为低。不理解的地方就是,如果LDAC保持为低,那么如何输出DA数据呢?从datasheet来看,LDAC需要拉低持续twl(LDAC)时间,经过ts时间后,OUTx才会输出,LDAC怎么可以一直保持为低呢??

         

user1479057:

回复 user1479057:

Robin您好,

            5608的驱动程序可以给参考下吗?我想对比下是否我的驱动哪里不对。

赞(0)
未经允许不得转载:TI中文支持网 » tlv5610是否可以控制单通道输出
分享到: 更多 (0)