主题中讨论的其他器件: ADS8681
尊敬的
客户询问我们 是否有 ADS8695的 SPI 示例代码可作为他们的参考? 谢谢。
它们遇到的问题是、无论设置了 ADS8695寄存器值、读取采样值始终以默认寄存器设置为基础。
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.
你(们)好
是的、我们将测试 在 DEVICE_ID_REG 寄存器中对 DEVICE_ADDR[3:0]进行编程并将其读回的命令。 如果我们的命令正确、那么为了在 下一帧中获得正确的寄存器数据反馈、我们应该发送什么继续命令或数据?
蓝色时序是来自 ADC 的 SDO、到目前为止、无论我们发送 READ_HWORD 多少次、只要继续、SDO 都会返回根据模拟输入信号正确的转换数据、并且我们还可以成功接收 SPI Rx buf 中的转换数据。
考虑您的问题:
1、是的、第一个时序图是配置 SPI 后的第一个帧、因此您可以在 SCLK 和 MOSI 上看到从高到低的值
2、我们不改变第2个和第3个时序图之间的任何值、第2个图中最后一个 MOSI 字节可能的原因不同、是"0F"、第3个图中是"00"
您好、Terry、
感谢您的澄清。
如果 READ_HWORD 命令在帧 F 中发送到 ADC、则可以在帧(F+1)中向 ADC 发送相同的命令或 NOP 命令、并且帧(F+1)中的输出数据字包含16位寄存器数据、后跟0。 请确保使用 CONVST/CS 信号、因为该命令将在 CONVST/CS 信号的上升沿执行。 请参阅 ADS8695数据表第41页和第42页的说明。
此致、
戴尔
你(们)好
是的、我们已经阅读了第41/42页、并尝试按照我们的理解发送命令、如下所示:
CS 下降至低电平-> 写入 HWORD -> CS 上升至高电平-> CS 下降至低电平->读取 HWORD -> CS 上升至高电平-> CS 下降至低电平-> 读取 HWORD -> CS 上升至高电平
我们假设在第二个读取 HWORD 帧时看到寄存器值、但它始终是所有上述三帧中的转换数据。
我们是否了解命令和 CS 信号操作错误? 或者、您认为我们在这里缺少其他设置吗?
您好、Terry、
首先让我们重点了解读取寄存器、然后我们可以在稍后检查寄存器编程。 您能否要求客户按如下方式发送命令并捕获两个帧(32个时钟+ 32个时钟)的时序图(/CS、CLK、SDI 和 SDO)?
1.将命令(0xC8240000)发送 到 ADC o 读取 ALARM_H_TH_REG 寄存器。
2.用32个时钟发送 NOP 命令(0x00000000)到 ADC。
备注: 我们读取 ALARM_H_TH_REG 寄存器的原因是该寄存器中的默认内容为位15-0处的0xFFFF。 因此、应在第2帧的前16位的 SDO 上观察到0xFFFF。
请参阅另一个查询、该查询包含客户从 ADS8681读取寄存器时获得的最新时序图。
https://e2e.ti.com/support/data-converters/f/73/t/790523
谢谢。
此致、
戴尔