usb 2.0 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3629|回复: 1
打印 上一主题 下一主题

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
1 I; w8 F7 n' o; D- ~# K* ~5 K3 U. _; H+ _/ t) L& F# C. l
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),' `( C5 T0 f5 R3 s- z' M, t+ j
2 G) N/ N. H1 k8 h+ Y
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。2 Y  P/ t+ s: F2 M: m

+ l& {+ E* r) s8 u  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
2 S3 q, D( }) N4 i. p0 U/ K
4 R9 _2 b) C9 X  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:5 g; ?8 l; b, I2 M

8 D$ ]& h: K6 n  W* d  请问个和我们的设备电流是否有关:4 O2 G, P! Q8 g0 A0 r! n

0 a1 H( s  K' I- W; S+ N. W5 pvoid UsbPhyOn(unsigned int ulIndex)$ I6 W( w' o) j9 C6 y
{
6 k1 u4 \! x% \  w0 g        * {* |1 y/ ^: H+ m" ?- D9 }3 e! j. p
   unsigned int  reg = 0;" X7 [& b( r+ H, B" ^
   BSP_KickUnlock();
8 J. I1 G; i# Q: v/ w! M        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 \" v9 C1 f0 s
        reg &= ~(CFGCHIP2_REFFREQ);
: d6 H- Y6 N% F; s. l3 b        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
+ r' Y; P5 t, k- ]; U5 U        //reg |=CFGCHIP2_REFFREQ_24MHZ;
- U( r/ ?. r4 J. p; P        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;- }* P* E: u+ E
8 `2 `7 a4 r3 k% t2 w: n
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. U6 m9 `6 x/ x4 X; u        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
) n" d2 E4 X7 Q2 X' [5 P  }, |$ i$ }7 m
#if debug$ ?: ]; ^; t9 y
/***internal 2.0***/ //aux_clk
* l6 T( b  @/ ^( y0 F0 u0 _0 c4 x1 Q: x6 W6 l% e- A
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 `) J# V, n) L2 f- V/ a0 [    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
5 }  ]: n3 ]+ g$ z6 ]4 C    reg |= (CFGCHIP2_USB2PHYCLKMUX);
" w8 `& W) t: {! @! I5 ^+ T* M  G0 x    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
& e: c9 J/ W' ]: R
% B2 _( i3 J, g( K( i" w, b: G    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ ]; N, J# t& V( R  l  v7 c# @& ~' M
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));0 z5 c4 C1 K! `: c, N3 x; R6 V( s
2 H5 R7 w1 ^) z: V
/***internal 1.0***/ ///phy out
: }, O3 q# A- d  |! |! t  Y# ]  w  Q' R" K' T4 t
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
! f4 x) e& w& v. [9 S6 P* t    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
4 W6 {6 O1 P& K3 J% o    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
  c, w. i; i2 `) s; I    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;. k" D1 O+ G, v% D( Z' f

5 N% J. W+ h* {" A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: `) W: @- m. P( B& ^2 u    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));3 x/ E, |& x$ o6 H: \
$ m7 g( Q" M# I3 [

# i" W4 B, B1 d( E* n. u/***phy run***/ //phy out
( j1 H  L, e. r& T& R" |, C- L4 ?7 k9 [( U# ]& Z' C! ^) s. e
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
) F5 B$ c  k4 r$ u% _) u1 G0 P        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
. V, Q' J2 Y: C- K- f
/ W! }0 x9 T; \  Q, M        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
+ u( h  ?" U  x; w) n" s        reg &= ~(CFGCHIP2_VBDTCTEN);0 s  y: m; n8 z2 o- N
        reg |= (CFGCHIP2_VBDTCTEN);
% F4 [# }' Z/ W+ v$ f( v        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
5 ^9 x( t0 o& d2 t1 j& h7 }#endif
: [6 k7 w3 r9 r/ c3 n6 h, K1 l* j, t% d. l8 E! o# Z) ^
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); ; v7 [8 M$ P# B
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
+ F. M# O4 S& l, A2 B
4 t" n( l/ d& D, H    reg |= CFGCHIP2_PHY_PLLON;
9 P) t3 X: }* o& Z# {0 o
4 ]$ B4 s0 z# }- A9 h+ ~. o# ^    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
5 l5 B* u& C" D( J) ]$ \9 ~7 i- D' M' [; j9 g4 }! S
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
* L' E* N$ d$ Y
& a* w& m1 X& L; {& [//#ifdef USB_MODE_FULLSPEED
3 g7 F: b" T. l, M& G6 ]    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;) i8 C' x* V+ o( @4 a" N! M
//#endif /* USB_MODE_HS_DISABLE  */) `( D* v, A) v3 L
0 Q$ V6 v5 V, p: c. `% P2 v
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
# C$ E+ X  |- c. J; s& @* v}
9 X' t: @+ s9 U0 g5 g) a' ]
! w! R& u  P; Y. L
9 p; H8 O5 r" I7 u2 C) o  附件有我们的电路图:3 ^5 k- G! {) d1 @" f: Y  t
  请问能否帮助分析,谢谢.- U. z9 G2 I* A; G  x8 m
' X7 k; j1 d* E- d1 v

1 z+ n7 T' \$ ^4 z5 E; U& k, m4 s9 E' \" w1 ?$ |( p2 y
" d7 @- f3 c3 ~) D
$ @3 L9 z1 A" F5 e  \
2 B  g+ E; K3 H0 c. Y* G
2 O6 p3 \2 s. y4 N4 f& {" G' _/ w

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
沙发
 楼主| 发表于 2017-11-6 09:56:04 | 只看该作者
telephone num 13437388251
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-14 10:17 , Processed in 0.037558 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表