usb 2.0 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4778|回复: 1
打印 上一主题 下一主题

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:) f, i! k; @! M0 {/ a$ R. X; \

2 Y0 `  n$ i/ ~$ {. f7 s  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),4 [0 q; m; C. u: s

/ n  c0 R( k" i4 x  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。  p$ u7 k" C; u- C+ F4 i
0 L- d' |' D0 F' W
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
4 L7 j5 S  ~4 c$ ~: Q, K, M5 g- {, |3 X
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
) M+ }3 O" p4 _6 d$ A8 x) E6 c$ [0 f* p* x( J( D- |, A! t( s- n
  请问个和我们的设备电流是否有关:
) O5 k0 n; S( M, A
7 G6 |" K' D4 y! n2 F' Gvoid UsbPhyOn(unsigned int ulIndex)! d, F1 l  D8 J3 q! K' v
{
: A, s8 p8 g' K! E       
/ |& X5 S  I$ i. e8 l) ]   unsigned int  reg = 0;
7 `- q" H2 z9 D$ t7 l; G9 w   BSP_KickUnlock();
/ u' C; @- r+ u* ~) k7 M+ s        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; T/ h7 o0 A3 m7 P. F( h# N  N. f        reg &= ~(CFGCHIP2_REFFREQ);
! ~) j! P, W8 r$ E        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
0 u1 P" |# C$ a, U        //reg |=CFGCHIP2_REFFREQ_24MHZ;# u# M, u7 M& J' I
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;7 T) A3 _5 W( }& ~

5 l3 Z  B5 ~& A; {  v# |        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
% s$ [, S5 c7 Y; X, h# p, Y# C        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));/ _9 e+ S/ D( t" x$ F2 \5 f
9 _; ~* q5 W9 y9 c5 c
#if debug
& G3 ]# \) G& B/***internal 2.0***/ //aux_clk
* r) R3 F; m' m+ |3 b
% ?+ h9 f1 F; l. A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
0 x! N4 {$ ]: G2 h8 D" u+ H) i% |7 r    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);; X# j$ U! g$ g+ q
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
" j; j0 c- ~4 s: j7 P9 l3 {  R5 x: V, s    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
* ~/ Z6 I; E, T5 P, \+ C
: H9 q$ S5 }; ~9 G4 z    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);, F2 R8 v$ H5 d: j2 s0 ?" a3 D4 T3 Y
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));2 o. Z1 O: u* U
; e; h) M- Q1 W1 S: _) Z; H
/***internal 1.0***/ ///phy out+ b/ C  P2 w; J9 f; k4 q9 j2 |( a
* `- U! b" c8 Q9 @5 k( Y. G
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ D! u/ @/ A8 T, a6 s    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
% m: A* C2 ]1 X2 {/ [% d& W    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
: o8 {. g: c) c' d8 S    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
4 y$ N. n% s: H6 |, Z9 q9 M3 k. W0 M( z' p2 q4 u" E
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. y% F2 O( p' @5 ]# c4 Z$ A  b1 Y    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));3 K% e  r* o2 C* q! @3 d

2 F  @( O3 W- o( J' X" f1 z% J# J* t) E  m; C
/***phy run***/ //phy out
! u1 @% o5 ~, t7 P
8 g5 \) X0 w1 J6 a        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 k( [  X8 W: \. ~9 O; ^
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
2 Z/ r2 r1 B; u  M. f9 r0 A7 F" h: n0 s/ P5 `
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" C4 l' ]$ r% g8 p- L5 i        reg &= ~(CFGCHIP2_VBDTCTEN);
5 y2 y+ s/ j' f( A/ E$ ^/ e5 D: q5 H* p2 s        reg |= (CFGCHIP2_VBDTCTEN);
+ U; V# Y' [0 _5 z1 V+ e0 I3 _; E        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
/ B( P* [! M' k+ p, [#endif
  C. I9 Z1 L) N- v0 E$ D$ m& w6 j  A, l$ M& Y
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( ?6 x' A" O: o+ B7 z3 f( X    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   ; J. \" O3 n1 i

6 {# Y. [5 T9 ^" P/ a7 R    reg |= CFGCHIP2_PHY_PLLON;3 V4 l& q" L  {" X' J+ W! R

. g8 p* c3 s( ?8 ~/ j! ^    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; V# d8 w- s8 v: }* J3 R+ n4 J: E5 X* W$ S  b( Q" }: w
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 1 ~5 h0 V7 t) ^3 o! ?2 e: ]

/ _& `: c0 k( L; A2 g. Q% [" k7 T//#ifdef USB_MODE_FULLSPEED* Z. E0 Y( Z1 |8 d" `6 H
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
  @( }7 m& a2 q/ W- Q//#endif /* USB_MODE_HS_DISABLE  */; @5 _9 b' r0 w. S* t- A

* Y, {+ y1 J6 R9 ytprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
' W$ V& a0 c( }2 d}
+ }8 C! Y+ H+ t) W  ?% \
! h, t5 k4 Z' f( ?
) G$ h9 H6 @4 Z  附件有我们的电路图:
/ J$ b% ?; r* z" g% h! Y  请问能否帮助分析,谢谢.
; {" L% P1 W# z2 k: r7 h$ R
) _9 V6 F1 m' z
, `5 e; O9 M8 P# E" ]# ?4 g+ e1 w- ?9 i+ C% {! ]7 G
% I3 n& s. B) p) W

& ^2 p7 m' F1 a2 _5 s$ i% i+ w3 R6 F! D" Q  @$ K: o/ ^% {( h

4 C$ `) S! S% a' E

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
沙发
 楼主| 发表于 2017-11-6 09:56:04 | 只看该作者
telephone num 13437388251
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-8-2 20:53 , Processed in 0.036389 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表