|
|
你好:, f: [" U9 I/ K2 W6 E: z; p
$ v% ^9 X4 t8 O$ ^1 t) t9 \ 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
* I Z8 c" Q) B1 Z5 R- Z# k; m6 ~, A9 s7 `) K
实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
8 U, p, m! T5 @# s8 F1 C7 E) e6 E" q
9 e) I9 x: n4 v2 P 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
! G! E D! a/ N, l3 P; l5 L7 U2 ~" i/ J p+ N7 Q) ^) _
UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
+ x2 A4 I5 y2 [& G/ @
! N" d1 {3 g2 W. I5 { P 请问个和我们的设备电流是否有关:
: m/ L7 i( V) z0 ]* L, d) D: B1 D$ T; d9 w% c: E( j3 T
void UsbPhyOn(unsigned int ulIndex)
0 q4 y$ y- f5 G" i/ O% l& o! F) j{
+ ~' g( F& F0 I0 t+ R q0 a4 Y" H
4 k3 b. f, k, j, G: Y unsigned int reg = 0;$ P' O6 u7 I5 f7 \- L
BSP_KickUnlock();
& |. e0 d0 U, Z! Y reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ I) C! K2 ^* p
reg &= ~(CFGCHIP2_REFFREQ);
1 B: k2 L5 y4 K9 `2 { reg |= CFGCHIP2_REFFREQ_19_2MHZ;( A1 ?" M9 x' y1 `0 M6 O! k
//reg |=CFGCHIP2_REFFREQ_24MHZ;
. p& ^2 l0 N) c" `8 ` HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;0 g* ]& w6 i# D
+ w) g' q5 o' K. M( i. H reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: n2 v4 v& E1 K% Q9 R8 p$ u- B
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));$ u+ T2 o: s) i& @: f
, t7 I3 a7 p4 J2 @#if debug
- M( q E3 W7 r1 o/ ]3 I/***internal 2.0***/ //aux_clk
! \* |( u5 q$ e, U
% r L* D9 M- W& j! n! U reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& u' y4 r. A+ H R9 E/ r
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
4 A4 c1 ~7 {9 i) i5 ?9 @: ] reg |= (CFGCHIP2_USB2PHYCLKMUX);
1 v6 k# W& ^4 F. q7 C( a' F: ^! m) N HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
- G4 j( H0 w, Q7 g. B% @' n# M
" F0 A7 a* ^! C, P: _* W/ a1 D reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* ?. z$ Q" C5 A: e2 u
tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));7 e1 {1 C$ G9 a8 B _
$ y8 |. J0 G8 X, H% d/***internal 1.0***/ ///phy out
+ }% T, i8 X, t. h" S
* L1 s) W" U3 p4 Q. ~* y reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 |+ k/ m6 E$ X+ R$ X4 r1 B+ n+ l reg &= ~(CFGCHIP2_USB1PHYCLKMUX);( `& w, A9 b" z! o& P3 b# d% k- e
//reg |= (CFGCHIP2_USB1PHYCLKMUX);+ W% Y1 T1 |2 Z* E3 z# B
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
* u. u I6 E' N0 |
/ E4 x4 U$ P8 C& B* D reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ ^" G" @6 ^, x' u$ ^6 P, |4 F8 b7 S tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));9 C+ p6 X' l! |& O0 h/ `$ {) T
5 M; z' X% m. x' o8 O5 a2 a2 }" E7 D) P/ d: X! f& d
/***phy run***/ //phy out5 Y0 r4 I$ T, ]5 \0 g
, p9 \; e- ~; Z G% j reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 C3 g4 z5 `: v. R5 ?9 x# G
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
, M0 Q5 M0 x; Y z+ d
6 M9 m) Q1 L+ [ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* f8 _8 }) L3 j- m$ W7 A: L1 a
reg &= ~(CFGCHIP2_VBDTCTEN);( w8 Q7 Y* j9 y" ]! ^
reg |= (CFGCHIP2_VBDTCTEN);) M- r1 a9 f- |" M- \
tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));- Q1 \$ q: Q0 h" ?/ W
#endif
1 p1 B J0 F/ h2 y1 M& T$ y+ R) E# k! f3 S6 H
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: q. a& a. G+ q; D$ Y5 ? reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
0 o+ w8 j J5 _& X6 P7 S- }, s8 B+ M
reg |= CFGCHIP2_PHY_PLLON;
0 Y9 k6 H4 f' h, j! R/ x) S9 D. j2 X; T' z+ A- ]2 j+ J: c( m
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;2 ~* Q$ R h$ ]
+ G' t& O' b* F+ g" Z while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
1 K0 O9 K# |" R$ i! {+ e+ w! G8 x z* n
//#ifdef USB_MODE_FULLSPEED
H: {- R( b3 ^" A HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
3 K" E9 ^5 ]: Q' A d//#endif /* USB_MODE_HS_DISABLE */; Q* `) B8 ?/ L4 m
# }6 z0 E9 n! Q9 F% e# K
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
. M F- z6 f. v S3 E7 s% B}1 y+ h0 y- x8 R% m; N$ x
8 r, w( k3 I; ?; e8 k( z/ ^0 B/ U: o4 C3 i8 @3 B1 p- |% F
附件有我们的电路图:
W* B4 R- t3 c* v" S7 A( \ 请问能否帮助分析,谢谢.. @6 E$ Q! {2 d
& I! Y1 t8 c1 u: e
) z/ X$ N4 z. |* A7 g+ ~
+ s7 ^0 Z6 J8 h( _% O, j( s8 j5 [- M
7 P; v) R( }9 V, M1 V$ a) E5 P. X. l# P% S6 H) F' o1 [+ Y
" V8 G; B& H' z! d* x3 i( Q& z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|