|
|
你好:
$ q$ w9 T$ w4 a# s9 Z; k, W
! O* @! j1 G# N9 n0 p8 ^7 s$ \ 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),; u. t: M2 ~7 ^- y$ @( k( Y' e
5 p& i, u n6 ?0 v0 o
实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
2 }1 u8 y$ S4 T7 ]; a ]* h
7 \3 r* g: F" x) @4 S/ V( o 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。3 f; p, I5 V- Y0 B
) ]- \7 {5 b" m$ d9 ^4 P UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
5 U: f. o4 ~1 v3 b1 B. n; U5 G/ u& k/ Y. l
请问个和我们的设备电流是否有关:/ t1 t. o+ l9 a1 P2 a: j: A
$ R: W G' f6 l8 F3 H
void UsbPhyOn(unsigned int ulIndex)3 L: ~4 c" e7 a7 o' p2 y9 ^
{
% q, M4 t0 s5 s : f1 k, @9 j3 E4 M- s
unsigned int reg = 0;
0 w; X& s& h9 k( _5 T; @ BSP_KickUnlock();# \0 J( ?6 b2 p8 H
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
v7 [+ O' B4 X( P2 X" Z+ F+ C+ j reg &= ~(CFGCHIP2_REFFREQ);
5 k: d8 a, C8 n6 B4 O+ S reg |= CFGCHIP2_REFFREQ_19_2MHZ;
+ ?! r4 G5 F; j9 C" v# ] //reg |=CFGCHIP2_REFFREQ_24MHZ;8 v8 g+ o) A, y5 R* i% K
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;5 f9 y4 i7 G1 `9 ^1 z1 D4 _
& [7 |: {- c5 X/ L; W+ } reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 L# ^3 D) a% p5 E; r7 S: u' G! i7 C
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));5 X8 Q! j2 O' Z# ]. U
" b5 e& L# P( h3 c2 _2 _; \
#if debug) b+ d! m2 r/ y/ h* x* @
/***internal 2.0***/ //aux_clk
% p* q5 S q' [# x! ]7 p* g/ r! _: A* {" }
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ C4 c' E: p# t- i$ O% B5 l reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
0 D: I* L" D8 N reg |= (CFGCHIP2_USB2PHYCLKMUX);
) j, M6 W' W/ n% `; O# l0 ^4 X HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;, }4 O7 |; g; Y' e1 M$ H
; p3 F4 K) r3 J; _) a2 { reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);! v6 R8 D3 O7 P& O! w
tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));& \: W- N1 g1 }/ Q
, C7 N( ^1 z' ~: ]" Z
/***internal 1.0***/ ///phy out
, d) m7 S6 _7 O) M/ n6 G1 a, ~1 O- A
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);, K3 J- ]- |7 F; G
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
+ B' E: B& P/ X& z d+ Q/ l //reg |= (CFGCHIP2_USB1PHYCLKMUX);
3 m. q$ y: r% ^9 t4 `# n HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;( A1 P, i0 h/ z
: C' K7 ~7 g5 l5 C6 Y. d
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' V1 S1 o$ Z8 B" L7 i) S
tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
0 P- Y$ N* H! A
3 W; P* `% _2 x6 l' M( Q2 e# y" V+ m4 `
/***phy run***/ //phy out. Q" P4 u& Z6 _0 b1 o1 h
& G, X0 ]1 Z' ~$ K9 {
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 @1 P4 v6 G2 B3 p' l4 l
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
: V2 {& y: `: Z* j$ e u* w3 J, u5 t/ n7 G" A6 k4 ?. y
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
5 T; b4 i. K9 D$ G& e reg &= ~(CFGCHIP2_VBDTCTEN);
! C3 ` L1 \8 r7 F7 H reg |= (CFGCHIP2_VBDTCTEN);
9 p- Z! F) n' A5 w8 w% ] tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));0 u, h' O* h: x2 E. p: m
#endif
1 L# E' _: p% U a7 g
7 s/ }$ n; X3 O6 k N reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
N1 `4 y% {: r reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
* n! u% {) q- q' A7 G6 y
2 n r/ L, G; ?: Y reg |= CFGCHIP2_PHY_PLLON;
* N3 b: ?" ?$ Q# X; E" A1 s; v7 S0 h
. y4 m( C3 C8 u* w& i& Y) h HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
( K# M9 A; E' N. ^4 i9 P, U( t# {4 Z# V Z
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
/ _& c. s$ m2 B! g# q! E3 O/ @: B* |
//#ifdef USB_MODE_FULLSPEED# U0 x {; O1 _% [0 Q; R& S
HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;. @5 D& C( @$ c" q
//#endif /* USB_MODE_HS_DISABLE */
: D4 o4 W# h* r9 C1 d( v0 p) a5 m/ D" B
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));$ Q/ x9 y k4 m% r" i
}
# w* _+ |/ Z* K( q
# r1 O0 B# ~' n& ] D, w
! C3 [8 {" ~, ]# ]1 { 附件有我们的电路图:/ v N5 t4 Z. [8 G! j7 M
请问能否帮助分析,谢谢.6 H. S# |6 p3 V: @1 s9 w; D" T4 q8 o
- j! W6 m4 m, r9 p" n i
+ l: }9 l# `0 F: T0 t
0 A: R. p' ^: E9 I4 u) K+ |( [1 p: X0 l9 Y% [( Q
. x6 W2 g& ~& h* _; f; x7 g' d4 Q* h$ x
# W; K+ T$ q& `! U$ `% j( P9 w/ C
# L2 l2 m# ]3 j: d5 ]) x
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|