|
你好:
: `# P# b- B1 H! o1 F
, o! V s: M" t+ Y* u( L c! `% ? 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),& K7 {% ?8 C$ u
7 e2 O* U; h! P1 \6 i
实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。, I( Y# c2 m* n7 g
5 {: I, B" C* Z# K3 N' u2 u& s9 a6 Z 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
2 }" @4 T* G3 S
! L3 u1 B# u. D" C$ u/ F3 [ UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:$ ^9 {) Z! {4 I, j" t/ f' ~
5 V& ?) X+ t* ?: B 请问个和我们的设备电流是否有关:
5 l. L4 F0 A) }6 l# i! _( o% g( p0 ~5 O) m8 M! L3 H5 w& y i$ c
void UsbPhyOn(unsigned int ulIndex)
0 x+ j/ m- ]/ k2 @3 m{
, R5 p" c7 T9 O # b1 f/ ^ i. N! e2 c9 k# J% D- P
unsigned int reg = 0;
1 Z# G% Q+ i t# s% } BSP_KickUnlock();8 \) @6 B0 D9 n) E
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 d& G7 K/ @; f. \& }
reg &= ~(CFGCHIP2_REFFREQ);
, ~# N% R3 \0 C$ |9 ? reg |= CFGCHIP2_REFFREQ_19_2MHZ;
# Y" M' B a$ C/ J4 y& z$ ?8 Q1 C" U T //reg |=CFGCHIP2_REFFREQ_24MHZ;1 E) B" D$ R ~/ j4 X
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;5 \" u5 _( E0 S' s
5 [% X7 Z6 b2 [9 @! G reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ t9 I/ v9 G$ _) ]
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
! S- J, l7 T S: E k, a4 s* Z; u
8 t. _& O+ m* D) \' ?5 ^% I! J#if debug
; k g7 D4 r* ?/ F# }/***internal 2.0***/ //aux_clk
/ `/ z+ X. Y9 d& s( G. o* @, P1 W8 n9 X6 k5 }* F1 q+ }" R
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
@6 v# e. A! Z reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
- B' x3 H, ~- P0 X reg |= (CFGCHIP2_USB2PHYCLKMUX);/ z- L2 {1 }! i. T7 o
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;. _6 w5 R, L3 A2 i8 x+ y
]: g( @# N3 z4 H2 o' O1 Y9 I; U reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
0 `/ y1 t" |6 ? tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
5 u3 x! m6 \4 a: C. z) u
/ J) B# @: ~: E( I. E# \/***internal 1.0***/ ///phy out8 A/ i* b1 ^% m6 d2 }8 R3 m
5 y; n& O0 q0 [7 w
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 x: n2 G8 {7 H1 \ reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
6 g- c" C- o' e# V7 v2 g //reg |= (CFGCHIP2_USB1PHYCLKMUX);3 m6 w J* \" W, A3 C' I% D0 u# U
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; w+ P$ |( N: ^' i" N' j2 Y0 b$ p
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 M5 Q8 v4 J2 @4 b9 g; w# N
tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
# T7 c4 F& v$ ]1 I( _. L* [6 V! {! k
3 z8 N: z$ Q; y1 h0 P3 F4 E! S1 S0 ^
/***phy run***/ //phy out
7 e0 G. H) \4 Z
7 c# o0 M; _* Q3 j' \. p reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; r q% Q1 c* d* V8 O8 e! P //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));0 A' A) {# H% C( n
8 H* Y+ d. n3 O0 Z! P L" N- I' i
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 l2 p0 V4 c l0 Z
reg &= ~(CFGCHIP2_VBDTCTEN);
2 Z+ p4 l3 ?! N( U reg |= (CFGCHIP2_VBDTCTEN);
; `" a, H# Q2 \' x tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));* J7 o1 E5 @/ u
#endif
$ ]& u1 L6 x; }( W8 [
! }9 b& I6 T! D6 s- z8 y: h reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 8 G: C7 T( H% C) U `) u# }
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
! R, @+ R' X9 |: q% s1 |% L' n& q3 T$ X, j8 r
reg |= CFGCHIP2_PHY_PLLON;+ ~% X- N7 ?1 f5 q* g! I
" C& }; X/ s- {5 Y6 S1 u HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
# _" y4 t2 x) G& g' q0 F; S6 T* w
" H7 Z' P c% ^/ z7 v while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
( Y) N; F! E% u* ?" g& {" p, a/ }* \( c) M
//#ifdef USB_MODE_FULLSPEED
! x; S2 Z- n A4 U7 d HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;0 D- i% u, q9 c. d
//#endif /* USB_MODE_HS_DISABLE */
' p6 R" w" B' Y. A* |9 ]! @& `, E3 ^% a& x: y
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));3 T& v; t" R8 C# S/ I& Y
}
9 l/ b7 W9 N$ D8 g; m5 p
" G& Q( W' ?1 q# U# }+ b) R% W$ }8 N3 [7 d+ P
附件有我们的电路图:: u$ I1 i3 i1 f4 `0 C7 v3 }
请问能否帮助分析,谢谢.
8 O' ^: O7 t# @4 A1 _% E
+ D- z1 |% g& }
! J* |$ |2 Q! D" y9 ?: |# O9 ], K0 Y
% {9 c9 @/ P: F% q' t; h1 W0 E4 ^ ]6 {# k+ g$ ?4 m
9 ^# F2 {& h( m- l: Z, |% `0 J) e+ ?/ l4 G p
: g1 d; F) p. X( x, ^8 M: L |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|