|
你好:
* |# Y! F* n& A _0 u0 a
5 b' L& g$ n) G/ ~0 T/ @/ y 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),& I8 k6 l7 e' J% u. N G) J
, {# }8 E8 |" a
实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
" d0 y/ U' w+ ?1 k( m
& g1 G- X. W8 j) i; D 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
8 w W. i- G% n
, C5 c$ |7 J6 e UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
5 ^/ q- b( G$ H+ Z0 y2 N% I% H; r; Q+ _1 H A$ n
请问个和我们的设备电流是否有关:
- y* s+ I: X. H9 i, h: Y0 b/ E7 F4 ]# T$ v( V' f
void UsbPhyOn(unsigned int ulIndex)$ z/ C4 W% g8 S' @7 q+ | c
{" e5 a8 C/ @7 r. O; v
: y2 X4 R3 T k6 A8 y4 N
unsigned int reg = 0;7 D/ S# U% F$ x* v" d# H
BSP_KickUnlock();
2 y8 n$ q- ?( i1 `( x' T' u reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ O- y* S7 V/ s* h/ I% D& W
reg &= ~(CFGCHIP2_REFFREQ);" b: H$ z$ _& W# T$ Q' f
reg |= CFGCHIP2_REFFREQ_19_2MHZ;/ Y* O+ Z8 ?- _/ ^
//reg |=CFGCHIP2_REFFREQ_24MHZ;
' O) l2 O% \' p# F' c1 W0 D HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
" W* X V1 C2 i' r9 X( A
$ w9 {$ Q4 U& j0 s8 i( Z( o8 z4 ~& S reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 y, S1 y: t! ^$ N1 P" E tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));1 R, W8 n2 e: j& ]5 X" y- r
; u+ z; O! q/ E% j2 X
#if debug
' R2 c9 `( D; X. L' }5 @2 R/***internal 2.0***/ //aux_clk7 w$ ?2 x% T% f0 K+ u
+ Y- O/ j4 ?( R
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 e `8 Q5 f' p8 ~ reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
/ A5 {1 X0 K; m) e reg |= (CFGCHIP2_USB2PHYCLKMUX);0 N+ V3 d2 z3 j0 {& C6 ^
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
" i' y; j' t% f' [* l) x$ W
2 j _& s8 Y% N6 g- F reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 G3 e& J2 K" u5 j- o5 P/ N tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
/ s& b* F6 K/ ^- Y/ o, h/ W$ s4 e3 \# ~) s/ T+ ^
/***internal 1.0***/ ///phy out
/ R9 l- O Q) J2 {. Y F1 E6 C W9 t6 o9 Z# r; I# T/ Y
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: d- c% @$ M8 A1 S/ ?+ y reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
9 ]; j: i* k6 R+ ~: P/ q //reg |= (CFGCHIP2_USB1PHYCLKMUX);- j9 h2 n0 }9 p2 p7 ^6 N
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;( O! F; k% \# N& ?/ @
' j ]* G$ i. k* u; A" X reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 z# i7 a! }8 ] tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));0 c+ V5 `1 g% L* K2 {
$ a1 s8 Q9 W1 H. R4 x2 ~$ k
+ q+ `" y/ a; t; F$ R2 N# `+ |# b/***phy run***/ //phy out b' S9 e7 p* Z) C( X* [1 W; r
! d6 D) f+ n+ r+ `( ?/ [* G! U7 w
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ m5 g8 g' w7 k8 S) s //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));! K1 k7 k% h t+ H
7 t. c0 B; M) I$ g8 A+ N
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 K! B% @! p+ K. T) D6 J6 T reg &= ~(CFGCHIP2_VBDTCTEN);
( B$ i9 m6 a" N4 m reg |= (CFGCHIP2_VBDTCTEN);( ?4 H& k7 Z5 A: f* N0 N. `
tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));7 x& \1 `4 f# z4 w# O) g; m3 j: v
#endif
+ `/ M% [0 E/ ~/ V# S7 m8 X7 v5 X8 h0 Z+ d; }& N* S* ?
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 ?5 @5 y0 o+ G- q, o reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); ; z: j( S( g. U7 ~8 t! n
5 ~0 C3 X: V9 l: P4 t7 o reg |= CFGCHIP2_PHY_PLLON;
7 j# X, N; G2 L. |* J7 l" I5 E, c5 @$ W' t J" }2 d: ?
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
5 @% h$ b X& N% x( D+ V+ C/ I0 W0 Z! ]: t( }# b# Y8 E4 J
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
- M) X$ {8 k% R3 z. o* C' X1 h8 R! Z( |' l2 N$ b" G" q
//#ifdef USB_MODE_FULLSPEED
: I7 C5 B) i5 d* J HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;, H! L, A; A) `; c! Q3 ~
//#endif /* USB_MODE_HS_DISABLE */
" W9 O# G: @2 [# u# _( L; f
8 \4 h# \8 [- |3 ktprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));2 d- |# k# s& @6 a8 ^) d
}
3 [0 o4 N1 b& ~5 ]' t5 ^7 ^6 v& A: y& P1 ~# \/ K7 Q5 p
4 p" U# X8 ]" y6 q6 l 附件有我们的电路图:
0 T2 J+ M, t6 b 请问能否帮助分析,谢谢.
H4 U* d# x+ ^- n9 M, X" r1 D+ S6 { S% f
2 Z7 i0 h) R& c x6 L4 i. ]# K% l
5 \: j5 N: F( Q5 U( |) ~* K) T& r$ N
0 m6 r: W6 d' r1 W! g" M" ^) c# w( P
# M6 J, Q4 p S5 K |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|