usb 2.0 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站
点击跳转“创龙科技服务通”

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:! d! \9 W' D7 j3 _- R
" ]+ i  L: [' Q; A( K, U
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
7 p* O/ n" I' p$ V
0 m7 k2 x+ p6 Z/ s  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。" R2 U& u2 q& L# x  S

% W! n  j: S# S/ E/ K! W5 F  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。3 K  v9 ~: F5 m' ~; N7 u7 Y  Z

3 u/ d$ ~. B+ L( @# S5 q  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
- J  n+ L9 ?7 D7 q# @; S' B8 P* o3 c. K3 R6 R
  请问个和我们的设备电流是否有关:
$ s* z$ X+ X/ ?1 Z. k0 Z$ f' A: b9 j3 }' Q- ?
void UsbPhyOn(unsigned int ulIndex)
8 }6 L' w: }8 q" X{6 ^" B2 v" l* C( k* r
       
6 [6 x4 W0 b. w, d/ @- ?   unsigned int  reg = 0;% x0 E, I# f1 p5 f) q- A2 |
   BSP_KickUnlock();
' F: ]: B6 U0 y  \- X6 t3 @        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 s* s# C: J3 v# D( n4 a
        reg &= ~(CFGCHIP2_REFFREQ);
1 D5 r, }* I& p' D3 X7 W, U        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
+ Y8 w2 ]' r4 V7 s& l2 G        //reg |=CFGCHIP2_REFFREQ_24MHZ;
+ H2 c- C. R! F) Z& D% I# f- }        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
( R1 b% I( E( R1 R$ t3 W: j, _, H4 V1 C& e
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);7 C# |* s6 x0 v+ f% E7 ?# C4 D
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));% ^1 a5 s0 B  Z* v
" M( M' s" g3 g( y6 c2 _/ J! d) P
#if debug3 r% `9 l9 U3 J0 _( p& [  C
/***internal 2.0***/ //aux_clk
8 |7 @$ v1 K3 m$ {; d+ d2 G* A9 I7 ~
7 y' ?8 K" X# ~. }    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 O6 e9 [8 v# d3 a5 [3 f2 _$ c
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
" A9 K% t3 b; r5 ^% y) e) z    reg |= (CFGCHIP2_USB2PHYCLKMUX);
9 K0 f! B( X5 ]8 w3 c    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
  p. V9 D7 w3 M+ Y+ z
9 _3 e# C" V0 `' W+ O    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 @4 u9 l% s/ w    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
6 A( E: G8 \9 q- R6 a* j3 W
1 N& Z2 P4 v1 f  `" ]& P/***internal 1.0***/ ///phy out$ m7 ~. b  `) o# H; I  W) N

2 T, `# N# S% e+ B& s3 k    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  ~3 J. ]8 }' M3 y    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);% W& n+ h! s% ]; X! i3 v$ ~
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);, ~" W" D6 S% o6 f
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: G+ ^; J5 T0 U5 y
0 J' U4 q5 L- c6 ]" H
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
& j+ U3 u; d% n    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
. E! t; V! `7 n% v) g: W
% c( C5 V  a, ^. p" I2 q! x% J9 a& v* R" y# k) s6 S: k$ _# g3 I
/***phy run***/ //phy out
4 g! J( n, X7 u6 Z, H8 j5 Y
& m- h% S" I  g2 f        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 N: f3 I# e( q
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
5 U6 H+ y( [( P0 M; Y0 F' }
4 P% e3 c* d+ q5 U) b- s        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 ]4 g3 ?) F! ?+ D
        reg &= ~(CFGCHIP2_VBDTCTEN);
; V/ @% x* x+ i7 w) S( a5 L        reg |= (CFGCHIP2_VBDTCTEN);
& `; X- B! [, O/ I        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
- O) B! U  a9 Y$ e3 d#endif- E/ a7 _! v3 m9 ^# t+ l: u. V8 y

) m& i0 f2 ^% W" a& [0 a/ F2 C    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); & q' y9 y9 J* ?1 ]- E4 S" n
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   8 Q$ E( ~) C2 ~0 k2 \

. n0 I, V! @  G. J6 R- _9 F- z    reg |= CFGCHIP2_PHY_PLLON;, {) i  b% x" Z% {. t3 R
6 H+ t7 R; y4 z
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;8 X/ T- }+ z9 {  S9 p9 M
4 ~3 L/ Q5 B* }% |/ q
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
& B7 H' [: s# e  a+ _& E
9 m4 d, d- T! t1 y0 J) t& D//#ifdef USB_MODE_FULLSPEED
5 f9 J; E) z& D( J1 M. a% S$ E    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
! F7 V8 Q- }; Z# |//#endif /* USB_MODE_HS_DISABLE  */3 u- V, ]) T6 O% N5 R4 u/ A
$ n' y% r8 X2 l/ K7 y
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));& N! @( J% n8 Y  P9 C
}
7 w# p; q( _+ X
) u$ c' v3 M- I
. t+ k& h4 d: y) |# K8 h  附件有我们的电路图:
# l. l/ _$ r: s# r' z7 U# w  请问能否帮助分析,谢谢.$ L, E: ~' h% i
9 z! n- [# V: M# a) }$ \& |
  J4 j! c  Y3 R  X$ G/ s0 `( l

6 o! G! y9 e0 S1 ?5 R
, J7 u/ ?4 A: l$ H( b2 J
5 M# _; X% J9 ]% G* O
& J. ]* X( b( b6 p: G
$ k/ b1 m, W2 c% O

本帖子中包含更多资源

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

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, 2026-1-31 02:08 , Processed in 0.048247 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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