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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
2 \# T9 C8 r; q8 Q: Z% b
  M& }* w3 A2 j5 a5 o% v  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),; y! Z5 f5 z- U) [% \

5 U  U: t. z6 a+ o- M  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
* O) m$ ~" ?/ M1 E2 v
1 j2 T6 o* j, Y3 u8 W% }6 F  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。4 L$ P6 C0 M/ s4 A

+ Q" o/ G; Q/ d0 ?, b4 M  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:8 h! d$ A; q1 _8 C

0 }* t( G  _, T) m; b: o  请问个和我们的设备电流是否有关:
. @0 z" c+ Y; V0 [5 E* w5 ]1 ?+ R5 T+ X9 j$ N$ ]
void UsbPhyOn(unsigned int ulIndex)
1 N6 u: N' r) t0 ^( w6 s{
7 U& O7 M0 ^+ B" A& C       
8 u8 [- m, e$ W9 m   unsigned int  reg = 0;
+ @/ ~( C: g4 N2 O; `0 o' o7 `   BSP_KickUnlock();$ Q6 [- i& m  l' i
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
, |1 {# b0 \4 L; n& {  }        reg &= ~(CFGCHIP2_REFFREQ);
$ r( t9 g8 `8 q* S4 R( F        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
, K7 z! [3 c6 c4 m8 _( ^        //reg |=CFGCHIP2_REFFREQ_24MHZ;
: ?4 G" G9 r9 q& q+ E( x; z5 D        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
; o0 B' |* X. `/ w
9 v. [( c8 s7 b        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: @4 K5 B9 l& H! r        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
2 \+ D0 S; Q- Q! O! n
  B* o% ~2 Z* t. R: X#if debug# z2 f7 l! s+ j+ S7 A, q6 E3 q& u
/***internal 2.0***/ //aux_clk9 u6 r& ?' d% E+ \0 A: C( l! q

/ n2 x) T( `) e' _8 X" v    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* h9 n  X  N  [& S6 D
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);# W3 p9 z$ T# `7 o9 K3 T6 S
    reg |= (CFGCHIP2_USB2PHYCLKMUX);2 U3 P$ _- [9 v6 F5 Y2 g
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;3 U( [: w4 z0 a

! ~/ m( l7 }& S8 j$ I    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 F' i) }/ L' [; q% |% ]0 d    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));  V1 d$ e  R& W$ A: y; u
% M6 K0 U' h* m% F
/***internal 1.0***/ ///phy out
$ f0 t: W5 @- a0 w7 h
9 r/ h* H7 I! Q    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 L( A1 s9 ?' U
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);3 }! @/ x8 S2 B0 ^+ B1 O9 t* G; ]
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
3 S, ^: i/ \4 p8 `0 e    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
  z2 v4 ?3 S- q+ B
* Y; d/ ]2 m/ O3 a7 ?# w' W; l' w    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ q, }/ x2 @7 D* ~
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
9 w. l( |; i1 e" G& s; }: I4 w
" d6 y1 a3 f1 a! \/ L' u& M" b. x9 o, a) @2 s, D# P
/***phy run***/ //phy out
! [* o5 X6 X; i7 l0 E, C
$ \! S2 Z; X3 N* T, w7 j4 p9 d# @        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 m" {; H6 y/ c+ [
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));6 k+ y0 O% Y: ~7 F# {' K4 m

3 O8 D4 ~: ]" f+ U, g1 Q        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" i8 Y8 I' M2 G: e( h  s
        reg &= ~(CFGCHIP2_VBDTCTEN);- N( a4 \6 Q- B5 }& S/ W
        reg |= (CFGCHIP2_VBDTCTEN);  q: K- e8 v% b
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
7 |6 }" v; V+ n) p#endif( F6 E% [9 h2 p" U1 c% z5 u

4 D5 L0 P. F2 S# H+ N. e! e* g    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 p  I' j7 k/ ?' \. p' Z6 J    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   5 J0 e5 ~/ I. N) N

$ Z% X. q; [5 E- x9 B' G    reg |= CFGCHIP2_PHY_PLLON;
, }& ?  b) @+ }$ Z8 Q/ H7 N- i( [7 U
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;" Z$ k3 P8 g- _. T2 |

7 z) m9 S/ {7 x3 k" r    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
- B6 ~7 G3 X: s& W* W* ]
/ Z% G) s' r' A$ I" Q. {//#ifdef USB_MODE_FULLSPEED
; L1 d+ o4 \& P9 R8 W    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
# }2 L  t/ y' j4 b: E6 u: A7 Y- ~//#endif /* USB_MODE_HS_DISABLE  */
$ D5 J& [7 E9 M5 j, e8 w, }$ _4 Q7 j, V; p( h. D$ ]3 e- o* P+ y
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
7 ~2 g$ |" S. o% |$ m6 ~: {}, m) n8 u1 ]  j7 Y
. w0 Z4 J5 }. X4 w+ o" c

# Q5 Q6 T9 \+ j" F- w7 o% t  附件有我们的电路图:9 z  g# p+ @# u6 v# m% \9 O1 o  X
  请问能否帮助分析,谢谢.
' ]; q6 X$ j  q* d, Y% |
5 O) r5 L- I1 }; R3 z9 {3 e$ |2 U; d' k# ]+ w

: }% G5 r/ E5 X4 Y2 R' O, D) i- l' `: s, V3 u/ V
3 c3 z9 {0 j& L; I
7 K$ `8 q  ^' f  e8 v2 j
0 K1 }% Y2 s9 q" q8 r, N

本帖子中包含更多资源

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

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-11-5 14:03 , Processed in 0.037708 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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