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.

[参考译文] DAC81416:DACPWDWN 未保持其值

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1353737/dac81416-dacpwdwn-not-holding-its-value

器件型号:DAC81416

我可以读写 DevID、写 SPIC楷 以及读回值来验证值。 我还可以启用内部电压基准并验证输出端的电压为2.5V。 因此 SPI 通信完全正常。

但当我写入 DACPWDWN 时、回读时通常会得到0xFFFF。 对 DAC 输出值的写入总是会提供0作为回读、但这可能是因为 DAC 寄存器是只写的(根据旧发布)。 输出引脚上没有输出。 此测试在0-5V 电压范围内进行。

CLR 和 RST 引脚都为3.3V。  CLR 直接连接到3.3V。 所有电源电压均正常。

旧开机自检指示类似问题、但没有解决问题的方法。

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

    我发现了一些令人不安的东西。 温度警报位置1 (实际状态为0x0009)。 温度输出电压为+5V!!!

    温度传感器是否会被损坏而芯片认为温度过高?  

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

    进一步测试得出1.25V (22.5C)的正确温度输出。 但这仅在内部基准电压开启后发生。 在此之前、温度输出为+5V。 该输出为空载输出、因此小负载可能会将输出拉低至0V。 测试时、4k7负载使输出降至大约4.1V、

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

    大家好、Jan、  

    Sanjay 将审查并尽快作出答复。  

    您使用的是 EVM 还是定制电路板? 如果是 EVM、您能否分享您的跳线设置以及连接了哪些电源? 如果这是定制电路板、您能否分享一个原理图及显示的所有电源电压?

    此致!

    K·琼斯

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

    大家好、Jan、

    请提供  Katlynne 提到的详细信息、以及 DUT 电源值以及用于器件唤醒的 SPI 命令序列。

    此致、

    桑贾伊

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

    它不是评估板、而是我自己的布局。 被称为+33V 的电压现在已经下降到+12V。  由于复位时电压变为+5V、到 CPU 上 AN23输入的连接已切断。 进入1.25V 评估器初始化。 2.500V 的基准电压输出在启用后可以正常工作。

    代码如下。 常量在数据表中给出、代码一目了然。 代码可以正确地读取和写入寄存器-所有测试都正常-没有 halt ()被调用。  状态寄存器的回读值为9。 位0和3被置位。 位0为 TEMP-ALM、但数据表中未介绍位3。 有什么事吗?

    DAC16_RESET_LOW;
    time_spin_us(1);
    DAC16_RESET_HIGH;
    time_spin_ms(1);
    // Verify ID
    if ((dac16_read(DEVICEID) >> 2) != 0x29C) halt(DAC_ERROR);
    // Verify default SPICONFIG contents
    if (dac16_read(SPICONFIG) != 0x0AA4) halt(DAC_ERROR);
    // Turn off power down and enable SDO output
    dac16_write(SPICONFIG, 0x0A84);
    if (dac16_read(SPICONFIG) != 0x0A84) halt(DAC_ERROR);
    // Enable internal voltage reference
    dac16_write(GENCONFIG, 0x3F00);
    //尝试重置过热报警
    dac16_write (trigger、0x0100);
    //启用所有通道
    DAC16_WRITE (DACPWDWN、0x0000);
    reg = dac16_read (DACPWDWN);//返回0xFFFF、不是应该的0x0000!!!
    REG = dac16_read (status); //返回0x0009
    // Set All channel ranges to 0-5V
    dac16_write(DACRANGE0, 0x1111);
    dac16_write(DACRANGE1, 0x1111);
    dac16_write(DACRANGE2, 0x1111);
    dac16_write(DACRANGE3, 0x1111);
    // Set all outputs to 2.5V
    for (i = 0; i < 16; i++) dac16_write(DAC + i, 0x8000);
    // Toggle LDAC just in case it is needed
    DAC16_LDAC_LOW;
    time_spin_us(1);
    DAC16_LDAC_HIGH;

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

    大家好、Jan、

    您能否同时分享一下在 所有 DAC0 - DAC15通道之后的原理图设计?

    谢谢。

    桑贾伊

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

    输出当前未连接到任何东西。 计划通过一个100 Ω 电阻器将它们连接到"钉床"中的引脚。

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

    大家好、Jan、

    我们可以连接一个简短的会议并进行实时调试会话吗?
    我已经通过邮件发送了详细信息。

    此致、

    桑贾伊