微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > DAC7554 输出问题

DAC7554 输出问题

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

输出通道:0、1、2 更新一次,就输出了
输出通道:3 更新两次次,才能输出
一直查不出原因

void DAC7554_SetDA(u16 Channel,u16 Voltage)
{
    u8 i;
    u16 sdata;

    sdata = (0x8000 | ((Channel<<12) & 0x3000) | (Voltage & 0x0FFF));
    DA_CLK(ON);
    DA_DIN(OFF);
    Delay(30);
    DA_EN(ON);     //选通DA
    Delay(100);
    
    for(i=0;i<16;i++) 
    { 
        DA_CLK(ON);
        Delay(30); 
        if(sdata&0x8000){DA_DIN(OFF); Delay(30);} 
        else            {DA_DIN(ON);  Delay(30);}  
        DA_CLK(OFF); 
        Delay(30);
        sdata<<=1; 
    }
    
    Delay(100);
    DA_EN(OFF);    //取消选通AD 
    DA_DIN(OFF);
    Delay(1000);   
}

最后一个通道, 会不会是通信时序中的最后一位问题引起的. 往往程序的最后一位容易出现波形不全或缺少, 延时没有了. 被循环结束后的其他信号屏蔽了等等情况. 纯属个人经验, 可以检查一下看看 

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

网站地图

Top