|
你好:
; l/ J) x2 ^$ Y I% u8 k/ [5 J, F+ Z8 ?2 ~6 w2 j. M
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
) T) }3 e: E# D* }7 W0 p3 F/ W3 x3 y) b4 ?6 c
实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
0 [- L4 P* o6 d0 a0 `; p& D
! p' o; K f1 c$ u( B( s" `# @: d 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
4 b: h6 s( k) `; k
0 V" T! b/ V5 p$ J1 E4 o" U$ P: a2 T UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:4 F8 C* E8 N! A& L0 u
1 ?. S; K! ` e: T
请问个和我们的设备电流是否有关:
. L& \5 l$ n( j; Q) B0 Z8 \: i3 [$ L+ `* q; m
void UsbPhyOn(unsigned int ulIndex)( [( e0 D3 y, P- q9 u l
{
% `2 K p! x7 u & ^: X+ {6 F5 ~' x' s4 e4 a
unsigned int reg = 0;
4 B' N; W9 s* }, j4 C# V. A BSP_KickUnlock();+ d2 X; W( B6 d( f) Y: i9 }
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 R. h% P; W3 z2 Q, \
reg &= ~(CFGCHIP2_REFFREQ);
+ x( m$ Y: ]' K5 C& S$ } reg |= CFGCHIP2_REFFREQ_19_2MHZ;! G* N& A) Z. q; q
//reg |=CFGCHIP2_REFFREQ_24MHZ;
8 x% C# p; X: g) {% \ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
6 r7 c8 }8 @7 l& P! D" y5 G# h0 Y" b; j. ?
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
) a7 s% }2 O) t, O: p tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));3 x" N8 |4 N @& F9 Z
, I# u) J( @% _/ A# G#if debug y& }8 y/ S* W3 [2 C
/***internal 2.0***/ //aux_clk& n, ]1 p# t, p) U w. Q
. w0 U7 C% e" @) ?+ { reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
' G l: g1 B$ I) v reg &= ~(CFGCHIP2_USB2PHYCLKMUX);1 W' h! W7 z0 G, a8 E4 \5 ?& E
reg |= (CFGCHIP2_USB2PHYCLKMUX);" v1 I l& i9 S" \" n
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;) B% v6 J$ q7 b% `
0 v- p7 K; {1 [9 }! x
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
+ N4 e% [1 J c v9 t tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));1 E- a" k7 z( L; C& c/ f
' B3 ?0 O, k' u, S. m/***internal 1.0***/ ///phy out
9 D( H8 n9 H8 p; q% \0 u3 w) q8 a; ?1 `' a
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" v b X+ c4 i) j
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);* T' M, x) }- G% o" K4 _
//reg |= (CFGCHIP2_USB1PHYCLKMUX);
9 o3 t$ g' l c0 | HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
! J$ v2 ]7 o" u8 N- {- {& r3 K) D9 M: z7 T8 z7 g5 g. k
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
& U1 W% ]6 z8 j) j tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));! D b7 d0 s* C. L' R3 T
0 l5 t5 o( n3 N1 _( A( R* w* H; V; @ [3 o1 ]
/***phy run***/ //phy out
' H' L7 R: w5 [( h( F9 W0 k" j# c9 V/ }; j
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: o( ]0 o: }6 H! p0 ^
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));% i9 F$ C0 [9 [
" E* [- _9 h! A* T
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
- V- U- n/ L; p reg &= ~(CFGCHIP2_VBDTCTEN);" H. z& C4 M# z& [
reg |= (CFGCHIP2_VBDTCTEN);- ]3 E2 r9 k T7 g. Z$ C6 ^
tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
0 e( w4 v4 I# n8 M+ U#endif
* x+ d" M2 y0 }& s U2 w& r ]& b- I1 G7 R% D, C1 F
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
- k' s |: Z5 G+ |7 @% n! F reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); . |( |* h. D3 E% F* A- v
# t. B% w) l. k+ w reg |= CFGCHIP2_PHY_PLLON;
# ]- w* V+ s2 G/ i$ `' B, z& i9 d& a; k) Q; t
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
/ c+ c( u; b; i: l1 j$ S( e5 e8 r% b
+ n6 ~4 e$ R4 B6 U( P# A while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); ) A/ E9 A# I+ g9 N5 I; W; i
7 P$ K; F* |) A& ?) C. l1 d+ }
//#ifdef USB_MODE_FULLSPEED+ s6 i: w. Q. Z- F
HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
X7 {1 V3 }: D4 L$ B6 b2 E) C( r//#endif /* USB_MODE_HS_DISABLE */8 @6 O# O: p4 _/ N6 O) {
1 Z0 `% a Y. D4 |0 d# T
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
S% j( s0 l e' T1 U& _}
- ]; u5 O! P1 v3 `8 s7 n1 M
) X6 _5 i' b& C" Z' T! `2 E3 c4 M3 I
附件有我们的电路图:
6 i9 F" ` h) |( n 请问能否帮助分析,谢谢.
& T6 J) k- a* S0 K6 f/ D: E. l% H) Q! }& Q7 h
0 j& M, H6 |& ~ Y$ m! k5 g3 J. T L0 L; ^) y( [0 s- t* O9 N
, N) t% w/ p, y2 E0 Y w
3 i" w+ P2 p* E7 u( T; n; ?. |8 t2 z- `( E8 ~
u' H3 t V4 Z% _/ i0 v3 D6 M |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|