|
|
你好:! d! \9 W' D7 j3 _- R
" ]+ i L: [' Q; A( K, U
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
7 p* O/ n" I' p$ V
0 m7 k2 x+ p6 Z/ s 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。" R2 U& u2 q& L# x S
% W! n j: S# S/ E/ K! W5 F 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。3 K v9 ~: F5 m' ~; N7 u7 Y Z
3 u/ d$ ~. B+ L( @# S5 q UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
- J n+ L9 ?7 D7 q# @; S' B8 P* o3 c. K3 R6 R
请问个和我们的设备电流是否有关:
$ s* z$ X+ X/ ?1 Z. k0 Z$ f' A: b9 j3 }' Q- ?
void UsbPhyOn(unsigned int ulIndex)
8 }6 L' w: }8 q" X{6 ^" B2 v" l* C( k* r
6 [6 x4 W0 b. w, d/ @- ? unsigned int reg = 0;% x0 E, I# f1 p5 f) q- A2 |
BSP_KickUnlock();
' F: ]: B6 U0 y \- X6 t3 @ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 s* s# C: J3 v# D( n4 a
reg &= ~(CFGCHIP2_REFFREQ);
1 D5 r, }* I& p' D3 X7 W, U reg |= CFGCHIP2_REFFREQ_19_2MHZ;
+ Y8 w2 ]' r4 V7 s& l2 G //reg |=CFGCHIP2_REFFREQ_24MHZ;
+ H2 c- C. R! F) Z& D% I# f- } HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
( R1 b% I( E( R1 R$ t3 W: j, _, H4 V1 C& e
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);7 C# |* s6 x0 v+ f% E7 ?# C4 D
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));% ^1 a5 s0 B Z* v
" M( M' s" g3 g( y6 c2 _/ J! d) P
#if debug3 r% `9 l9 U3 J0 _( p& [ C
/***internal 2.0***/ //aux_clk
8 |7 @$ v1 K3 m$ {; d+ d2 G* A9 I7 ~
7 y' ?8 K" X# ~. } reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 O6 e9 [8 v# d3 a5 [3 f2 _$ c
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
" A9 K% t3 b; r5 ^% y) e) z reg |= (CFGCHIP2_USB2PHYCLKMUX);
9 K0 f! B( X5 ]8 w3 c HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
p. V9 D7 w3 M+ Y+ z
9 _3 e# C" V0 `' W+ O reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 @4 u9 l% s/ w tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
6 A( E: G8 \9 q- R6 a* j3 W
1 N& Z2 P4 v1 f `" ]& P/***internal 1.0***/ ///phy out$ m7 ~. b `) o# H; I W) N
2 T, `# N# S% e+ B& s3 k reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
~3 J. ]8 }' M3 y reg &= ~(CFGCHIP2_USB1PHYCLKMUX);% W& n+ h! s% ]; X! i3 v$ ~
//reg |= (CFGCHIP2_USB1PHYCLKMUX);, ~" W" D6 S% o6 f
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: G+ ^; J5 T0 U5 y
0 J' U4 q5 L- c6 ]" H
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
& j+ U3 u; d% n tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
. E! t; V! `7 n% v) g: W
% c( C5 V a, ^. p" I2 q! x% J9 a& v* R" y# k) s6 S: k$ _# g3 I
/***phy run***/ //phy out
4 g! J( n, X7 u6 Z, H8 j5 Y
& m- h% S" I g2 f reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 N: f3 I# e( q
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
5 U6 H+ y( [( P0 M; Y0 F' }
4 P% e3 c* d+ q5 U) b- s reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 ]4 g3 ?) F! ?+ D
reg &= ~(CFGCHIP2_VBDTCTEN);
; V/ @% x* x+ i7 w) S( a5 L reg |= (CFGCHIP2_VBDTCTEN);
& `; X- B! [, O/ I tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
- O) B! U a9 Y$ e3 d#endif- E/ a7 _! v3 m9 ^# t+ l: u. V8 y
) m& i0 f2 ^% W" a& [0 a/ F2 C reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); & q' y9 y9 J* ?1 ]- E4 S" n
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); 8 Q$ E( ~) C2 ~0 k2 \
. n0 I, V! @ G. J6 R- _9 F- z reg |= CFGCHIP2_PHY_PLLON;, {) i b% x" Z% {. t3 R
6 H+ t7 R; y4 z
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;8 X/ T- }+ z9 { S9 p9 M
4 ~3 L/ Q5 B* }% |/ q
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
& B7 H' [: s# e a+ _& E
9 m4 d, d- T! t1 y0 J) t& D//#ifdef USB_MODE_FULLSPEED
5 f9 J; E) z& D( J1 M. a% S$ E HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
! F7 V8 Q- }; Z# |//#endif /* USB_MODE_HS_DISABLE */3 u- V, ]) T6 O% N5 R4 u/ A
$ n' y% r8 X2 l/ K7 y
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));& N! @( J% n8 Y P9 C
}
7 w# p; q( _+ X
) u$ c' v3 M- I
. t+ k& h4 d: y) |# K8 h 附件有我们的电路图:
# l. l/ _$ r: s# r' z7 U# w 请问能否帮助分析,谢谢.$ L, E: ~' h% i
9 z! n- [# V: M# a) }$ \& |
J4 j! c Y3 R X$ G/ s0 `( l
6 o! G! y9 e0 S1 ?5 R
, J7 u/ ?4 A: l$ H( b2 J
5 M# _; X% J9 ]% G* O
& J. ]* X( b( b6 p: G
$ k/ b1 m, W2 c% O |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|