|
|
你好:
5 C' m8 R+ ~: e% o: ?3 T }( t8 b% G, Z; m% J1 |% E( V; ^0 l
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
|/ i' w' ^$ l. q8 \; T
! l1 R& w c2 h3 u. Q' d4 I 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。( ~3 ?4 z: |* |, b1 T( A
. E( z# u9 Q+ D: m/ p4 p& n 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
" n8 L" B- p' b" P; `
& Z& L" o* B& Q UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:( h3 |: g7 M+ U- u6 O# t; g% o- q b
9 \$ I2 | G# D# A7 h 请问个和我们的设备电流是否有关:- G3 X2 y9 x4 ]$ m& z; t5 t
) G0 n; }, Y/ q1 p. m8 y
void UsbPhyOn(unsigned int ulIndex)
$ Q2 n+ \1 n8 i+ M. V- e( A{3 N& y' R& c5 O- s: q
5 F. A; Z0 M% O( `$ d+ a, |5 {
unsigned int reg = 0;
+ D" X: a( ~1 p+ d! I: T" O$ A. [' ~ BSP_KickUnlock();
2 o1 y$ J1 i5 s3 X* I$ ~ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 E. `; u' B8 b3 x' w4 e: g7 [! I, J
reg &= ~(CFGCHIP2_REFFREQ);
3 x& u1 |; E- ^' C" I2 X reg |= CFGCHIP2_REFFREQ_19_2MHZ;
* U- X5 o. i0 s0 ~; D //reg |=CFGCHIP2_REFFREQ_24MHZ;
' k% x, K1 e( c; D$ p4 P HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;$ e) R, p6 k7 B& H; h' i" P6 G
% D' o& s9 K6 }+ F" _( Q, {* A reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- g5 X. H( Q, I; l& h
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));9 a' [' V) @7 ^0 D% C2 L! W6 c! M
% r% d2 O* B3 ?% {1 T! j4 y; E
#if debug3 V, r$ H$ e, o- `" d2 H0 P- S) v& k
/***internal 2.0***/ //aux_clk- @! Y# {; ]) ]5 Y
% H/ P1 i ?* c) _- J0 F
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);# X8 `5 H$ N& h. h6 \
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
( y% N7 z/ i* v reg |= (CFGCHIP2_USB2PHYCLKMUX);7 d: W# u5 m# \) R- m
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;. Z4 E3 A* F6 z- N- E% W! q
9 T. X" h' n9 t2 `) g& a' f7 ?8 ^
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; ~% x) o* T( N& Q9 c tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
4 x' P/ f/ g& k; r( Y+ p
/ X4 z4 x1 r* x3 P6 _6 K/***internal 1.0***/ ///phy out
9 r1 W0 S& S# R8 q( v' a/ x5 E V2 R9 {. N& b
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ s. B* w! O4 A- q5 } reg &= ~(CFGCHIP2_USB1PHYCLKMUX);# ^: e, A+ h2 s+ B L; e' w* m
//reg |= (CFGCHIP2_USB1PHYCLKMUX);1 \% P' S5 {) _' ~
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;3 I6 q3 |) ^4 d
7 f: a, D6 _- x reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# ` x' h' y( j& M4 |6 N: | tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));4 [. t" A+ S1 E& N! p% j8 F
' h9 ]% H5 ]5 L, U, z0 ~4 V3 a& U
; q9 f$ |! r8 E- q8 C8 P/***phy run***/ //phy out
' V& \2 c' m6 b9 @
! g! h, p+ o5 d' q reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 f6 p5 d* b O5 R, M
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
" D% v: _0 w5 x) l ^2 F$ f4 n, v
7 }% S3 A9 s4 h5 `6 c/ c# n5 [ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" t) r. Q. A+ N7 {
reg &= ~(CFGCHIP2_VBDTCTEN);& C8 E' y0 q7 q' N; I. g' k) Y0 N
reg |= (CFGCHIP2_VBDTCTEN);
: \/ h- a/ O% X/ D& U( @; n3 b- i3 ` tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
& w$ d* P0 g, ~+ @! K#endif
. a7 ]. A1 L0 D* }6 f
" Z5 O: i( u" V( V |* T- a, s reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); / ]: e M; F; k: F
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); s7 B8 ?. g: \' M/ r
h& ?% S3 Z* B4 ` reg |= CFGCHIP2_PHY_PLLON;& ^2 e# n6 A; p! R" Q( c
' h( J9 Q- a7 X, S. A0 B
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
" W v6 L' X; p, g
! K! n' R! G; `6 J- u while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
- x. f+ w! T8 l( B# z' N
5 v" h0 E' S; h: s W//#ifdef USB_MODE_FULLSPEED
9 n9 ^; Q4 ^; D8 Q HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;8 z, {; o0 j# ^
//#endif /* USB_MODE_HS_DISABLE */
- x5 c; A& w0 _8 l. B, I, r) p$ p2 r2 ~4 Q
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));3 e, S: P: O0 A) r7 h6 S! K1 O
}
, Y3 r: S; x* [4 x6 F% l. o# L" i& I1 i% G' ]1 C
6 y0 Z8 x- U( G$ t 附件有我们的电路图:4 {' D. t" ^. }6 l# C$ W/ @
请问能否帮助分析,谢谢.
2 a9 Q8 I. Z& B$ T. h+ [# c: v# w* ^0 u7 h0 m0 w$ g7 j
$ s n+ {) O( @8 G/ S2 y
& F5 R. F6 A+ b" u1 l4 u( A
' I9 |* u$ w6 k, \% Q! v% w) |7 h: U# B0 G
5 T) @# u- p9 Q+ [6 G) @6 ^( f E0 e
* }7 C7 K* \ O' H
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|