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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:  }' Z( ]- V- H7 ]! C( g" s' d( {; K9 m
* [( E2 ^9 @4 \0 ]* c% B! b, r
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),. ^, o0 ?  x- @0 I! ]
( k. l7 R. `) {; K
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。6 c% |) D9 R  V+ X3 k
+ H3 r5 b( ^% R: t* k
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
* Q; P$ |7 Z# q& [! R2 J8 `* z9 v' N" D8 K1 g1 U) o, D  t
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
; m; f1 U! w: Y- h2 d% u/ D  k* c
) {! J, g7 n5 S# F2 D8 U  请问个和我们的设备电流是否有关:' _; H4 m9 s) L! E

: }: p8 s! i, Y+ Svoid UsbPhyOn(unsigned int ulIndex)+ I  R0 Q' d% k4 T' s5 _
{3 l) ?6 Z1 P! \
       
6 p/ Q8 a; s+ [5 W- n" C  W6 Z   unsigned int  reg = 0;
' ^" ]% J# s% f' F( `% w0 j   BSP_KickUnlock();
( E6 s2 l5 \  D8 m" y! Q# X/ ]        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);) {, n4 j4 z( r& ^: t; W. i6 J; d) T
        reg &= ~(CFGCHIP2_REFFREQ);
) e1 y4 {( ]$ G$ a" V1 n" `( e        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
! v  f1 V% {( U, [% T        //reg |=CFGCHIP2_REFFREQ_24MHZ;  c& C4 j4 ]" d
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
& y+ Q2 W1 }6 N' Y2 V9 N8 T. u1 a3 E* s3 b8 p6 i- C0 s/ g" j
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 S* r$ i" r; {0 N5 Q
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));4 r  O7 G3 d+ z% K$ i
5 C) |2 H- I( k- B* G
#if debug; [- V9 P2 ]- z+ F
/***internal 2.0***/ //aux_clk
) c, [4 I# z5 B; X. L8 Q$ y" a3 j- l3 i' d% k- M' j# `" P
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: b# U: _3 h, U, W
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
/ l- f9 h; _1 `    reg |= (CFGCHIP2_USB2PHYCLKMUX);0 t) y! N8 @1 p7 I& [
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
4 `5 W4 r; O) h* J' E
. S& ]/ x) K  I# T  Q- E    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 t( U& D" M0 S
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));0 N; v8 @1 g$ M- Z
( ^# ^. O7 N) W" p) W- R( v1 M! r
/***internal 1.0***/ ///phy out; ~2 _  v  b" K5 B6 u5 a3 e' m

7 `8 {% _: v+ a3 a4 p( ]    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
9 P8 P9 B+ B+ C/ ?" ^8 {$ |, q5 w    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);" U0 I& |5 A0 I8 |& f3 l8 b6 R
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
3 ?$ Q$ e: ~" i/ C% J" `    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
0 U! d8 S1 w9 a$ o, g1 ]- o6 r1 E1 y
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ x! C, W. F( B, c, ^
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));+ V. {9 H& O( C% ]6 ~, c( e/ v6 N3 t
* G  ?5 u. {! X+ o0 ]* H+ N
( Z9 y% F& s6 z( ?+ J# T$ T6 a) B
/***phy run***/ //phy out
* k& t# y- m( K8 O3 F$ v4 U7 h: i6 O
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);; P9 s! z% k7 v( z: d
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));2 M! z' k8 P0 ~0 N

4 j# F  p/ f( G! R6 N. H2 t, T        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);; x1 N& L' k% s3 y8 f6 m
        reg &= ~(CFGCHIP2_VBDTCTEN);
( y# F- c" p$ y4 H' l" w        reg |= (CFGCHIP2_VBDTCTEN);  v) C3 P0 ?7 i2 R
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));9 h) N! L2 V" V4 b
#endif
8 Y# e: e2 V. e) l. [3 ]/ Z- z6 \% ^1 e5 V* w& q4 k4 d
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( ?( ~: P! m9 A' N$ k9 D    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   ) Q7 `3 [! q& t+ Y6 q1 {

6 L) G+ U+ \5 z& ?, l, v    reg |= CFGCHIP2_PHY_PLLON;6 x2 Q5 M/ `$ w  [' y, ]& g

+ p% C" w7 {3 q6 i/ E    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;8 G" C& a' j1 \
/ P% J; D& ?4 Z  A( o
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
2 y% W" h, }2 w7 ^. X3 i! J
' r/ s6 D) N/ g. O- D//#ifdef USB_MODE_FULLSPEED. a/ [" Y# y  Q; z! h% C( h
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;/ w. K% d3 Q0 E. O
//#endif /* USB_MODE_HS_DISABLE  */
7 B. `5 e8 Q9 Z4 n- W& z1 K9 u
, D1 \) A' B, ?5 p% F) `5 Ytprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));# j; M% e% f7 v/ n. ~
}
5 F1 E4 G/ M. I% x% I! {+ k: L8 e" Q) H  g; ?- S/ c. Q
9 d) z' N6 g6 H) R* ]% H/ T
  附件有我们的电路图:
% h% N4 r: L# ~) ^& X2 Y9 G  u  请问能否帮助分析,谢谢.
* L1 @: S+ H. D5 K( B8 v  i" i) e- D+ f3 }% w0 T* P# W  w
7 q  G5 S! N, k6 N
  r* H* w1 F; a: C

/ H4 V: x1 C& {: `( S& \
- j% b- T1 I' a% q' u; y
* p$ S, p! m$ t4 ~" n" z% O  @" E& S  \+ D/ S4 E  g% l" j; p

本帖子中包含更多资源

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

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

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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