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.

[参考译文] ADS131A04:ADS131A04就绪/SPI 通信

Guru**** 2390755 points
Other Parts Discussed in Thread: ADS131A04

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/715832/ads131a04-ads131a04-ready-spi-communication

器件型号:ADS131A04

您好!

我实现了包含 ADC ADS131A04的原型。 引脚 M0、M1和 M2调节为折页:M0 =高电平、M1 =高电平、M2 =低电平。 因此汉明码字验证关闭、ADC 以异步中断模式运行、SPI 参考字大小为32位。

我将按照第10.4节(第78页)中的建议初始化 ADC

  1. ADC 电源已关闭。  
  2. 引脚 M0、M1和 M2由电阻器(500欧姆)设置为上述电平(M0 =高电平、M1 =高电平、M2 =低电平)。
  3. 启用外部主时钟(16MHz、CMOS)。
  4. 打开 ADC 电源(V_ADD = 3.3V;V_IOVDD = 3.3V)
  5. ADC!重置! 引脚电平设置为高电平
  6. 通过输出0xFF04来执行软件复位以检查 ADC 是否就绪

SPI 接口运行在模式1下、频率为2MHz (根据逻辑分析仪)。

下图显示了逻辑分析仪为软件复位(0x0011)捕获的数据。

可以看到、ADC 状态响应以0xFF04开头、表示 ADC 就绪。 但是、我希望在多个 SPI 掩码/数据帧之后有一个进一步的就绪(0xFF04)响应、如第9.5.3.2节(第50页)所示。 输入/输出8个数据帧(每个数据帧包含32位)。 前32位为0x00110000、其余命令为 NULL 命令(0x00)。

我还执行了一个"独立"NULL 命令(第50页的第9.5.3.1节)。

可以看到、状态响应会产生预期的响应0xFF04。 ADC 处于锁定状态、因此我想知道哪个 ADC 寄存器内容会计时输出、作为 NULL 命令的响应。 请参阅图68中的第二个数据帧。

 

我对读取寄存器状态有点困惑。 根据第51页的第9.5.3.5节、UNLOCK、NULL、RREG 和 RREGS 命令是唯一的命令
在锁定状态下读回数据时可识别。因此、我也接受了寄存器0x05的读取命令。 这也会导致与前两幅图像中所示的相同响应。

也许我阅读了数据表中的一些重要部分。 数据帧后是否需要额外的高/低转换?

BR

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

    您好 Stenzer、

    感谢您的发帖。

    让我澄清几个要开始的事情。 首先、如您所见、在器件加电时处于锁定状态时、只能发送四条命令:UNLOCK、NULL、RREG 和 RREGS。 在初始上电序列期间不能使用 RESET 命令(0011h)。

    其次、帧的开始和结束仅由/CS 上的转换标记。 帧中的每个字都必须由 M1设置指定的位数组成。 器件在禁用 CRC 的动态帧模式下加电、因此第一个帧只需要包含一个32位字。

    命令状态响应位于一帧的第一个字中(即、在/CS 变为高电平并返回低电平之后)。 对 NULL 命令的响应将始终是 STAT_1寄存器中的寄存器内容。

    如果您有任何疑问、请告诉我。

    此致、

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

    您好、Ryan、

    感谢你的答复。 缺少/CS 转换。 根据第9.5.2.1.1节

    片选(CS)是低电平有效输入、用于选择器件进行 SPI 通信、并在异步中断模式下控制数据帧的开始和结束。 CS 必须在整个串行通信期间保持低电平、才能完成命令或数据回读。

    这有点误导:D.

    我执行了一个 SPI 通信、其中包含个解锁命令(0x0655)、一个寄存器0x0C (->0x2C)的单个寄存器读取 RREG、后跟一个 NULL 命令(0x00)。 在数据帧结束时没有/CS 转换的结果可以在此处看到:

    可以看出、结果看起来不像预期的那样(0xFF04;0x0655;0x2C3C)。

    在数据帧结束时由额外的/CS 转换确定的正确结果如下所示:

    正确的 MISO 读数可以在右下角看到、从而得到0xFF04、0x0655、0x2C3C。 其中0x3C (最后一个数据帧的)是寄存器0x0C 的默认寄存器设置(wgich 由命令0x2C 读取)。

    Ryan、非常感谢您!!

    BR 狭窄器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Stenzer -我很高兴您能让它正常工作!

    此致、