|
|
你好:
2 \# T9 C8 r; q8 Q: Z% b
M& }* w3 A2 j5 a5 o% v 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),; y! Z5 f5 z- U) [% \
5 U U: t. z6 a+ o- M 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
* O) m$ ~" ?/ M1 E2 v
1 j2 T6 o* j, Y3 u8 W% }6 F 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。4 L$ P6 C0 M/ s4 A
+ Q" o/ G; Q/ d0 ?, b4 M UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:8 h! d$ A; q1 _8 C
0 }* t( G _, T) m; b: o 请问个和我们的设备电流是否有关:
. @0 z" c+ Y; V0 [5 E* w5 ]1 ?+ R5 T+ X9 j$ N$ ]
void UsbPhyOn(unsigned int ulIndex)
1 N6 u: N' r) t0 ^( w6 s{
7 U& O7 M0 ^+ B" A& C
8 u8 [- m, e$ W9 m unsigned int reg = 0;
+ @/ ~( C: g4 N2 O; `0 o' o7 ` BSP_KickUnlock();$ Q6 [- i& m l' i
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
, |1 {# b0 \4 L; n& { } reg &= ~(CFGCHIP2_REFFREQ);
$ r( t9 g8 `8 q* S4 R( F reg |= CFGCHIP2_REFFREQ_19_2MHZ;
, K7 z! [3 c6 c4 m8 _( ^ //reg |=CFGCHIP2_REFFREQ_24MHZ;
: ?4 G" G9 r9 q& q+ E( x; z5 D HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
; o0 B' |* X. `/ w
9 v. [( c8 s7 b reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: @4 K5 B9 l& H! r tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
2 \+ D0 S; Q- Q! O! n
B* o% ~2 Z* t. R: X#if debug# z2 f7 l! s+ j+ S7 A, q6 E3 q& u
/***internal 2.0***/ //aux_clk9 u6 r& ?' d% E+ \0 A: C( l! q
/ n2 x) T( `) e' _8 X" v reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* h9 n X N [& S6 D
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);# W3 p9 z$ T# `7 o9 K3 T6 S
reg |= (CFGCHIP2_USB2PHYCLKMUX);2 U3 P$ _- [9 v6 F5 Y2 g
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;3 U( [: w4 z0 a
! ~/ m( l7 }& S8 j$ I reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 F' i) }/ L' [; q% |% ]0 d tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX)); V1 d$ e R& W$ A: y; u
% M6 K0 U' h* m% F
/***internal 1.0***/ ///phy out
$ f0 t: W5 @- a0 w7 h
9 r/ h* H7 I! Q reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 L( A1 s9 ?' U
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);3 }! @/ x8 S2 B0 ^+ B1 O9 t* G; ]
//reg |= (CFGCHIP2_USB1PHYCLKMUX);
3 S, ^: i/ \4 p8 `0 e HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
z2 v4 ?3 S- q+ B
* Y; d/ ]2 m/ O3 a7 ?# w' W; l' w reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ q, }/ x2 @7 D* ~
tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
9 w. l( |; i1 e" G& s; }: I4 w
" d6 y1 a3 f1 a! \/ L' u& M" b. x9 o, a) @2 s, D# P
/***phy run***/ //phy out
! [* o5 X6 X; i7 l0 E, C
$ \! S2 Z; X3 N* T, w7 j4 p9 d# @ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 m" {; H6 y/ c+ [
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));6 k+ y0 O% Y: ~7 F# {' K4 m
3 O8 D4 ~: ]" f+ U, g1 Q reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" i8 Y8 I' M2 G: e( h s
reg &= ~(CFGCHIP2_VBDTCTEN);- N( a4 \6 Q- B5 }& S/ W
reg |= (CFGCHIP2_VBDTCTEN); q: K- e8 v% b
tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
7 |6 }" v; V+ n) p#endif( F6 E% [9 h2 p" U1 c% z5 u
4 D5 L0 P. F2 S# H+ N. e! e* g reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 p I' j7 k/ ?' \. p' Z6 J reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); 5 J0 e5 ~/ I. N) N
$ Z% X. q; [5 E- x9 B' G reg |= CFGCHIP2_PHY_PLLON;
, }& ? b) @+ }$ Z8 Q/ H7 N- i( [7 U
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;" Z$ k3 P8 g- _. T2 |
7 z) m9 S/ {7 x3 k" r while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
- B6 ~7 G3 X: s& W* W* ]
/ Z% G) s' r' A$ I" Q. {//#ifdef USB_MODE_FULLSPEED
; L1 d+ o4 \& P9 R8 W HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
# }2 L t/ y' j4 b: E6 u: A7 Y- ~//#endif /* USB_MODE_HS_DISABLE */
$ D5 J& [7 E9 M5 j, e8 w, }$ _4 Q7 j, V; p( h. D$ ]3 e- o* P+ y
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
7 ~2 g$ |" S. o% |$ m6 ~: {}, m) n8 u1 ] j7 Y
. w0 Z4 J5 }. X4 w+ o" c
# Q5 Q6 T9 \+ j" F- w7 o% t 附件有我们的电路图:9 z g# p+ @# u6 v# m% \9 O1 o X
请问能否帮助分析,谢谢.
' ]; q6 X$ j q* d, Y% |
5 O) r5 L- I1 }; R3 z9 {3 e$ |2 U; d' k# ]+ w
: }% G5 r/ E5 X4 Y2 R' O, D) i- l' `: s, V3 u/ V
3 c3 z9 {0 j& L; I
7 K$ `8 q ^' f e8 v2 j
0 K1 }% Y2 s9 q" q8 r, N
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|