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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:' H7 H' i8 N& S3 x4 \! g+ ^

, n) h* M  x* ]$ j8 \* ~2 Q* s) `  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),% {  x) B/ S( j% H5 I; ?
6 k! @# U  a; s- L$ |5 |6 T( a. h
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
2 r! [( u. P$ }0 [8 N6 `1 n7 L) V6 W! b9 _# D! l
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。, K7 y# w3 v2 N7 c: b% R) V4 C: C( w
; g. I" X0 P7 o& j4 C6 |) m7 y$ S. C
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
# k$ Q3 k& W* n' ^4 \  N9 ], Q5 X$ z7 g/ x
  请问个和我们的设备电流是否有关:9 q6 m, D+ S! o$ i( y6 ~

3 j) _4 B  u$ o( i  T' \4 r1 K1 h, vvoid UsbPhyOn(unsigned int ulIndex)
/ K1 e8 |5 T( T: Q- w( @{1 @4 B) V; h2 U9 h6 {' C
       
/ z5 m9 z% C/ l0 o0 V   unsigned int  reg = 0;
3 A# `3 b/ d, d7 d   BSP_KickUnlock();/ R0 M* z& ^( a5 @2 {1 [9 T
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);% x" A; [0 w. M6 z
        reg &= ~(CFGCHIP2_REFFREQ);
3 ?5 @9 E. D- u        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
4 ^  Q# k- i2 }& n* `        //reg |=CFGCHIP2_REFFREQ_24MHZ;
. n& L& A5 s2 G8 A  A) \        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
6 q% B" Z$ u" D6 l. M" v9 M: U3 M3 A9 ?+ T  o6 H' ~9 i& N
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);) b6 j% v1 J3 Q- A& w% O4 y0 r
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));* v9 i, Q0 y$ `7 g. {! Z

. B7 ^* ^, G$ M+ p4 j#if debug
) L" ?7 q& E3 T7 ?. s& R# J( x/***internal 2.0***/ //aux_clk6 B  B3 C+ p. b  C
# i; k! S2 y' c6 l5 Y# K% J0 Y
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ }, i+ z5 h0 _, q: V2 X) y    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);+ A$ X6 d6 l, ]% B
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
0 L2 |; y6 p  S8 |8 [    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
8 r) @) s; y$ B+ m) y% n4 W% ]/ I8 z- K) k8 F( l7 x0 j% K
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 r& F, C5 f6 N6 D& m. E$ @6 Z: T
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));+ Y- E  X0 {9 r7 D8 ~
) A) W4 ]! f: u. k1 Z9 |1 D8 n* t9 i
/***internal 1.0***/ ///phy out
- z: x; C8 O. I, O2 ]
8 O& R! j; P& B1 g. z; i    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ Y5 L5 X: C9 a1 J8 {5 }2 t9 s    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);. X% U8 V1 r$ P7 e
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);7 z+ N2 ]/ ]+ i  R& z4 V
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
  F" ^  L+ O% k! W  Z/ C2 o; v7 [: m6 t% r# r& |
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 _; N7 n5 Z1 j
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
/ b! d( ^' |5 {) d7 a' ~& Z" ^4 O" F" }0 Q+ d0 O2 R
. v5 U/ S0 o  y
/***phy run***/ //phy out! P8 C! }2 L/ H5 ~" U: o( v
& d' q3 X7 U( `- e; |  O1 o' V
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 a( O* v, H5 J8 N6 e0 A  m$ _0 i
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));+ F6 \" C! _# U9 v! W
* X! X. y8 J/ j
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);  |, D9 L' x0 `+ U! \
        reg &= ~(CFGCHIP2_VBDTCTEN);
$ c; \$ P6 s, ~, `        reg |= (CFGCHIP2_VBDTCTEN);; Q' l: [9 y2 r4 l
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));. b/ z7 C, `' j, i
#endif
% N3 `% y3 v9 o# w; e! z8 s/ E! f; t! ]$ T: {
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);   k: {; |% X. e# w, v2 T; r. y8 D
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   * A. S- ]# @6 l3 e  ^6 l
0 \8 z* l  {4 F( g
    reg |= CFGCHIP2_PHY_PLLON;2 A+ q( C8 \5 c

8 p6 {0 n7 |# l6 g    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
9 H% t6 F: @$ e( ^5 s8 U4 {+ J0 X8 ]/ O' i( I
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 8 m% w6 A" e0 N& l" T+ b% q' j# f

- _: S% @9 d7 s& M2 o  o  u//#ifdef USB_MODE_FULLSPEED
- r8 k" R9 Y( c8 E; g7 J) W    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;" O0 }$ e5 K6 Q0 K% C
//#endif /* USB_MODE_HS_DISABLE  */# [) _2 z# x; b9 q
: \' R% a( t; n$ [) ^9 t0 B8 d
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));1 X6 Y* H( L/ |7 b% K
}
* ^8 O' X! t2 x! d! M/ n* W
# U0 W1 M. p! }' Z! B0 ]
; m2 p  P: Q  k  附件有我们的电路图:$ P. `" }3 F3 E. j9 J& H. \; I
  请问能否帮助分析,谢谢.' F7 p: ?. E* X: h9 h# o

4 \* F* T; H6 P  K
0 ?, o( x- ?$ P& K
$ h! [0 r- U2 X4 N) c$ J9 x# N, k1 [$ }( K
; G  a0 V$ ?, I( i+ c' ?6 N8 X+ e

' p. p) U- d$ [6 V; E1 @1 O0 p8 [% R+ v% P* W7 ~7 Y3 \2 Q

本帖子中包含更多资源

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

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-16 23:58 , Processed in 0.038692 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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