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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:0 ?' @3 w' n* {7 Q; u

$ }, n$ X% w& z  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
! t4 \/ ^) h- i+ K$ N0 X# j; z6 X3 a
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
9 A: H5 ?- a; A2 `. o5 F
, b* Y5 j1 H8 `9 J% H4 ^. X: Z  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
, k: d* ^6 C' t( ^% a" g  u* G# e) I$ o
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
. y9 j: ^. P3 M9 j1 `3 q! i; J# R! j0 N/ H0 r
  请问个和我们的设备电流是否有关:' W$ `# T+ Z: ^% i1 c: }
1 x5 r8 C7 A$ W# c9 O% }$ n
void UsbPhyOn(unsigned int ulIndex)9 j& `" I* i5 z* v- ^
{2 b7 g2 R8 l8 ~/ ?' x. D0 n& }
        . K: R0 U2 e- d4 h- |2 R
   unsigned int  reg = 0;
: V# K; o" I- s   BSP_KickUnlock();
* E3 c9 X2 \1 D# I        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 w( m9 U9 l& O: w7 Q        reg &= ~(CFGCHIP2_REFFREQ);
8 `1 u3 [2 b" T4 z- J- U+ ~) I        reg |= CFGCHIP2_REFFREQ_19_2MHZ;. [. a' J( l( K5 m) S! l! J, j0 j0 q
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
* X5 `/ q: ?+ u4 h        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
% G6 A, x9 }( W) A$ x1 F& C1 k3 F* g  @
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. ~# x) I% I0 s& A" ]) R        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
. i0 d# ?: v% |$ H! D! f( o6 V  K3 x/ f/ c6 B3 m0 K6 E
#if debug
8 e$ v3 Z- M0 Z5 Q8 Z8 m/ y. S/***internal 2.0***/ //aux_clk
; h( H* U& Z" V) [/ x$ F2 H( }) j( }. |# v* ~
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
9 t5 i% c7 q; E$ \* c  D+ D    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
- r! Y9 F- H5 u" J* M    reg |= (CFGCHIP2_USB2PHYCLKMUX);1 A6 L- Q- `, B% w5 f9 e/ }4 F! t1 p
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;' Q5 S" k0 ^$ K5 Z9 }
0 B7 ]% E, f4 @! ]
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
- a% t& W& J1 e' q3 o& A" C    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
0 n7 r6 e8 Q6 T0 m' l" g* q
- T5 `1 d& v! T- X/***internal 1.0***/ ///phy out2 t8 C, c4 j- s

$ G% K- \, T4 [# A& `    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
  U/ ~9 E6 H. k' c    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);0 g: k' x; b( r% s2 c' _" [: K
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
# o4 I# G. W( c8 J    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: W1 R' ~( g" M9 s- S6 k6 @
5 @2 H/ K4 R: x
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
2 s/ R3 c$ n' I' @- q( N* {    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
0 A- \8 V9 m) ]! L( h( f1 I2 E/ r; F5 E" E
( s! v( q: F0 r) P9 r: o1 b* v& T& f
/***phy run***/ //phy out
: H1 S  D% j, K, E/ s7 c, w
+ V2 z8 ^5 t2 R  t" p# [+ t        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);! m$ }3 \7 _4 }
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
  f! m  S- k% ]! Y3 q+ l" J& X2 t  t) ~; m# L  v" c
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ `0 P! `' Q' e8 U; ^  ]3 d: J        reg &= ~(CFGCHIP2_VBDTCTEN);
* }, u% ~+ l4 a2 V( b" a/ u. ~        reg |= (CFGCHIP2_VBDTCTEN);, M  z( s6 ~4 ]0 k' Q, ?1 J3 `! J& L
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));  C: R/ N- e% j+ Y" f
#endif" s% Y2 B- t  ?1 ]' ~8 {# i
4 p& z" x, @' ~/ k, L/ @
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); % L* a+ r9 V0 @8 }- T; H
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
  _* b& B4 L9 B  Q3 T1 r; n+ m
/ j1 A4 K! J& E7 a/ }    reg |= CFGCHIP2_PHY_PLLON;
' v# ^, v) U) e! ^( d2 `; J1 m- g) K3 h9 }, ]& m6 d" R5 [# [
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
6 ^6 M" {7 B  N/ K$ n9 h+ j3 s2 ^1 ?$ G! ]* T: j5 _8 f6 f: @
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
+ v5 A! N/ _) Y9 T, r3 m: i; H. X
//#ifdef USB_MODE_FULLSPEED/ F% }; u* H& W/ o% U6 {" i
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
9 A2 |. A1 @) O  m//#endif /* USB_MODE_HS_DISABLE  */
% N, @4 Y" X+ _# M2 Q9 E7 o# W' W2 J; X) B* G5 C
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
: V/ P" l( z0 P5 H7 R" c}' T7 ~" e0 M0 J4 |5 I. T9 q3 i
3 Z8 c0 w$ [( l% [* g9 q
6 c. e% S+ Y0 o) o9 l5 i: A
  附件有我们的电路图:
$ h  q0 o  X% C% U& g+ Q1 w  请问能否帮助分析,谢谢.; u' M$ W9 C* {* D7 H+ [( U
0 Q* v0 I8 D2 e, h0 V

/ g3 ~  t# M8 |* I& a  g* W
1 T- Z5 U0 e, U# {: h! J
" [8 z: G4 S. Y. M7 q
# o- ~# Z9 N( d  @0 B6 |1 q2 q5 g: e

- n( P% h5 q1 A$ q& K2 Z. 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, 2024-5-2 17:15 , Processed in 0.037351 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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