|
|
你好:
7 R* s4 e' z% T2 N- W6 W" X) W H& Z) }# W
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
7 v3 {% K/ h% K3 O, S+ V$ }" C
+ A3 k- w3 f# s# T! t 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
0 H* J$ M( n U! S4 R0 u4 }( E
9 |, h' r2 ^+ f8 S9 d 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
8 o v7 |) y, K9 g0 f6 P: x3 H# Z. T+ G6 Q, N! C
UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:, H3 l( S( M4 B9 d- W- l+ Q b
# }% ~1 n# d; k7 D; O& _
请问个和我们的设备电流是否有关:+ _7 M/ P: {8 A' ]
: u# W+ F. {. }) |4 j
void UsbPhyOn(unsigned int ulIndex). w( Q4 G5 e; u/ }
{
, ?5 y5 X+ b' D" X2 D e& n) r
, e+ K/ r4 s' i+ ^5 B9 E9 { unsigned int reg = 0;+ q. D: f3 e! ], {/ }% V$ _9 L x
BSP_KickUnlock();
, b8 g9 R, `" u; Z0 H reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 S6 d' w6 V+ X
reg &= ~(CFGCHIP2_REFFREQ);
& m; j$ z+ z& ]9 {% G reg |= CFGCHIP2_REFFREQ_19_2MHZ;
4 ` E/ k- M' B) M //reg |=CFGCHIP2_REFFREQ_24MHZ;* c, J- c: }! H( r. g2 F$ i, R
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
! @7 E! Q( d- g) o4 e
+ s2 g, I8 K9 T* e7 X reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& K4 W5 ~# R# w+ f* p' d
tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));9 _8 t: l! j- H6 H% E$ m/ m: @
9 Z9 t6 P1 m# z) v4 \
#if debug: |: D0 ?6 b8 S' k2 l% t
/***internal 2.0***/ //aux_clk
# {2 z' C8 L! ?6 d: ^6 B$ k& Q
) p7 o* d7 y5 h reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' d5 V1 |/ I8 P: e/ J
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
( ^2 F+ J7 u; S( J9 X7 f8 m1 [; ?# @ reg |= (CFGCHIP2_USB2PHYCLKMUX);
3 J4 B$ d7 p& i5 N: \8 I HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;4 R4 q& s2 @, J# c2 i7 N. @0 i
" R' J0 [' C' K6 d5 } reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
8 o% `) ^. ^+ Q( h$ N tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
4 o* o3 a: ]4 G* B, m6 ^
9 P% s- r. j% q/***internal 1.0***/ ///phy out0 w: ?! I# R' b
' Z( c/ [1 C& p6 H6 g+ `. s
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' ^; u6 ~; U9 D' B8 T( p* [
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
k- i+ X; @* ]4 Q7 V3 b //reg |= (CFGCHIP2_USB1PHYCLKMUX);1 s' O- J1 a! F
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;. D3 w2 u6 I) q5 l4 n
" T; V2 m4 v7 ]4 z4 O# s
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 Y$ n% D' l* r1 r- U" x tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));! U' c- B7 ^/ j
3 |* L" X5 N! t0 c3 X* o$ O
8 a1 g* q- l- M8 {8 |, Q/ ?9 W
/***phy run***/ //phy out# i/ `0 M& K; j8 W6 V
0 F8 l G5 @7 W$ |, } reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);+ U: X( G8 V! t' Z2 e
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));/ v' w. e }, F$ N2 Z' H7 O/ B* Z
$ a* r$ S* Y, d8 F4 K
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" |0 }7 p5 R) Q- j2 w( p2 G$ m( z1 ] reg &= ~(CFGCHIP2_VBDTCTEN);
3 ]3 w& J3 B X; P1 y6 [ reg |= (CFGCHIP2_VBDTCTEN);
# P3 j/ l% h$ l tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));0 T4 u! G0 T% Q8 X
#endif" Z8 `$ f* l: p# u" d9 ~
' x& Q# X: g R9 H9 K1 i
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 2 _ k$ A f" C0 B
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
+ k4 e: ~3 \! s- S/ P0 ? L& w' e3 |* z! L
reg |= CFGCHIP2_PHY_PLLON;) h. F( i" n: N" O) Y
8 o8 i) z& {$ y' m* B Z HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
+ ?! w- l3 F& {. s
6 H, a. G" ~! I4 [. M) p3 F( t while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); - W% K; `; n3 m$ f3 W( n) l
6 g- E) L+ u' h, H) Q2 [
//#ifdef USB_MODE_FULLSPEED
: X. @/ t: o4 g HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;7 D! u) R ^$ h) u2 z
//#endif /* USB_MODE_HS_DISABLE */
4 @% {- F. B- G
! W2 K1 \. E4 F! [1 x! p5 S8 `tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));$ Z& \3 K, e3 |- [! E
}; E4 y A8 s5 |% Y: b( ]6 q" B' ^
$ J6 @5 e) O8 ^4 f$ c
5 E/ ]" y1 S4 d8 ~2 u( e9 y: A w1 { 附件有我们的电路图:
4 w$ A5 O5 X5 {' _ 请问能否帮助分析,谢谢.
: Z$ M8 Z, Y( R; c4 p* N6 i+ w3 N, D5 ~8 s& p
3 R* u8 s' T# s4 f6 B) {! R
* I8 |, e. w5 M& V" l$ h& ]* l
9 Y) b) ^3 c) g' a# q: @& b* A
/ j4 j& l9 G t v4 f
# [0 z" n& \9 k8 s2 m, n" d2 w# `- e( N" o/ i0 e
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|