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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:  n* p$ ^3 ?. Y9 q& u( _

8 @3 Q- ^& j6 V% ~9 a: {7 C& C  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),1 Q4 c' I* T4 d, @2 x/ G6 G3 ^

8 g5 k5 J! j4 j  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。8 Y, b' t' k8 m) k" L

5 w$ X) `0 n& Z$ N3 d  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。& Z6 k: U4 _: F; V! c
4 C  [8 C1 ?- C
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
, k' o) e, w+ `9 K# r7 [6 t% ~+ m4 n' Q
5 Y9 d7 f  Y5 P4 ^% \  请问个和我们的设备电流是否有关:
+ M# F* v; g! [, h1 J) F' {, l3 @2 @: z
void UsbPhyOn(unsigned int ulIndex)
8 u7 B6 E1 E# g/ ?5 g{
/ k) D4 l' E. R7 ^( W3 l% D       
2 s# N0 C" E" ~, |   unsigned int  reg = 0;: Z; S7 Q! c0 l  i0 x) A; r
   BSP_KickUnlock();: R3 f0 n" x0 X' Y2 x
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ F7 u& |& r" H* k' g3 ]9 j        reg &= ~(CFGCHIP2_REFFREQ);# C$ F8 C8 T" w+ t, g3 b/ q
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
8 ]. O- i0 ~, J  ?5 w        //reg |=CFGCHIP2_REFFREQ_24MHZ;
# N' G9 ?+ q2 g1 f9 \        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;) _) x8 H5 ^9 _( @2 a5 t
4 |6 w* R$ Z( F- _8 x2 |; S
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# \, W+ e' K2 [1 `% R8 X2 P! ^/ j        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
* M: q+ _' E8 C; F
  c$ X" q: V. s! G: u#if debug$ ^3 G* A: B! A7 R; b( o0 _$ A
/***internal 2.0***/ //aux_clk
  `0 n. j8 ?; F# ?  f
2 o% c" S" b6 o' ^9 Y# M) b. Z    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ T! y0 y$ }, W" l0 D) m, `
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
* N' r7 O" A" O/ E    reg |= (CFGCHIP2_USB2PHYCLKMUX);% {8 k$ E! C7 R6 k8 H# b
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;; c  E4 W: ~4 U3 U+ }0 h

1 L7 Y: T. `! N$ e7 C1 O    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: M) ?% O; [8 U    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));" k" r4 N2 c6 C5 W
4 W: d" T- T, V) Y' H. f6 P/ }
/***internal 1.0***/ ///phy out  b: V4 `8 D, N' g) k: O
7 f2 ~" y/ R; P; Y$ x, {
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 z: e* L! K- B    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);! T+ _, m- {+ C( T9 G5 b
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);7 `( ]; s# _/ P% A, g
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;* d" o4 k" H5 E4 U
. ^' t$ F1 G+ O) R4 N6 P! O
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( @4 s# W, F& |' x# X    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));( Y! k2 j! y1 U. l& D
2 z6 t! j, @  h4 b0 X7 t6 |# W
& d9 @3 L8 B* H+ k
/***phy run***/ //phy out: C! w! \' m( S
$ y* M" W) E" o5 T  u9 X& E, V
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 w% s) F- s/ K6 c+ ]
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
# j; V- p: K) {6 I! ^8 h4 p
0 y( E4 m: ]; T% x+ _# k* P* b        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" ^6 b+ {! o% U' F0 W& n
        reg &= ~(CFGCHIP2_VBDTCTEN);  ^+ D) c; r& g- \
        reg |= (CFGCHIP2_VBDTCTEN);: \" [9 J6 k5 N5 a7 g
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
6 F0 [5 v6 {( c! @#endif3 s% E, h# r5 [4 ?6 k8 D6 ?# Y
0 V/ R* n6 ~4 M5 Q. ]' k% {4 ^
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
! V, q- Q1 j+ J$ N# h9 o    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   ; L+ H3 d, T: q+ X4 k) ~) ?) a
9 L% V0 C8 C; \
    reg |= CFGCHIP2_PHY_PLLON;! T' M$ R: k, t7 H' p, m
1 F; x8 X2 Q7 E. J" O
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
) g! ]4 |6 S0 |9 c% t' W4 P. L4 Q1 c) m- `
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
0 U$ E5 O% X8 [! ~, |4 q4 z, W. i1 ]# J; ?5 ?+ K1 b3 i
//#ifdef USB_MODE_FULLSPEED% \! R# e# G' _2 e
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;5 \7 T2 ?  M+ X0 m1 I6 Y
//#endif /* USB_MODE_HS_DISABLE  */# g6 z7 }0 h# E* m) J4 T# H
2 D# D. H& f0 e8 Z+ r( T! e
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));  n$ D$ r! G! |. }, G/ }" h& Z) m
}( Z3 e4 J% z7 M! }) n
$ `# R6 p7 F5 m0 A! [
; ^2 `: T6 J% _; v4 c  g
  附件有我们的电路图:  t" }8 Q# j3 Z
  请问能否帮助分析,谢谢.
8 _1 M6 y; W8 {5 B
3 _* F  P. D7 d
0 y: `* i7 m5 m: v8 s: |
; j1 S5 B, u+ _4 h
% c5 m, j/ ~% d7 g& N" m) J1 y' a
; T( N) |2 C1 v# o3 F
- X5 U: n' D2 c6 [3 t$ c  ]* u, H' g* W0 c( y1 e. Q

本帖子中包含更多资源

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

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-12-15 03:56 , Processed in 0.039278 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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