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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
: `# P# b- B1 H! o1 F
, o! V  s: M" t+ Y* u( L  c! `% ?  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),& K7 {% ?8 C$ u
7 e2 O* U; h! P1 \6 i
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。, I( Y# c2 m* n7 g

5 {: I, B" C* Z# K3 N' u2 u& s9 a6 Z  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
2 }" @4 T* G3 S
! L3 u1 B# u. D" C$ u/ F3 [  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:$ ^9 {) Z! {4 I, j" t/ f' ~

5 V& ?) X+ t* ?: B  请问个和我们的设备电流是否有关:
5 l. L4 F0 A) }6 l# i! _( o% g( p0 ~5 O) m8 M! L3 H5 w& y  i$ c
void UsbPhyOn(unsigned int ulIndex)
0 x+ j/ m- ]/ k2 @3 m{
, R5 p" c7 T9 O        # b1 f/ ^  i. N! e2 c9 k# J% D- P
   unsigned int  reg = 0;
1 Z# G% Q+ i  t# s% }   BSP_KickUnlock();8 \) @6 B0 D9 n) E
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 d& G7 K/ @; f. \& }
        reg &= ~(CFGCHIP2_REFFREQ);
, ~# N% R3 \0 C$ |9 ?        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
# Y" M' B  a$ C/ J4 y& z$ ?8 Q1 C" U  T        //reg |=CFGCHIP2_REFFREQ_24MHZ;1 E) B" D$ R  ~/ j4 X
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;5 \" u5 _( E0 S' s

5 [% X7 Z6 b2 [9 @! G        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ t9 I/ v9 G$ _) ]
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
! S- J, l7 T  S: E  k, a4 s* Z; u
8 t. _& O+ m* D) \' ?5 ^% I! J#if debug
; k  g7 D4 r* ?/ F# }/***internal 2.0***/ //aux_clk
/ `/ z+ X. Y9 d& s( G. o* @, P1 W8 n9 X6 k5 }* F1 q+ }" R
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  @6 v# e. A! Z    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
- B' x3 H, ~- P0 X    reg |= (CFGCHIP2_USB2PHYCLKMUX);/ z- L2 {1 }! i. T7 o
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;. _6 w5 R, L3 A2 i8 x+ y

  ]: g( @# N3 z4 H2 o' O1 Y9 I; U    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
0 `/ y1 t" |6 ?    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
5 u3 x! m6 \4 a: C. z) u
/ J) B# @: ~: E( I. E# \/***internal 1.0***/ ///phy out8 A/ i* b1 ^% m6 d2 }8 R3 m
5 y; n& O0 q0 [7 w
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 x: n2 G8 {7 H1 \    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
6 g- c" C- o' e# V7 v2 g    //reg |= (CFGCHIP2_USB1PHYCLKMUX);3 m6 w  J* \" W, A3 C' I% D0 u# U
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; w+ P$ |( N: ^' i" N' j2 Y0 b$ p
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 M5 Q8 v4 J2 @4 b9 g; w# N
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
# T7 c4 F& v$ ]1 I( _. L* [6 V! {! k
3 z8 N: z$ Q; y1 h0 P3 F4 E! S1 S0 ^
/***phy run***/ //phy out
7 e0 G. H) \4 Z
7 c# o0 M; _* Q3 j' \. p        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; r  q% Q1 c* d* V8 O8 e! P        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));0 A' A) {# H% C( n
8 H* Y+ d. n3 O0 Z! P  L" N- I' i
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 l2 p0 V4 c  l0 Z
        reg &= ~(CFGCHIP2_VBDTCTEN);
2 Z+ p4 l3 ?! N( U        reg |= (CFGCHIP2_VBDTCTEN);
; `" a, H# Q2 \' x        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));* J7 o1 E5 @/ u
#endif
$ ]& u1 L6 x; }( W8 [
! }9 b& I6 T! D6 s- z8 y: h    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 8 G: C7 T( H% C) U  `) u# }
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
! R, @+ R' X9 |: q% s1 |% L' n& q3 T$ X, j8 r
    reg |= CFGCHIP2_PHY_PLLON;+ ~% X- N7 ?1 f5 q* g! I

" C& }; X/ s- {5 Y6 S1 u    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
# _" y4 t2 x) G& g' q0 F; S6 T* w
" H7 Z' P  c% ^/ z7 v    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
( Y) N; F! E% u* ?" g& {" p, a/ }* \( c) M
//#ifdef USB_MODE_FULLSPEED
! x; S2 Z- n  A4 U7 d    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;0 D- i% u, q9 c. d
//#endif /* USB_MODE_HS_DISABLE  */
' p6 R" w" B' Y. A* |9 ]! @& `, E3 ^% a& x: y
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));3 T& v; t" R8 C# S/ I& Y
}
9 l/ b7 W9 N$ D8 g; m5 p
" G& Q( W' ?1 q# U# }+ b) R% W$ }8 N3 [7 d+ P
  附件有我们的电路图:: u$ I1 i3 i1 f4 `0 C7 v3 }
  请问能否帮助分析,谢谢.
8 O' ^: O7 t# @4 A1 _% E
+ D- z1 |% g& }
! J* |$ |2 Q! D" y9 ?: |# O9 ], K0 Y
% {9 c9 @/ P: F% q' t; h1 W0 E4 ^  ]6 {# k+ g$ ?4 m

9 ^# F2 {& h( m- l: Z, |% `0 J) e+ ?/ l4 G  p

: g1 d; F) p. X( x, ^8 M: L

本帖子中包含更多资源

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

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-13 08:18 , Processed in 0.037799 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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