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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
: _  Y; V4 D: ~$ d5 b! P  U
( `* ]- ?/ U: e3 ~  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),, f1 b' r! H* b

0 \) O6 I, ]1 g  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
6 V' U. c7 ~4 M. z
( P- `* ^1 m( T, I% S) b$ f  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
/ x+ B* c0 n* g& i( Z
' y: l6 q( O1 q) _; q& a  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:$ Q- Y+ ~. X4 P; C1 y
" m7 X* e9 |  g% k8 T; i6 x
  请问个和我们的设备电流是否有关:
5 f$ {6 x; s' W8 c) y- f: o0 G3 F0 f8 m  |: v
void UsbPhyOn(unsigned int ulIndex)
# m; ~! Y- U& }. f! W7 K{' ]+ W6 c% q6 q9 t' d4 x1 T$ ^
        , l- ~7 ~# d% {5 |# w
   unsigned int  reg = 0;: N$ u! O2 |8 f9 j- ^/ K# N, q7 |! i
   BSP_KickUnlock();
4 N; f+ Z1 s( a- p+ v1 j        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
5 N" j6 |1 L8 C+ [* Y) [0 {        reg &= ~(CFGCHIP2_REFFREQ);/ F: |: C& E3 o" a0 }
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
/ M: X; G: b- y) j        //reg |=CFGCHIP2_REFFREQ_24MHZ;5 G. _+ l7 o1 E/ U
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
7 }4 F4 k& y1 E& ?. [4 @+ \; U* J5 P! Y# v/ r4 T7 T
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. B* m4 o7 ?% Y+ [6 d( j
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
3 S- h7 P. X! }8 i) ?) w
4 @! q+ t, f  r#if debug2 t4 \0 ~; a7 V. ]! ]( v
/***internal 2.0***/ //aux_clk0 p8 m" T: [' n1 p. M

7 _. m$ @1 I4 B5 A7 s9 z    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);  d% P: \% @, c0 L1 T/ {$ W
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);  n6 ~8 q7 o; k: @1 ?/ d; i% u2 V
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
3 D+ A  m: v. e9 W5 Z8 j/ H5 g    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
% g8 K4 v+ a2 b% P6 Z
5 y$ {; u* _% z    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 l+ C$ E$ C: y* J    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
8 W( u& p" Y; f4 ?2 `6 Q/ B0 B3 }% N
1 C# U# C! O  n: M. N% }; W  n; }6 t/***internal 1.0***/ ///phy out
. `7 p- y' D8 B5 i# M/ J' p
. L& W- |. u0 N8 @7 u3 C1 w( K3 C: S    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; i- x! M9 {/ A, o. g3 s- \7 ?    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);$ [9 r2 m2 v2 s# j, s6 o, V
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
. U2 `3 g: J/ Y    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
3 v+ L; B4 W9 ~7 L' _4 @9 j% D8 j/ y8 D. X0 L' d
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);( o, `3 E1 O& j/ ]8 |0 }& k" Q$ a3 q
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));2 e/ T) E2 u. C- P3 _8 N& ~

( x# A: @, H9 u. O: ]9 @% E5 w# B0 G9 S$ V
/***phy run***/ //phy out8 p5 Z; c! u& l4 l1 k6 Z$ ^- A

2 [0 C/ D4 c( m! J$ P6 Z        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 x# X3 D% C" d. y' @# N
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));" e; u" O: o$ {. t3 y
) T4 R" @: Q+ B: a3 W, |4 H; U6 I
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);2 v3 ^- @% y9 X  V. C7 Z; G
        reg &= ~(CFGCHIP2_VBDTCTEN);7 G% o$ N1 m0 E7 `
        reg |= (CFGCHIP2_VBDTCTEN);0 c% ]8 Z/ D0 K% Y! n
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));* \4 M5 J: M% S- q% a
#endif
% H8 E% L* a8 h; n4 z; Q( J0 v! Y5 x
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 6 d; q) p7 X3 }3 x% D7 V6 x& m- b
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   " r) G- U8 D0 i* H

8 S' P6 p" }7 G2 w9 `    reg |= CFGCHIP2_PHY_PLLON;: u/ K: T0 }  a- I, w

* ?% ]9 {* C4 e2 P- H* f& }    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;4 _& f0 v: j& b
8 P' c; K7 c% H; z$ n) K
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
/ T- ~! Y4 b% Q' T! S. @3 D0 F# p& y! u% J& y2 U$ B( \7 C5 y
//#ifdef USB_MODE_FULLSPEED1 m, n4 F' [- G" m  {( c
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
; O" x' }* e" D6 M6 X: r# `" x//#endif /* USB_MODE_HS_DISABLE  */7 v2 Z( v, Q! \: u* w

( @4 G& U& d7 o7 K- atprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));& N2 N% [! B, {8 P* x
}0 P- U6 q( v0 {5 S; N3 J: M
6 [2 F- _0 X7 j

/ i$ V4 T; U& h# _! y  附件有我们的电路图:
' w3 T* ^4 Y; Z' W2 m. l  请问能否帮助分析,谢谢.- D* k( ?3 ~) S; x3 U: l

5 i3 w, ~  x; |
. K: |# [: i1 Q' s, J
2 d" w1 Y9 L8 d' j" v7 k2 ^2 n2 _, {4 I* l) `

% U1 R: k5 u# U, o. V( b. c; v# j9 P
. b% b6 ?1 O) k0 P8 Q  M* 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-6-16 13:29 , Processed in 0.038117 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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