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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:" Z& T: s  E* L$ @/ V! I
2 H8 t4 D# K1 V  X' b- [
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),: N( u/ {. t, L3 x
% [' A/ Q( _' N9 P! y
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
* E: T% w! O1 H* D  k# t( X: o0 q
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。' J# ^/ ]* Y+ a8 @/ W) `
3 }8 l5 U+ k) Z% z0 @# L! [
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:" j: Z; A) V$ Z& ^, I: a0 M3 w
; G6 `- Y- D7 @, f# a
  请问个和我们的设备电流是否有关:5 J" G% M& C2 _( ]) v/ b
3 P& L% F* ?0 s2 V( G0 t" H1 a, K
void UsbPhyOn(unsigned int ulIndex)/ S0 A( n  B0 s: \+ E4 ~1 K% K3 k
{
$ ]! i+ b' w, f1 m( n! s# s       
) p9 a( y; p% L7 h* w   unsigned int  reg = 0;
1 O& E/ A4 u8 N8 T( b   BSP_KickUnlock();8 C$ C0 H/ ~+ ?! O0 V5 `' r( w
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
' f. \; b" a0 S2 Q- c' R        reg &= ~(CFGCHIP2_REFFREQ);
  s7 Z( ?% b5 ^5 O5 q5 g2 _        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
  ]) p& A8 H( |. ~0 ]4 z$ H        //reg |=CFGCHIP2_REFFREQ_24MHZ;
! _2 ]/ ^) a. H1 J  o9 h* n. \0 d0 a        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;: h  M0 g: D0 O2 j  Y) G9 R( k, ~6 K
/ J( j5 W4 u- }* P1 [
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ L: K% q3 h4 c$ S
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
% j  q$ V- i  ?6 \6 M6 l. e. D2 a3 V! z$ c9 h* H* H
#if debug
) d2 i+ A: m7 a- M! b/***internal 2.0***/ //aux_clk+ ^& P6 f9 A) s% S

* y" C) Z# Z2 a4 V    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ A9 [" G# f2 n    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);" R* b  w0 Q' t- E2 O2 \
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
  n9 z1 k- O8 P3 ]% a, ~5 [# ?    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
3 u! y% o/ l/ `4 o8 v0 m+ H) s, y1 F+ a! v
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
0 p4 i) ?/ y' l    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
: }, R- B3 E# s
! N  \1 G# K# r3 H/***internal 1.0***/ ///phy out
) ]2 m7 i4 d: e# P, m% f- ]" F1 [0 T
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
4 S7 P! w8 ^' R% ], h$ @, L    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
1 G. l$ B% y! T" A5 |' o6 `: z    //reg |= (CFGCHIP2_USB1PHYCLKMUX);  N  f) D; ~2 N5 z! Z
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;2 I3 t1 \& L, s- S

% e: u  W5 n- i7 `    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 y7 ^2 j2 s% m! P
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));. |8 t; K/ i" t. I- {2 N# R+ o" ?

6 \8 ]' t2 ~7 Q. `( N& K7 Z
' X7 E4 N2 L' L3 T: Q& h/***phy run***/ //phy out
! N5 D1 H6 E  [9 ~9 R  {" R
3 s1 m* z$ {% U6 v+ d7 J- q        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);* ~4 H* |4 W) ^; G* D
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
3 @/ _0 W8 Q. _
7 }: H/ q8 A1 p8 ?        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. S. v3 F: c" r( k; f        reg &= ~(CFGCHIP2_VBDTCTEN);
) ]4 [( m5 L1 A' |        reg |= (CFGCHIP2_VBDTCTEN);
3 J- ]0 [% a  `7 u! e. w9 V' o9 a        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
* z6 P: U) d: |, b#endif5 u; z' S9 s: [- K+ d+ H: Z) K
0 v5 z, f9 K& K4 u7 w; r1 s
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( r% t9 y8 g, |3 H    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
* |% `0 w$ o( k- K! q+ R2 M: V& `/ v. ~+ u* \8 C
    reg |= CFGCHIP2_PHY_PLLON;- ?& n- v, r2 n) w: n

! G( _" H4 G2 t. H  ^    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
1 _2 f- w. x2 `- z: R* d
: @' L- W- E  I/ d    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
+ U( e, g9 U% Z" G3 m* Y2 v$ \! _# }- P# s
//#ifdef USB_MODE_FULLSPEED
1 ?( E5 d; o; b$ p    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
0 T8 W& i0 ~0 U. D//#endif /* USB_MODE_HS_DISABLE  */0 M) _7 o8 Y8 p6 E0 @5 A. W
- @/ F7 A, Z7 i! h: g. G8 h. C/ s
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
/ K/ k  Q: @, i! n% y+ n, x+ C}) e: f' q. R# p  O+ O

5 S) Q4 V' Y4 [- j( }! p* B4 d+ U% |6 s0 q% e# i: Y, l
  附件有我们的电路图:/ A$ P% j$ E% W1 ]' q6 n' w
  请问能否帮助分析,谢谢.
" Y* [2 J0 V: `2 G) P( Q3 n0 ]+ J" w( k" u  i7 w/ H
3 l/ s" c% f4 t1 D3 }
& B/ d1 z# M; [2 J; `* t$ I# N

: L% c4 i0 P: |: s- G
  c# [9 `  C7 H3 ?+ G' w$ }6 O! L2 b- I
' |  j; s: |1 ^5 t$ E( J9 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, 2025-11-5 00:02 , Processed in 0.038865 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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