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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
你好:
& [- c5 j/ h# Y$ n; l' V! n- {3 s/ ~% z) c' H
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),* g' G. ]+ ?. y/ y0 H8 `# _- G

5 L& R" J) }$ O7 x  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。* L4 ]8 Z5 T. v, w% v0 r
( h/ h4 X- O% q4 k9 Y2 X
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
' w- g2 ?9 |* d
' Y+ {  O# D5 M% ~/ \  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:" i" D2 s  @9 g1 o3 \' m0 {' M
) P8 U5 \( V0 }! q
  请问个和我们的设备电流是否有关:
& k7 _. `0 D( q4 D  E; J( o" H' W; d5 K* u
void UsbPhyOn(unsigned int ulIndex)
* X- U$ {$ t3 S{; c% Q, r# |$ W8 S1 p3 }$ k3 ]7 e
        8 I7 U9 R/ ^/ q6 q
   unsigned int  reg = 0;
/ g& q" M" [" e5 i1 X/ Z   BSP_KickUnlock();, A2 ~" k- b& {! G: \; X2 I$ K
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ J9 J3 k. c4 g        reg &= ~(CFGCHIP2_REFFREQ);. f7 o* X3 z' h5 W7 j; f7 A0 {( V
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;0 D7 N9 Q8 @$ k
        //reg |=CFGCHIP2_REFFREQ_24MHZ;9 t8 J, v' V# n; \9 w  k
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;$ P4 L, X) g+ L# J- o

- p- n) F) @1 |) b; z# c        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
8 Z( N$ ~' D/ V% v; b/ n5 R) i  b6 \        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));/ {  H& M1 L) ?* M/ H* p7 Y
( v4 ]8 H: z0 y
#if debug
  z2 U: Q' {) G# s$ G" m/ z* }/***internal 2.0***/ //aux_clk4 `- ?; B0 |* s$ j2 I4 V$ c

; |7 |2 t& W- D5 [8 t    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);+ K3 _) y0 H4 T. q" C9 o
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);7 _/ q4 `! Q. T! u
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
9 a, n0 H7 j9 ^, e    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;8 @" A* @4 F$ J+ o2 r. z

2 [. l1 x, M- Q% q* `9 v, ^0 Y    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ E' i4 Z! ~1 E$ [5 x7 S- g
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));$ Q( h. u9 ?& T- Y( y9 D9 F
# T" x- q: _4 J8 O6 {
/***internal 1.0***/ ///phy out
, M; T' A* B% s6 i5 U( }% L6 {% P- Z& e8 n8 [) `9 |+ i
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: z; v5 D3 J; p  t: R    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);+ E: q$ B. V8 s& F8 o, N: ~( G
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
7 ]6 Q; E8 _4 D/ {    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;7 t" N* O) O  z: S; U0 W3 e; x3 m  u

9 @& x0 C# f% p) |2 A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& J# J6 R( t) I) E4 e
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
$ x: ]  I$ R5 J4 i# K  Q) C$ H
8 Y! t5 o% P" B% H' l3 \
1 A. [6 l, T3 g/ B) `/***phy run***/ //phy out
/ e4 _+ m) N& ^0 n! c
) J3 e) t* ~; C  T  t( T        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; f& D' l# f# \2 {  d        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
2 Z" i1 H. k- {  W9 l3 [  h  Z' W1 E" A8 w: P0 ^
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" k% v) \, c. W! F9 @
        reg &= ~(CFGCHIP2_VBDTCTEN);- i  k0 N( q5 [' [! C! f
        reg |= (CFGCHIP2_VBDTCTEN);
$ k+ \+ r+ E0 v( u        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
" n+ r, y/ k+ {5 a# U% [8 M4 }#endif9 P. q4 M( T( d1 H

- H+ G3 h- H9 k8 c) P$ N) u    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
9 U% a0 R, @0 H+ }& v2 [    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   8 T, B6 A* i$ M8 ~' P( X

3 \& U, s( b) y2 G/ u    reg |= CFGCHIP2_PHY_PLLON;
6 p+ s. K' K, A4 B
: a( h* e: F- w) o% O- p- h    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;  ~: B7 P) h4 U: |! p9 d
$ k, m* I+ N; c; L3 f
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); $ f! }. u2 n/ E7 ?, c3 f

$ U5 V# x9 H4 C" c: |* X# v//#ifdef USB_MODE_FULLSPEED! z# o! ~9 f$ J1 r3 ?( V2 G# a
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;: C6 c5 p* X  S0 y9 \' V
//#endif /* USB_MODE_HS_DISABLE  */  f6 E) F5 c5 r% _# X' ]
4 ^* b6 I+ j6 N3 T2 A, U. V$ y8 S
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));" O- t% F5 K2 h. W* r
}, s7 ^4 Y: i) k  i" E1 u

& [" c8 _6 }/ P1 B7 A; H3 s
4 g: l0 y) f3 e, s  附件有我们的电路图:# g/ n# D5 A) k
  请问能否帮助分析,谢谢.5 c1 B# ]5 l8 o
7 g- I' ~& R/ R* M

& }  f1 Y, k$ j, j6 l4 I9 u  g2 E/ Z( n% ^; g; z* D

* j* z5 _: R8 w) J: i" Y+ _8 E6 `# [% r2 \9 _8 o  V
4 D! ^0 h" A% G/ `
8 \9 n# F$ K  c' o/ E

本帖子中包含更多资源

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

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-5 02:06 , Processed in 0.041054 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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