打印
[以太网/USB/其他总线]

如何通过I2C/smbus控制USB4715?

[复制链接]
17072|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 steventuring 于 2023-12-27 18:06 编辑

如何通过I2C/smbus控制一个USB Hub?这是一个好问题。
USB4715上电后的启动流程如下图,只有进入CFG_SOC阶段才能通过smbus进行初始化的配置。
在硬件上要确保两个条件:
1.  正确上下拉CONFIG_STRAP[2:1]管脚,在CFG_STRAP阶段确保工作模式是Configuration 5。
2.    在Configuration 5模式下,PF5/PF6分别作为SDA/SCL信号,需要外部上拉。只有在SMBUS_CHECK阶段这两个信号上都检测到高电平才能确保进入到CFG_SOC阶段。
如果硬件设计正确,上电后USB4715会停在CFG_SOC阶段,等待从SOC或MCU通过i2c/smbus发来的指令。USB4715的smbus地址是2Dh。具体smbus的读写格式见AN2651 4.0章节(有点长且难懂)。精华如下文。
首先介绍其中两个常用操作字:
9937h:用于读写寄存器;
AA56h:退出CFG_SOC阶段,进入正常的hub启动流程,同时保持smbus有效。
以Pickit4工具为例(这个工具可以清晰地展示i2c/smbus的操作)。如果不改变任何配置,直接让hub进入下一流程,命令如下:
04是Pickit工具的要求,表示后面要写入字节的数目;
5A是写USB4715;
AA 56是特殊的操作字,表示要结束CFG_SOC阶段;
00是USB4715要求的结束字符;
写完后hub就可以进入正常的枚举过程了。
如果要在上面结束CFG_SOC前做些事情,比如读VID,填加的命令如下:
第一列是写入要读的寄存器地址 BF80 3000;
第二列9937表示是寄存器操作;
第三列表示要读16 Byte的数据,但实际USB4715返回的有效数据是从第八个字节开始的(这里找了张其他图片,结果不对,但过程没问题):
24 04 02 40 00 06 9B 28 00
第四列表示如果改成读8 Byte数据,实际上USB返回的有效数据只有24一个,前面7个都是无用的。
当USB4715正常枚举后,可以进行FLEX操作。需要操作如下寄存器(注意这个寄存器要在USB4715枚举成功后再操作):
如果想让Port1和Port0进行反转,命令格式如下:
I2CWrite  5A,00,00,07,00,01,BF,80,08,08,01
I2CWrite  5A,99,37,00
如果想退出反转模式,命令格式如下:
I2CWrite  5A,00,00,07,00,01,BF,80,08,08,00
I2CWrite  5A,99,37,00
应该是能用的。不能用就请参考下列文档:
AN1700 - FlexConnect Applications
AN2341 - USB4715 FlexConnect Operation
AN2651 - Configuration of Microchip USB47xx/USB49xx
USB4715 Datasheet

使用特权

评论回复
沙发
tpgf| | 2024-1-18 18:39 | 只看该作者
smbus是一种什么种类的通讯啊

使用特权

评论回复
板凳
wakayi| | 2024-1-18 19:17 | 只看该作者
总线电源VDD:I2C没定义,SMBus为1.8~5V。

使用特权

评论回复
地板
paotangsan| | 2024-1-19 08:08 | 只看该作者
是iic数据传输速度快还是usb数据传输速度快啊

使用特权

评论回复
5
renzheshengui| | 2024-1-19 08:52 | 只看该作者
SMBus是一种二线制串行总线(还有两根可选信号线SMBSUS#(系统低功耗挂起状态指示)、SMBALERT#(事件提醒)),它大部分基于I2C总线规范

使用特权

评论回复
6
wowu| | 2024-1-19 09:29 | 只看该作者
I2C没有最低总线速率要求,SMBus要求最低总线速率不能低于10kHz

使用特权

评论回复
7
xiaoqizi| | 2024-1-19 10:11 | 只看该作者
SMBus一定要维持10kHz以上的运作频率,主要是为了管理监控

使用特权

评论回复
8
yiy| | 2024-1-19 14:45 | 只看该作者
这个协议主要用到一些电池管理芯片上。

使用特权

评论回复
9
捉虫天师| | 2024-1-25 23:17 | 只看该作者
笔记本电脑上好像有用这个接口。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

20

帖子

0

粉丝