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.

[参考译文] ADS131A02:初始化问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/793863/ads131a02-initialization-issue

器件型号:ADS131A02

我正在尝试将 ADS131A02初始 化为 数据表中给出的初始化过程。 中提到的第一步是复位。 发送 RESET 命令(0x0011)后,我得到0x0x02。然后解锁,理想情况下解锁应该响应解锁字(0x0655),但我也得到0x0x02。

我以16位模式运行 ADC、并具有84/32MHz SPI 时钟。

我无法接收 Unlock 字、无论它是什么、都只能收到响应0x02。

请提供帮助或分享一些示例代码、非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    e2e.ti.com/.../793849 图片了解详情
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    莱昂纳多

    首先、我从另一篇文章中拍摄了照片、关闭了另一篇文章、我将展示以下图片:

    您提到 M0和 M1是悬空的、M2是接地的。 这意味着器件字大小为16位、并且您处于同步从模式。

    此时、我不确定是什么问题。 但是、重复的 FF02响应意味着器件未接收到正确的输入命令。 在收到解锁命令0x0655之前、器件的唯一响应将是0xFF02。

    您能否检查您正在测量的 DIN 线是否实际会将其连接到器件的引脚? 焊接不良或与 DIN 的连接断开会产生相同的效果。 如果您通过单独的板将主器件连接到器件、我还会检查以确保主器件和从器件具有相同的数字电源电压和相同的接地连接。

    请告诉我、如果您认为其中的任何一项适用、您是否可以展示您的设置的原理图和图片?

    吴约瑟

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

    焊料不良或连接断开未发生! 我的原理图中是否必须具有相同的数字电源电压和相同的接地连接?

    VCC 为3.3V、原理图是否有问题、您的建议是什么?

    这是复位配置,看起来不错,但 cnv 应该是高电平。 发送数据时、不知道为什么它为低电平。CNV 是 MCU 中的 GPIO 输出高电平。

    如果我想使用16位字从模式。我所做的是正确的、您是否有任何示例代码!

    非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    24位字现在还可以、坦率地说:数据表很难理解、而不是其他人。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    莱昂纳多



    您是否说您现在可以使用24位字与器件通信? 您能否发布器件的逻辑分析仪响应并验证 M0到 M2引脚设置?

    对于原始开机自检、我指出设备未收到解锁命令。 这就是我建议 DIN 连接不良的原因。 如果器件未接收到解锁信号、则0xFF02为预期响应。 如果器件未接收到解锁命令、则通信出现问题、并且器件未获得正确的命令、或者违反了数字时序。

    无论如何、如果您已让器件做出响应、我很高兴您能够与器件通信。 我同意您的观点、即这是一个相当复杂的器件、通信必须正确、或者器件的运行方式不符合预期。 我现在将关闭此帖子、但如果您仍有问题、我们将继续查看此帖子。



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

    是的。 我将 M1引脚更改为 GND 使用24位字。 现在、我来结束 ADS131A02的 Inite、请参阅一些家伙代码!

       while (ADS131_Reset ()!= 0xFF02);//重置
       while (ADS131_UnlockOrWakeup (unlock_CMD)!= unlock_CMD);//解锁
       while (ADS131_Wreg (0x4BA8)!= 0x2BA8);//a_SYS_CFG
       while (ADS131_Wreg (0x4C3C)!= 0x2C3C);//D_SYS_CFG
       while (ADS131_Wreg (0x4D08)!= 0x2D08);//CLK1  fICLK = fCLKIN (16.384mhz)/ 8.
       while (ADS131_Wreg (filter)!=((filter&0x0FFF)|0x2000);
                                        //CLK2 FMod=fICLK/8   Fdata=FMod/400  现在为5.12Khz
       while (ADS131_Wreg (0x5100)!= 0x3100);//ADC1
       while (ADS131_Wreg (0x5200)!= 0x3200);//ADC2
       while (ADS131_Wreg (0x4F0F)!= 0x2F03);//启用

     我认为应该响应0x2F0Factuallly、它是0x2F03。

    (数据表:


    0000:所有 ADC 通道断电
    1111:所有 ADC 通道均已通电
    所有其他设置:请勿使用


    )
       while (ADS131_UnlockOrWakeup (WAKEUP_CMD)!= WAKEUP_CMD);//唤醒
       while (ADS131_Wreg (LOCK_CMD)!= LOCK_CMD);//锁定

    感谢您的帮助!

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

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

    你(们)好

    为什么我无法使用同步从模式器件连接正确读取数据! 第一个读取行为 STATUS(STAT_1),然后是 STAT_P、STAT_N、STAT_S。问题出在哪?DONE -> DRDY

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


    同步从机模式仅与同步主机配合使用。 这可以是同步主微控制器、但通常用作作为同步主器件运行的菊花链器件。 如果您只与一个器件通信、那么我将使用异步中断模式。 在这种情况下、每次 DRDY 变为低电平以读取数据时、都会发送空命令。

    无论如何、在您的图中、您似乎每次都在发送命令来读取寄存器。 每隔一帧、您将在23、24、然后在25中发送数据。 这将触发对寄存器的读取。 相反、您能否以一组 null 命令来查看数据是否正确输出?


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

    您好、Wu Joseph、

    我已更改为异步中断模式。

    现在、我可以读取 outdata、但输入后数据读取无法更新。  我将输入调节为0~4V。 我可以读取数据、但有时数据与输入相同、有时则不能。 我发送的是 null 命令。

    Nomatter 24bit *4或24bit*3,我可以读出数据,但有时与输入相同,有时则不能。

    当输入发生变化时、如何使用输入读取数据。

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


    我没有意识到这篇文章仍然有一个开放式问题。 您是否能够解决此设备的通信问题?


    吴约瑟