|
|
你好:& ^* w; w$ U+ G1 t) \6 v) B2 N6 C
8 X2 F* w$ A2 \: v6 X9 T
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),/ _- v# U9 ~ D! j: H3 O6 J
: g) [% L% ]. _& {$ @ 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。* | G6 y( u4 P0 _2 B% B |( O
9 ?' g3 e4 {9 N! t
目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
_6 r% [/ @6 R3 Q. X% R" X8 n4 ~4 x
UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
/ a( l5 B2 A: `, f3 C3 D T& K% v; X/ O+ b
请问个和我们的设备电流是否有关:
" U3 P+ @* V$ q Q; b3 C+ B. K) i4 B* k
void UsbPhyOn(unsigned int ulIndex)
- K& [% l( M. e{6 f1 u1 g. X8 p" Z; ~% r0 V, ?
: |6 [1 C9 _5 R4 Z unsigned int reg = 0;
& C; h# H6 Y1 G8 W8 X BSP_KickUnlock();
8 J+ W) U! P1 c8 b1 \ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 W0 f$ l6 d. z
reg &= ~(CFGCHIP2_REFFREQ);
) @4 u2 @2 O7 W' G reg |= CFGCHIP2_REFFREQ_19_2MHZ;1 h( \* A" m- X! W
//reg |=CFGCHIP2_REFFREQ_24MHZ;
* c* A7 P0 }0 k# ]$ i q( o% [ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
C: j) ?1 b) V+ b" e" {$ t7 B2 B0 @ p
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
& q _6 e' V& e. @! \ tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));$ k# k! a! M5 d! A* N
. @; t* D3 w/ C4 Q5 [. r/ m
#if debug& g' J2 Y2 q# Y2 g, w+ y
/***internal 2.0***/ //aux_clk8 |/ g* t6 E& @0 ~" ]
4 Z5 I( K7 U7 z8 M4 V5 k0 Q" e& T) B reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 d1 t7 U& Y; @6 y0 e3 J+ ~3 h+ n& u
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
% _$ m" L: s- ], P4 j, F) c reg |= (CFGCHIP2_USB2PHYCLKMUX);
$ V6 Z! Y5 `$ \3 @ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
, F+ D6 k, d5 u9 W; C# w; X+ s+ o- c: x' H
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
5 q7 t' W7 b L4 _1 b% L tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
% j( R$ {1 O! C2 T
! a, i2 M* n8 [! S% h3 `/ m+ y/***internal 1.0***/ ///phy out
! d$ C. t4 M+ b" v% b6 o- ?
M/ m- E- V8 }# _2 U reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 k% n3 Z4 S! }& k5 z
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);" K5 D3 e' O, A! j' F- F5 d+ }
//reg |= (CFGCHIP2_USB1PHYCLKMUX);1 U2 x* N. ~1 n& F% p# t- e: R! Q
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;7 S: q* m) S( {. W5 k" Q7 i) ?5 A
- V# @4 V3 j( g3 i
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 w& J6 {5 s2 A# d+ O! Y
tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
& l6 _$ P0 {. r N7 [' o* d; K$ O; ^2 v
( A6 `' N ~; ~" ]1 S& i7 Y/***phy run***/ //phy out+ U" V. H& p' h" K, n7 A
+ p3 ]! t9 I) q- k4 a. d
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* Y4 W. a7 Q: J Z
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));) v9 j' r) e1 e
0 G4 `, G2 A/ c* Y# s
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 O! I% i$ ?' D. @. m
reg &= ~(CFGCHIP2_VBDTCTEN);
3 z, z5 g" H& M* _5 c; t reg |= (CFGCHIP2_VBDTCTEN);
9 q' R! C$ \2 `. K tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));% v) z( [3 R% _
#endif# k4 m, a6 C0 m' F7 @* G( Z
k; l3 ?6 s, {2 z( W
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); . D% Y2 r7 S1 |/ b i* f% ]
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
1 I1 p) X& D8 c# l6 i- V0 U/ _8 b+ _+ v3 {+ [
reg |= CFGCHIP2_PHY_PLLON;
) t) l5 R, O! f$ G( [
9 w# ^0 a. b3 f% C% }9 t8 F# J HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
, J% d/ U# J" {* C2 n1 _2 k) _* h& R: V7 u3 p$ Q
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 0 t4 E+ a0 G9 n$ s+ n% ~
% f7 I8 t+ |8 X9 X3 d' \
//#ifdef USB_MODE_FULLSPEED
4 q9 j7 u: p4 [/ R4 l2 z5 I HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
7 f7 T4 U9 q9 N `! q//#endif /* USB_MODE_HS_DISABLE */0 V: i u9 i8 h {. `! u" Z
9 D. E ]8 A) P" X {
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));! t' S# g, b* L0 p
}/ D+ `! A M/ p3 N B6 g: C3 a; V1 e
1 R6 g, }* Y( x" N
6 z4 w7 T& M3 Y# E 附件有我们的电路图:, L7 w2 `7 T7 f! ~
请问能否帮助分析,谢谢.
. v& }* W- |" J/ k/ c( e
* z0 i4 y" q8 C* F5 }5 H1 X- j0 |
/ }- J# U, v; E& h! |$ S) M* w- y% \
0 {; V7 I2 `5 X" V8 q% E+ Z! \8 N. g% b9 u1 f I2 C" X# H% D' v' }
/ J8 T+ S4 M$ i7 ~9 a( E
" Z+ n8 f4 @# B! T |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|