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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
1 q! n% I0 x0 ?% M: C$ W8 q  `7 h1 `2 Y
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
' R, P. K5 G# x% q- @1 a
" Z3 _" h/ p1 o  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。- ^9 U# |# s0 E8 {# h

8 m" ~+ S, C( X  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
6 b$ M: M' {4 h# V0 M$ O7 m" R/ A" D/ Y% ?" A
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
- b! O! a5 q2 K. X+ n5 d( P6 A0 F  ~
  请问个和我们的设备电流是否有关:1 f$ F2 C: Z1 z! g8 M7 ~
  S: i; S8 s: X6 g9 T
void UsbPhyOn(unsigned int ulIndex): r0 k0 D7 ]/ N7 q+ k9 l
{( O  F0 }" x. s" F8 @
       
8 k6 x4 G! _' o; ^- s) K   unsigned int  reg = 0;) G4 F' s5 ?: L: y: r
   BSP_KickUnlock();
5 S* B, y$ [7 t) G2 H/ u" }        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);+ }9 Y) ?4 q: l+ N
        reg &= ~(CFGCHIP2_REFFREQ);
+ o0 C" V0 N# z0 L6 t% H- x" s. p        reg |= CFGCHIP2_REFFREQ_19_2MHZ;' W1 B- o$ `( O! g" D# y$ L
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
5 U; h: l5 \" v" N; b! O        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;6 Y4 E0 k/ ~; Z1 U6 B; c

9 r$ V3 o" S# t2 l; R        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  Y$ A8 u' U4 Y6 m        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));, `/ {, X/ \! L# e3 H0 j
5 Y( J$ [- ?0 ^0 u2 S9 E+ d; T
#if debug
- e1 R& U- D$ C9 @/ r1 g/***internal 2.0***/ //aux_clk
& E* L  B) D! d4 Y- O$ Q/ j' N- E
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
% X. k( ]6 |0 [* w    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);& @$ D* r7 X# X1 M$ ?+ d5 L
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
: B( k  D- L( t6 S' z    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
/ I: S2 K: J. e5 I
: p! c; S  W8 }# _    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ Y: ?- y5 C5 H& [
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));8 u2 w& Z  ]$ @7 a7 E

# p5 ]( G- `2 Y% N, i/***internal 1.0***/ ///phy out
' {8 L' y, }5 \" Y$ l1 h
6 U" m  ]7 E0 ?5 t: D$ \) L    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
4 y! v9 O8 _, J7 h7 D! D2 C    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
9 |7 E# U' R2 h+ m    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
% b% I6 Y7 F' x) R: S$ U/ l+ N; @    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;% r$ _# G: h9 u& ~5 ^2 a
( f% s& z& P: l$ \
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ h4 Z* U7 e- m, C  ~    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));3 _) J  K) B. y7 J5 ^
1 b6 n3 c1 w) d

+ H) a  [7 C0 Z/***phy run***/ //phy out% Q6 q. U" P" E9 G

. w+ t8 @; q$ ]- z6 G# }! Q2 Z        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# p% O3 I% U) `7 J; x% \+ p        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
' S4 q1 K7 }, N
- a- B" F  ^( T1 K% l+ [- U        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ C8 R' E7 P" k& W2 S- u& S; p
        reg &= ~(CFGCHIP2_VBDTCTEN);
% r- \6 S% B+ z2 ], `5 r$ J7 e  J        reg |= (CFGCHIP2_VBDTCTEN);) Z" j& V$ S7 _7 a
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
  R2 B% S3 d1 l0 |' L8 e#endif
, L8 t5 W8 r2 ^) f* u! r5 ]9 ^+ {, p) ~$ u' N1 F- u, _
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 4 L, i: E& S. ~
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
  b9 ?+ Z/ P" g/ @' T2 F
- q+ d7 ?! v2 \" h7 d    reg |= CFGCHIP2_PHY_PLLON;
1 \2 y: H2 b8 A
9 D4 r# ]/ Q, i, b$ O' z    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
5 [! m& c* W% j6 S% P2 o+ }: X5 z  N  W5 u7 w' t
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); # s7 b9 l7 z8 ~& e

* X4 ]6 i. d' S6 [$ T//#ifdef USB_MODE_FULLSPEED
1 S- d3 ~7 H+ E( X; H    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;8 B3 ^2 ^( q; B( R! G' e
//#endif /* USB_MODE_HS_DISABLE  */) U' S( D2 b3 g, H  @$ s2 c
/ @% h' U, n8 Z( I+ }, n
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));# [* o: W# y2 ]+ v7 w# m
}
$ ?8 J! w: v% K5 r% Y0 T/ A8 b; |8 O+ h

( U( {7 M, B" F) r& W  附件有我们的电路图:( u8 J9 ~2 }! t7 E! j0 ]
  请问能否帮助分析,谢谢./ J. ]- m3 H5 C& Y, ~) U/ ^
. \2 b0 D6 n& H7 o4 ^4 Q8 W: V" p

- J( S1 r3 y/ ^/ B+ ?0 C, l. }: C6 D) S" v( w! Q: E6 W

1 I9 C4 @9 _+ F$ E7 Y. X# r
7 F, p3 v9 ]  ]; F  E2 L- ?) o; X/ l
: V* H+ ^0 S8 F7 W/ L' c
7 {" r0 _4 d4 w# U

本帖子中包含更多资源

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

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-4 14:09 , Processed in 0.037080 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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