主题中讨论的其他器件: TUSB8044
尊敬的团队:
1.在数据表中、I2C 速度为100K 和400K (默认值)、那么 SMBus 速度如何? I2C 速度是否相同?
请告诉我 SMBus 接口的最大速度。
使用 SMBus 更改 TUSB8044A 的内部寄存器后、为了重新配置、客户是否只需将 smbusRst 位设置为1、或者是否需要将 GRSTz 复位?
谢谢你。
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.
尊敬的团队:
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即可重新配置端口。 如果您在使用该方法时发现任何问题、请告诉我、 我将在实验室中重现该问题。
此致、
尼古拉斯