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.

[参考译文] ADS1291:器件在初始化后返回0值

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1201599/ads1291-device-returning-0-values-after-initialization

器件型号:ADS1291

我目前正在使用 ADS1291、并验证它是否可以生成测试信号以及读取传入的信号。 目前、我在读取 ID 寄存器、读回配置设置以及在接收到数据就绪信号后读取数据时、偶尔会收到0响应。

我经常收到这些问题、但在大多数情况下、我能够成功写入和读回测试信号配置。 但是、即使我随后读回 ID 值0、它仍然能够生成测试信号。 一旦完全处理了测试信号、我会尝试写入正常的运行配置、但通常会在过程中的某个位置发送回0而失败。 我在下面提供了配置的图片。  



我的配置更改过程如下:

1.启动后等待4096个 TMOD 周期(31、998uS)
2.将 RESET 设置为高电平,然后等待1秒钟
3.将 RESET 设置为低电平并等待1个 TMOD 周期(8us)
4.再次将 RESET 设置为高电平并等待18TCLK 周期(36uS)
5.发送 SDATAC 命令
6.将0xA0写入 PDB_REFBUF 的 CONFIG2
7.等待 VREFP 至少达到2.2V
9.将11个字节的 CONFIG 写入 CONFIG1寄存器
10.等待18个 TCLK 周期(36uS)
11.回读配置寄存器并验证它是否与传入的配置匹配
12.读取 ID 寄存器并验证它是否与预期值0x52s 匹配
13. 发送起动命令
14.发送 RDATAC 命令

似乎在大多数情况下、它都正确设置了测试信号的配置、但它不是 surefire。  它 似乎是随机的、在更改为_CONFIGURATION_DEFAULT 时失败、但在大多数情况下、要么在验证配置时读回0、在验证 ID 时读回0、要么在 数据就绪引脚触发0流。  

我们的 SPI 当前设置为 CPOL0 CPHA1和500kHz 传输速率、这是我们当前使用的硬件配置、以便为您提供帮助。  

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

    您好!

    这是您第一次遇到此问题吗?

    什么时候得到芯片?

    您是否始终从 ID:ID 控制寄存器(出厂编程、只读)(地址= 00h)读回0?

    您能否看一下 ADS1x91顶部表面并告诉我其读数?

    ------------------

    请问您"偶尔"是什么意思? 这是否意味着有时会读取0值、有时会读取其他值?  有何价值?  

    ------------------

    对于 "一旦测试信号被完全处理后、我会尝试写入正常的操作配置、但在过程中通常会通过发回0而失败。  "

    您能解释一下"通常通过发回0而失败 "吗?   您是说所有的寄存器都在读取吗?

    您是否在两者之间发送了任何复位命令?

    您是否还可以再次检查/RESET 引脚、以确保其未在两者之间意外下拉至低电平?

    -------------------------------------------------------

    表示"3. 将 RESET 设置为低电平并等待1个 TMOD 周期(8us)"

    您在此处尝试重置吗?

    请注意-" 执行 RESET 命令需要9个 Fmod 周期。 请避免在此期间发送任何命令。"

    ----------------

     DVDD 电压是多少? 确保 SPI 的 SCLK 满足   数据表第6.6节中的 tSCLK SCLK 周期。

    谢谢

    谢谢

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

    DVDD 当前由3.3V 电源供电、SCLK 周期为6us。  

    我将 RESET 信号设置为低电平8uS、但然后将其设置为高电平、并在发送任何其他命令之前等待额外的18TCLK 周期或36uS。 我以前没有看到关于9个 Fmod 周期的注释、而我是根据第10.1节的上电时序控制来设置18个 TCLK 周期。 我只是在将 RESET 设置为高电平后更改等待周期、在9个 Fmod 周期内将其脉冲至71uS、并将其更改为36uS、以包含9fMOD 周期以及第10.1节中提到的18个 TCLK 周期、但遗憾的是、我仍然接收到相同的结果。  

    我并不是一直从 ID 寄存器或任何这些寄存器读回0、但一旦我开始读取0、它似乎只发送0。
      
    在此图中、根据原理图、D0为 AFE_SCLK_HV、D1为 AFE_DIN_HV、D2为 AFE_DOUT_HV、D3为 AFE_NCS_HV。 如图所示、数据线好像是有效数据一样会低脉冲、但不管什么情况都只有0。 这通常在写入新配置后发生、如下所示。  


    在这种情况下、测试信号通过了其配置、但一旦切换到默认配置、便能够使用 memcmp 验证配置寄存器的读取和写入过程、但一旦发送 SDATAC、读取的数据便持续为0。 有时、在尝试读取配置寄存器以验证写入是否正确时、它会显示为0、有时、在更改配置后、在验证 ID 寄存器是否为正确值时、它会显示为0。 当它不返回0时、这些值是所有寄存器的预期值。  

    芯片顶部也读取  
    广告
    1291.
    TI 241
    C6T5  
    但是、我不认为未能返回正确的 ID 值与器件型号有关。

    我已验证在写入这些配置之前、复位仅会发出低电平脉冲、而它会发出低电平脉冲达14uS、并在写入配置请求之前等待141uS。下图显示  D3上的 AFE_nRESET_HV。

    同样奇怪的是、在第3次设置和验证之前、它几乎总是未能通过前2个配置写入、这似乎是相当一致的。 下面的示例显示了启动过程、其中2次配置写入失败、然后是配置写入成功、但在将测试信号设置为生成后、我们仅获得了常规0样本。