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.

[参考译文] ADS1292R:读取寄存器命令的响应

Guru**** 2540720 points
Other Parts Discussed in Thread: ADS1292RECG-FE, ADS1292R

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/640098/ads1292r-response-from-read-register-command

部件号:ADS1292R

大家好,

我正在尝试通过SPI将ADS1292R与STM32F429 ARM处理器连接起来。 ADS1292R的电路与ADS1292RECG-FE相同。

我正在尝试只读取ID寄存器,所以我发送第一个操作码字节20h和第二个操作码字节00h。 响应为73h (正确),但也为02h (不正确)。 我连接了逻辑分析器,我看到了同样的东西。 02小时从哪里来?

编辑:我发现02h是来自config1寄存器的数据。 但是,我仍然不确定为什么当我使用命令只读取一个寄存器时ADS1292R会从两个寄存器发送数据。 此外,如果我发送命令读取两个寄存器(数据表中的示例),ADS1292R还会从三个寄存器发送数据。 这是一个错误还是我做错了什么? 此外,还提供了写入register config1的示例,然后从register config1开始从两个寄存器请求数据。 可以看出,ADS1292R从三个寄存器config1,CONFIIG2和LoFF发送数据。

提前感谢您的帮助,
约瑟普

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

    您好Josip:

    感谢您对我们的ADS1292R的关注!

    您是否可以共享显示整个SPI序列的图像,包括您发送的命令和计时结束的数据? 请分享您在上面发布的两张图片中的每一张。 如果您愿意,我相信您也可以将捕获保存到文件并将其附加到您的帖子中。 我使用相同的Saleae Logic软件,这样我就可以在我的终端打开它,并更仔细地查看它。

    如果您只发送0x20 0x00 (读取一个寄存器,从00h开始),则我不确定如果发送额外的SCLK,设备会有什么预期。 这是正确的命令顺序。 我会让设计师看看这是否是预期行为。

    此致,

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

    您好Ryan:

    感谢您的回复。

    这是两张照片的拍摄内容。

    e2e.ti.com/.../capture.zip

    编辑:我还有一个重要问题。

    我想连续读取数据,但过了一段时间后/DRDY仍保持较高的值。

    您是否可以验证我的步骤?

    1.发出SDATAC  

    2.发送重置

    3.切换CS

    4.将起始引脚设置为0

    5.激活SPI接口,/CS=0。 (CPOL=0,CPHA=1,1MHz)

    6.将寄存器写入下一个配置

    配置1:0x00

    CONFIIG2:0xA3

    LoFF:0x10

    CH1SET:0x15

    CH2SET:0x80

    RLDSENS:0x00

    LOFFSENS:0x00

    OFFSTAT:0x00

    RESP1:0x02

    RESP2:0x03

    GPIO:0x03

    7.检查是否已写入所有寄存器。 (正确写入)

    8.将起始销设置为1

    9.发送RDATAC。  (我已检查此步骤后/DRDY是否连续切换)

    10.读取/DRDY引脚并读取数据。 (过了一段时间后/DRDY才会变高)

    您有什么想法,可能会出什么问题?

    此致

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

    您发送的命令没有任何问题。 只是SCLK上的一个注释-您的评论提到SCLK = 1MHz,但看起来频率实际上是250kHz。

    您确实应该只发送所发送的命令和正在读取的数据所需的SCLK数量。 因此,如果您正在读取2个寄存器,则命令只需2个字节,寄存器数据只需2个字节。 仍然-让我尝试了解当发送额外SCLK时,DOUT显示的不仅仅是0x00。

    在启动过程中,在设置寄存器配置时,没有理由设置start =0。 START控制ADC转换,可在SPI事务期间自由运行。 在发送SPI命令之前,只需发送SDATAC。

    如果主时钟(CLK)持续运行且start = 1,/DRDY不应停止脉冲。 如果更改寄存器,/DRDY可能会在较高的时间内闲置,因为这会重置数字过滤器。 在经过稳定时间后,/DRDY应恢复以设定的数据速率发出低脉冲。

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

    您好,Ryan:

    感谢您的回复。

    我在调试过程中玩了SCLK,但我忘记了,所以它是250kHz。

    至于/DRDY,我觉得我读的/DRDY引脚和SPI通讯的部分可能是个问题,但我仍然不能肯定。 在RDATAC模式下,您可以在单次读取和连续读取期间从/DRDY引脚的作用域中看到图片。 您可以看到,一段时间后,在连续读取中,/DRDY pin会变高(并且它不会在设定的数据速率下恢复低脉冲)

    单读

    连续读数

    此致,感谢您的帮助,

    Josip Puskar

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

    在这个问题上是否有任何进展?

    是否有任何方法可以断开/DRDY引脚与其它电路的连接? 管座引脚/测试点很好,所以你可以继续探测,但我想知道你的系统中是否有外部的东西(即MCU)以某种方式加载/DRDY引脚并将其保持在高位。

    此致,