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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
, q& {& G+ h, w: {  S" q2 {- |' ]/ ^% u) u4 H- w
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
* [4 F0 n1 {8 @$ s0 e
" F' v' q( U1 V0 D1 i- e5 W# f  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。' E+ [" M8 K& \9 D6 d% v' u9 x( I

7 G# ]5 k" R6 e1 L' I  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。% Q. D2 m% _* S# B, b7 x
( n' L& @, f0 m/ ?7 q# w
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:8 W7 t' B( i  k  J
* P: T( g( a$ Y- b5 I. W& e7 D
  请问个和我们的设备电流是否有关:: H9 _& h) j) a2 _! y

  V0 O2 v  P. q$ J0 F, l' I+ @void UsbPhyOn(unsigned int ulIndex)% ~7 X, }" o$ B
{* S% y( H1 M+ M2 G
        " M7 y: N' F; L" I0 ^0 k
   unsigned int  reg = 0;
! J3 ?- R/ d/ U! n6 h   BSP_KickUnlock();: m  y; F; M& c7 n' m
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- J1 {& ]3 a; x8 h" T( a; c
        reg &= ~(CFGCHIP2_REFFREQ);
' J% E  b+ Q6 t- M5 K: z2 z        reg |= CFGCHIP2_REFFREQ_19_2MHZ;. q5 l7 M  J/ k
        //reg |=CFGCHIP2_REFFREQ_24MHZ;+ {/ R6 H* @& M8 |
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
, o* f9 K* B5 ^( N  u( L1 p4 E8 w# P# v8 W
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
! m2 `5 ^# F: x, G; k, z        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
+ U5 w( E4 C3 m3 ^+ e/ ~2 D! n  Z, u
#if debug5 t. ?4 u5 i1 r. d& \# q. J
/***internal 2.0***/ //aux_clk
  ~9 _. V) x, s" o5 v- I6 v% b
1 q" F/ q7 }0 V/ M! O& @& k    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" x/ Q) P. B+ _9 L% E: {5 t/ Y
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
+ z6 Y9 X+ p- z( ?2 n    reg |= (CFGCHIP2_USB2PHYCLKMUX);- N& J/ ^7 {+ p# G  V4 ]. ~4 }' Q* ?0 s
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;( x4 y6 @  I" e6 {" S

7 V5 o- s$ Z7 \0 T    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 s! @; K8 j5 `
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));! W5 _* a* U* f% l

/ d3 x. h7 h  K0 ]/ O2 X! c/***internal 1.0***/ ///phy out$ l2 x1 H% H) q8 N* T( |. H, i
# \. X, o. R! D& v5 {8 `+ _* {
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);  r- i, P1 R7 P; W
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);3 i: S8 Q! n# e3 L9 K, i
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);0 u0 i2 z0 U: O  c/ G5 Z! L
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
1 A6 U; V3 X7 m  |/ F. c5 p9 M% y/ j* |, _) |, u! V
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ H  F3 Z% r* o% p
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));: O$ ]% C4 t9 i

8 v- F  d7 H5 w: {& G+ J2 J4 M* [2 j, o) _$ |' @
/***phy run***/ //phy out& E& m9 y# f/ U; f# h* I; H

' Y" P8 G4 G9 n' d8 t: o        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" l' m1 Y: u8 y  G2 {1 _' _
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
0 w/ s9 `7 k- W& [& {
1 l' Q; P' o, u        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: F' B- W1 z9 _8 O. Y        reg &= ~(CFGCHIP2_VBDTCTEN);
& N; P* d0 K7 h" r& d( |        reg |= (CFGCHIP2_VBDTCTEN);2 ~- y' c. m  F/ z! d$ O) N/ m
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
1 y! ~7 O3 Z; z4 j#endif
7 p+ \/ M& m: \5 M  g; d+ N' B
0 i$ W" E/ {% N. u0 H" \9 o    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
) g2 h, W# u# N2 L# d6 D9 C    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
0 G7 N! }; y& Q
/ f; Q6 W1 w3 h. ?2 a    reg |= CFGCHIP2_PHY_PLLON;. W4 M/ x3 K; V6 ~! g7 k! Z

* d9 ?. v) o7 T/ @    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
2 |* _9 |  y; ]/ z
. i# g$ ^6 F( E% c) f    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
1 r8 U- I5 V( a
3 B% f7 t. R" O! b3 q9 {//#ifdef USB_MODE_FULLSPEED" w, [, X. q6 z2 [: }  e! j
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;* ~7 d: b* c" j6 h
//#endif /* USB_MODE_HS_DISABLE  */
; R3 l# D& E3 ]
0 v4 D# s9 y8 Atprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
7 L8 {0 m  ~$ Y7 p2 S8 H}
+ h1 O3 o; c, V# r. c( C
' G. l5 I# O, p5 p4 B  ]; ]) ]5 e8 I4 b$ V8 R. r3 Y; ?; W+ E' U1 O
  附件有我们的电路图:
+ [6 V% W2 ?  v0 y& x! v  请问能否帮助分析,谢谢.
! |2 A; q3 }" X% f! X! C6 q
1 G) \4 Y$ F* o
% g4 H. s! r1 `# [9 j; j% s+ V. ~( P" u1 f2 L6 @0 h! t$ c
; B8 _% Q2 V7 x7 S) p
) Y3 n7 b1 g% Y+ I4 C  [

. z) s9 ~0 K+ F* ?1 A, S# I
* g' J. H* d( D0 k1 V

本帖子中包含更多资源

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

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 22:51 , Processed in 0.036936 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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