usb 2.0 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
6 \) Y  G/ `1 z* _8 [1 w; u/ B% z; e  W' N4 Q9 ?
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
9 e% }$ v. _: q* X! X& n" D4 Y, l) b# ^; I% C) W% \
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。% o/ G6 i3 t9 E/ Y

5 d2 l5 L8 ?( G3 u' B3 c6 [4 @  ?  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。: l# c4 s( X% `

3 l3 ]( Q! I3 w  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:* B' ]% L5 d$ ^
2 A* U3 ~( p) O* a. I7 j* |3 [
  请问个和我们的设备电流是否有关:* Y2 `, d9 F1 l% X

/ L) {; R3 ?7 O* O9 K6 Xvoid UsbPhyOn(unsigned int ulIndex)
$ R& z7 h# `6 B) n$ h/ I" L. H! J6 y{9 A* q( g, F. M  {; y7 e
        ' t! q8 D* O' R: |9 e6 G) N) n+ ^7 a
   unsigned int  reg = 0;
! w5 K) p: o5 R- B9 f; g   BSP_KickUnlock();! l; @7 k  S) t- g1 I4 F
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);+ e+ B0 H6 X$ @7 U: Q
        reg &= ~(CFGCHIP2_REFFREQ);
: Q, ~# U5 @3 B: a. ~& p' K        reg |= CFGCHIP2_REFFREQ_19_2MHZ;. O7 K( o# }3 r4 P
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
' V, g' ]# L* B. L: t1 h% y        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
- J% a! m9 d1 X$ Z( Y0 S
5 V9 K0 p  }% g( R1 `        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 w) ]: b1 S/ [7 n1 D7 }. ]& z$ o1 I# z2 J
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
( B, Q4 e& E3 }4 p: J
% I$ c$ A1 J2 R; Y) j2 q; j#if debug
- l; H( v% R0 S, w$ Q0 L/***internal 2.0***/ //aux_clk
) F2 N% a6 f" v! ?- r: x
5 N, N: _) O) ~' F8 ^8 ?    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
9 A) n. E3 w4 m    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
9 x7 J& Q/ u. b3 Q1 M" D& F    reg |= (CFGCHIP2_USB2PHYCLKMUX);  L4 A0 i5 E5 C7 r2 u4 P, ^
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
, _7 F5 H& F0 M2 Y+ r* {9 e  l1 @# u8 v2 W4 }
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& g! T7 R0 Y( C: T
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));9 c' ]- F0 b+ _5 N

' b+ @; q- ~& g) l/***internal 1.0***/ ///phy out$ m4 F' L# H2 V+ t; D

- M# s) d3 t* f0 X: L    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# C$ r& L8 v! r" E3 @    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
5 q' Q/ n; R0 y( N; N    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
0 _2 u% w: T$ I* F" m8 K    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
: F- i3 b! y# r! o8 O( B4 t/ `0 q. l+ X
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" G; s: M) q3 M* a
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
  D8 D! J( p* C6 j# j  Q% Y3 E+ v
4 C- d3 Q, v+ j" C6 j
0 T* N8 o' Q2 K! B" D/ i0 m/***phy run***/ //phy out9 Z0 j( r2 \8 H# N: C3 c% b1 @8 e

! j# Y( Y) n) ?0 I- F        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
- T& l# S( v0 E* J* E9 o; I& V+ @        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
8 |% Y0 F, h$ n) S8 o
. T+ [: k7 e$ C# _        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" C& ^6 @1 a! z7 F' d! U# v3 a        reg &= ~(CFGCHIP2_VBDTCTEN);" J- x( F0 ~5 _* M) l
        reg |= (CFGCHIP2_VBDTCTEN);' C! j7 H0 W; B
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
) T8 o* b3 [( I& f9 o#endif$ f) I2 e! M; Z1 b$ r: V
' p* i/ O1 |% X  W/ }" D
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( @2 x! q% g/ c, M' V0 b5 \    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
5 a# |( f$ W0 ~% C# U4 Q  w, F7 s- V, J
    reg |= CFGCHIP2_PHY_PLLON;0 {+ N3 L; q/ H
; L$ A; X; X! n" a
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;9 E; Q! ?6 K+ q% l

! h5 _0 u; U; s* l% h% n1 G# z1 ^    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); * N2 q( \- M+ X
7 K% ^) W: y2 y/ Q1 R: T1 D2 L
//#ifdef USB_MODE_FULLSPEED
2 o" A" i3 M4 _3 |    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;' T' o# X7 k% d! K. J/ C) M
//#endif /* USB_MODE_HS_DISABLE  */
  o2 H! F) T7 \, k" y, z/ q( b4 k
) j$ Z9 T2 Y! Ytprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
( d- X2 i0 ~% ?+ ^% T9 q! k5 d! @}& F! N7 Z( F/ K0 _
1 g3 Y2 M$ r, a( R" a; i

1 U0 |) v3 E  t  附件有我们的电路图:
( o7 `. I5 _" E0 F  请问能否帮助分析,谢谢.
8 {: C9 }  x( u1 f$ W' e/ c) ^' z2 _
8 f, S& @  w2 Z" y
/ g6 F/ v6 L, G! o, r8 W1 c: V2 q
: w7 f8 m3 M& ~7 s" c8 Y

  f% t9 H- v, d( l# T6 u+ t* a
9 k. K& B& k) T3 ]9 R4 L
% e: k, t' l5 E. Q

本帖子中包含更多资源

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

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, 2026-3-17 03:49 , Processed in 0.042279 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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