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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:. N9 A- L4 w  T* e6 F( r

5 A1 z' D" G7 N2 h3 q4 X  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
1 A' P  G8 _" z1 L4 c
0 D/ g' d# Q3 F" j, l  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
/ L( N; {* ?, k5 V% `
) g+ v2 M* A, x+ J, l* H  p7 t# E! o% u  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
' q  M1 G6 K! D$ I& V% e7 x+ j+ U/ r) p. F2 x( Q* _( D! N3 r: P
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:) N& S" y; }8 f( g1 r1 F: I

+ R/ d) M  x* L9 J3 u  U  请问个和我们的设备电流是否有关:1 n% M: D* P( Z$ W: B1 @! u* D4 ?

+ N, q8 Z/ [( }, N7 Hvoid UsbPhyOn(unsigned int ulIndex)
0 E$ N8 I  B! z. _% I( T( q5 z{; O8 d$ u" G: y/ l; t% U; t  Q; i
        " F# L  L4 Z! J' a
   unsigned int  reg = 0;
( h$ g5 v, D6 W0 e4 [   BSP_KickUnlock();
4 O  c0 r' }: @9 o1 k        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);( C( c$ }- j, j  u# u
        reg &= ~(CFGCHIP2_REFFREQ);, \& L- O! v1 s7 j+ B) t5 ]4 O3 I; U8 J
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
' _# _; E  P* n        //reg |=CFGCHIP2_REFFREQ_24MHZ;
0 M/ P7 Q) b( A8 T+ n- a, N2 [/ _        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
' r: k1 n2 k" x* {  K3 Q3 [( {" W( `5 N7 K
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 h: F" ]# n: k2 J# d0 [( W
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));" O: D2 F' N5 \$ C
' U+ L% H: Q( P
#if debug
% B: |5 C0 q( m- [% q$ c/***internal 2.0***/ //aux_clk- d0 ?0 i( e2 M* J& M0 E0 b

- ^0 t" Y/ E6 y, l9 t' d. x/ N& A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 ?- c; i$ c' s, f9 O7 e! S+ p
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);7 r" n2 l% x  @$ j/ m, m
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
, i% t8 ]4 W4 R    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;9 r- r; S/ a+ r" Q4 X% Q! X: O
0 S; O! D8 }/ H% C& q4 E
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: l2 w5 l$ T" k, E
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
9 u7 {' f; c% i& W: V7 F* A: x7 h3 p# Y- \7 W- w: |
/***internal 1.0***/ ///phy out
0 J2 Z% h5 w* w- c2 Q3 O* [/ y/ b% @
5 d* t9 P3 Q3 ?- G, @    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);- ~* N( `& r: _' b0 o
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);- a$ j# k. F* w( U: G8 `
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
, ^1 P+ w1 R9 K2 E4 U. [    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;  k' z( A4 B9 i2 \- k" A2 i7 |. _
' X3 d, j7 N9 r: e; ~8 Z; [; w, w% }
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
+ U2 Y7 z4 O/ F8 E    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));0 e8 S$ B2 C1 T- z: a" l2 H

# ~7 J9 _* ]; ]* n* y
- i, f6 z$ f6 H/***phy run***/ //phy out' m. P: l9 f* W* G3 f) f; b) o
: {% C& f5 e" B' a3 b, z5 B
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);8 f5 s# d# }1 `& I; r
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
0 V7 }3 g: k8 ?- P
5 R! ~8 E" }) X        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 X0 W5 d- y3 }- X; q
        reg &= ~(CFGCHIP2_VBDTCTEN);
- k* P, w) R' V        reg |= (CFGCHIP2_VBDTCTEN);2 L# S- M& |$ y1 O2 c9 `
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));, X2 W: j* G+ C" w
#endif0 p7 P+ }1 D2 @8 P) Y) V' V- w

3 b& L% Z/ @9 D$ W" O6 A    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
, r( n1 g% W" h- c! f    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   ( r7 P) ~/ w6 u7 X8 h
, h! _9 s7 t$ T/ I( M
    reg |= CFGCHIP2_PHY_PLLON;  w  s0 Y2 Z& @) ?8 _5 r

, U' I+ J1 y) O: q6 C! {    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
  k* S9 `0 `" c) W  c! Z: b8 F% ?) _
* S  r8 e$ u5 V# T- a. {    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); . m% n3 {) [6 p
9 n) c3 r7 ?# U" \7 d+ E5 g
//#ifdef USB_MODE_FULLSPEED
$ X$ H# k: ]& ]! w2 Y' ]3 E4 J    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
4 J' b/ m$ u! k8 o& u//#endif /* USB_MODE_HS_DISABLE  */* A: t  f+ T  O( y  Z! N. {
8 P0 ~3 |7 l& ~, X6 [
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
$ t+ ~! L; |3 E  @9 o- E) U}* l1 E  a  `, j$ z0 i
$ b# [  G0 `5 p1 c& i

. \. N7 g1 f. W, z, E  附件有我们的电路图:
; j, E( c& d) W6 `+ `9 g5 `$ N  请问能否帮助分析,谢谢.8 j1 \: n+ c, Q6 X2 v  j* P

- p( K% `% F2 F7 Y: U" t! i7 ?: \6 l4 @( d1 I: }3 U

6 |  `' b+ ]( F6 N
$ T7 j* C8 i! O4 t: z& O% y) U1 H
- ?6 |5 X, W' a& C1 @# T% ^+ c

% J* V' x6 b# F" ]& R( E

本帖子中包含更多资源

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

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-4-26 14:34 , Processed in 0.036056 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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