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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/694071/ads131a02-issue-on-communication

器件型号:ADS131A02

您好!

我正在尝试将 ADS131A02与 MSP432配合使用。

SPI 时钟为12MHz、相位被设置、以便在低边沿从时钟捕获数据。

首先、我要做的是:

硬复位->等待10ms ->发送解锁 SPI->写入 REG SPI_-->发送唤醒 SPI->发送锁定 SPI

始终当我写入 REG 时、ADS131A02在 DOUT 0xFF02处输出、因此这意味着0xFF 器件处于锁定状态、0x02器件通道编号是对的?

我使用32位配置、异步中断和汉明、因此 M0/M1/M2设置为高电平

为了解锁、我在 SPI 上发送0x06550000、因为我的 Vivce 字长为32位。

为什么器件未解锁?

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

    您好、Michael、

    感谢您的发帖!

    FF02h 是内部上电复位完成后的正确就绪响应。

    发送 UNLOCK 命令(0655h)时、您是否在下一帧的状态响应中看到 DOUT 上的相同命令? 应重复该命令以确认已正确接收到该命令。 请参阅数据表第49页的图67和表14。

    由于您正在启用汉明码、因此还必须在解锁命令的最后一个字节中发送正确的汉明码位。 请注意、就绪响应中的最后8位也包含汉明码。

    此致、

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

    您好、Ryan、

    我发现了这个问题!

    我必须发送两次解锁、以便 ADS131A02自行解锁。

    下面是一个屏幕截图、其中说明了为什么:

    ADS131A02好像在一个时钟之后做出反应、但他不理解我的"解锁"。 再次发送"解锁"可解决此问题。

    他为什么这么做?  

    OBS:值不是0xFF82、它是0xFF81

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

    这只能在16位模式下工作:在32位模式下、M1为高电平、它不工作。 它始终处于锁定状态。

    M1:16位(悬空)->解锁0x0655有效

    M1:24Bit (GND)-> 解锁0x065500不起作用

    M1:32位(VCC)->解锁0x6550000不起作用

    有什么想法吗?

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

    0x0655在16位模式(M1 =悬空)下工作是合理的、因为该模式不支持汉明码(我认为这意味着在这种情况下 M2会被忽略)。 对于24位和32位模式、必须在字末尾的最低有效字节中发送正确的汉明码位。 例如、在32位模式下、必须发送0x065500'HC'。

    现在尝试通过将 M2绑定到 GND 来禁用汉明码功能。 那么您只需要发送0x06550000。

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

    您好、Ryan、

    M2连接到 GND、抱歉 、我忘记了。

    如果发送0x065500为24,但发送0x06550000为32位,则不起作用。

    有什么想法吗?

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

    您好、Michael、

    很抱歉、这会导致很多问题。 我也在刮擦自己的头。 到目前为止,有几个细节仍然令我感到关切。 让我总结一下我们现在的情况、并添加一些问题以进行澄清:

    1. 您在示波器上看到的就绪响应是0xFF81、这是不正确的。 您应该会看到0xFF02。
    2. 解锁(0x0655)似乎只在16位模式下工作。 汉明码现在被禁用(M2 = GND)、所以必须将零添加到 LSB 以支持24位 ADn 32位模式。
    3. 我之前问下一帧中的命令状态响应是否正确。 您应该会看到命令在一帧的第一个字中重复为零、以在24位和32位模式下填充 LSB (即0x06550000应该是在 DIN 上发送0x06550000之后帧中 DOUT 上的第一个字)。 您能否再次检查并分享屏幕截图进行确认?
    4.  是否在模拟和数字电源斜升之前设置了所有硬件模式引脚?

    让我与数字设计人员一起检查其他一些事项、然后再回到您的身边。

    此致、

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

    您能否共享显示24位模式解锁命令的范围捕获? 请包含 DIN 上的0x065500以及接下来的24位、以便我们可以在 DOUT 上看到相同的0x065500。

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

    您好、Ryan、

    好的、让我们从开始。

    我现在的配置是:

    M0 - 3V3

    M1 - GND (24位)

    M2 - GND

    首先、我使用0x065500发送解锁:

    ADC 向我发送0xFF0200。 现在我发送一个虚拟值0x000000来检查下一条命令中它是否会解锁器件:

    从机不解锁并发送回0xFF0200。  

    我的 SCLK 以12MHz 运行。

    是否知道从器件为什么不解锁?

    OBS: 使用100 Ω 电阻器将 M0上拉至3V3、将 M1/M2下拉至 GND。  

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

    您好!
    因此、我设法使它能够与32位字大小配合使用。 我当时在玩、我唯一改变的是 SCLK。
    我将 SCLK 从12MHz 更改为24MHz、似乎已解锁器件。
    在数据表中、它显示最小 SCLK 40ns。 这意味着最大时钟周期是25MHz?

    OBS:发送解锁后、在下一条命令上、我可以读取0x06550000指令、0xFF020000

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

    您好、Michael、

    很抱歉耽误你的时间、我离开办公室几天。

    基于您可以在下一帧中读取0x06550000、我同意器件似乎已正确解锁。 我不明白为什么增加 SCLK 频率可以解决这个问题。 我将重新检查时序规格、并与设计人员交谈、看看我们可能错过了什么。

    此致、

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

    您是否曾缩小问题的根本原因? 增加的 SCLK 频率是否也适用于16位和24位字大小?

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

    是的、24MHz SPI 时钟也适用于24位和16位。
    24MHz 的性能非常出色、因为我每秒获得48kHz 的样本、并且以这种速度读取数据可提高 CPU/DMA 性能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很好、很高兴听到这个消息。

    如果我们的团队将来遇到类似问题、我会记住这一点。 如果您确实意识到根本原因是什么、或者再次遇到问题、请告知我们。

    此致、

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

    是否有任何有关此问题的进一步信息? 我刚刚在搜索中发现了此线程、但在相同配置下遇到了完全相同的问题。 我也在使用12MHz SPI 时钟、没有切换到更高锁定率的选项。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Brian、
    尝试将32位字减少到16位、然后查看它是否适用于12MHz 时钟。
    我不知道原因,但帮助我使用32位时钟的唯一方法是增加 SCLK 时钟。

    您还可以更改尝试更改时钟输入并从控制器连接到 PWM。
    我认为默认值类似于16.384MHz、将其降低至8MHz、看看这是否适用于 SPI