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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
你好:5 V' [8 Z% f/ B( D$ M3 g0 r6 U: L

1 A2 O4 m6 b8 s* _# D  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),9 o6 Z# h1 w7 }; w

2 W9 x$ F% a9 q$ ~6 ~% b5 }  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。; ?+ o! b& J  r% r3 `2 v# Z
/ o; p! x9 _( i$ _9 \
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
5 f/ ?1 P6 L, |4 W/ k4 O- d
* ~6 p5 u, {0 s( U( F# F" r# f  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
5 t; l! i) e7 \) K2 E0 w
. n! M$ [: E) Q3 S  请问个和我们的设备电流是否有关:
* @* X3 H" v& _, A' U& K+ V, G9 y- t! t# V: l6 i
void UsbPhyOn(unsigned int ulIndex)
+ @* a" K# c/ {5 g. @1 f! T4 k) ^{- U5 o0 j$ f% W3 l
       
9 J! P) O4 [$ m3 ~   unsigned int  reg = 0;; D& q2 W# e4 l/ ]* Y3 ~  U% X
   BSP_KickUnlock();0 |7 ~, `& E4 x7 j5 t
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
) N1 x4 s; `# l6 K3 t        reg &= ~(CFGCHIP2_REFFREQ);
% l, i# c1 m/ ^; O6 T$ m& t        reg |= CFGCHIP2_REFFREQ_19_2MHZ;9 ]% S/ V2 U/ K# [
        //reg |=CFGCHIP2_REFFREQ_24MHZ;3 K4 j) G; t9 y! q. z
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;9 W6 E" k& i: n  W3 l

4 G  l" z0 @- S* J: A1 |* P. z        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 A& ^# A6 V" A) i$ d8 h+ k
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));$ m3 ~+ r! `$ v+ K
) h4 V0 k4 n  B8 h) J! @$ \) W$ O/ o
#if debug2 ^9 |9 T3 f' F0 y) _2 @) a
/***internal 2.0***/ //aux_clk3 m/ e# _5 i8 a+ Y' K" ]9 C, H  u1 R

. T, I  n" l' R' c    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& Q3 M" ]( S, l4 u
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);$ R. v4 ~  E; d# h" P
    reg |= (CFGCHIP2_USB2PHYCLKMUX);& z' o6 a& Y, j. {) t. s4 n' O
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; S4 I9 @. [) A" ?6 W3 C: S  p; }: F
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  q: U/ |2 H- W3 n8 B! Q    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));" P! ^7 }9 h# {- [$ C

  e" A) C: \' h6 u7 Y! e5 J/***internal 1.0***/ ///phy out( l& e' E% V- K1 w

2 D% g7 q1 l. ?; y    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 R. u/ ?  {# \
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
6 U; @/ |0 s6 h: N( l    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
6 {* P, L$ ~1 `" b0 T    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; T8 _5 _1 i) [& F% v+ @; y$ T( m( ^( ?" _& V
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ O; {# K# o0 w7 H9 A    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
! ?. e2 R+ p9 N" E; O  l5 U$ T6 F4 c* K- C$ s0 @# F8 ^
! W: j$ B) r  [1 D& W
/***phy run***/ //phy out1 Y( w& t) M, ?' X. W

& ~% [) X0 E* y7 ~$ w) W        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( U9 D* V1 e0 K3 j$ d3 I        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
1 j$ E- {8 Z5 @0 v- x. K% c/ e
) s  {, x, v" G, u8 q        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- K8 j9 |8 S  N4 G
        reg &= ~(CFGCHIP2_VBDTCTEN);
, S( p/ A7 R; i% e3 z        reg |= (CFGCHIP2_VBDTCTEN);6 [) e/ u; y* c$ w
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
' }: t0 [  W# o8 ]' I#endif3 ]* `4 j2 Y! v4 T: @  s1 ~

" @; P$ N# T% P9 k0 z% r. z    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  r1 s' ^4 K6 ^+ g6 f) A    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
# y8 r3 @8 V; v6 Q' F
6 c( o1 O$ p; O& t, ^    reg |= CFGCHIP2_PHY_PLLON;( n7 A2 a  {) A9 V

  t: F, i) g+ h7 a$ y    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; I5 G* |$ N9 u" |
/ I7 T  v' a6 Y3 ]    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
. S. J. n" j* Z; b2 O; _& q  J1 J# G  B  f% _. R8 g/ x% E: |: o
//#ifdef USB_MODE_FULLSPEED
9 i) J2 ?& \& V/ T8 D9 k    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
- W* k1 V# U/ d% Y3 E( Z5 J//#endif /* USB_MODE_HS_DISABLE  */
, J3 J8 b6 n" g$ `! e; H1 C6 W- }! T  Z4 f7 g
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
8 G/ Y. d6 q  G- d" X! s! s6 Y}6 @- z- e. h5 _- F/ w

  n6 }( h: k- O% {% W0 i1 c8 [
, G9 v5 K- v, O: u' f0 |) Y' |' z  附件有我们的电路图:5 g0 t+ ]/ v$ F* w+ ?  j
  请问能否帮助分析,谢谢.
# a0 T8 Y' A( _2 S& o% M. q" o  [# u# y! D" A
( H' m: w* ?# d( ~. M) f- _" p! z1 X
. N' s9 D! t/ z, [

+ J; s1 v& k1 x! K: J5 `6 u( \0 ~  s* U# I- U. u  J! h0 J8 E

7 m/ q& O" [3 h; l) |8 F" s# K% H/ J) s! \+ `" E  b& R

本帖子中包含更多资源

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

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-4 17:59 , Processed in 0.037688 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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