微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 关于DAC7573的LDAC引脚的问题

关于DAC7573的LDAC引脚的问题

时间:10-02 整理:3721RD 点击:

初次接触这种外界的DAC模块,DAC7573的数据手册关于LDAC的讲解看的不太明白,麻烦哪位用过的大神给小弟说明一下。

DAC7573一直没输出,在研究是否是这个的问题。

你好,LDAC只是通过其上升沿将所有通道的DAC temp reg的数据同步输出到DAC output。DAC一直没输出跟这个关系不大,请详述你的测试条件,时序控制,最好上传原理图以便分析,谢谢

如果我不用LDAC功能是否就直接接高电平就好?我用的arm外接了一个DAC7573,SDA信号线波形如下:

SDA信号在给了SLAVE地址后就一致处于高电平,而收不到ACK信号,SCL也一致处于高电平。

DAC部分的原理图如下:

IOVDD接的3.3V电压。I2C_SDA和I2C_SCL接ARM的I2C接口,LDAC接高电平。

你好,请发一下你的dac的操作以便分析。

我用的手头上的ARM9 S3C2440测试的。

IO口配置就不发了,IIC模块工作在200KHZ(设计工作在400KHZ,担心频率太高的问题,先降了200KHZ)

rIICCON = (1<<7) | (0<<6) | (1<<5) | (0xf); //允许ACK,SCL=198KHZ,使能中断

rIICADD =0x10;       //2440内部地址

ACK=1;                  //ACK是个标志

rIICDS =0x9E;         //rIICDS是IIC的移位寄存器。DAC7573的从地址为0x9E;

rIICSTAT =0xf0;      //主发送模式,IIC通信开始。

while(ACK==1);

delay(1);                 //延时10us delay是10us的延时,比较准确的。

rIICCON=0xAF;       //继续IIC操作。

ACK=1 ;

rIICDS =0x10;        //是DACA 存储寄存器地址。仅保存其数据。

while(ACK==1);

delay(1);                //延时10us delay是10us的延时,比较准确的。

rIICCON=0xAF;    //继续IIC操作。

ACK=1 ;

rIICDS =0xFF ;     //是DACA 存储寄存器地址。仅保存其数据。

while(ACK==1);

delay(1);         //延时10us delay是10us的延时,比较准确的。

rIICCON=0xAF;     //继续IIC操作。

ACK=1 ;

rIICDS =0xF0;//是DACA 存储寄存器地址。仅保存其数据。采用REF5025的基准电压芯片,输出应该在2.48V左右,                        

                       但是实际输出依旧为0。

while(ACK==1);

delay(1);  //延时10us delay是10us的延时,比较准确的。

rIICSTAT=0xd0;     //IIC结束发送。

rIICCON=0xAF;     //继续IIC操作。

delay(1);

采用IIC中断控制,在中断服务程序中清楚IIC中断标志位。并经ACK幅值为0

IIC在1比特数据发送结束时会产生中断。

我的疑惑:1:IIC每个Byte数据发送结束后延时多久对于DAC7573比较合适。

                   2:LDAC电平一直接高,是否有影响。

                   3:有没有DAC7573或者类似的IIC操作代码例程 或者其内部的原理电路供参考(TI官网找了好久没找到)

你好,你的地址9e是与你的图匹配的,但是地址之后并没有ack信号,而且sda上有个台阶,可能是i2c驱动能力不足,建议改成3.3k试试。

1我没具体测过这个延时最小到多少。当时测的时候延时是1ms。

2 如果不需要同步,置高可以。

3 我们有demo板和配套软件,但是没有具体的代码。请查看www.ti.com/.../dac7573evm

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top