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.

[参考译文] DAC8811EVM:DAC8811 EVM电源和编码问题。

Guru**** 2382480 points
Other Parts Discussed in Thread: DAC8811, REF102
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/590902/dac8811evm-dac8811-evm-power-supply-and-coding-questions

部件号:DAC8811EVM
主题中讨论的其他部件:DAC8811REF102

TI员工您好

很抱歉打扰你。

对于我的项目,我想使用与Arduino连接的DAC8811 EVM

我有三个关于DAC8811 EVM的问题。

第一个

有关SPI连接的问题。

从数据表第19页的原理图来看,SDI,CLK未与J2连接。 它们是否已连接?

第二个

有关电源的问题。

1)如果使用Vcc和VSS到+(-)5V而不是标准15V,参考电压的输出将从10V更改为?V?

 2)我对5VA感到困惑。这是否意味着5V和1A?

3)我是否可以使用5VA至VCC?

4)收到主板时,连接了两个接地线(通用接地线和模拟接地线),它们是否连接在一起? 或者它们应连接到不同的GND。

第三

数据表中有计算双极输出电压的公式(2)。

问题是如果我输入的FFFF代码,6.5535万除以3.2768万,减1接近一个,而不是准确的一个。 那么我如何才能获得准确的Apex。

此外,我已经构建了类似如下的Sinswave语法:

unsigned int Sin_tab[256]={ 3.2768万, 3.3572万, 3.4376万, 3.5178万,........}

如何在Arduino的编码中有效更改此波形的频率。

如何在循环中编码? SPI.Transfer (SIN_TAB)?

非常感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Yang,

    1. SDI和SCLK连接到J2。  在许多原理图程序中,将文本标签放置在网线上可起到连接它们的作用。  因此,设备引脚上的标签和接头上的标签是相同的,因此它们是连接在一起的。
    2. 电源注释
      1. REF102至少需要+11.4V。  如果供应低于该值,则输出很可能会夹紧到供应,这是不推荐的配置。
      2. 5VA测量 5V 模拟电压,通常用于EVM上的一些低电源模拟设备。
      3. 您不应将5VA用于VCC
      4. 两个接地连接在MMB0上,但不在子卡上。  
    3. MDAC的输出无法真正达到理想的全范围输出。  如果您想了解有关架构的更多信息,您应该观看 此视频。
    4. 我认为改变输出频率的一个有效方法是创建一个计时器循环,在该循环中将一个代码写入DAC。  您可以将计时器配置为根据正弦波的周期除以点数触发。

    如果您还有其他问题,请告诉我,

    谢谢

    保罗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Paul

    非常感谢。

    你回答了我的许多问题。

    因为我只有一个参考电压电源,我能否将5VA连接到VDD,这是Arduino提供的5V。

    或者,我是否可以将其连接到Arduino的模拟引脚,使其高至约5V?

    对于GND,我能否将两个不同的接地连接到Arduino GND?

    再次感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以卸下跳线W1并使用测试点TP1作为参考输入,然后将其连接到您的5伏电源,以便VDD和VREF相同。 它不太理想,因为5V可能不是很精确,但应该可以帮助您入门。

    您可以将两个接地端连接到Arduino GND。

    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Paul
    感谢您的回复。
    很抱歉耽误你的时间来帮助我。

    因此,如果不稳定,我决定购买新的电源以处理-5VA。
    1)还有一件让我感到困惑的事情是,我应该为-5VA和VSS提供多少电流
    我只提供5伏电压(0安培)或5伏电压(大约几微安)。

    2)我已经为这个DAC编写了简单代码,你能检查一下吗? 如果您有一些建议,非常感谢

    #include <SPI.h>

    #define DAC_8811_CS_PIN 10.
    #Define VREF 5.000 (定义VREF设置)
    #define DACMAX 0xFFFF
    #define DACMIN 0x0000
    #define SCLK 13.
    #定义SDI 11.

    #define SPISettings settingsDAC8811(5000000, MSBFIRST,500万 MSBFIRST, SPI_MODE0);
    // SPISettings设置DAC8811(20000000, MSBFIRST,2000万 MSBFIRST, SPI_MODE0);


    //正弦表256 16位值,一个完整周期。
    字节值=0;
    unsigned int Sin_tab[256]={ 3.2768万, 3.3572万, 3.4376万, 3.5178万, 3.598万, 3.6779万,3.7576万,3.837万,3.9161万,3.9947万, 4.073万,4.1507万,4.228万,..........
    ,.......................... ,
    1.8036万,1.8758万,1.9489万,2.0229万,2.0975万, 2.1729万,2.249万,2.3256万,2.4029万,2.4806万, 2.5589万,2.6375万,2.7166万,
    2.796万,2.8757万,2.9556万,3.0358万,3.116万, 3.1964万年
    };

    void setup()

    引脚模式(SCLK,输出);引脚模式(SDI,输入);引脚模式(DAC_8811_CS_PIN,输出);
    Serial.begin(11.52万);
    SPI.begin();
    SPI.setDataMode(SPI_MODE0);
    DigitalWrite (DAC_8811_CS_PIN,高);
    DelayMicroseconds(1);
    }

    void循环()

    while (Serial.Available ()){};
    DigitalWrite (DAC_8811_CS_PIN,低);

    对于(int x =0;x < 256;x++)

    SPI.transfer (高字节(Sin_tab[x]));
    SPI.transfer (lowByte (Sin_tab[x]));
    DelayMicroseconds(1);
    }
    DigitalWrite (DAC_8811_CS_PIN,高);
    DelayMicroseconds(1);
    }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1. 我认为100mA的电流对于AVSS和AVcc电源来说是可以的。  我认为EVM上不使用+5VA和-5VA。
    2. 虽然我不是Arduino代码的专家,但我认为它看起来不错。  一个问题是,CS引脚在写DAC代码的环路外切换。  如果您查看DAC8811部分8.5 1的数据表,则说明必须在每个SPI命令之间切换CS。