|
你好:; g% s C( [3 M7 a6 w3 ?0 c! f
2 e9 Y2 i' i( \& D* ~ 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),4 L0 g* c7 J* ?9 n& g
* H% j( v1 w* z# x% d6 \ 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
: L) s* m7 M5 d4 y( V
1 I0 [$ D# E/ S 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
6 C/ ]; e& p/ @* R, P) k/ S3 k ]- ?1 h* @4 e% r# E7 {8 R7 {
UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
6 r+ b! H+ R e2 I
6 R) e1 e6 j6 ?2 Q4 }" m+ X 请问个和我们的设备电流是否有关:
& H! M! S6 h M/ q6 D+ q! A( k! W+ Y2 N* T
void UsbPhyOn(unsigned int ulIndex)
4 Q9 u" e8 m! ]# r+ s7 ^7 c{; z: N* Y& M$ |0 a- K* {
2 Q( u, c3 b& r! g' b0 \* Y
unsigned int reg = 0;" a1 D8 L/ Y. c# J5 m# o$ `
BSP_KickUnlock();
7 @5 O% u, a) R; V$ i' ~3 N5 ^ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 b. O' Y" f1 ~2 n+ X% w reg &= ~(CFGCHIP2_REFFREQ);
. r" d+ H/ h6 |1 r2 Q reg |= CFGCHIP2_REFFREQ_19_2MHZ;( a# U# `4 r: W4 I& D0 O9 f e- U
//reg |=CFGCHIP2_REFFREQ_24MHZ;
) K0 S8 r) n6 Y# @ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
7 J8 O2 Y: U, d& D6 v
. G" ?0 X0 [% {1 w2 Y reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# {. w l C7 f/ E E/ M& W2 V tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
* [& k8 E+ {% Z5 Q& |* c& C5 y0 U2 ^" L Y) e ]4 R
#if debug
0 S2 R9 `9 u8 N3 Y% Z/***internal 2.0***/ //aux_clk
1 F* n; z5 r: \ m+ A9 f
8 Q# |. R3 y+ \" k/ L! P6 l' z reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 L/ w# `# V* H, h reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
! x! s7 O- g9 b5 Z$ L1 j! J } reg |= (CFGCHIP2_USB2PHYCLKMUX);( d; X4 u N9 @) i
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: T. q1 ~) d" @" }" W, `
) E) l( ]" d" c# J* @7 q- G; [
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 d# o# X: S- ?' R" ?2 { tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
: S; S9 G. n* V- t+ u! N
7 N4 V$ X, i0 |$ T, i2 c/***internal 1.0***/ ///phy out; }( l6 C' x4 l7 p( v$ d! X$ ^' T
( z6 d' h8 f8 ], ]% o+ v. } q
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. G; f6 X4 _& S- @
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);( L {* h9 [: P; Q& T: Y+ F
//reg |= (CFGCHIP2_USB1PHYCLKMUX);
! ?) ]; F' {" N( i: ~ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
9 C1 s! E+ X! o1 p
: ?, ~1 H9 ^, z+ n reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
S8 ]4 l1 I9 x' l2 F0 C! |6 { tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));# L0 v- {6 L( k6 a+ K& _
' r. P; @9 {9 {+ }( O: D
$ g r. v A& M/***phy run***/ //phy out
4 R/ \5 t, L, c* a+ S
: K- S4 g6 `; A/ G: [7 F reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
, J6 e; i' F5 a6 |) t //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));/ }: G0 S2 V/ O, R
' ?- I- p! F2 n0 O2 e reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 R0 a" b5 S" K: `/ ?+ X6 ?
reg &= ~(CFGCHIP2_VBDTCTEN);
8 l( q" |& N: \& U# _ reg |= (CFGCHIP2_VBDTCTEN);
$ h0 }4 l9 v, K tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));& l: j; ?9 e! D0 w7 Y0 |
#endif
8 p/ ], ]) `, t- T5 {
' s" D' s/ w( i: G reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
D+ x( m. G6 q7 u0 \: o& V: Z reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); 7 v) h# }4 F+ q: s5 O4 D
( _+ T: `1 j% q% s reg |= CFGCHIP2_PHY_PLLON;" r" J2 p6 ^* J. i( u
& C. o H; ^! L f* I( K0 H& Y
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;* S2 v) L8 l3 `+ k
) x+ s6 _' K1 j( c% u C while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
. I0 e5 [1 L; w3 D! \) ^
) Y# {$ V5 y/ z' R- ~$ U; Y//#ifdef USB_MODE_FULLSPEED
9 K9 L/ Z( O7 N# _, H: A* J4 I$ F HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;/ Z7 G5 j* M. U/ H7 `/ }
//#endif /* USB_MODE_HS_DISABLE */
- u' Y7 w6 k3 o# E5 K' }) q- n3 k6 W% ^* t
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));% W. B }4 ` H3 u$ X
}8 x1 {- X5 a$ `9 W* ^! l
- H' C4 R. S: v0 m: p3 o0 @+ P
: {* a7 ~) W7 ~8 U' S
附件有我们的电路图:
0 b; @$ H4 l, v' Q2 H6 r# q 请问能否帮助分析,谢谢.
* c% `+ Q, v, @. C( \, g& R* n5 L; l1 w- s
3 D( ~5 b- c, v
* p# s( |: ?% k. Y( _8 s
, R+ r2 }( u+ |
9 Y' n9 w, @: y7 W# T
! P! ^9 v8 ?2 S+ R$ E: J! H
$ W% C; X. N: K8 \1 c
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|