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.

[参考译文] ADS8686S:收到错误的串行数据

Guru**** 2928980 points

Other Parts Discussed in Thread: ADS8686S

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1602307/ads8686s-getting-incorrect-serial-data

器件型号: ADS8686S

您好、

在与 Hercules 控制器连接的定制硬件设计中、我使用 ADS8686S。 ADC 配置为在单线制串行模式下运行、配置遵循数据表中提供的表。 SPI 设置为 CPOL = 1 和 CPOH = 0。 我还会根据建议在上电后发出复位序列。

我尝试通过传输 0x2000 来读取器件 ID 寄存器。 但是、我接收到的值为 0x0002、而不是预期的复位值 0x2002。

您能帮我了解为什么未按预期返回器件 ID 寄存器的高位吗?

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

    您好、Dhir、  

    感谢您在 TI 的 E2E 论坛上发帖、并感谢您对假日期间的回复耐心等待。  

    读取 ADS8686S 的寄存器时、第一条串行命令是设置读取字节(位 D15;W/R)、然后是寄存器地址 (D14:9)、最后 9 位会被忽略。 第二条命令是读回先前设置的寄存器的数据、这包括寄存器地址、仅包含 D[7:0]位中的数据。

    对于器件 ID 寄存器、显示所写入和读回的内容正确:  

    • 第 1 帧:SDI= 0x20xx;D15 = 0、D[14:9]= 0x10、D[9:0]=无关
    • 第 2 帧:sdi = nop 或命令且 SD0 = 0x0002;D1[15:2]= 0x0000、D[1:0]= 0x2

    因此、预计仅读回 0x0002。  

    此致、  

    Yolanda