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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
* |# Y! F* n& A  _0 u0 a
5 b' L& g$ n) G/ ~0 T/ @/ y  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),& I8 k6 l7 e' J% u. N  G) J
, {# }8 E8 |" a
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
" d0 y/ U' w+ ?1 k( m
& g1 G- X. W8 j) i; D  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
8 w  W. i- G% n
, C5 c$ |7 J6 e  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
5 ^/ q- b( G$ H+ Z0 y2 N% I% H; r; Q+ _1 H  A$ n
  请问个和我们的设备电流是否有关:
- y* s+ I: X. H9 i, h: Y0 b/ E7 F4 ]# T$ v( V' f
void UsbPhyOn(unsigned int ulIndex)$ z/ C4 W% g8 S' @7 q+ |  c
{" e5 a8 C/ @7 r. O; v
        : y2 X4 R3 T  k6 A8 y4 N
   unsigned int  reg = 0;7 D/ S# U% F$ x* v" d# H
   BSP_KickUnlock();
2 y8 n$ q- ?( i1 `( x' T' u        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ O- y* S7 V/ s* h/ I% D& W
        reg &= ~(CFGCHIP2_REFFREQ);" b: H$ z$ _& W# T$ Q' f
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;/ Y* O+ Z8 ?- _/ ^
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
' O) l2 O% \' p# F' c1 W0 D        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
" W* X  V1 C2 i' r9 X( A
$ w9 {$ Q4 U& j0 s8 i( Z( o8 z4 ~& S        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 y, S1 y: t! ^$ N1 P" E        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));1 R, W8 n2 e: j& ]5 X" y- r
; u+ z; O! q/ E% j2 X
#if debug
' R2 c9 `( D; X. L' }5 @2 R/***internal 2.0***/ //aux_clk7 w$ ?2 x% T% f0 K+ u
+ Y- O/ j4 ?( R
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 e  `8 Q5 f' p8 ~    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
/ A5 {1 X0 K; m) e    reg |= (CFGCHIP2_USB2PHYCLKMUX);0 N+ V3 d2 z3 j0 {& C6 ^
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
" i' y; j' t% f' [* l) x$ W
2 j  _& s8 Y% N6 g- F    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 G3 e& J2 K" u5 j- o5 P/ N    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
/ s& b* F6 K/ ^- Y/ o, h/ W$ s4 e3 \# ~) s/ T+ ^
/***internal 1.0***/ ///phy out
/ R9 l- O  Q) J2 {. Y  F1 E6 C  W9 t6 o9 Z# r; I# T/ Y
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: d- c% @$ M8 A1 S/ ?+ y    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
9 ]; j: i* k6 R+ ~: P/ q    //reg |= (CFGCHIP2_USB1PHYCLKMUX);- j9 h2 n0 }9 p2 p7 ^6 N
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;( O! F; k% \# N& ?/ @

' j  ]* G$ i. k* u; A" X    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 z# i7 a! }8 ]    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));0 c+ V5 `1 g% L* K2 {

$ a1 s8 Q9 W1 H. R4 x2 ~$ k
+ q+ `" y/ a; t; F$ R2 N# `+ |# b/***phy run***/ //phy out  b' S9 e7 p* Z) C( X* [1 W; r
! d6 D) f+ n+ r+ `( ?/ [* G! U7 w
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ m5 g8 g' w7 k8 S) s        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));! K1 k7 k% h  t+ H
7 t. c0 B; M) I$ g8 A+ N
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 K! B% @! p+ K. T) D6 J6 T        reg &= ~(CFGCHIP2_VBDTCTEN);
( B$ i9 m6 a" N4 m        reg |= (CFGCHIP2_VBDTCTEN);( ?4 H& k7 Z5 A: f* N0 N. `
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));7 x& \1 `4 f# z4 w# O) g; m3 j: v
#endif
+ `/ M% [0 E/ ~/ V# S7 m8 X7 v5 X8 h0 Z+ d; }& N* S* ?
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 ?5 @5 y0 o+ G- q, o    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   ; z: j( S( g. U7 ~8 t! n

5 ~0 C3 X: V9 l: P4 t7 o    reg |= CFGCHIP2_PHY_PLLON;
7 j# X, N; G2 L. |* J7 l" I5 E, c5 @$ W' t  J" }2 d: ?
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
5 @% h$ b  X& N% x( D+ V+ C/ I0 W0 Z! ]: t( }# b# Y8 E4 J
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
- M) X$ {8 k% R3 z. o* C' X1 h8 R! Z( |' l2 N$ b" G" q
//#ifdef USB_MODE_FULLSPEED
: I7 C5 B) i5 d* J    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;, H! L, A; A) `; c! Q3 ~
//#endif /* USB_MODE_HS_DISABLE  */
" W9 O# G: @2 [# u# _( L; f
8 \4 h# \8 [- |3 ktprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));2 d- |# k# s& @6 a8 ^) d
}
3 [0 o4 N1 b& ~5 ]' t5 ^7 ^6 v& A: y& P1 ~# \/ K7 Q5 p

4 p" U# X8 ]" y6 q6 l  附件有我们的电路图:
0 T2 J+ M, t6 b  请问能否帮助分析,谢谢.
  H4 U* d# x+ ^- n9 M, X" r1 D+ S6 {  S% f

2 Z7 i0 h) R& c  x6 L4 i. ]# K% l

5 \: j5 N: F( Q5 U( |) ~* K) T& r$ N
0 m6 r: W6 d' r1 W! g" M" ^) c# w( P

# M6 J, Q4 p  S5 K

本帖子中包含更多资源

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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