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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:2 P; A+ T- @: z% b3 x/ B
9 W, R' `; U. h3 @9 R; R
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
  Y( }! |+ @2 ~
! ~' W  h/ K* c) Q: G  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。1 ?2 ^+ c  I/ P, \! V  i

) s0 Y7 t- Z  k  U; w  g( d  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
1 Q  D; k; z; \6 p- T/ d$ A
. w" L2 E' J6 h! u) i0 E  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
% l# Z1 n! _# Z" x4 F' ?& C+ n7 _, v% o
  请问个和我们的设备电流是否有关:
1 }! n# I, G" G# W1 g0 O7 r
# z1 p; v7 ^1 Y7 y$ a9 |7 g. d2 avoid UsbPhyOn(unsigned int ulIndex)
! S& a9 \+ d: d2 N6 {: p1 s{; g6 N7 g+ ?' p5 r3 f% ^
       
( _; J8 a) s6 |4 F) M' K; N- |   unsigned int  reg = 0;$ x  O8 N; y) u9 E. |
   BSP_KickUnlock();
/ A4 q7 X* D2 M! X& C2 R  J        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  c& W# Q5 j! U/ u* r  E        reg &= ~(CFGCHIP2_REFFREQ);
; ~  f! W) x+ ?- \5 x        reg |= CFGCHIP2_REFFREQ_19_2MHZ;; y" G5 m7 I0 p' b2 S
        //reg |=CFGCHIP2_REFFREQ_24MHZ;  v6 ]" |. {; T
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;! e7 y8 z5 u1 C% k: |( X

+ D2 u1 @7 W/ x        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# M" v& a/ D( V% T/ O% r8 \        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
6 P; M/ P8 u0 g2 w: Q: V
' v' n" o% y8 r& M6 l# f#if debug  m$ m+ S1 \/ x6 K/ G
/***internal 2.0***/ //aux_clk' t% d5 t3 B! @

$ ]' U! _$ K+ _8 T8 c0 g+ I    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 `  }( U) E+ V+ b    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
1 j' n: h2 Q+ i" M    reg |= (CFGCHIP2_USB2PHYCLKMUX);: M& P9 ^5 \# O) Z3 G( H
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;5 Y& \8 S7 K+ n' B6 k

# ?' C9 I/ l. A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 l- H# X! k9 y% k
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
! h4 O0 G- f% [; t9 ^- a+ Y  T
* r" I9 [7 j; s. D% y/***internal 1.0***/ ///phy out7 B  m- b- k. @

5 P1 R9 ~/ t& C0 a! q5 m' v3 L% i! A( u    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);) Y; E' k3 ~# m8 g: l( m
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);; w- S' f: D% ]' N/ n* X% t# c
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
/ A( \. n" e: s9 ~7 C    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;+ f' h: ?4 d2 C/ l- ]+ i

0 d& h( J& d7 Z  p6 _    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; {: s8 F8 B% u: E! _* ]4 b    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
/ R" h# w( O. g4 N9 N( b# H; M. t8 Y7 e
) L% `# Q9 a8 ~( _7 u! N' @
/***phy run***/ //phy out
. S4 j8 m- h1 X! w# e# B$ v( Q+ E0 H3 _6 \4 \6 i
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);# y4 Q1 f# b. G$ g; L6 j3 ?
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
+ J; B) o7 z, I! m4 \# r+ r6 x
9 L1 z5 ~# g) v. V. t        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. _; K# T) p( a7 m2 _        reg &= ~(CFGCHIP2_VBDTCTEN);
) j9 o  o4 _4 t2 b) T" L# D        reg |= (CFGCHIP2_VBDTCTEN);
4 W, p- k* h6 B        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
" n3 ~- y4 ?+ A8 E- W# S% P  ?#endif( y1 j# }1 U" U7 ^! E
# A7 Z7 _: M9 s2 B# b3 C  b7 l
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); - {- A2 q  I3 A6 \5 ~$ Q0 x
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
0 O. {* z# A% {; \; d0 _2 |- Z6 v
+ U1 ~% j/ o: i' h, p9 b$ K, P" _    reg |= CFGCHIP2_PHY_PLLON;
7 x2 ?. S) o' m* O$ c5 V; i! l6 V( O+ x
6 \6 I) ]$ [: }" A    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
2 w5 o; n, M, f4 R
0 M' q* Z, G( u" w3 a$ a  x    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
8 g! v! l% {6 x/ Y
$ M" u+ O; k; @' I2 b! h6 I//#ifdef USB_MODE_FULLSPEED
. d! {& \; R. o9 q' {" V    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;2 d1 ]/ i8 U% Z3 y( e5 l
//#endif /* USB_MODE_HS_DISABLE  */& v% j9 Y5 v* i6 `/ ~& v1 \

$ {# K* B2 s) a  o, S$ Ztprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
, c9 T* U: S4 m7 R9 v; ^}" X: |  z$ u, [- B$ j
. t! p2 [1 t/ y
& o- y/ V& d' j
  附件有我们的电路图:1 g, o' M6 ]/ [
  请问能否帮助分析,谢谢.
  N; E  @, P3 |7 g4 F
% f2 Q$ d) L2 ]: L3 j+ n3 K4 [6 c& s7 p
% N# _. b5 S/ ^: i
* z+ h- _7 X. l6 v7 N
: t2 A8 p  G/ k8 J: N  i$ v; c5 T4 w
1 t5 y/ f' T$ T# }

# W6 q" \) X1 p1 K9 c6 \; J

本帖子中包含更多资源

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

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-20 04:37 , Processed in 0.037554 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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