在进一步研究xilinx USB OTG驱动程序代码时,我们注意到了一些事情
1.最初没有连接拇指驱动器时,id引脚悬空,OTG状态为“b_idle”。
2.插入pendrive时,发生id更改中断,OTG状态变为“a_idle”
3.根据USB OTG规范,下一个状态“a_wait_vrise”将为总线(VBus)供电,并且为了从“a_idle”更改为“a_wait_vrise”,必须满足以下条件:
如果A设备应用程序不想丢弃总线(a_bus_drop = FALSE),并且满足以下任何条件:
&A设备应用程序正在请求总线(a_bus_req = TRUE),
或在总线上检测到SRP(a_srp_det = TRUE)
或检测到ADP更改(adp_change = TRUE)
或者•A设备刚刚启动其USB系统(power_up = TRUE)。
这些都不会发生,这就是为什么威廉希尔官方网站
板没有给拇指驱动器供电的原因。
我们试图从用户应用程序中提供“a_bus_req”。
结果是状态变为“a_wait_vrise”并且pendrive被检测到并且我们能够成功安装它。
任何人都知道为什么这不会自动发生。
请帮忙。
这影响了我们的客户交付。
提前致谢
在进一步研究xilinx USB OTG驱动程序代码时,我们注意到了一些事情
1.最初没有连接拇指驱动器时,id引脚悬空,OTG状态为“b_idle”。
2.插入pendrive时,发生id更改中断,OTG状态变为“a_idle”
3.根据USB OTG规范,下一个状态“a_wait_vrise”将为总线(VBus)供电,并且为了从“a_idle”更改为“a_wait_vrise”,必须满足以下条件:
如果A设备应用程序不想丢弃总线(a_bus_drop = FALSE),并且满足以下任何条件:
&A设备应用程序正在请求总线(a_bus_req = TRUE),
或在总线上检测到SRP(a_srp_det = TRUE)
或检测到ADP更改(adp_change = TRUE)
或者•A设备刚刚启动其USB系统(power_up = TRUE)。
这些都不会发生,这就是为什么威廉希尔官方网站
板没有给拇指驱动器供电的原因。
我们试图从用户应用程序中提供“a_bus_req”。
结果是状态变为“a_wait_vrise”并且pendrive被检测到并且我们能够成功安装它。
任何人都知道为什么这不会自动发生。
请帮忙。
这影响了我们的客户交付。
提前致谢
举报