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.

[参考译文] DAC81416EVM:DAC81416:输出不符合预期

Guru**** 2535750 points
Other Parts Discussed in Thread: DAC81416

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1053050/dac81416evm-dac81416-output-is-not-as-expected

器件型号:DAC81416EVM
主题中讨论的其他器件:DAC81416

尊敬的 TI:

我们在设计中使用 DAC81416芯片组。

我们使用 RPI 板通过 SPI 连接 DAC 芯片组。

DAC 驱动器的 DAC 初始配置如下

/******** /

printk ("DAC81426复位\n");
RET = dac81416_RESET (st);
如果(RET < 0)
回程;

regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE0、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE1、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE2、0x0000、0);
如果(regval < 0)
返回 regval;
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACRANGE3、0x0000、0);
如果(regval < 0)
返回 regval;
/*加电设备-SDO 使能*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_SPICDIT, 0x0A8C,//* 0x0084,*/ 0);
如果(regval < 0)
返回 regval;

/*为所有 DAC 通道加电*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_DACPWDWN、0x0000、0);
如果(regval < 0)
返回 regval;

/*启用板播 DAC 通道*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_BRDCONFIG、0xFFFF、0);

如果(regval < 0)
返回 regval;

/*在所有通道中启用异步模式*/
regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_SYNCCONFIG、0x0000、0);
如果(regval < 0)
返回 regval;

regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_GENCONFIG、0x3f00、0);
如果(regval < 0)
返回 regval;

regval = dac81416_WRITE (Indio_dev、DAC81416_CMD_WRITE_DATA、
DAC81416_REG_Brdcast、0x0000、0);
如果(regval < 0)
返回 regval;

/********* /

可用于写入 DAC 寄存器的 SYS 接口如下所示

echo 65536 >/sys/bus/iio/dac/devices/iio:devices/out_voltage0_raw

将任何值写入此不会改变电压电平。

请澄清以下几点

1、上电时复位线为高电平、拉低1ms、然后在 DAC 初始化期间拉高。 是这样吗?

2.可以使用 cat 命令读回 DAC 寄存器吗? 如果在所有寄存器上读取、则该值始终为0。

写入 DAC 寄存器时、写入周期在逻辑分析仪上被正确捕获。 从 RPI 可以看到、在写入和读取操作期间、MISO 线路上的行为应该是什么?

回读时器件 ID 为0x00。 这是预期的吗? 根据数据表、它是0x29。即使 EVL 也有0x00作为器件 ID。

5.在 DAC 芯片上测得的内部基准电压为零。 这是预期的结果。

如果需要配置其他任何内容、请告知我们。

此致、

Shilpa

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

    Shilpa、您好!

    当电源被打开时、一个 POR 自动发生并且有一个1ms 的 POR 延迟、其中寄存器被初始化为它们的缺省值。 RESET 引脚不是输出、因此在1ms POR 延迟期间不会被器件拉低。 您可以将 RESET 引脚拉至低电平500ns 以触发硬件复位。  

    读取命令需要发送两条命令。 需要在以下两条命令之间切换 CS 引脚:

    如果 cat 命令将遵循此时序图、则可以使用它。  

    3.您在逻辑分析仪上捕获了正确的写入周期,但是否确认 DAC 已成功接收到命令? 尝试写入一个命令来为内部基准加电。 默认情况下、基准断电、因此如果命令成功、您应该会在基准引脚上看到2.5V 电压。 如果您使用 EVM、请在打开内部基准电压之前通过跳线 J11断开板载外部基准电压。  

    4、否、器件 ID 应为0x29C。 您的读取函数可能无法正常工作。  

    5.内部基准缺省情况下被断电。 您将在引脚上看到0V、除非您为内部基准加电或者您正在应用一个外部基准。  

    通过尝试打开内部基准电压来验证您的写入命令是否正常工作。 如果 WRITE 命令正常工作、则在上述时序图之后发送读取命令。 发送读取命令、然后发送虚拟命令、以在 MISO 引脚上接收回读数据。  

    确保设置 SPI 模式、以便在下降沿为数据计时。

    最棒的

    Katlynne Jones  

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

    尊敬的 Jones:

    感谢您的回复。

    问题现已解决。

    SPI 模式设置为 CPHA、clk 设置为125000000。

    此外,我们还必须为 VCC 提供外部电源(10V),以最终实现这一目标。

    所有 DAC 输出均根据输入值变化。

    但器件 ID 仍读数为0x00。

    此致、

    Shilpa