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.

[参考译文] ADS7038-Q1:手动模式下混合通道配置(GPI/GPO 和模拟 I/P)下 ADS7038的行为

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1331854/ads7038-q1-behavior-of-ads7038-in-mixed-channel-configuration-gpi-gpo-and-analog-i-p-in-manual-mode

器件型号:ADS7038-Q1
主题中讨论的其他器件: ADS7038

您好!

   ADS7038-Q1的数据表未明确提及手动模式下 GPI/GPO 的行为。 您能否支持以下情况下的输出行为是什么?

通道 ID 引脚配置 手动模式下的 TX 输出行为? (Rx 帧)
0 AN0 发送请求、在手动模式下的地址0x11 -> MANUAL_CH_SEL 中读取 CH_ID 0的 ADC 值
切换到 AIN0
1 AN1 发送请求、在手动模式下通过地址0x11 -> MANUAL_CH_SEL 读取 CH_ID 1的 ADC 值
切换到 AIN1
2 数字 I/P 从 GPI_value 寄存器读取值 Rx 帧中接收到哪些数据?
通道2的 AN0值或数字 I/P 值?
3 AN3 发送请求、在手动模式下通过地址0x11 -> MANUAL_CH_SEL 读取 CH_ID 1的 ADC 值
切换到 AIN1
我们会在这个 N+2迭代中得到 AN1的值吗?
4 数字 O/P 向通道4写入数字高电平 在这一迭代过程中,通道是否会变得很高?
5 数字 I/P 从 GPI_value 寄存器读取值

在此迭代中我们是否会得到 GPI 通道5的 I/P 值?

我们应该在这个 N+2中接收到的 AN3值会发生什么情况?

6 AN6 发送请求、以在地址0x11 -> MANUAL_CH_SEL 中的 Manual 模式下读取 CH_ID 6的 ADC 值
切换到 AIN1
7 AN7 发送请求以在手动模式下的地址0x11 -> MANUAL_CH_SEL 中读取 CH_ID 7的 ADC 值
切换到 AIN1

已参阅用户手册中的以下图表

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

    您好、Supritha、

    请给我一两天 的时间来检查您的问题。  COB 周三(达拉斯时间)给您回复。

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

    您好、Tom、

      您能否在下面的查询中提供您的输入信息?

    对于访问 GPI 值、数据表中提到我们需要发送 0xD GPI_VALUE、该值将返回输入电平。

    在手动模式下访问 GPI 值需要遵循什么顺序?

    我的以下理解是否正确?

    用于 GPI

    第1步:将引脚配置为 GPI

    第2步:使用命令 0x11 MANUAL_CH_SEL 选择 CH ID  

    第3步:从0xD GPI_VALUE 读取 GPI 值

    用于 GPO

    第1步:将引脚配置为 GP0

    第2步:使用命令 0x11 MANUAL_CH_SEL 选择 CH ID  

    第3步:从0xB GPO_VALUE 写入 GPO 值

    请说明 GPIO 相关更改将在哪个周期反映出来。

    同时、请您提供有关之前询问的场景的意见。

    谢谢!

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

    您好、Supritha、

    你的理解对我来说是正确的。  但我要指出的一点是、ADS7038具有警报功能、该功能默认映射到 ALERT_PIN_CFG 寄存器中的 AIN0/GPIO0。  如果将 ALERT_PIN 位设置为 1至7 (十六进制)之间的任何值、您应该在 GPIO0上获得推挽功能。   对于重新分配以涵盖警报功能的任何引脚、您将失去推挽功能。

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

    您好、Tom、

      我已将所有8个通道配置为"gpi"、并且在尝试从寄存器读取引脚状态时、应使用以下配置读取"gpi_value":

    1.手动模式

    2.附加的状态标志

    3.启用 CRC

    我能够看到以下结果。 请帮助解码接收的数据。

    第一个8位的我能够单独看到"CH0"状态的变化、同时尝试通过为 CH0提供高电平和低电平来测试 CH0的状态。

    即使我在测试期间更改了电平、"CH1"和"CH2"的值也没有变化。

    请帮助对接收帧中的"CRC"和"状态位"进行解码。

    谢谢。此

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

    您好、Supritha、

    下面是 ADS7038的 CRC 计算器工具: https://www.ti.com/tool/download/SBAR008 在图8-13中、前8位显示 GPIO 状态、后8位显示 CRC 值。  对于0x01、CRC 将为0x07。