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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:; g% s  C( [3 M7 a6 w3 ?0 c! f

2 e9 Y2 i' i( \& D* ~  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),4 L0 g* c7 J* ?9 n& g

* H% j( v1 w* z# x% d6 \  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
: L) s* m7 M5 d4 y( V
1 I0 [$ D# E/ S  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
6 C/ ]; e& p/ @* R, P) k/ S3 k  ]- ?1 h* @4 e% r# E7 {8 R7 {
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
6 r+ b! H+ R  e2 I
6 R) e1 e6 j6 ?2 Q4 }" m+ X  请问个和我们的设备电流是否有关:
& H! M! S6 h  M/ q6 D+ q! A( k! W+ Y2 N* T
void UsbPhyOn(unsigned int ulIndex)
4 Q9 u" e8 m! ]# r+ s7 ^7 c{; z: N* Y& M$ |0 a- K* {
        2 Q( u, c3 b& r! g' b0 \* Y
   unsigned int  reg = 0;" a1 D8 L/ Y. c# J5 m# o$ `
   BSP_KickUnlock();
7 @5 O% u, a) R; V$ i' ~3 N5 ^        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 b. O' Y" f1 ~2 n+ X% w        reg &= ~(CFGCHIP2_REFFREQ);
. r" d+ H/ h6 |1 r2 Q        reg |= CFGCHIP2_REFFREQ_19_2MHZ;( a# U# `4 r: W4 I& D0 O9 f  e- U
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
) K0 S8 r) n6 Y# @        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
7 J8 O2 Y: U, d& D6 v
. G" ?0 X0 [% {1 w2 Y        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# {. w  l  C7 f/ E  E/ M& W2 V        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
* [& k8 E+ {% Z5 Q& |* c& C5 y0 U2 ^" L  Y) e  ]4 R
#if debug
0 S2 R9 `9 u8 N3 Y% Z/***internal 2.0***/ //aux_clk
1 F* n; z5 r: \  m+ A9 f
8 Q# |. R3 y+ \" k/ L! P6 l' z    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 L/ w# `# V* H, h    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
! x! s7 O- g9 b5 Z$ L1 j! J  }    reg |= (CFGCHIP2_USB2PHYCLKMUX);( d; X4 u  N9 @) i
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: T. q1 ~) d" @" }" W, `
) E) l( ]" d" c# J* @7 q- G; [
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 d# o# X: S- ?' R" ?2 {    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
: S; S9 G. n* V- t+ u! N
7 N4 V$ X, i0 |$ T, i2 c/***internal 1.0***/ ///phy out; }( l6 C' x4 l7 p( v$ d! X$ ^' T
( z6 d' h8 f8 ], ]% o+ v. }  q
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. G; f6 X4 _& S- @
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);( L  {* h9 [: P; Q& T: Y+ F
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
! ?) ]; F' {" N( i: ~    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
9 C1 s! E+ X! o1 p
: ?, ~1 H9 ^, z+ n    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  S8 ]4 l1 I9 x' l2 F0 C! |6 {    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));# L0 v- {6 L( k6 a+ K& _

' r. P; @9 {9 {+ }( O: D
$ g  r. v  A& M/***phy run***/ //phy out
4 R/ \5 t, L, c* a+ S
: K- S4 g6 `; A/ G: [7 F        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
, J6 e; i' F5 a6 |) t        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));/ }: G0 S2 V/ O, R

' ?- I- p! F2 n0 O2 e        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);6 R0 a" b5 S" K: `/ ?+ X6 ?
        reg &= ~(CFGCHIP2_VBDTCTEN);
8 l( q" |& N: \& U# _        reg |= (CFGCHIP2_VBDTCTEN);
$ h0 }4 l9 v, K        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));& l: j; ?9 e! D0 w7 Y0 |
#endif
8 p/ ], ]) `, t- T5 {
' s" D' s/ w( i: G    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  D+ x( m. G6 q7 u0 \: o& V: Z    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   7 v) h# }4 F+ q: s5 O4 D

( _+ T: `1 j% q% s    reg |= CFGCHIP2_PHY_PLLON;" r" J2 p6 ^* J. i( u
& C. o  H; ^! L  f* I( K0 H& Y
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;* S2 v) L8 l3 `+ k

) x+ s6 _' K1 j( c% u  C    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
. I0 e5 [1 L; w3 D! \) ^
) Y# {$ V5 y/ z' R- ~$ U; Y//#ifdef USB_MODE_FULLSPEED
9 K9 L/ Z( O7 N# _, H: A* J4 I$ F    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;/ Z7 G5 j* M. U/ H7 `/ }
//#endif /* USB_MODE_HS_DISABLE  */
- u' Y7 w6 k3 o# E5 K' }) q- n3 k6 W% ^* t
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));% W. B  }4 `  H3 u$ X
}8 x1 {- X5 a$ `9 W* ^! l
- H' C4 R. S: v0 m: p3 o0 @+ P
: {* a7 ~) W7 ~8 U' S
  附件有我们的电路图:
0 b; @$ H4 l, v' Q2 H6 r# q  请问能否帮助分析,谢谢.
* c% `+ Q, v, @. C( \, g& R* n5 L; l1 w- s
3 D( ~5 b- c, v
* p# s( |: ?% k. Y( _8 s
, R+ r2 }( u+ |
9 Y' n9 w, @: y7 W# T
! P! ^9 v8 ?2 S+ R$ E: J! H
$ W% C; X. N: K8 \1 c

本帖子中包含更多资源

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

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-8-2 17:49 , Processed in 0.036812 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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