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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
. X9 G: ?5 m0 f/ P6 x; n) t
1 V* i/ Q2 L7 T. w) x  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
) W, Y8 C" x  E+ z% |: d8 k- I/ \  f* n- y9 N8 O, i
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。2 ]8 r; u; G, z: F! H

* c# \& t+ M4 q6 z/ U: |+ P  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
- X% f' k0 d! I
4 Z! ^0 O. J' g& [* X! V( {  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:: |0 P9 ~! k8 x% k5 F  x& @
* z7 Z2 i& V7 j- s  b
  请问个和我们的设备电流是否有关:+ p4 @9 P3 c# T! M9 S) b/ C% v/ {+ V+ J

1 x. i" \1 }* s/ o# t% h4 Xvoid UsbPhyOn(unsigned int ulIndex): ]3 {; k$ a- W; D) F* w3 F
{
7 J( ?# X" b8 m& s. Z9 Q        ( E" b* \$ R$ B( U" T* ^( G
   unsigned int  reg = 0;5 n( a8 j( _5 I0 \1 A
   BSP_KickUnlock();- W& W0 x/ p' {) o$ x
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 c2 K. L% A- t/ b8 @# Q
        reg &= ~(CFGCHIP2_REFFREQ);/ T( D9 }* ]! v5 B# k5 ~
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;4 Z4 ?& {4 ~: {, W
        //reg |=CFGCHIP2_REFFREQ_24MHZ;5 f4 u1 m& v- n8 R
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;  d( P/ J$ T5 ?5 [  [; p& i
% C) Q( [" D8 k0 O/ \. s
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" m: v6 [; G2 F7 I- i+ }        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
4 T; m" ?. p0 [$ X" u  Z! O" D* S2 Z8 P1 ~# x
#if debug
* C3 {5 ]& A& t0 s/***internal 2.0***/ //aux_clk
" l- Q, c! B  @
% I# l% @1 ]% B! n2 Y+ a% S& _    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
) _# l: R" x9 i8 r    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);3 h5 `. W+ o& c4 M0 F3 B
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
' d- A% r0 d5 L2 X    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;0 s1 R8 ^) O! X5 f& Q& }; G
1 y: V+ Z! q; s* E# r- f- w
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);, {9 R8 w3 a- k. Q8 V
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));! H' B$ D# b3 I: k! b
; i& z+ `. E2 O6 ~& \
/***internal 1.0***/ ///phy out
" a! {* G9 m( q2 [' k1 @( V; }7 A& |6 H; h0 p
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);0 n+ @5 i  Q* I8 S; Y
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
( E2 B) t) x8 S5 e3 K) Y    //reg |= (CFGCHIP2_USB1PHYCLKMUX);2 b; T! V) r% I
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
6 Q9 g$ `( _7 A9 @: m  a7 W" C! C& t  ?2 ]
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);; R0 ^7 r8 A+ `) `$ m; C
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
  G; t/ l$ u1 J; p5 e- r# s2 s2 a) ]3 B% Z0 W

1 C$ J% n  P0 \3 W# p. W/***phy run***/ //phy out
3 B. ~; O- I0 O) m1 r
5 V  u$ X1 p1 ~9 @        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 K. ^  n% K% L' f4 A" s# ]# Z& J
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));
- {# K, a% b% O! Y/ C
- X& L$ a! f* b3 r1 q8 i        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( R" @3 _& h6 x0 L1 _4 r+ ^5 U        reg &= ~(CFGCHIP2_VBDTCTEN);# [" {& }- z( u7 q
        reg |= (CFGCHIP2_VBDTCTEN);8 l" M) @3 O7 l- C1 m6 M, P* g
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));8 Y/ Y6 t) e  O+ P" k1 B: K
#endif/ M6 ?6 L0 o" q- z5 r

" k4 a6 _0 [, Q& m    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); ' h8 {. y  ~) G; d- V* J
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
% Q0 z( Z9 c8 \1 _& y
. W; C* T, u2 M5 F    reg |= CFGCHIP2_PHY_PLLON;* m) S3 Z" L9 K' X; w6 P" B0 `

6 j. t; {1 D6 b* x! r6 g    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
- @) N5 F: k- t" O/ v8 A6 H! y" u5 ^) E: E
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
) R; ]% e$ |' E! q9 }/ Z1 @9 w6 W% _# j! M3 b4 U
//#ifdef USB_MODE_FULLSPEED
2 S9 s& b& R4 L2 b5 _    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;) m4 \  C* l% I$ A2 `2 \" Y- i5 O
//#endif /* USB_MODE_HS_DISABLE  */
1 t6 b% `! e. p: g9 p$ l" k4 o
* _; Z' c2 E4 K, F' Qtprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));% J9 H$ I1 F1 {
}
! W( l4 Q8 A9 t5 I6 `& a7 C1 D. j% U5 h! O$ r! Q. y

! u4 F0 \, X  {$ L  附件有我们的电路图:
/ V, U" c. l3 P; V, R) h: M4 X  请问能否帮助分析,谢谢.
( D! p4 K0 V5 I# L) h% |; Q, u" p2 o6 O, F( |
5 m& F. G4 a! [7 W; j7 ^
' p, c- T* ^/ t* O) Q& I  d

- |' C9 S( F) v8 g' i6 j/ g2 U0 f5 N& a6 D

. F3 _& s  Y+ A' N/ p' |
$ W  Q. o9 J* a+ Z6 N$ `

本帖子中包含更多资源

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

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-4-30 04:21 , Processed in 0.046034 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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