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.

[参考译文] ADS1258:ADS1258寄存器写入命令问题、配置寄存器

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1441882/ads1258-ads1258-register-write-command-problem-configuring-registers

器件型号:ADS1258

工具与软件:

您好!

我使用的是 ADS1258、我对寄存器写入命令有疑问。

首先、我将发送寄存器写入命令(前三位为"011"=寄存器写入命令)、以便配置 我要处于活动状态的单端输入(我要发送的命令字节中的地址为"0100"、从而使寄存器 MUXSG0 ="00000001"... 这意味着我希望通道 AIN0处于活动状态)、这具有 多寄存器访问 MUL='0'、这意味着我只想配置那个 AIN、所以我将发送为命令"01100100"、并作为寄存器数据"00000001"

然后、在保持  多次寄存器访问 MUL='0'的情况下、我要将 AIN8配置为活动状态、因此我将发送命令"01100101"(寄存器 MUXSG1的地址)和寄存器数据"00000001"、并且 会发生以下情况之一

   -配置正确、AIN0和 AIN8处于活动状态

   - MUXSG1寄存器配置不正确、将此寄存器(AIN8到 AIN15)中的所有 AIN 保留为有效、MUXSG1 ="11111111"

通过分析此问题、我已经达到了通过 SPI 与 ADC 进行通信的部分、我知道相同的 SPI 总线用于通信、以配置 ADC 和读取转换后的数据... 我已经看到、我正在尝试在 SPI 传输转换后的数据时对其进行配置
我的问题是:SPI 用作通信后、是否有必须等待的时间规则、之后才能将转换的数据用作配置通信? 反之亦然、等待配置读取转换后的数据?

在我看来,我的问题是在这一方面,因为有时它被正确配置,而有时它不是。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    进行更新
    我在配置(发送寄存器写入命令)时将 START 设置为低电平 、以防止 ADC 在我配置数据时转换数据
    我还有一个问题、关于在不发送 SCLK (SPI 时钟)时 DRDY 保持低电平的时间、这意味着我不会读取转换后的数据?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Juan B

    查看数据通信将会有所帮助、而不仅仅是对其进行描述。 这是我们验证通信是否正确的唯一方法、验证您要向 ADC 发送和从 ADC 接收的命令以及时序的方法

    您能否提供逻辑分析仪图、以显示数据事务期间的所有数字信号(CS、SCLK、DOUT、DIN、DRDY)?

    -Bryan

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

    尊敬的 Bryan:

    在随附的图中、我展示了这两种情况下使用的信号、用于读取转换后的数据和配置 ADC

    首先在图像"image 1"中、将会读取转换后的数据、在这种情况下、我将立即发送一条命令来修改 MUXSG1寄存器(地址"0101")、以使 AIN8和 AIN15处于活动状态... 但这里、该寄存器配置为"11111111"、从而使这个8保持有效(AIN8至 AIN15)

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

    您好、Juan B

    下面圈出的图像中发生了什么情况? 您说您正在"读取数据"、那么为什么要发送5x8 = 40个 SCLK?

    此外、如果要使用 Channel Data Read Direct 读取数据、则必须在读取完成后切换 CS。 这看起来像你在做什么,因为你没有任何 DIN 上的活动

    -Bryan

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

    你(们)好、Bryan

    我将发送40个 SCLK、以便最终使信号恢复为"零"、目的是在下一次数据读取时、我可以看到 MISO 信号从"零"开始。

    在附加的映像中、您可以看到 CS 是如何变为高电平的、但变化时间非常短、因为它立即恢复到低电平、现在使用 SPI 来配置 ADC、

    对于更新、当我要配置 ADC 时、我将转换开始信号设置为低电平、并等待正在进行的最后一个 DRDY

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

    尊敬的 Juan B:

    您使用的 SCLK 和 CLK 频率是多少?

    -Bryan

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

    你(们)好

    CLK = 16 MHz

    SCLK = 10 MHz

    更新时、我意识到 ADC 配置错误、因为我使用的是自动扫描模式、在该模式下、我看到1个通道处于活动状态时 ADC 采样频率为23.739 kHz、当我尝试按所需配置它时、当配置错误时、我在同一信号上得到的采样点较少、因此我得出采样频率发生变化、我得出结论是因为激活了更多通道进行转换。

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

    尊敬的 Juan B:

    感谢您提供此信息。 您需要查看 ADS1258数据表中的时序信息、见下文

    SCLK 速度必须小于 CLK 的1/2。 和 CS 周期必须遵循相同的限制。 您在之前的一个图像中显示的 CS 脉冲肯定小于 SCLK 周期、这已经太短了

    -Bryan

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

    你(们)好、Bryan

    我意识到我没有考虑这些限制... 我将尝试应用它们并分析运算。
    非常感谢、根据我将再次询问的结果。

    另一方面、利用开放论坛空间、是否有办法了解特定寄存器的配置情况? 例如、我将 MUXSG0寄存器配置为"10000001"、我想看到该配置、所以我想我应该为此发送一个包含寄存器地址的命令、希望我得到的是"10000001"…… 我不确定是否是"Register Read Command"(寄存器读取命令="010")的命令"01000100"

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

    您好、Juan B

    有关命令(尤其是"寄存器读取命令")的说明、请参阅 ADS1258数据表中的表14。

    另外、如果您的问题与原始主题无关、可以创建新主题吗? 这样,如果任何人在未来有类似的问题,他们将能够更容易地找到它

    -Bryan

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

    你(们)好、Bryan

    谢谢回复、我已为另一个问题启动了新主题、很抱歉在此主题中提问

    正在谈论这个线程中的问题。。。 我将 SCLK 时钟频率更改为1 MHz、我可以证实时钟确实处于该频率、但当我发送新配置命令时、ADC 未按预期配置... 此外、由 MISO 引脚从 ADC 发送的数据与我配置的内容不符、甚至与表12中状态字节中接收的数据也不符。 我获取了在表13中找不到的 Chid 位值。 例如1Eh。
    我不知道现在的频率是否过低、或者其他限制没有得到满足

    在随附的图像中、您可以看到我在 MISO 信号(状态字节)中接收到的第一个值是"11111110"、这使 Chid "11110"(1Eh)变为原来配置的值。

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

    尊敬的 Juan B:

    您是否也按照上一篇文章中的讨论更改了 CS 时序?

    此外、您的寄存器设置是什么? 您是否能够从 ADC 读回它们、以便我们确切地了解器件配置情况(可能不是您发送到 ADC 的内容、因为您发送的任何内容都可能没有被正确写入)

    仅供参考、这是美国的假日、请在下周之前不要期待其他回复

    -Bryan

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

    你(们)好、Bryan  

    我很抱歉我花时间回答,我正在做测试,考虑到你告诉我什么,并分析我得到了什么。
    问题在于 SPI 时钟频率、我对它进行了整理并整理了其他信号、以便一切都符合限制条件;因此、现在它在正常运行、我可以用我需要的值对寄存器进行配置、而且不会像以前那样退出配置。

    非常感谢大家所做的一切

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

    尊敬的 Juan B:

    我很高兴这个问题得到了解决!

    -Bryan