|
以我手上的 jz4770 的 OTG IP 为例,是 MUSBMHDRC(不同于 MUSBHDRC),是支持
Multipoint 功能的,网上有文章暗指不支持 Multipoint 的 MUSBHDRC 是不支持用 Hub 扩接设备的:
http://coredump007.wordpress.com ... %E7%AC%94%E8%AE%B0/ (墙外,已存为附件 pdf 档)
我的理解是:
1.> 虽然 MUSBMHDRC 有 Multipoint 功能,但 musb 代码还是把它当作 point to point
用的,进行每次 Transaction 时,都会重新配置 MUSB_RX/TXFUNCADDR(而 MUSBHDRC 则每次都会配置
MUSB_FADDR),所以对是否支持 Hub 没有关系。
2.> U 盘等设备接在 Hub 下行端口,Hub 上行端口接入 Host 时,所有下行端口默认都没有打开,主机枚举 Hub 并加载 Hub
驱动,Hub 驱动最终发控制消息给 Hub 去打开 Hub 的下行端口,并对 U 盘进行复位。此时主机就可以改写当前存放 Hub
地址的地址寄存器,并重新配置所有端口,接下来就可以先用默认 0 地址(后用分配的地址)与 U 盘进行通讯了。
3.> 第 2 点里面主机与 U 盘通讯时,Hub 是透明的,可以看作一根导线。
所以在不考虑 全速/低速 设备的情况下,不支持 Multipoint 的 OTG 芯片是否可以支持 Hub 扩展呢?
如果不支持,具体是哪里有限制呢?
多谢。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|