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.

[参考译文] TMAG5173-Q1:I2C 通用广播写入使用和转换状态寄存器

Guru**** 2463250 points
Other Parts Discussed in Thread: TCAL9539, TMAG5173-Q1, TCAL9539-Q1

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1485551/tmag5173-q1-i2c-general-call-write-usage-and-conversion-status-register

器件型号:TMAG5173-Q1
主题中讨论的其他器件: TCAL9539-Q1、TCAL9539

工具与软件:

您好!

在我们的项目中、我们在同一 I2C 总线上使用了多个 TMAG5173-Q1和单个 TCAL9539-Q1 IC。 如果我们使用通用广播写入在所有传感器上同时开始测量、这是否会导致也连接到此总线的 TCAL9539出现任何操作问题?

此外、通用广播 I2C 写入命令是首先触发转换、还是先写入寄存器?

关于转换状态寄存器、RESULT_STATUS 引脚是否在每次测量后变为1、然后在读取后拉回0?

此致、
Egemen

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

    尊敬的 Egemen:

    感谢您在传感器论坛上发帖!

    [报价 userid="544752" url="~/support/sensors-group/sensors/f/sensors-forum/1485551/tmag5173-q1-i2c-general-call-write-usage-and-conversion-status-register "]在我们的项目中、我们正在同一 I2C 总线上使用多个 TMAG5173-Q1和单个 TCAL9539-Q1 IC。 如果我们使用通用广播写入在所有传感器上同时开始测量、这是否会导致也连接到此总线的 TCAL9539出现任何操作问题?[/QUOT]

    如果 TCAL9539器件具有相同地址或可以使用通用 I2C 地址0x00进行寻址、则写入 TMAG5173也可以写入 TCAL9539。 有关 TCAL 器件可能会受到影响的更多具体信息、我建议您请求接口论坛上的说明、因为他们比我更了解 TCAL9539部分。

    [报价 userid="544752" url="~/support/sensors-group/sensors/f/sensors-forum/1485551/tmag5173-q1-i2c-general-call-write-usage-and-conversion-status-register "]此外、通用广播 I2C 写入命令是先触发转换、还是先写入寄存器?[/QUOT]

    器件将首先写入寄存器。

    [quote userid="544752" url="~/support/sensors-group/sensors/f/sensors-forum/1485551/tmag5173-q1-i2c-general-call-write-usage-and-conversion-status-register 关于转换状态寄存器、Result_status 引脚在每次测量后是否变为1、然后在读取后将其自身拉回至0?

    触发转换时、RESULT_STATUS 位将为0。 转换完成后、保持为1、直到触发另一个转换。

    此致!

    ~Alicia

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

    您好!

    感谢您的回复、

    关于第一个问题、我已将问题重定向至接口论坛。

    关于第二个问题:

    V_TMAG5173_setMagChannels (ps_tmag、TMAG5173_MAG_CH_XYZPAFE);
    V_TMAG5173_triggerConv (ps_tmag);

    我们是否可以将这两个函数合并为单个函数、以执行测试并开始转换?

    关于第三个问题:

    我们如何确保在全局写操作后进行测量?

    我们如何确定是否有任何传感器因任何原因被触发?

    我们希望确保在每个周期完成测量。

    我们如何确认器件寄存器已更新?

    由于确认将是或的,我们不能依赖它进行验证。

    此致、

    Egemen

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

    尊敬的 Egemen:

    关于第二个问题、您应该能够将用于启用磁通道的命令与用于触发转换的命令相结合。

    关于第三个问题、可以将器件配置为在转换完成时通过 INT 引脚发送中断。 这样、您可以将 TMAG5173的 INT 引脚连接到 MCU 上自己的 GPIO、并了解哪个器件已完成转换。

    此致!

    ~Alicia

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

     Alicia、您好!

    在我们的设计中、INT 引脚未连接到任何 GPIO。 INT 引脚连接至 GND。 我们能否确保  在读取任何寄存器时进行了测量?

    此致、

    Egemen  

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

    尊敬的 Egemen:

    读取 CONV_STATUS 中的 Result_Status 位是另一个验证转换是否已完成的好方法。 您只需确保 在触发另一个转换之前读取这些寄存器、即可确保一个转换已完成。

    此致!

    ~Alicia

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

    您好、Alicia

    设备将首先写入寄存器。

    在数据表的"第 7.5.1.3.1节标准 I2C 写入"中、有一句话:
    "在该触发位写入"1"将在寄存器地址解码完成后开始新的转换。"

    由于这句话、我明白设备将首先触发会话、而不是编写命令。  但我尝试了组合命令和测试通过的 AFE 测试。  

    您能为我澄清一下吗?

    此致、

    美速

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

    尊敬的 Mesut:

    寄存器地址解码在 I2C 事务结束时完成。

    此致!

    ~Alicia

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

    您好、Alicia

    感谢您的回答。  

    我的怀疑 尚不清楚。 您能否确认它会进行寄存器更新 生效 就在新转换开始之前?

    我想确保当我 使用启动转换命令设置磁通道时 、转换完成后、我将在下一次读取时获得正确的结果。

    此致、

    美速

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    进行寄存器更新 生效 在新转换开始之前?[/QUOT]

    有。

    上述 I2C 通信日志片段显示了在未启用通道(寄存器0x02 = 0x00)的情况下启动的器件。 之后、我读取 结果寄存器、所有这些寄存器都会读回零(这是预期情况、因为没有启用通道)。 从这里、我启用了所有通道并触发了转换。 之后、我读取 CONV_STATUS 以确保转换完成、然后是结果寄存器。 由于转换在寄存器更新发生后开始、因此我能够读回数据。 如果情况并非如此、并且转换在寄存器更新之前发生、则我只读回零、因为没有启用任何通道。 下面显示了未启用通道时发生的转换示例:

    如上图所示、由于未启用通道、即使在完成转换后、结果也只读回0。

    此致!

    ~Alicia