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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
; X* U2 p* F) E% o5 s8 H" k+ C1 v/ r
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),) i% R* G* B4 q$ a

% f8 a! {* t) c( s  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。, b& t- v/ Z: U

/ B' m8 U1 t- N5 V  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
1 O# }- Q7 x4 r( Z' M$ D, Y3 i7 b$ K& ]- [7 @$ F% F6 T- d
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:$ y1 L6 S3 i/ E# [  \% s

) E% q5 N2 p; C4 x  请问个和我们的设备电流是否有关:
0 F% s) c+ q' R9 K; `9 x3 f# M# w! ^1 f8 W; G2 V( L
void UsbPhyOn(unsigned int ulIndex)
; P, z' N8 e  J( P3 |{
0 h" }% K, C* z       
1 _. v' h; a) y  U9 @   unsigned int  reg = 0;2 k0 E8 ?5 u- B# k3 K; ?
   BSP_KickUnlock();, ]0 f2 Y; ~- G
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* r2 [; l# P& w" J
        reg &= ~(CFGCHIP2_REFFREQ);+ _4 k6 j5 l! m5 C! N
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
+ V1 S# f9 `# B( J+ t        //reg |=CFGCHIP2_REFFREQ_24MHZ;+ d- O+ s" K0 c3 P/ u, \
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
$ D7 {' J/ ?, d7 @. y
6 e( r9 f# o! X: q3 T4 Z) b        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
0 i+ h2 l! ^2 M/ T        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
! j$ I6 L) \) L2 m5 k, }! J( g1 a. {( b% _6 q# Q, u6 i
#if debug
8 r, w' O" Q" Q/***internal 2.0***/ //aux_clk- w9 Y5 ~: Y, ?6 a% l* x( m- O

& h! b; Q' p: r7 l0 s* P- A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
4 D* d, J2 @' b) k# S! A    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
( `2 `+ U: [% ~  j$ b2 R    reg |= (CFGCHIP2_USB2PHYCLKMUX);, w2 }* |0 z" u; r3 G
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: G$ \6 L. y/ b/ a  k; H' d

' @& a) ^" |" u5 s    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 C2 G; B& p. Z
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
5 C0 f$ @9 g3 S1 I) }: i8 \/ e* V0 U. _
/***internal 1.0***/ ///phy out* l7 D) ^# A; s
, h+ P; `! n  p+ e, c! z( ?; h  a/ n
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);2 _) `! V" w) ?9 ~, g  w
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
# P2 Y: h2 A% J6 ]8 B/ r$ r    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
  |2 Q0 Q- F- M    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;% u0 I3 B6 O6 ~6 F  Q% J0 `

' D' R3 H7 ]% A( `    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
5 }$ B) \, \8 @% Z, a    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));' h- ~5 ^7 O9 J! J( v: b
* b% I7 N6 p2 a: e4 G( x
% ^/ x" t+ }. a" B3 P" ]. J
/***phy run***/ //phy out
/ i$ k6 E+ t6 N1 J+ [, k/ L% {$ B& w/ F
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. M/ J* Y2 x! ~% k7 d9 Y$ P  u        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
. @* Y0 z9 m# t0 P2 K
* Q% g. L% j, ~* Y, r* ]        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' s+ ]) ]) g. t/ j% G
        reg &= ~(CFGCHIP2_VBDTCTEN);
% Q, G8 K; a" U        reg |= (CFGCHIP2_VBDTCTEN);. @9 R" G: p, D9 }6 R/ H7 h
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
+ j$ ^8 {0 Y# Q3 K% {2 S, x2 z#endif
( l. U6 B- A; N6 {8 u9 I* B  w0 H! T3 @. S  c
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" d6 L8 I/ \, B, N6 o0 @/ H    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
  z  Q$ B- [' J# M* O. L; R  Y! o' G5 O9 o
    reg |= CFGCHIP2_PHY_PLLON;1 T3 }2 X2 Z; P: z; `
' B# Y$ @1 y3 H3 ]$ r9 S! O
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
+ Y# I4 }% G( N. V
8 {& ^$ E+ ^$ K: c: x" _- m/ c4 m" Y) t    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); % `$ Q# r* h; }3 R6 V
, N7 ~1 E3 S7 o
//#ifdef USB_MODE_FULLSPEED
: z3 J4 b6 \  N0 |7 W  W    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
5 h' N% r* V; r: G$ k# U4 |//#endif /* USB_MODE_HS_DISABLE  */, t( H7 i9 r2 C& D7 a/ M
+ k% e) G! Q! ?- Q
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));. g5 }  T' x2 @" w, N# a) g3 N
}! H; _. N, x- t% }3 x6 U% i

0 U; C( f  f, G% y! O* s
; A2 C5 X: {( P6 H6 y5 W  附件有我们的电路图:+ `6 m4 {9 y. @# U: e
  请问能否帮助分析,谢谢.+ Q% x; p9 S  C9 x2 B
( a+ G: ?( c( G  m/ Z

. H6 s6 F) h- ~" r+ L* e: J, `
; u. H2 B7 {' D# L5 ?& O, ^
- g4 H$ `& m1 X* }+ u3 u" B
# i# t3 _3 ^7 d  c# C1 B7 h; C2 X" N4 ^
* F/ `& m* S* D% j

本帖子中包含更多资源

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

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-4 20:04 , Processed in 0.038570 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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