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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
, J- A9 k8 y1 z- a; j, {) n: I& t/ |1 p* m0 h( g
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),, U) u4 g' o! g% ^- ]/ P6 I
* e3 {+ n: S; t. L$ C' y
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
5 B+ F: p" f) L1 a& C
" ]1 q0 J2 g# @1 [* E1 @  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
1 r6 u' b8 K; Q8 A# z* o; X7 H# z& n# L% ?$ B" W9 w( e1 l
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
  _  O$ u% d9 S/ v+ u  h; ~
5 X' y5 ], h( e. i: u2 Y1 m  请问个和我们的设备电流是否有关:
4 c+ z: A6 l" i; f  Z7 ~8 Q: t2 Q/ s. s! R9 I
void UsbPhyOn(unsigned int ulIndex)
! `$ z% \& [- @. M. m) \; v{; J6 c9 w" Z# Y
       
  r) s; j, F2 K8 A$ R  m   unsigned int  reg = 0;) N* N4 E$ W  H/ q0 r4 Z
   BSP_KickUnlock();8 M# C$ e) N1 z
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( f' r; I% A3 w' K! \        reg &= ~(CFGCHIP2_REFFREQ);
0 J9 M# p+ ?) Y& }" U4 ]        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
' ^+ \% t) m1 b) d. E/ k% j; K        //reg |=CFGCHIP2_REFFREQ_24MHZ;+ H$ ?9 d5 E8 p& R  @9 i' t9 Q  m, z
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;3 Y; J, t7 v2 d; E/ Q. _" _8 k2 ^: [' l

5 i2 Y& }8 C* V0 A        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. j) i* d) `) @, b; ~7 d! G; i  i* i
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
: l% C8 j3 C% l  g4 U
' _# |( @) J: S$ h1 j#if debug, U$ c. m1 X$ L5 m$ a1 d* x/ b
/***internal 2.0***/ //aux_clk0 i+ c5 }4 v# q" \- ]: V. I1 {
$ f* q, P# R* M4 ?! l9 x5 X
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  H( s- P: z1 R$ C    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
7 u" }* q) v5 t- {$ F7 ^1 O    reg |= (CFGCHIP2_USB2PHYCLKMUX);
/ k3 [' b/ d1 Z& L& ]    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
7 T  y( x. w' _2 f! Q5 e
: d/ Z: P1 B3 i$ W8 T4 r0 o    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);) z+ G( b8 }( f3 i/ Z7 \% Q- k
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
0 w' H6 ~4 i$ a
* M2 x6 q( n  v) L/***internal 1.0***/ ///phy out# e+ h. L: I0 V* z+ V5 O  n: k# P
: z4 o4 g" z& {/ D
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- b& |9 `  ?* U: L! Z8 X0 ^/ V: m/ C
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
$ j' N1 T5 k! v9 X    //reg |= (CFGCHIP2_USB1PHYCLKMUX);' ~; Y9 o" m& f  U# h
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;9 v% L) q# L1 ?/ k4 g6 V( x
# @; d( y' }4 o
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ Q' Y! R6 r+ H% ~! B
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));0 w& V% n6 A& C  R: b% P

2 ^3 L' P! F2 f3 N3 W1 R* Q
' }% v( V7 _- p8 j6 j/***phy run***/ //phy out
7 b, D/ |7 C7 ?5 L# Q! U% J
/ ^6 D9 _0 C; u# d8 u        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 i3 m2 g/ u6 [+ _        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));  H9 A3 u( D5 E" D2 L: c% g1 R/ M

8 r) S' s' J. a, N+ G        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& ^7 F: U! N" ]! H
        reg &= ~(CFGCHIP2_VBDTCTEN);4 U4 b! i8 G0 r/ D1 E7 b
        reg |= (CFGCHIP2_VBDTCTEN);1 w# w' ]+ V3 j6 v
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));) x" Q7 q# [: @; a- g& }+ p- w
#endif9 C; B( Z: ?) S$ r6 I
2 r- P1 F$ M8 o+ }1 `7 F8 r. x
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); % N8 y' ]5 X' y
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   6 G9 _* i' W. ?3 U: W
* D3 H0 T* l) k& i3 }
    reg |= CFGCHIP2_PHY_PLLON;
7 S5 q5 T- H8 i& W( l
7 Q9 _  @: R$ e5 \* S' U0 U    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;( p8 r5 s: j0 f4 ^+ [

+ X  u& R  v/ L/ Y$ h    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
, N6 U, H% A' y+ b
! }6 u6 G6 k+ d. A//#ifdef USB_MODE_FULLSPEED
! D1 W% z& V" V" l7 o    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
( ]2 Z; a8 S8 Q//#endif /* USB_MODE_HS_DISABLE  */
3 ?1 L: c, ?# m& i3 X/ Q  c" p3 l4 }9 x  `  P- c
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));# \# o' A& a, o* P# t* P' w. K. D
}/ N+ m9 Y0 O) B) H$ h2 R
+ D+ K4 o* t" A% {0 C
) \/ Q; N+ V3 }9 z9 C, N6 T
  附件有我们的电路图:4 x& r, @" j2 ]( q: p6 q9 D1 R
  请问能否帮助分析,谢谢.( D$ K; F' C* A! D- E& e
, A; `& E2 e8 \1 f* \  a
2 h8 z5 f* j2 [* E5 v+ h

/ ?" k' I- Y. Y8 |. N% F/ Q& W% a% o( C; f
- S, P9 m, z7 k" g0 a# T
0 ?7 \! x* i) w- }

5 n8 ~8 W/ i, e% W/ z; @% z5 s' }

本帖子中包含更多资源

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

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-6 03:26 , Processed in 0.038018 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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