|
|
你好:
. a( W, Z9 {' B9 O1 p' x* K3 t- p% P! x! Y+ i/ _
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
9 x6 L. U# ?6 h" U2 Q: L
# B. _- u5 d: ~ 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。$ _0 Z: X- d* Q- I6 j
% N% Q8 q6 Y) [2 c+ h8 ]
目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
5 h; N5 F- O4 U3 J7 F4 |# I# v2 g# e9 Q5 R
UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
3 z+ \9 K; z0 Y6 F0 L. S
, ^1 D- n& J! s3 ? 请问个和我们的设备电流是否有关:* Y5 G! \# l0 O( l* m
0 z# c! A4 E) x, ^* Q& lvoid UsbPhyOn(unsigned int ulIndex)
, @6 ?- O" C8 |; I) }{
& ^. C8 x0 A9 Y: `1 J
9 u- y5 o1 z$ k2 F unsigned int reg = 0;! {: z( |/ _( h6 S
BSP_KickUnlock();
+ f2 w. M, Q1 h, o4 F reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; n& t r' L: q% q. A% ^ reg &= ~(CFGCHIP2_REFFREQ);: r3 M! q) v. J
reg |= CFGCHIP2_REFFREQ_19_2MHZ;4 ]! v+ f& Q; B1 D8 {+ i7 Z5 N/ R/ U
//reg |=CFGCHIP2_REFFREQ_24MHZ;
) u; ~! u3 ?" \6 `0 K* E HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg; w8 Q& l& K G4 V& K
$ y- V9 }& S: o& J) B% x4 V# ]' ~ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: x* y# [+ e7 a- q# _
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
( w5 x7 O2 s& U9 {( } b2 _# }6 R5 d0 r! Z! n' T6 q7 {( t2 ~
#if debug9 c- U: R5 L1 A- M0 a
/***internal 2.0***/ //aux_clk
: H. h' p% G! r3 `8 r8 ~' U
0 R, u% V) z* o' D9 F reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 `& Q0 ?+ G2 I2 R! r( u4 w
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);% B" ]9 x( `' h
reg |= (CFGCHIP2_USB2PHYCLKMUX);
$ \7 ?- |+ Q' C% g/ ] HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
! o. Z q; ]! C4 N+ W. I# `4 a2 v" o% ~& O1 Z; i$ x. z
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 {' a+ o+ A" h7 Q" l, S tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
1 h) g$ j8 X5 i& r4 w) f9 f9 |& S$ I) W1 a5 |6 |
/***internal 1.0***/ ///phy out
0 [# t w, l7 |6 n
" K1 n0 ?7 b( S# {4 [ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- @2 W# @; {0 v" G' {
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
# P3 T3 @$ i& F; R! j //reg |= (CFGCHIP2_USB1PHYCLKMUX);
2 d$ E2 U% r+ S( X1 Z J, z3 o( \ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;5 h. w; L/ M6 h: o
4 Q% F+ t" {8 T, s reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);7 ]" P5 v L4 |! ?+ ~- Q/ F6 `
tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
) M3 m4 |3 c" n) ?+ \6 k _2 D# t- E. R2 x* C% x# e9 c
) ?/ g% @: `. Q7 t3 Y. w7 {' N/***phy run***/ //phy out C" N# r n0 }! z
! ]0 p) @ J* e; ` reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
! N1 u1 u! ? @' M( C; ` //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));9 x. A) l: j; w6 t9 J4 |6 a
: [: r4 x8 D' T9 O, }* v* [" w% o reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. C; J& R8 D) F
reg &= ~(CFGCHIP2_VBDTCTEN);# T" p4 e% x- q# B; w7 d
reg |= (CFGCHIP2_VBDTCTEN);
: S, E, Z# v" W+ t% U6 C5 X tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
# s7 d, q8 @& I j) o#endif1 n' ?5 Q+ A+ d, o q
' [- B( P+ r) A }5 H5 u* M1 Z" d& W
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); % D7 j& g/ n3 R% n# F+ Q
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
8 S/ q. e: Z+ ^; l L8 O, ]" \" S, H+ J& y/ X+ Y. N" P
reg |= CFGCHIP2_PHY_PLLON;
# J9 S% Y& W" S2 Z5 N, U$ ~/ t4 o* z
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;8 g5 G! t! Q! [5 s) K/ B* y {
& A1 P: ]. F8 U: G3 Z
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); ' Z! ?" L8 H4 n- w h# H: R
# G0 @* n. S) R5 E0 f$ X1 _ {) l
//#ifdef USB_MODE_FULLSPEED) C2 X; h. ?/ r1 F$ p' Z9 h+ s
HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
$ Z6 |! C- r* u" X% Q, j//#endif /* USB_MODE_HS_DISABLE */1 Y! X- B- ~. g/ `) Q6 }3 f. }: S
; D; l, j0 c" T$ X# Ptprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
& `$ K) S% X' W; J- c}4 o/ S8 ?0 M& }5 C1 p% M; t" L
2 c9 Y. a* i8 m' h
" ]: U" o3 x: R" x
附件有我们的电路图: U- t0 E- h4 f0 s6 b- e
请问能否帮助分析,谢谢.! ?/ Y3 }: L# H/ |5 ?. _2 j
. _( W F8 T8 j( E& W7 M# X8 {/ e, B* e. H0 m# T
2 r% \* N0 g, \) @: h8 g9 l
- { n+ \ h2 |
) e- \0 d/ w- h) n6 l v+ V8 F6 D+ T* G5 s7 o$ w9 J
- s( H+ L4 {4 G) F! A
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|