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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
. a( W, Z9 {' B9 O1 p' x* K3 t- p% P! x! Y+ i/ _
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
9 x6 L. U# ?6 h" U2 Q: L
# B. _- u5 d: ~  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。$ _0 Z: X- d* Q- I6 j
% N% Q8 q6 Y) [2 c+ h8 ]
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
5 h; N5 F- O4 U3 J7 F4 |# I# v2 g# e9 Q5 R
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
3 z+ \9 K; z0 Y6 F0 L. S
, ^1 D- n& J! s3 ?  请问个和我们的设备电流是否有关:* Y5 G! \# l0 O( l* m

0 z# c! A4 E) x, ^* Q& lvoid UsbPhyOn(unsigned int ulIndex)
, @6 ?- O" C8 |; I) }{
& ^. C8 x0 A9 Y: `1 J       
9 u- y5 o1 z$ k2 F   unsigned int  reg = 0;! {: z( |/ _( h6 S
   BSP_KickUnlock();
+ f2 w. M, Q1 h, o4 F        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; n& t  r' L: q% q. A% ^        reg &= ~(CFGCHIP2_REFFREQ);: r3 M! q) v. J
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;4 ]! v+ f& Q; B1 D8 {+ i7 Z5 N/ R/ U
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
) u; ~! u3 ?" \6 `0 K* E        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;  w8 Q& l& K  G4 V& K

$ y- V9 }& S: o& J) B% x4 V# ]' ~        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: x* y# [+ e7 a- q# _
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
( w5 x7 O2 s& U9 {( }  b2 _# }6 R5 d0 r! Z! n' T6 q7 {( t2 ~
#if debug9 c- U: R5 L1 A- M0 a
/***internal 2.0***/ //aux_clk
: H. h' p% G! r3 `8 r8 ~' U
0 R, u% V) z* o' D9 F    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 `& Q0 ?+ G2 I2 R! r( u4 w
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);% B" ]9 x( `' h
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
$ \7 ?- |+ Q' C% g/ ]    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
! o. Z  q; ]! C4 N+ W. I# `4 a2 v" o% ~& O1 Z; i$ x. z
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 {' a+ o+ A" h7 Q" l, S    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
1 h) g$ j8 X5 i& r4 w) f9 f9 |& S$ I) W1 a5 |6 |
/***internal 1.0***/ ///phy out
0 [# t  w, l7 |6 n
" K1 n0 ?7 b( S# {4 [    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- @2 W# @; {0 v" G' {
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
# P3 T3 @$ i& F; R! j    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
2 d$ E2 U% r+ S( X1 Z  J, z3 o( \    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;5 h. w; L/ M6 h: o

4 Q% F+ t" {8 T, s    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);7 ]" P5 v  L4 |! ?+ ~- Q/ F6 `
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
) M3 m4 |3 c" n) ?+ \6 k  _2 D# t- E. R2 x* C% x# e9 c

) ?/ g% @: `. Q7 t3 Y. w7 {' N/***phy run***/ //phy out  C" N# r  n0 }! z

! ]0 p) @  J* e; `        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
! N1 u1 u! ?  @' M( C; `        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));9 x. A) l: j; w6 t9 J4 |6 a

: [: r4 x8 D' T9 O, }* v* [" w% o        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);. C; J& R8 D) F
        reg &= ~(CFGCHIP2_VBDTCTEN);# T" p4 e% x- q# B; w7 d
        reg |= (CFGCHIP2_VBDTCTEN);
: S, E, Z# v" W+ t% U6 C5 X        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
# s7 d, q8 @& I  j) o#endif1 n' ?5 Q+ A+ d, o  q
' [- B( P+ r) A  }5 H5 u* M1 Z" d& W
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); % D7 j& g/ n3 R% n# F+ Q
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
8 S/ q. e: Z+ ^; l  L8 O, ]" \" S, H+ J& y/ X+ Y. N" P
    reg |= CFGCHIP2_PHY_PLLON;
# J9 S% Y& W" S2 Z5 N, U$ ~/ t4 o* z
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;8 g5 G! t! Q! [5 s) K/ B* y  {
& A1 P: ]. F8 U: G3 Z
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); ' Z! ?" L8 H4 n- w  h# H: R
# G0 @* n. S) R5 E0 f$ X1 _  {) l
//#ifdef USB_MODE_FULLSPEED) C2 X; h. ?/ r1 F$ p' Z9 h+ s
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
$ Z6 |! C- r* u" X% Q, j//#endif /* USB_MODE_HS_DISABLE  */1 Y! X- B- ~. g/ `) Q6 }3 f. }: S

; D; l, j0 c" T$ X# Ptprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
& `$ K) S% X' W; J- c}4 o/ S8 ?0 M& }5 C1 p% M; t" L
2 c9 Y. a* i8 m' h
" ]: U" o3 x: R" x
  附件有我们的电路图:  U- t0 E- h4 f0 s6 b- e
  请问能否帮助分析,谢谢.! ?/ Y3 }: L# H/ |5 ?. _2 j

. _( W  F8 T8 j( E& W7 M# X8 {/ e, B* e. H0 m# T
2 r% \* N0 g, \) @: h8 g9 l

- {  n+ \  h2 |
) e- \0 d/ w- h) n6 l  v+ V8 F6 D+ T* G5 s7 o$ w9 J
- s( H+ L4 {4 G) F! A

本帖子中包含更多资源

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

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-3-17 05:00 , Processed in 0.038037 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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