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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:+ Y: h% L3 w# K! c1 c; {6 s4 q
) x% {" l6 _3 O$ r9 |0 ^1 [
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
' v) @$ v+ i/ e+ J; b
' B6 b9 \8 r8 r8 _  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。0 v. D1 I$ s! x: H
/ |1 k7 I, d  v1 K
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。/ U1 l) p+ p2 g
# W4 q' t: n/ _6 G! o
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
" \+ s( J. E$ H( C# u2 L) J( m- C2 y5 U. i
  请问个和我们的设备电流是否有关:
$ Q. ?5 _& S: s" s! t* \
5 J8 _$ W- x: ^7 nvoid UsbPhyOn(unsigned int ulIndex)
% T+ K5 B- t2 c  T* Y# Z{
3 Z5 Y9 O) V9 `/ z        ( A/ p8 K- z$ L! n6 l# k% u
   unsigned int  reg = 0;
) }1 w; h5 R3 C/ f" T  c  ]   BSP_KickUnlock();
5 o4 c5 W( m+ m2 x/ @" c        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 I8 N$ d+ V& H        reg &= ~(CFGCHIP2_REFFREQ);: O' q( r) `. a$ X/ f
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
/ e+ h# D: M# x# b' J        //reg |=CFGCHIP2_REFFREQ_24MHZ;
0 t$ Z# L% d& Q9 ]$ q        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;0 z- G- ^: U  o9 T4 b+ C. f0 _
- p2 J/ t% N4 _; \/ |
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 N5 F) W! [/ r5 z        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
) C6 _7 I0 `/ r0 P# f5 _( R) s. Q
' J! S8 I" @( x" d) E' @#if debug
- P, M2 c7 P+ d. o7 G, D; ~/***internal 2.0***/ //aux_clk, z$ g! |- ]* [# s/ P3 q

* L6 Y2 o$ }5 F( @0 M$ T; }0 Y    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 p+ z: W9 ~4 m4 U- c6 H    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);" d" p7 _' w1 k7 J4 k
    reg |= (CFGCHIP2_USB2PHYCLKMUX);( o/ x; a& N" ]$ T1 Z# C' U
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;0 l" E# H% S" d1 k' P
. p( ^! \& o8 D( s" L0 G( H
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 a  R$ |# s( P3 D! m, x0 {, a5 z
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
* ^% O) j# n2 S1 o
5 R/ f" P  b" m+ y/***internal 1.0***/ ///phy out% K8 E8 g1 z5 F# a; c' n( f
0 |$ p$ F! M0 T
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" R, M2 p2 j% e8 @8 h! i
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);! a: ^. p: z% g0 ~- X( ~4 G
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);, k; g# `4 K: }5 Z
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;9 G; P5 o( d$ R, o
! y/ t: U) O- k0 ?% Z2 O: @
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);7 o& _& ]" A4 l( B8 x8 u6 Z( R
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));7 M9 @1 D  d' P5 I
6 G4 M: \; g! {

3 O, m7 m/ J4 H4 W7 o/***phy run***/ //phy out5 U8 F" k& I3 G( b+ R- N* ^
, K) i0 X4 H# m
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# N$ o3 K$ S! J) y+ G( A        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));( u$ t& W; @! O' I- f$ M
" Q7 `( s- Z# \! |& ^4 \" q- a# n
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);3 H  q0 }8 W; o
        reg &= ~(CFGCHIP2_VBDTCTEN);* I7 {3 @, _& f9 e5 ]1 s7 n6 t% _3 c/ S
        reg |= (CFGCHIP2_VBDTCTEN);1 V, Z$ i: ?4 o. b2 e# ~; f5 `
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));$ Y. {4 ?" M/ F/ m7 c
#endif$ ?9 u" O. |/ D6 T( r
7 B  d" @: Z2 P; E3 w# x! u* @
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
' q6 U6 d4 l% Z. t* k( O    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   . M" k. _% u- Q, _& g1 f+ H6 A8 f+ E
9 [( @( i8 {& i
    reg |= CFGCHIP2_PHY_PLLON;* x* j6 B6 {9 H

2 `; b, W3 F- }# N  h/ U    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
! T# Y1 ]5 U* R) h) D. n
' {0 ?& K8 I8 Q3 r3 m    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
# \( S( w$ a, A+ Q# W$ }- L
( X5 ^- }  W7 F: E3 W! H" `//#ifdef USB_MODE_FULLSPEED& h& G- j( g" d5 q( ^7 ]5 C
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
( ~0 d; |) W1 @! B* m; p4 z//#endif /* USB_MODE_HS_DISABLE  */1 l4 J4 Y7 a0 m4 J1 s* C  n: e
2 V: h) Z- K: h/ K" H$ ^
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
% D: A' S: x& L4 g3 j- w}
, Y  n' I0 Q4 p2 G
6 x& c6 ~: z9 k) e6 c* J+ B$ d- Q" P) R/ W: L# ]; Z
  附件有我们的电路图:# K5 a; z$ H; b) X8 L8 |! m
  请问能否帮助分析,谢谢.
- z9 E: G1 L5 @& U! L1 ^7 q
) C' E4 Z4 w9 r# Q- E& b* Q1 t1 C; P: l1 k
: q+ r$ _; c4 z
# ]: k+ B: C" [6 u! _( @5 k9 B
/ M+ c0 a/ z8 L% Z

! H% w# @, t7 y4 |  i* W6 D7 \' A# _8 S- c- i6 R

本帖子中包含更多资源

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

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-1-30 22:11 , Processed in 0.040419 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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