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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
你好:
( m; M& U1 S) K& M
4 k1 J* f- ^/ V+ K0 d+ m  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),, J/ i' e& O8 Q& B3 J5 t

2 J% X* R' O7 L- s  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
3 \/ z+ q1 _) R; z: f( J8 B
5 J% W# F& ]% u3 V  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
* K- ^& u  I0 |( Z3 R9 S* o7 w4 {
5 R2 B1 W7 h/ x9 f& Y  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:  k, b6 q( K9 H* \) B

. T* o5 j: b! b, P  请问个和我们的设备电流是否有关:
7 E+ ]1 u. z+ _; Q9 L
7 _2 Z1 L  u8 i" B  mvoid UsbPhyOn(unsigned int ulIndex). u2 K' z$ T) y6 e) e5 P! x
{: b# x' P' k8 b" n% |6 N/ _
       
' v7 Q7 T% ]. c. j8 @0 |! {   unsigned int  reg = 0;. u" Q( a7 u" {" h
   BSP_KickUnlock();
9 n1 P' D: f; B( B/ x* b+ w        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
# O6 X) j6 v4 ?& g# t3 r0 n# ?) }8 H        reg &= ~(CFGCHIP2_REFFREQ);: y3 M- G: Z6 `8 {  n" p/ D9 o
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
/ f' ], g3 o) r        //reg |=CFGCHIP2_REFFREQ_24MHZ;
3 B4 ]' z8 x; u* V        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
) b4 `. A0 Z9 ^, X+ i/ G' [+ l9 U4 m2 {- D
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);; |( y* p( J; e  e& n
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
5 |' k3 ~4 K- n. n6 ^$ w# q6 R0 `# e6 |/ t7 M; M- \8 x8 [$ `
#if debug
. O* Z! `/ W" P! Z- V/***internal 2.0***/ //aux_clk7 u* y: A! f1 o) ]9 O

, b  a' [& h- Z# Y2 q    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);# o) o7 S$ d0 Q
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);7 h: U3 p6 O' t9 t; a0 O& v
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
5 s3 U1 p3 g& p# M# R1 T    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
; t8 ^" Y) R7 Y
- f. d9 H$ X9 n' H4 e    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- y3 D+ ]; N0 f# x
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
  |2 o) e/ m4 K$ }3 J+ H, |
/ [, M+ e; ]! ]2 j/***internal 1.0***/ ///phy out
5 D$ D! O; J- m, E# e( i
& b& Z: U& E3 S2 h/ ~( i) v  P5 s# i    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);7 h! x, V2 @) m
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
$ Y% x- u+ `( D$ ?- o6 j    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
3 s% ?" ~5 ?) V: F9 D    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;- ^! z  j3 G7 a+ ?2 K8 B- E  S
6 Q2 e) j) h, s% K, l) v
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 v/ L- m1 H: {    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));; N5 z( p" i* M* ?
; _" Q) C- |& `8 ?& C! V5 P; T

2 B% v& T* K6 u+ C$ ?3 H2 v/***phy run***/ //phy out$ g0 r# y$ M: @  c
- X$ q* ]. E8 e# @: g' A# F
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);4 [% D' h- N" F6 k- R
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
/ O1 g! K' S3 W( a* v2 m' r" k6 K1 G! [# i
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ h  k/ k: y! k! Z8 U9 i+ W0 V$ h        reg &= ~(CFGCHIP2_VBDTCTEN);
" l/ M7 G* Q& h, [6 T9 o  o        reg |= (CFGCHIP2_VBDTCTEN);: Q5 t* y( h& m7 ~, v* `2 J, |
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));& i! t/ x+ S+ T1 ^9 H  H
#endif' R' [  L8 U) E1 D
- J# J/ h0 @* L. v
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); ' Q) Q% x0 d  v  M3 H
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
! K7 Z/ A- K# i8 p6 [/ [; ?: c4 w  B
    reg |= CFGCHIP2_PHY_PLLON;* a0 B" }- i. T

2 l2 B0 b/ ?$ G" q" v    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;/ Z$ [( @9 h- j1 N$ A: A/ L1 F* }

9 v+ c$ b; f' z7 M: U    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); / x. [) p' V: g: _6 g
. b% i8 s: ^+ s. j+ S. V
//#ifdef USB_MODE_FULLSPEED! X/ p/ }4 I# B
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
" ?& _  N1 e7 G" D+ k4 i) Y9 Q* ^//#endif /* USB_MODE_HS_DISABLE  */
. y" V$ [6 e% r: ^0 G
4 U9 x7 s8 z  i5 Ztprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
$ @# g, {! \1 E* D}: o4 l" f9 Y* K# [3 c' c9 Y
5 ?0 @9 o% s6 A$ s. A7 t

6 d9 e2 F' O3 N% ^  附件有我们的电路图:) H7 c7 L0 X; G) E. {
  请问能否帮助分析,谢谢.
% G& r  E; L$ ^$ `) B! x# ]1 [
) u: h% e+ o' ]+ L/ W
5 E. I1 C7 U2 |  l* c( H  ]3 A% \2 K* |
. D: W/ j; c0 r4 o: Z) ^' F

/ v( o0 N- ^1 L$ E" I$ y* x+ a: {) q& S4 C( K0 K

7 G4 m' w8 z, R$ S, ~4 F/ r1 [

本帖子中包含更多资源

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

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-6-16 20:54 , Processed in 0.036080 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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