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.

[参考译文] TUSB8044A:SMBus 速度和复位

Guru**** 2393725 points
Other Parts Discussed in Thread: TUSB8044A, TUSB8044

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1255666/tusb8044a-smbus-speed-and-reset

器件型号:TUSB8044A
主题中讨论的其他器件: TUSB8044

尊敬的团队:  

1.在数据表中、I2C 速度为100K 和400K (默认值)、那么 SMBus 速度如何? I2C 速度是否相同?  

请告诉我 SMBus 接口的最大速度。  

使用 SMBus 更改 TUSB8044A 的内部寄存器后、为了重新配置、客户是否只需将 smbusRst 位设置为1、或者是否需要将 GRSTz 复位?   

谢谢你。  

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

    尊敬的 Dino:

    1.根据规范、SMBus 的最大速度被定义为100KHz。  我们有一个介绍 I2C 和 SMBus 之间区别的有用文档、称为"SMBus 与 I2C 器件的兼容性"。

    2.如果您使用 SMBus 更改 TUSB8044A 的内部寄存器,然后发出 GRSTz,该寄存器将复位回其默认值。  使用 smbusRst 时会发生同样的行为、如数据表中所述:"SMBus 接口复位。 该位将寄存器加载回其 GRSTz 值"。  要完成配置、请参阅数据表的第8.4.4节。  您必须清除寄存器0xf8中的 cfgActive 位才能完成 SMBus 配置。

    此致、

    尼古拉斯

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

    您好、Nicholus:  

    感谢您的评论。  

    根据规范,SMBus 的最大速度定义为100KHz。

    1.您的意思是主机控制器必须使用最大100KHz 的数据速率来更改 TUSB8044A 内部寄存器? 如果客户使用400kHz 数据速率、是否会造成副作用?  

    2.我知道 GRSTz 和 smbusRst 何时置位时、寄存器会复位回其默认值

    我问的是第二个配置设置的方法、在 完成第一个配置以清除 cfgActive 位后、我是否必须复位(GRSTz 或 smbusRst)来设置第二个配置?  SMBUSz (TUSB8044A 的#39端口)处于下拉状态。  

    谢谢你。  

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

    尊敬的 Dino:

    这里要讨论的接口有两种:最大速度为100KHz 的 SMBus 和速度为400kHz 的 I2C。  这是由规范定义的、不仅 适用于 TUSB8044、而且适用于每个器件。  是的、您应该只使用100kHz SMBus。  400kHz I2C 接口用于加载 EEPROM。

    400kHz SMBus 信号超出规格、应降低至100KHz。  

    2、我看到,对不起误解。  根据数据表、我希望你能够使用 smbusRst 来重新配置器件、但是 cfgActive 也被要求复位为1。  清除 cfgActive 后无法将其复位、因此、 您应该使 GRSTz 生效以清除旧配置、重新配置所有端口、并再次设置 cfgActive 位。   

    此致、

    尼古拉斯

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

    您好、Nicholus:  

    感谢您的评论。  

    cfgActive 也需要重置为1

    你 的意思是 cfgActive 也被要求复位为"0"而不是"1"吗?  

    在数据表中写1可将该位清零、如果通过写"1"将该位清零、cfgActive 位的寄存器值是多少? "0"或"1"?  

    请查看以下评论、查看如下数据表。  

    1.注释下方 为红色,此位为1时 TUSB8044A 不能连接上行端口。 是这样吗?  

    但行注释下方的绿色也表示" 为了退出配置模式并允许上行端口连接、必须由 SMBus 主机清除此位。 该位写1清零。"  

    我认为红色的评论是不正确的。 当 cfgActive 位为"0"时、 TUSB8044A 不应连接到上行端口。 我的理解是否 正确?  

    因此、在将 cfgactive 复位为"0"后是无法将其复位的("1")、我们 应该使 GRSTz 生效以清除旧配置、重新配置所有端口、并再次设置 cfgActive 位(设置为"1")。

    2.如果我的理解不正确,数据手册也不正确,  

    -上电或 GRSTz 复位、 SMBUSz、SS_SUSPEN D (#39引脚)下拉=>进入 SMBus 模式、=> cfgActive 为1、 未连接上行端口=>更改内部寄存器=> SMBus 主机通过写入"1"来清除 cfgActive 位以退出配置模式 => cfgActive 位为"0"=> 我们应该使 GRSTz 有效进入 SMBus 模式以再次更改内部寄存器。  

    高于流量是否正确?  

    请回顾我的理解、让我知道您对哪一个(1或2)是正确的。  

    谢谢你。  

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

    尊敬的 Dino:

    数据表应始终正确。  否则、应进行更正。  

    我同意您的看法、即措辞令人困惑、但这可以根据数据表来判断。

    加电后和 SMBus 模式下默认为 cfgActive=1
    2. cfgActive=0、当一个"1"被写入寄存器时(令人困惑、但数据表显示此值)。
    3. cfgactive 只能通过使 TUSB8044的 GRSTz 生效复位为"1"。

    这与您的选项2匹配。

    此致、

    尼古拉斯

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

    您好、Nicholus:  

    感谢您的确认。  

    我还有一个问题。  

    在  SMBus 主机通过写入"1"以退出配置模式来清除 cfgActive 位后、我们检查了操作 GRSTz 和 smbusRst。  

    我们可以看到、cfgactive 也可以通过将 smbusRst 置位 TUSB8044复位为"1" 的结果。

    您能否使用 EVM 或其他方式来检查 TUSB8044A 的实际操作? 客户希望在第二个配置中使用 smbusRst 而不是 GRSTz。  

    很抱歉打扰您、但请告诉我您的意见、客户是否可以使用 smbusRst 而不是 GRSTz 来配置内部寄存器。

    谢谢你。  

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

    尊敬的 Dino:

    这不是一个麻烦、谢谢这个问题。  很抱歉混淆了、我重新查看了数据表、我意识到我读错了它。  将 smbusRst 设置为1后、也不需要将 cfgActive 位复位为1;它复位为1。

    数据表:"请注意、由于该位只能在 SMBus 模式时被置位、 cfgActive 位也复位为1 。 当软件设置此位时、它必须根据需要重新配置寄存器"

    听起来这是预期的操作、没有问题。 只需设置 smbusRst=1即可重新配置端口。 如果您在使用该方法时发现任何问题、请告诉我、 我将在实验室中重现该问题。

    此致、

    尼古拉斯