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.

[参考译文] ADS131M02:ADS131M02

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1479146/ads131m02-ads131m02

器件型号:ADS131M02

工具与软件:

大家好、修改 ADS131M02上的增益设置寄存器时遇到问题。 ADC 使用默认设置工作、因为我已通过 SPI 与 raspberrypi 5成功进行通信、但当我尝试将一个或两个通道的增益更改为1以外的增益时会出现问题。

观察示波器上的 SPI MOSI 线路(中的 RPI 输出 ADC)、此命令看起来是正确的。 我使用数据表 WREG 命令和地址4上的 GAIN 寄存器构建该命令、得到32位:0110 0010 0000 0000 0010 0010 0000 0000 -- 011是 WREG 命令、000100是地址40000000是1个寄存器写入、然后是16位寄存器设置、将两个通道增益设置为2。 发送此命令时、我会收到一个正确响应、其中写入了地址和寄存器。 但 ADC 不会改变输出数据的振幅(测试正弦波保持不变)。  

有人有什么想法可能会出现什么问题吗?

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

    尊敬的 NIK KRELVRJ:

    您能否向我们发送整个 WREG 命令(显示 DIN、DOUT、SCLK 和 CS)的逻辑分析仪捕获结果?

    我假设您使用的是默认寄存器设置、因为您遇到的问题是更改寄存器值。

    此外、您能否解释一下自己的意思:

    Unknown 说:
    ADC 通过
    未更改输出数据的幅度

    ADC 输出代码应随 增益而变化、但当您将代码转换为电压时、无论增益如何变化、电压都应相同(当然、假设信号仍在 ADC 满量程范围内)

    -Bryan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="204916" url="~/support/data-converters-group/data-converters/f/data-converters-forum/1479146/ads131m02-ads131m02/5678284 #5678284"] ADC 输出代码应随增益变化、但 将代码转换为电压时、无论增益如何、电压都应相同(假定信号仍在 ADC 满量程范围内)[/QUOT]

    就是这个、我所查看的是电压、而不是原始数据。 我的错误:)

    不过、我还有一个关于时钟寄存器的问题。 我再次成功写入了正确的地址、例如可以打开和关闭通道、但每次我尝试更改采样速度时、它都变为32kHz、而不管控制分频器的3个位是多少。 是否有其他设置始终强制速度为32、或者我是否缺少其他设置?

    PS 我只有一个用于芯片的8.192MHz 主器件晶体、而且没有外部分频器。   

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

    尊敬的 NIK KRELVRJ:

    很高兴您的第一个问题很快得到解决

    您能否向我们发送整个 WREG 命令(显示 DIN、DOUT、SCLK 和 CS)的逻辑分析仪捕获结果? 如果更改 OSR 寄存器中的值、数据速率应该会发生变化(请参阅下面的并确认您正在执行此操作)

    另外、您如何确定数据速率?

    -Bryan

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

    尊敬的 NIK KRELVRJ:

    另一个建议:尝试进入待机模式、然后写入 OSR 寄存器、再发出唤醒命令、以查看这是否会改变行为

    -Bryan

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

    用于捕获 RPI 和 ADC 之间的转换的两幅图像(待机+命令+活动)。 黄色 MISO、绿色 MOSI、红色时钟和蓝色芯片选择。 对 RWRITE 命令的回复似乎具有正确的地址(3)和写入的寄存器数量(1)、但 采样率仍始终设置为32kHz (由数据就绪信号频率决定)。

    我用于寄存器数据0x03 (0x1F)的命令应在位15至0之间启用两个通道、将分频器设置为最大值并设置高分辨率模式、同时谨记保留位。  

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

    尊敬的 NIK KRELVRJ:

    假设 使用 ADC 默认设置、则 WLENGTH = 24位、默认数据速率为1024或4kSPS。 因此、我不清楚为什么您会看到 DRDY 引脚以32kHz 的频率脉动? 您能否提供多个显示此行为的 DRDY 周期的捕获?

    由于 WLENGTH = 24位、因此您需要发送至少4个字(96个 SCLK)才能正确读取响应、ch0数据、ch1数据和 CRC 响应。 我在您的交易中仅看到72个 SCLK。 请尝试使用正确的 SCLK 数量、如果情况发生变化、请告诉我

    -Bryan

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

    所以我应该始终与96位长的 SPI 消息通信(这意味着我在命令的其余部分中填入零)? 在使用该12字节长的 SPI 缓冲器时、没有什么实际变化、采样率始终 与默认的4kSPS 相比达到32kSps。  

    命令消息中的位顺序是否正确? 物理信号看起来正常、但芯片上的字节序可能不同。 例如 、0x61、0x80、0x03、0x1F 命令发送4个字节:写入+地址+寄存器的 n + 16个寄存器位(从15变为0)。

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

    尊敬的 Bryan:  

    我修复了我的问题、问题不是考虑24位字长。 现在我用零字节填充2个命令和2个寄存器数据字节、以完成正确写入寄存器的24位字。 我要将命令和寄存器数据作为一个完整的4字节块发送。  

    非常感谢您的帮助!