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.

[参考译文] ADS1299-4:ADS1299对命令无响应

Guru**** 2566365 points
Other Parts Discussed in Thread: ADS1299-4, ADS1299

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/760664/ads1299-4-ads1299-is-unresponsive-to-commands

器件型号:ADS1299-4
主题中讨论的其他器件: ADS1299

我们有一个基于参考设计的新电路板。 我按照先前的主题和 PG 62上的启动操作进行了操作。 DRDY 在启动时计时,POWERDN 和 RESET 为高电平, VCAP 大于1.1V。 发送 SDATAC 并尝试读取 ID 寄存器00。 在 CS 保持低电平的情况下、在 SPI 模式1下发送三个字节的传输。 MISO 返回"随机"数据、直到始终返回零。  当返回零值时、DRDY 变为高电平之前、该数据似乎是4位至24位值(可能是最后一个模拟采样)。  

我被骗了。   

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

    感谢您的发帖!

    根据您的描述、我认为您可能缺少额外的/RESET 脉冲。 如果看第62页上的流程,在 VCAP >=1.1V 之后,->“发出复位脉冲,等待18个 tCLKs”->发送 SDATAC 命令。 这是原因吗?

    我还有一些其他主题、其中包含一些常见问题、例如这些问题。 如果上述建议和下面主题中的问题无法解决您的问题、请告知我。 提供屏幕截图和原理图也可能很有用。

    SPI 检查清单: e2e.ti.com/.../2727329
    SPI 速度: e2e.ti.com/.../2573727
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1) 1) ID 寄存器读回是否正确?

    2) 2) 2)您是否遵循第10.1.2和11.1节中的正确启动顺序? 上电复位完成后、/DRDY 应以默认数据速率开始脉冲(假设 START 引脚上拉)。 tPOR 之后的/RESET 脉冲对于将数字内核置于正确状态至关重要。
    就我们测量的结果而言、是的。 我们将在今天下午再次检查。
    START 连接高电平。 DRDY 发生脉冲后、我将切换 GPIO 的复位(>10s)。

    3) 3)在尝试读取寄存器之前、是否发送 SDATAC 命令?
    是的
    4) 4)您能否提供原理图?
    如有需要
    5) 5)频率是多少?您要发送多少个 SCLK 脉冲来输出时钟数据?
    @MHz
    每字节8个,寄存器3个字节的切换,整个事务中保持 CS 的命令切换1个字节。 字节之间有足够的(>1ms)。

    我也尝试过16位传输。 此 SPI 引擎不会处理24位传输、否则我也会尝试这样做。



    如果我切换复位、DRDY 将返回、并且在始终返回零之前读取4x24位垃圾。

    您希望在跟踪方面看到什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    通常、如果 ID 寄存器未正确回读、则说明您的启动/加电例程存在问题。

    e2e.ti.com/.../658195
    e2e.ti.com/.../2706522

    逐条布线、DIN、DOUT、SCLK 和 CS。 这可能不是必需的、因为我怀疑存在时序或命令问题。 如果您发布代码、我也可以查看。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是原理图  

    :e2e.ti.com/.../ADC_5F00_brd_5F00_TI.pdf

    这是 SDATAC、第一个显示 DRDY 脉冲的宽视图、  

    显示带有 MISO 时钟回收垃圾的8位 SDATAC 命令的窄视图:

    ID 请求、三个时钟传输的宽视图

    第一个字节输出、垃圾时钟输入

    第二个字节:

    虚拟字节:(期望返回的数据....),被丢弃

    我们在1.8V DVDD 下使用此芯片、而在3.3V DVDD 下使用评估板。 SPI 是模式1。  

    它连接到一个带有 PL022 SPI 引擎的 ARM 上。 我当前正在使用库调用进行传输、但如果需要、我可以直接操作寄存器。

    在"上电"时、DRDY 信号在规格频率下脉冲、并在通过 GPIO 引脚切换复位之前观察到。  SDATAC 在几秒钟后被发送。

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

    尊敬的 Alex:

    我正在与 David Tiree 合作解决 ADS1299-4 SPI 问题。 我们通过100uF 电容将 VCAP1连接到-2.5V。 当我读取电容器上的电压时、我得到+1.208伏。 -2.5V 是仪表 GND 的正确参考点、还是应该将仪表 GND 绑定到芯片 GND?

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

    查看您的 MOSI 线路、数据看起来是向后发送的。 例如、"显示带有 MISO 时钟垃圾回收的8位 SDATAC 命令的窄视图"显示了 SDATAC 命令的1000、而不是0001 0001。 "第一个字节输出、垃圾时钟输入"的模式相同。

    您正在正确读取 VCAP1。 如果您想检查其他 VCAP 电压、这里是它们应该具有的值:
    VCAP1:AVSS + 1.2V
    VCAP2:(AVDD+AVSS)/2
    VCAP3:AVDD + 1.9V
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已通过两种方式发送它、我将切换并重试...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最高有效位优先、具有相同的时序也不起作用。 您想要屏幕快照?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最高有效位优先、具有相同的时序也不起作用。 您想要屏幕快照?

    我已经尝试过 SDATAC 和 RREG ID。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    屏幕快照会更好。 提醒一下、请检查您的 SCLK 频率、发送4组8个 SCLK、并在 MOSI 上发送2个字节的数据、如数据表第9.5.3.10节所示。

    Ryan 在以下帖子中对此进行了很好的解释: e2e.ti.com/.../705896
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Alex、
    9.5.3.10显示双寄存器读取(nnnnn =1)。 我应该能够通过三个 SCLK 传输来获得 ID、(nnnnn=0)、对吗? 今天早上、我将获得轨迹。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SDATAC 较宽:

    SDATAC 窄型:

    ID 为宽:

    ID BE B1:

    ID be B2:

    ID 为 B3

    这是位顺序更改后的最后一个序列的复制。 我理解规范中所说的传输是什么、但在没有数据的情况下、我几乎尝试了所有排列。 这是 MSB 优先、SPI1。

    使用中的库是我们所使用 ARM 的专有 SDK 的一部分、不是经过审查的操作系统、而是具有单字节传输的"值得信任"、如果需要、我将不得不编写更低级的替换文件来处理16位传输、或者编写更好的字节到字节传输时序。

     

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

    查看屏幕截图、现在您似乎不再处于 SPI 模式1。 查看窄屏幕截图、您的 MOSI 正在下降沿转换、这意味着您处于 SPI 模式0。

    e2e.ti.com/.../2315934

    由于您处于不正确的 SPI 模式、因此您永远不会进入 SDATAC 模式、并且您正在尝试在仍处于 RDATAC 模式的情况下读取 ID 寄存器。

    再看一下您的原理图、R1和 C19、R2和 C20的用途是什么... 等等? 同样的问题、但对于 TV1和 TV2? 您可能需要考虑删除这些组件。 您的监听器是由处理器还是 ADC 连接的? 由于这些连接、监听器可能无法实际看到 ADC 引脚上显示的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     抱歉、最后一组数据来自错误的文件、我的电路板被转换为3.3V 操作。  

    今天早上、我必须测试电路板、它在3.3伏下工作、并进行测试读取。 Reg0返回 0x3c、reg1返回 0x96。

    我们将使用1.8V 重试、但可以使用3.3V 电压。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的 SPI 模式是否受数字电压电平的影响?

    您的 UC 的运行电压是多少? 如果 uC 在3.3V 下运行、则 ADS1299数字电源为1.8V、并且两者之间没有电平转换、则 MISO 信号可能未超过 uC 识别的阈值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们现在正在工作、删除了电平位移器、所有操作仍然正常。 uC 为1.8V。 我们认为我们制造了自己的问题。 最初可能是连接较弱、然后是"尝试所有选项"、以重新连接板并重新同步软件。 我们现在很好。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很高兴听到这个消息!