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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
你好:& ^* w; w$ U+ G1 t) \6 v) B2 N6 C
8 X2 F* w$ A2 \: v6 X9 T
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),/ _- v# U9 ~  D! j: H3 O6 J

: g) [% L% ]. _& {$ @  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。* |  G6 y( u4 P0 _2 B% B  |( O
9 ?' g3 e4 {9 N! t
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
  _6 r% [/ @6 R3 Q. X% R" X8 n4 ~4 x
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
/ a( l5 B2 A: `, f3 C3 D  T& K% v; X/ O+ b
  请问个和我们的设备电流是否有关:
" U3 P+ @* V$ q  Q; b3 C+ B. K) i4 B* k
void UsbPhyOn(unsigned int ulIndex)
- K& [% l( M. e{6 f1 u1 g. X8 p" Z; ~% r0 V, ?
       
: |6 [1 C9 _5 R4 Z   unsigned int  reg = 0;
& C; h# H6 Y1 G8 W8 X   BSP_KickUnlock();
8 J+ W) U! P1 c8 b1 \        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 W0 f$ l6 d. z
        reg &= ~(CFGCHIP2_REFFREQ);
) @4 u2 @2 O7 W' G        reg |= CFGCHIP2_REFFREQ_19_2MHZ;1 h( \* A" m- X! W
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
* c* A7 P0 }0 k# ]$ i  q( o% [        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
  C: j) ?1 b) V+ b" e" {$ t7 B2 B0 @  p
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
& q  _6 e' V& e. @! \        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));$ k# k! a! M5 d! A* N
. @; t* D3 w/ C4 Q5 [. r/ m
#if debug& g' J2 Y2 q# Y2 g, w+ y
/***internal 2.0***/ //aux_clk8 |/ g* t6 E& @0 ~" ]

4 Z5 I( K7 U7 z8 M4 V5 k0 Q" e& T) B    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 d1 t7 U& Y; @6 y0 e3 J+ ~3 h+ n& u
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
% _$ m" L: s- ], P4 j, F) c    reg |= (CFGCHIP2_USB2PHYCLKMUX);
$ V6 Z! Y5 `$ \3 @    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
, F+ D6 k, d5 u9 W; C# w; X+ s+ o- c: x' H
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
5 q7 t' W7 b  L4 _1 b% L    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
% j( R$ {1 O! C2 T
! a, i2 M* n8 [! S% h3 `/ m+ y/***internal 1.0***/ ///phy out
! d$ C. t4 M+ b" v% b6 o- ?
  M/ m- E- V8 }# _2 U    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 k% n3 Z4 S! }& k5 z
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);" K5 D3 e' O, A! j' F- F5 d+ }
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);1 U2 x* N. ~1 n& F% p# t- e: R! Q
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;7 S: q* m) S( {. W5 k" Q7 i) ?5 A
- V# @4 V3 j( g3 i
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 w& J6 {5 s2 A# d+ O! Y
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
& l6 _$ P0 {. r  N7 [' o* d; K$ O; ^2 v

( A6 `' N  ~; ~" ]1 S& i7 Y/***phy run***/ //phy out+ U" V. H& p' h" K, n7 A
+ p3 ]! t9 I) q- k4 a. d
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* Y4 W. a7 Q: J  Z
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));) v9 j' r) e1 e
0 G4 `, G2 A/ c* Y# s
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 O! I% i$ ?' D. @. m
        reg &= ~(CFGCHIP2_VBDTCTEN);
3 z, z5 g" H& M* _5 c; t        reg |= (CFGCHIP2_VBDTCTEN);
9 q' R! C$ \2 `. K        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));% v) z( [3 R% _
#endif# k4 m, a6 C0 m' F7 @* G( Z
  k; l3 ?6 s, {2 z( W
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); . D% Y2 r7 S1 |/ b  i* f% ]
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
1 I1 p) X& D8 c# l6 i- V0 U/ _8 b+ _+ v3 {+ [
    reg |= CFGCHIP2_PHY_PLLON;
) t) l5 R, O! f$ G( [
9 w# ^0 a. b3 f% C% }9 t8 F# J    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
, J% d/ U# J" {* C2 n1 _2 k) _* h& R: V7 u3 p$ Q
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 0 t4 E+ a0 G9 n$ s+ n% ~
% f7 I8 t+ |8 X9 X3 d' \
//#ifdef USB_MODE_FULLSPEED
4 q9 j7 u: p4 [/ R4 l2 z5 I    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
7 f7 T4 U9 q9 N  `! q//#endif /* USB_MODE_HS_DISABLE  */0 V: i  u9 i8 h  {. `! u" Z
9 D. E  ]8 A) P" X  {
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));! t' S# g, b* L0 p
}/ D+ `! A  M/ p3 N  B6 g: C3 a; V1 e

1 R6 g, }* Y( x" N
6 z4 w7 T& M3 Y# E  附件有我们的电路图:, L7 w2 `7 T7 f! ~
  请问能否帮助分析,谢谢.
. v& }* W- |" J/ k/ c( e
* z0 i4 y" q8 C* F5 }5 H1 X- j0 |
/ }- J# U, v; E& h! |$ S) M* w- y% \

0 {; V7 I2 `5 X" V8 q% E+ Z! \8 N. g% b9 u1 f  I2 C" X# H% D' v' }

/ J8 T+ S4 M$ i7 ~9 a( E
" Z+ n8 f4 @# B! T

本帖子中包含更多资源

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

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-1-31 03:31 , Processed in 0.052188 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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