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.

[参考译文] ADS124S08EVM:ADS124S08:更改输入通道后获取数据的时间

Guru**** 2582405 points
Other Parts Discussed in Thread: ADS124S08, ADS124S08EVM

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/875060/ads124s08evm-ads124s08-time-to-get-data-after-changing-the-input-channel

器件型号:ADS124S08EVM
主题中讨论的其他器件:ADS124S08REF5025

你(们)好。

我在测量连接了3轴力传感器的三个输入通道时遇到了一些问题。 我的一般问题是、当输入通道(差分模式)被改变或切换到另一个输入时、获得有效数据需要多长时间? 使用逻辑分析仪、通过检查/DRDY 引脚、独立于不同配置需要大约57ms (毫秒)的时间、但要使用力传感器进行良好的测量、我希望在3ms 内获取全部三个通道。 背景是、我们必须以每秒100次的速度测量传感器、因此每10ms 都必须测量全部三个通道。

我的一般问题是、是否有机会使用 ADS124S0x 实现该目的? 简而言之、我仅使用差分输入(A0/A1、A2/A4、A8/A9)、外部板载基准(2.5V)、内部时钟和低延迟滤波器。 增益设置为128。

如果您需要有关硬件设置或配置以及读出过程等更多信息、请告诉我。 目前、我可以从三个通道读取值、并根据该值计算电压、这些结果满足输入端的电压。

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

    Klaus、您好!

    您是否正在尝试使用 EVM 和 EVM GUI 获取3轴结果?  如果是、使用 GUI 的脚本部分会太慢、因为需要大量内部延迟来保持通信同步。 要实际使用 EVM、需要单独的控制器和不同的固件集。  网站上提供了示例代码:

    http://www.ti.com/lit/zip/SBAC159?jktype=tools_software

    ADS124S08本身能够在3ms 内读取所有轴、但需要至少使用2ksps。  有关低延迟滤波器的转换时间、请参阅 ADS124S08数据表的表13。  您将需要使用第一个数据列中的时序、并在增益设置寄存器中添加来自可编程延迟设置的内部延迟。  默认值为14*tmod 周期。

    在读取一个转换结果时、您可以按照图92中的时序、按照 ADS124S08数据表第71页的第9.5.4.3节中的信息、同时设置下一个转换结果的配置。

    此致、

    Bob B

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

    尊敬的 Bob:

    整个早晨、我忙于回复、几乎完成了我的回答、然后浏览器通过上传屏幕截图而崩溃。 您可以想象、这非常令人烦恼。 关于这个问题、我在现场支持论坛上提出了一项建议。 但是、我将更详细地描述我的问题。

    [引用用户="Bob Benjamin "]

    您是否正在尝试使用 EVM 和 EVM GUI 获取3轴结果?

    [/报价]

    当我对 EVM 采取最初的步骤时、我使用它、但我对此非常失望。 在我将每个命令发送到 EVM 后、EVM 没有响应、因此我必须在每个命令之后重置 EVM。 后来、当我开始开发固件时、我发现 ADS124S08没有响应我直接通过 SPI 连接发送的任何命令。 在对逻辑分析仪(LA)和示波器进行了一些检查之后、我发现总线耦合器 U3 (TXS0108ERGYR)几乎在每个引脚上都呈40MHz 正弦波动、因此我移除了该芯片、并仔细查看了原理图和我的开发环境 我发现我不需要这个、因为处理器和 ADC 以相同的电压(3.3V)运行。 拆下总线耦合器 U3后、我直接连接了五条必需的线路、例如 A4与 B4 (ADC_DRDY)、A5与 B5、依此类推、直至 A8-B8。 其余部分仍处于打开状态、因此 A1/B1至 A3/B3。 此外、我已向/CS 和 SCLK 添加了三个上拉电阻器(每个3k3)、/RESET 引脚也通过3k3电阻器连接到 Vdd (3.3V)。 通过 J3连接器、EVM 连接到另一个开发板的微控制器。 我希望这到目前为止还可以、并且连接的 Tiva 对其余部分没有影响。 顺便说一下、EVM 也通过具有3.3V 电压的 J3连接器进行飞线。我不使用 USB 连接器。

    [引用用户="Bob Benjamin "]

    要实际使用 EVM、需要单独的控制器和不同的固件集。

    [/报价]

    这正是我现在所做的、它目前的工作正常。

    [引用用户="Bob Benjamin "]

    ADS124S08本身能够在3ms 内读取所有轴、但需要至少使用2ksps。  有关低延迟滤波器的转换时间、请参阅 ADS124S08数据表的表13。  您将需要使用第一个数据列中的时序、并在增益设置寄存器中添加来自可编程延迟设置的内部延迟。  默认值为14*tmod 周期。

    [/报价]

    我已经签出了此配置、这里是我的结果。 我制作了一些屏幕截图、希望这有助于更清晰地展示几件事。 每个屏幕截图下方都有描述文本。

    在这里、您可以看到 ADC 的初始化。 LA 在/CS 的下降沿被触发。 首先、我必须复位 ADC。

    一段时间后、ADC 的初始化开始。 最后、我读回整个配置寄存器。 该寄存器的值如下。 我已对不是默认值的寄存器进行了彩色处理。

    MOSI 0x20 0x12 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x09
    MISO 0x00 0x00 0x08 0x00 0x01 0xEF 0x14 0x10 0x00 0xFF 0x00 0x50 0x00 0x00 0x00 0x00 0x00 0x40 0x00 0x00

    非默认值寄存器及其偏差:

    器件状态寄存器(地址0x01)= 0x00、似乎正常、POR 已被清除

    增益设置寄存器(0x03)= 0xEF、延迟= 0b111 = 1 * t_MOD (在复位命令后似乎不会复位、其他寄存器显示相同的效果)、启用 PGA、增益设置为128

    系统控制寄存器(0x09)= 0x50、系统监控=启用内部温度传感器测量

    ADC 处于连续转换模式、这是我遇到的问题。 DRDY 引脚变为低电平需要50至60ms 的时间。 我对软件内的 DRDY 引脚不执行任何操作、除了连接到逻辑分析仪的输入引脚之外、该引脚也未连接到任何硬件。 在源代码中、我添加了57ms 的延迟。 此后、DRDY 引脚处于低电平状态、我可以读回 ADC 值。 开始读取时、DRDY 会立即变为数据表中所述的高电平。

    这是对读取过程的更深入的了解。 读出从0x13开始、然后从 ADC 获得3个字节。 不幸的是、我从昨天起得到错误的值(0x7FFFFF)、我不知道为什么会出现这种情况。 在此之前、我得到正确的值、对于通道对 AIN0 (+)和 AIN1 (-)、它是0x8DCACE (等于输入引脚上大约17..18mV 的值)、对于通道 AIN2/AIN4、它是0xFFF980 (=-0.000... MV、该输入短接并连接到 GND、因此该值正常)、对于 AIN8/AIN9、该值为0x0C540D (+/-1.883mV)。

    最后一个序列是切换到下一个通道,在本例中切换到 AIN2(+)和 AIN4(-)。

    最后、您可以在这里看到整个测量序列、包括开始时的初始化(仅在微控制器复位后发生)以及时间、这是问题、直到 DRDY 发生故障。 因此、三通道测量周期将需要大约170毫秒、这很长。

    您能否看到或有任何想法、可能会出什么问题、需要这么多时间?

    [引用用户="Bob Benjamin "]

    在读取一个转换结果时、您可以按照图92中的时序、按照 ADS124S08数据表第71页的第9.5.4.3节中的信息、同时设置下一个转换结果的配置。

    [/报价]

    是的、我已经看到过它、但这是为了以后、因为如果我对、我可以通过它节省的时间仅为几微秒。

    提前非常感谢!

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

    我对所发生的事情和您花费的时间感到遗憾、我发现了我所犯的错误。 您说得对、数据速率未正确设置。 我忘记了源代码中的一行、该行将新数据速率写入寄存器。

    正如您在下面看到的、DRDY 引脚现在处于非常有效的状态。 仔细观察后、我发现 DRDY 引脚现在每0.244ms 下降一次、采样率为4000SPS。

    非常感谢!

    您的、

    Klaus

    PS:您知道我为什么从所有三个通道中仅获得0x7FFFFF 作为 ADC 值、这可能是什么原因? 我测量了全部三个输入、并且电压没有变化(A0/A1 = 1.879mV、A2/A4 = 0.000mV、A8/A9 =-18.371mV)。

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

    Klaus、您好!

    我很高兴听到您取得了一些进展。  在基准的配置中、您使用的是 REF0的默认基准输入。  我要再次检查连接到 REF0的外部基准是否有效。  您还可以尝试使用内部基准来查看是否有任何更改。  如果基准电压无效或缺失、则很有可能看到满量程读数。

    如果以上不是问题、您可以查看其他内容。  我不确定如何为传感器供电以及输出相对于 PGA 共模的关系、但您可以验证相对于 ADS124S08 AGND 的输入是否处于正确的输入范围内。  如果传感器和 ADC 之间未接地、则需要确保传感器的输出不会尝试将 PGA 驱动到电源轨。  我曾多次看到、不同的交流/直流电源的输出电压可能因彼此之间的不同而存在很大差异、需要在它们之间使用一个公共接地点。

    此致、

    Bob B

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

    尊敬的 Bob:

    [引用 user="Bob Benjamin ]]在您的基准配置中、您使用的是 REF0的默认基准输入。  我要再次检查连接到 REF0的外部基准是否有效。 [/报价]

    有关这一点的简短更新:实际上、由于 EVM 上的连接很丑、因此基准电压不可用。 现在、这是固定的、但 ADC 的行为是奇怪的。 如果外部基准不可用、ADC 是否会损坏? 如果我读出 ADC、则始终与所选的输入通道具有几乎相同的值。 最后6位或8位之间仅存在差异。 该值(计算为 0.127... V)当增益设置为1、2、4、8、16、 或32。 如果增益设置为64、那么当我获得乘以2的数字乘积值时、该值是其他增益系数的两倍。 增益为128时、该值再次增大2倍、因此所有输入端的计算电压都略高于0.5伏。 我假设 ADC 输入有损坏、但我不知道造成损坏的原因是什么。

    [引用 user="Bob Benjamin "]您还可以尝试内部引用以查看是否有任何更改。  如果基准电压无效或缺失、则很有可能看到满量程读数。

    感谢您的提示。 我不太熟悉 ADC、但这对我来说是合乎逻辑的。 有了这一变化、我将在周一进行检查、如果我能够从具有不同增益系数的不同输入中读出不同的值。

    目前、我已经订购了一款新的 EVM。

    [引用 user="Bob Benjamin "]我不确定如何为传感器供电以及输出相对于 PGA 共模的关系、但您可以验证相对于 ADS124S08 AGND 的输入是否在正确的输入范围内。

    这是一个简单的故事。 力传感器由三个应变仪组成。 "上部"电阻器具有375欧姆、"下部"一个350欧姆。 总之、传感器需要2.5V /((375 + 350)欧姆/ 6)= 20.7mA。 板载基准电压无法驱动传感器、因此我想用输出电流至少为30mA 的更强基准代替该基准。 在连接器 J9引脚4 (不确定)提供该电压、而 GND 也在 J9和 J8上提供(取决于跳线设置)时、我想连接传感器。 对于我们的原型设计问题、到目前为止这应该是可以的。 稍后、当实施电量监测计的固件部件时、整个设计应使用3.7V/2000mAh 电池运行、该电池连接到降压/升压转换器(BQ27441)以获得3.3V 电压至少8小时。

    [引用 user="Bob Benjamin "] 如果传感器和 ADC 之间未连接接地端,则需要确保传感器的输出不会尝试将 PGA 驱动到电源轨。  我曾多次看到、不同的交流/直流电源的输出电压可能因彼此之间的不同而存在很大差异、需要在它们之间使用一个公共接地点。 [/报价]

    没错、接地失调电压会产生重大问题。 但我不认为我们会产生这样的问题、因为只有总共12根导线(每个应变仪4根导线)的传感器才会连接到 J7、J8和 J9。 电源数字接口将连接到 J3。

    下周一、当我回到工作岗位时、我将在配置更改为内部基准时检查 ADC 的行为。 我会随时通知您。

    到目前为止、

    Klaus

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

    Klaus、您好!

    如果您的传感器需要30mA 电流、则内部基准或外部 REF5025都没有足够的驱动能力来直接激励传感器。  我会尝试连接一个外部电压源来激励传感器、同时还会将激励源连接到 J8引脚1 (+)和 J8引脚4 (-)上的 REF0输入。  您还应移除 JP8上的跳线以消除任何源争用、JP11应连接到 AGND 位置。 这将使激励源也成为基准、从而实现测量比例式。

    如前所述、您可以尝试使用内部基准进行转换测量、同时使用外部源作为激励电源。  这也应该起作用、但噪声会更高、漂移也可能是一个长期问题。  比例式测量可消除这些问题。

    此致、

    Bob B

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

    尊敬的 Bob:

    为了阐明传感器电源、我想用稍强的 ADR431B (I_OUT max 30mA、需要21mA)。 EVM 上的跳线设置为右(JP8 2-3闭合、JP11 1-2闭合)。 我希望这不会成为问题。

    硬件配置如下所示。 电阻器是我现在使用的电流设置、左侧的传感器应该是什么。

    输入端的电压为:

    AIN0 - AIN1:18.378mV、AIN2 - AIN4:0.00mV、AIN8 - AIN9:1.887mV、U_ref = 2.4994V

    现在我已经重新配置了基准选择(基准控制寄存器)、我切换到了内部基准、但没有成功。 我想 ADS124S08损坏了、但我完全不知道原因是什么。 在所有输入通道上、无论它们是否短路、我都在 AIN0/AIN1 0.126963伏、AIN2/AIN4 0.126992伏和 AIN8-AIN9 0.127031伏处测量增益设置为1。 如果我再次在增益设置为2、4、8、16和32的情况下测量这些输入、则该值略有不同。 如果增益设置为64、则值将增加2倍、如果增益设置为128、则再次增加2倍。

    上周、我只有一小段时间、其中的值是我所期望的值。 然后我有上限值(0x7FFFFF)、由于我修复了 JP9的难看连接、这些值令我感到困惑。 因此、我目前绝对不清楚原因是什么。 除了上面的原理图中显示的已将两根微型导线连接到 GND (SYNC/START 和 GND 连接到一个空闲的 J3引脚)之外、我在 EVM 上没有做任何更改。

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

    Klaus、您好!

    好的、我可以清楚地看到、您将 ADS124S08EVM 上的 REF5025替换为 ADR431、这是正确的吗?  您是否已验证基准输出是否稳定(无振荡)?  您可能需要移除连接到 ADR431修整引脚的电容器。  

    您的图表不是很正确。  J7-1不连接到 AIN1、但不连接到 R70。  J7-4确实连接到 AIN0和 R70。  如果您使用前面所述的配置设置测量68 Ω 电阻器、则使用128增益并启用 PGA、则将超出 ADS124S08数据表第7.3节第8页所述的 PGA 输入范围。  在启用 PGA 的情况下、AIN2/AIN4的0V 输入也是如此。  您还应验证相对于接地 J3、START/SYNC 和 RESET 的连接是否正确。  我意识到、您很可能会在 J3上使用这些未连接的引脚来简化信号连接、但不清楚这些引脚的实际连接方式。  您的设置图片可能会帮助我验证。

    在查看转换结果时、每次更改增益时、您应该会看到随着每个增益设置的增加、代码值会增加2倍。  反过来、输入的满量程范围也会减小2倍。 因此、输出代码与满量程范围相关。

    让我们以 AIN8/AIN9的输入电压为目标。  该输入应处于适当的输入范围内。  您能给我一系列连续和连续的转换结果吗?转换结果大约为256到512?  这将帮助我了解正在发生的情况以及噪声是否是结果的一个因素。  其他2组输入将不是良好数据、因为它们将超出128时启用 PGA 的输入范围。 此外、请提供原始 ADC 结果(最好是十六进制值)、不会转换为电压。

    此致、

    Bob B

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

    [引用用户="Bob Benjamin "]

    很明显、您将 ADS124S08EVM 上的 REF5025替换为 ADR431是否正确?[/QUERP]

    不是现在、我稍后将进行介绍。 目前、所有器件都处于在 ADC 器件上购买的状态(通过移除 U3来更改 Tiva 器件)。 现在连接到 J7/J8的外部电阻器仅用于仿真。

    [引用用户="Bob Benjamin "]

    您是否已验证基准输出是否稳定(无振荡)?  您可能需要移除连接到 ADR431修整引脚的电容器。 [/报价]

    好消息! 我修复了问题、EVM 未损坏。

    导致测量结果混淆的原因是源代码中存在错误。 在配置和设置过程中。 系统控制寄存器(地址0x09)被配置为 DVDD/4测量值被置位。 这样、增益设置为1。 另一个问题是温度传感器的激活、在读取后未停用。

    [引用用户="Bob Benjamin "]

    您的图表不是很正确。  J7-1不连接到 AIN1、但不连接到 R70。[/quot]

    是的、您是对的、我在绘制此图时出错了。 R70连接到 AIN0、因此我可以使用 ADC 测量与使用万用表相同的 AIN0/AIN1、AIN2/AIN4和 AIN8/AIN9值。

    V[0]= -17.424165271222591
    V[1]= 0.0094994902610778809
    V[2]= 1.8857140094041824

    (以 mV 为单位的值)

    [引用 user="Bob Benjamin ]Alet 的目标是 AIN8/AIN9的输入电压。  该输入应处于适当的输入范围内。  您能给我一系列连续和连续的转换结果吗?转换结果大约为256到512?  这将帮助我了解正在发生的情况以及噪声是否是结果的一个因素。  其他2组输入将不是良好数据、因为它们将超出128时启用 PGA 的输入范围。 此外、请提供原始 ADC 结果(最好是十六进制值)、不会转换为电压。

    您是否仍然感兴趣? 我可以修改源代码来实现这一目的。 目前、有关 ADC 的一切都已经完成。

    到目前为止、感谢您抽出宝贵的时间为我提供帮助。

    此致、

    Klaus

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

    Klaus、您好!

    我很高兴听到您发现了这个问题。  我将认为这一情况已经结束。  如果您有任何疑问、请随时输入新帖子。

    此致、

    Bob B