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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:* `/ g; ]( d/ O) {5 Q7 I

6 g! E- n( g3 ~) r5 X$ K  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),8 n. V* j3 x6 `8 M  V

: V5 s# ~; ?& K- n  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。" l6 ^& N& T& z$ s5 I, W3 }
$ o- }& o0 Q3 U5 c, w- C
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
9 Z) _) n( h2 E; ~8 Q( t6 N/ _. [* B! r
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:/ B) O; `4 L+ |" D
4 \+ V; S7 {0 j4 b9 A) t/ j
  请问个和我们的设备电流是否有关:% c* U1 n" w( R  w* _- Y" U; K7 {6 p
2 ]& @2 t# c- h
void UsbPhyOn(unsigned int ulIndex)
; B% F! s2 d) o- j{
/ J+ R3 n0 ]$ K8 N1 B        : Q6 u0 f% y( q  a! L) r
   unsigned int  reg = 0;
+ ?$ j0 X" b4 ^. `( `/ {( l' u   BSP_KickUnlock();
7 g8 }6 U, _3 O9 r        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);; k! w; x8 E/ g* Y6 G& e" s
        reg &= ~(CFGCHIP2_REFFREQ);1 S. ^# [! T/ E6 y$ w) v
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
) `# j( \  d: ]3 G. ^6 o        //reg |=CFGCHIP2_REFFREQ_24MHZ;$ T0 K8 H: b+ _% o- W
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
) F% m2 d- @4 o! Y1 A8 [
  n7 v8 o3 L+ z1 w        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);) G3 `7 b# p- z; t" B. ?
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));$ p+ [' ~/ z8 w1 `! g
0 D2 [$ x. f- a! g
#if debug
$ B+ g2 y2 \" F; p& ^/***internal 2.0***/ //aux_clk5 I2 o* D# }' g9 i

6 M+ `9 {% ~% l5 \    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);  @1 U7 r8 Z! E5 V3 o2 p2 [
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
& @+ l/ ^7 ~1 w+ R; y    reg |= (CFGCHIP2_USB2PHYCLKMUX);6 j1 o' T- d4 r6 j2 N
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
# K. p6 O- f/ C" c: m7 B, x3 }4 Z0 v; o3 v2 C# }6 d9 Y2 t4 l
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
0 h& V. B5 H- ~4 l1 V# a! E    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
/ Z1 H. A, a# g3 O1 b% m
! ~5 f& m, z8 S8 {- k/***internal 1.0***/ ///phy out
* c7 F* i, P1 y8 Z. x9 H. \) G6 B1 ~3 y+ P% v/ E  P; c( _2 |
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);) V5 l& A! X9 y
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
. b# a3 S, _8 H  F; v' f" T7 |    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
9 e& T- ^8 T5 g    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;6 z& S8 _7 ], p2 G9 I! d1 k2 o

+ |3 E$ S9 K, L6 r    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 N4 M3 Q# @1 a6 a1 F5 B" J4 T
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));2 Y5 R/ n' P% u% J4 f
. ?( @% ~  v; n5 r+ c4 J

' B: r6 h1 w: G- `/***phy run***/ //phy out  r/ Y7 D; g: W  I

2 g8 ^- L! a8 d' P8 N& F        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);+ d2 H4 G% p/ q) c7 M
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
) ]+ }  l8 X8 F1 C( o# d) a! N/ y4 f- |2 m( A% j
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. {1 ~4 I* u1 b9 m. Q
        reg &= ~(CFGCHIP2_VBDTCTEN);
$ u$ F: }/ y' I3 m* i        reg |= (CFGCHIP2_VBDTCTEN);/ k& L7 U- U% p9 a. F
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));" }5 o) I8 K5 e0 T
#endif% ]( i+ E' Y( q8 |( f2 e" Z; B6 r

' z$ v# ^- W- k. F0 Q1 D9 f    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
- M  `9 m+ q, u  \, w# _    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
" M' l7 R( h4 `8 O3 L1 L# {1 @/ V1 V2 k- R: ^/ i; I% p
    reg |= CFGCHIP2_PHY_PLLON;
0 q0 E. b% X7 X5 F) p) z7 {9 B( c0 J+ t" v8 r% E0 l
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;  C9 k4 V1 Q& S- |$ q' \

: p$ m/ ?* Z5 ^3 F7 h0 z. W    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
' g8 ]) |+ O+ O. `6 g% \
( \) l: ~' `$ L. \//#ifdef USB_MODE_FULLSPEED
- O. ?/ F( d+ M9 R    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;  i0 O. C! d% b
//#endif /* USB_MODE_HS_DISABLE  */
1 u8 ~! c! a( S0 J7 @( b8 G( o
% p" [; y! m& T3 j) R6 k5 }tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
; h1 o% C  f' n8 R% D- C. a' u}
: o# [7 i+ N% m1 j  X; s8 O. o  f3 R
6 L4 r7 A  b. ~, ~
  附件有我们的电路图:
# G2 F! @4 f. K. G& e  D  请问能否帮助分析,谢谢.
, e3 p8 ^; S8 H) p! p& G
* ?# ?1 U4 q. |0 E% T( D
# Q! l& j* b. u% n6 j0 Q
1 M* Z* A, S0 k( O5 V% b
& R8 {6 c( q/ y; y: @- Q8 U  a: K- A# l- f

3 R0 s: E" J' J
, j' C9 M9 i8 U8 h, x

本帖子中包含更多资源

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

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, 2025-4-30 04:34 , Processed in 0.036872 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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