|
你好:6 r. F7 D; N& r7 P M7 l6 Q" B
/ {5 S- O" Z& m5 A$ M 我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),# q' w1 J* [. ~0 m. |
6 K6 c& A- Q, P% I W' k% t3 A 实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
- x2 R: d& Y; ~0 K4 G9 l# a% X, t9 H7 V) c6 {8 n
目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
7 C" J: z; T O) Z6 c9 W
. C }2 q0 S5 ?% r. K UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:, Y: N+ A2 D8 p
3 j1 v$ N: x2 m# D 请问个和我们的设备电流是否有关:
) q* F" O* o- [) P! s7 t9 c: o8 G+ B2 V Q1 e
void UsbPhyOn(unsigned int ulIndex)
& c9 D' h& h( i Y9 Z- g; N' S{
% N1 j% I9 U$ h( r+ m' a; L& K
* ?0 ~6 w. |/ j# h unsigned int reg = 0;
- h# Q E' [1 W/ V BSP_KickUnlock();1 e$ T% F% C6 R2 C# V7 @
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 m* H- r+ O, E h. \0 n/ F
reg &= ~(CFGCHIP2_REFFREQ);
$ g+ H# L; O( U! A( X reg |= CFGCHIP2_REFFREQ_19_2MHZ;& E6 K# q4 R4 D4 {" u- D' F- Z4 k; q
//reg |=CFGCHIP2_REFFREQ_24MHZ;/ A% L3 ]9 j/ f1 P* j: `$ p- G4 X
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;, D& v D; Y! [
+ ^' A; f' k2 M reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
4 V* @6 I# @% l7 q w tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
7 r: t8 U' ` v
- b4 ~" h. W' R; [& ^, s3 k#if debug' b n% h: a$ Z! d4 t' D7 ]
/***internal 2.0***/ //aux_clk
, H) c$ M) P" b: w/ ^2 s! `# b0 B8 l7 o" [) H/ H2 z( U
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 ^9 V. o1 e( ]& j# }! L1 D% i
reg &= ~(CFGCHIP2_USB2PHYCLKMUX);9 r' Y0 J1 C& V1 O
reg |= (CFGCHIP2_USB2PHYCLKMUX);
: T. t3 K4 Y! ?, ^ HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;9 {3 G, a8 X6 ?
6 C7 ^! {! D6 J& g reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);% [8 w2 D0 Q% ~0 I7 v+ q
tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
% ~' |, x( u& P O; z, D8 e# R( I! B
/***internal 1.0***/ ///phy out5 t0 w( S7 G+ d# S( L. h. E
, P$ S8 V/ c! t3 t) @" M* L' \+ `6 D( p
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
9 f& _% t( A6 F' E. { reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
! L. `% W; @: z: X //reg |= (CFGCHIP2_USB1PHYCLKMUX);
, ^" b: x8 {" P) ] HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
7 n2 C3 ~/ T7 y) J, `1 O
& D t2 W1 c/ ^% u reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
% i& R% P \. Y4 O3 b tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));- W; y) W; v. v1 e+ q: t
: [! }! L' Z* ^" A3 z+ r: Q" K% ~
/***phy run***/ //phy out/ g( g: ~- U/ Z8 c H7 j
* ^5 k& H1 o& ?; @
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);, r0 w" ]: }" z
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));* a; d; l8 y* C5 t& q
) ~3 H! z$ R8 Q1 [- u* c reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ ]/ Y4 A1 C0 p3 U" o' w, m
reg &= ~(CFGCHIP2_VBDTCTEN);5 S# W2 ?; r! g$ B6 W
reg |= (CFGCHIP2_VBDTCTEN);# ?$ k* g9 O& v& v
tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
5 A/ L4 T; u4 Q5 V1 _! d#endif/ c g& s C' Y8 \4 t
4 z# i( H! f! z- P
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
8 |1 {- N& }& A9 B! E; | reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN); 5 u+ U7 p, z) _
( j) U+ Q0 c) t) ^8 o0 b
reg |= CFGCHIP2_PHY_PLLON;
$ i9 |2 ~7 q" b1 ^' p
- _0 c2 X2 i1 ^) A2 _; b( Z; K HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
4 K7 W! e0 l) y' K$ A/ m8 ?; l% H% L1 E# L% p, @9 d9 w3 l
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 0 I$ Y5 Z3 \3 A0 L+ S& E
' L/ \+ \7 t4 \& w2 I% |
//#ifdef USB_MODE_FULLSPEED% _3 }9 {" X# P: Y _8 w
HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;4 ^$ k* j) |" m( L
//#endif /* USB_MODE_HS_DISABLE */
# c7 Z8 g6 {8 e
/ t0 P0 T. F* ^, C+ J/ C, i% i" htprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
4 [/ ]: v2 Y" r}; v U5 t$ {3 w; ?( j9 _1 z7 P+ j# i
$ u' C' a( d, ?4 V3 Q
5 ~$ a: L# } c9 D/ ^! L4 t+ a# r 附件有我们的电路图:
. ~2 d! G* U1 b; C$ ^% u 请问能否帮助分析,谢谢.
" m. x1 [ V _" Y8 \! e
% C S9 z5 I( @) j
3 N' _( N8 {) |3 I3 }) i# A& I3 S8 E$ n+ J, a8 d* z5 T/ ^0 K
0 F3 E! \: o* S2 R( q9 N1 v# g" y6 O8 @: V
. y5 M- t$ Y/ H2 z, D! G) G+ { Z& M) j4 ]. B- g4 I& ` J/ V
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|