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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:6 r. F7 D; N& r7 P  M7 l6 Q" B

/ {5 S- O" Z& m5 A$ M  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),# q' w1 J* [. ~0 m. |

6 K6 c& A- Q, P% I  W' k% t3 A  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
- x2 R: d& Y; ~0 K4 G9 l# a% X, t9 H7 V) c6 {8 n
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
7 C" J: z; T  O) Z6 c9 W
. C  }2 q0 S5 ?% r. K  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:, Y: N+ A2 D8 p

3 j1 v$ N: x2 m# D  请问个和我们的设备电流是否有关:
) q* F" O* o- [) P! s7 t9 c: o8 G+ B2 V  Q1 e
void UsbPhyOn(unsigned int ulIndex)
& c9 D' h& h( i  Y9 Z- g; N' S{
% N1 j% I9 U$ h( r+ m' a; L& K       
* ?0 ~6 w. |/ j# h   unsigned int  reg = 0;
- h# Q  E' [1 W/ V   BSP_KickUnlock();1 e$ T% F% C6 R2 C# V7 @
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 m* H- r+ O, E  h. \0 n/ F
        reg &= ~(CFGCHIP2_REFFREQ);
$ g+ H# L; O( U! A( X        reg |= CFGCHIP2_REFFREQ_19_2MHZ;& E6 K# q4 R4 D4 {" u- D' F- Z4 k; q
        //reg |=CFGCHIP2_REFFREQ_24MHZ;/ A% L3 ]9 j/ f1 P* j: `$ p- G4 X
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;, D& v  D; Y! [

+ ^' A; f' k2 M        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
4 V* @6 I# @% l7 q  w        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
7 r: t8 U' `  v
- b4 ~" h. W' R; [& ^, s3 k#if debug' b  n% h: a$ Z! d4 t' D7 ]
/***internal 2.0***/ //aux_clk
, H) c$ M) P" b: w/ ^2 s! `# b0 B8 l7 o" [) H/ H2 z( U
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);5 ^9 V. o1 e( ]& j# }! L1 D% i
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);9 r' Y0 J1 C& V1 O
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
: T. t3 K4 Y! ?, ^    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;9 {3 G, a8 X6 ?

6 C7 ^! {! D6 J& g    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);% [8 w2 D0 Q% ~0 I7 v+ q
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
% ~' |, x( u& P  O; z, D8 e# R( I! B
/***internal 1.0***/ ///phy out5 t0 w( S7 G+ d# S( L. h. E
, P$ S8 V/ c! t3 t) @" M* L' \+ `6 D( p
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
9 f& _% t( A6 F' E. {    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
! L. `% W; @: z: X    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
, ^" b: x8 {" P) ]    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
7 n2 C3 ~/ T7 y) J, `1 O
& D  t2 W1 c/ ^% u    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
% i& R% P  \. Y4 O3 b    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));- W; y) W; v. v1 e+ q: t

: [! }! L' Z* ^" A3 z+ r: Q" K% ~
/***phy run***/ //phy out/ g( g: ~- U/ Z8 c  H7 j
* ^5 k& H1 o& ?; @
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);, r0 w" ]: }" z
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));* a; d; l8 y* C5 t& q

) ~3 H! z$ R8 Q1 [- u* c        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ ]/ Y4 A1 C0 p3 U" o' w, m
        reg &= ~(CFGCHIP2_VBDTCTEN);5 S# W2 ?; r! g$ B6 W
        reg |= (CFGCHIP2_VBDTCTEN);# ?$ k* g9 O& v& v
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
5 A/ L4 T; u4 Q5 V1 _! d#endif/ c  g& s  C' Y8 \4 t
4 z# i( H! f! z- P
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
8 |1 {- N& }& A9 B! E; |    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   5 u+ U7 p, z) _
( j) U+ Q0 c) t) ^8 o0 b
    reg |= CFGCHIP2_PHY_PLLON;
$ i9 |2 ~7 q" b1 ^' p
- _0 c2 X2 i1 ^) A2 _; b( Z; K    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
4 K7 W! e0 l) y' K$ A/ m8 ?; l% H% L1 E# L% p, @9 d9 w3 l
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 0 I$ Y5 Z3 \3 A0 L+ S& E
' L/ \+ \7 t4 \& w2 I% |
//#ifdef USB_MODE_FULLSPEED% _3 }9 {" X# P: Y  _8 w
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;4 ^$ k* j) |" m( L
//#endif /* USB_MODE_HS_DISABLE  */
# c7 Z8 g6 {8 e
/ t0 P0 T. F* ^, C+ J/ C, i% i" htprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
4 [/ ]: v2 Y" r}; v  U5 t$ {3 w; ?( j9 _1 z7 P+ j# i

$ u' C' a( d, ?4 V3 Q
5 ~$ a: L# }  c9 D/ ^! L4 t+ a# r  附件有我们的电路图:
. ~2 d! G* U1 b; C$ ^% u  请问能否帮助分析,谢谢.
" m. x1 [  V  _" Y8 \! e
% C  S9 z5 I( @) j
3 N' _( N8 {) |3 I3 }) i# A& I3 S8 E$ n+ J, a8 d* z5 T/ ^0 K

0 F3 E! \: o* S2 R( q9 N1 v# g" y6 O8 @: V

. y5 M- t$ Y/ H2 z, D! G) G+ {  Z& M) j4 ]. B- g4 I& `  J/ V

本帖子中包含更多资源

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

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-8-2 20:55 , Processed in 0.036605 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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