|
|
你好:4 A: i. \+ c; W; }: p
/ z+ _3 h! B4 M6 x
我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),$ Z/ h4 W$ _; S; S
) b5 }% [+ l# h4 `
实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。4 g5 b) j' T) U2 [2 M& O
q1 U4 [% B& {. \/ S' p 目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
8 b# B% N, m3 ?! g* w i( ]6 k) Q- N6 Y" ~" k
UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
# `0 T1 I& \; @6 t' P
4 x9 _ J3 s( Y 请问个和我们的设备电流是否有关:, n; ^- t2 B* k
( w0 p% Q1 f, _3 r+ b) k [2 ]% R
void UsbPhyOn(unsigned int ulIndex)/ a6 X4 z% {0 k6 f5 L
{6 }9 h. R1 {! F/ I$ C
0 K, K) M! k8 }+ P, b
unsigned int reg = 0;0 H8 y6 I( L" `! c9 P
BSP_KickUnlock();
- F. w' k/ ]& l$ E2 ~8 X reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 F" V! ~+ u# d9 v g$ Y
reg &= ~(CFGCHIP2_REFFREQ);
/ e/ }# @* T% W5 p) |6 t. R' s reg |= CFGCHIP2_REFFREQ_19_2MHZ;
# _$ @$ |- d. O //reg |=CFGCHIP2_REFFREQ_24MHZ;0 w1 b2 y/ L+ M, \) l/ G, L8 {
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;. I9 u; Q# ^0 [
8 N1 j" l+ |4 e5 u* u- L0 u3 \
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; x* I' Q. {, d! Z: {- j tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));7 _; d2 |! K; m5 x5 F
1 d& U! k4 s; V: d, @- F5 z#if debug
z5 R J6 U$ t1 n% L4 v6 C+ O6 ~/***internal 2.0***/ //aux_clk2 [( D% Q* N- Q c& c" r1 ~
: m5 Q* z9 C( o. Y2 g; N4 z. @% ^ reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ T/ R$ j9 H# s7 K reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
# o; g" y# z4 R reg |= (CFGCHIP2_USB2PHYCLKMUX);% g: ?9 l8 {, U- ~- z# w
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: c2 S4 M2 J" G) U' t9 v2 e7 f
" u- a& o, }" c; Q# x# @4 k
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 b( v6 [3 F0 T9 b$ i' Y$ Y tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));6 x7 T4 ~- ~5 l P* F
6 k v* N3 J$ M
/***internal 1.0***/ ///phy out
& I) m9 f# L0 s5 G$ r+ M' v! u
0 m8 b* |6 Q0 f! W1 p reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" f; n; T" |' v- R+ n2 }) D
reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
) X4 Q# i- A0 v: O7 s //reg |= (CFGCHIP2_USB1PHYCLKMUX);3 X5 d; A W' Q! Y
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
# H' Q) B0 o, L5 }* w* B. P! j
5 [6 K5 T5 |4 z3 b4 i reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 x% a+ p# E9 z G; \3 c
tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
R+ v1 U: k" S! I2 G v6 z2 e1 w- i# D6 R6 x7 F
- Y7 a; u+ n Z1 i: \: Q- [; l5 K
/***phy run***/ //phy out1 O. X# x* W6 N
$ O$ ?% y8 {% z* C1 W1 Z2 K, W7 V
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ j) \6 V4 I! y5 A6 _2 |- ^
//tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));+ p. C) F5 M4 l! I+ Q; t3 T
1 k: C( ~0 B# S: d3 E
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 G6 e6 d, L7 l" z reg &= ~(CFGCHIP2_VBDTCTEN);9 K4 z1 H: G! Z
reg |= (CFGCHIP2_VBDTCTEN);5 j1 m, B. k4 @; D1 K8 b) D
tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));' B; j# Y$ }/ i% ]
#endif+ b j* Z4 t( K0 |/ ~ U
$ U$ \; R& ]8 p u$ r) H+ A
reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); _2 E0 n8 y9 q8 s+ x3 U2 y% v
reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);
- a& @6 O/ |: H$ S! c" M8 s; B
) R5 k& J* y1 _/ J reg |= CFGCHIP2_PHY_PLLON;/ |: y* Q+ L+ ]& x) l% U
/ b1 ?" F% E. W9 W8 T3 [
HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;; X2 g: @/ R' B
; |" e$ I ^# L( E
while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); ; ^" q( J$ G( V7 O5 \! g
0 I7 w2 o1 S5 h; e9 ?, `' s
//#ifdef USB_MODE_FULLSPEED9 ~, X3 S- N% t) ^, B, p
HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
8 J1 s. D9 ]; T" Q' Z* z3 _//#endif /* USB_MODE_HS_DISABLE */
0 O8 U/ @, f, t6 p4 }3 r8 ~& z- ?7 z8 J2 v6 A& d; C" o
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
+ q3 R: `/ f2 i d1 B# p}
: w* v) v3 B$ K) G, Q/ J; h1 z
8 h) g$ x9 [1 u0 i# b0 Y
/ k( b# Z+ j+ S- K% h 附件有我们的电路图:
6 ?- ~! _8 u' `8 r* _ 请问能否帮助分析,谢谢.
3 l( g$ ?9 g4 M# _/ Z! b5 H
% ]4 J5 y/ Q# l+ Z8 E! O, x' G* s8 R* `3 M. w' m
' B2 F' o& I" q8 V) t# E8 {
* m, v9 K. B7 j+ v$ _
2 b# ~) {. X: o: k! P4 d( _" ]/ A* J7 y
+ @6 e9 O; n* `( ~ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|