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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
7 R* s4 e' z% T2 N- W6 W" X) W  H& Z) }# W
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
7 v3 {% K/ h% K3 O, S+ V$ }" C
+ A3 k- w3 f# s# T! t  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
0 H* J$ M( n  U! S4 R0 u4 }( E
9 |, h' r2 ^+ f8 S9 d  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
8 o  v7 |) y, K9 g0 f6 P: x3 H# Z. T+ G6 Q, N! C
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:, H3 l( S( M4 B9 d- W- l+ Q  b
# }% ~1 n# d; k7 D; O& _
  请问个和我们的设备电流是否有关:+ _7 M/ P: {8 A' ]
: u# W+ F. {. }) |4 j
void UsbPhyOn(unsigned int ulIndex). w( Q4 G5 e; u/ }
{
, ?5 y5 X+ b' D" X2 D  e& n) r       
, e+ K/ r4 s' i+ ^5 B9 E9 {   unsigned int  reg = 0;+ q. D: f3 e! ], {/ }% V$ _9 L  x
   BSP_KickUnlock();
, b8 g9 R, `" u; Z0 H        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 S6 d' w6 V+ X
        reg &= ~(CFGCHIP2_REFFREQ);
& m; j$ z+ z& ]9 {% G        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
4 `  E/ k- M' B) M        //reg |=CFGCHIP2_REFFREQ_24MHZ;* c, J- c: }! H( r. g2 F$ i, R
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
! @7 E! Q( d- g) o4 e
+ s2 g, I8 K9 T* e7 X        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);& K4 W5 ~# R# w+ f* p' d
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));9 _8 t: l! j- H6 H% E$ m/ m: @
9 Z9 t6 P1 m# z) v4 \
#if debug: |: D0 ?6 b8 S' k2 l% t
/***internal 2.0***/ //aux_clk
# {2 z' C8 L! ?6 d: ^6 B$ k& Q
) p7 o* d7 y5 h    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' d5 V1 |/ I8 P: e/ J
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
( ^2 F+ J7 u; S( J9 X7 f8 m1 [; ?# @    reg |= (CFGCHIP2_USB2PHYCLKMUX);
3 J4 B$ d7 p& i5 N: \8 I    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;4 R4 q& s2 @, J# c2 i7 N. @0 i

" R' J0 [' C' K6 d5 }    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
8 o% `) ^. ^+ Q( h$ N    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
4 o* o3 a: ]4 G* B, m6 ^
9 P% s- r. j% q/***internal 1.0***/ ///phy out0 w: ?! I# R' b
' Z( c/ [1 C& p6 H6 g+ `. s
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' ^; u6 ~; U9 D' B8 T( p* [
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
  k- i+ X; @* ]4 Q7 V3 b    //reg |= (CFGCHIP2_USB1PHYCLKMUX);1 s' O- J1 a! F
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;. D3 w2 u6 I) q5 l4 n
" T; V2 m4 v7 ]4 z4 O# s
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 Y$ n% D' l* r1 r- U" x    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));! U' c- B7 ^/ j
3 |* L" X5 N! t0 c3 X* o$ O
8 a1 g* q- l- M8 {8 |, Q/ ?9 W
/***phy run***/ //phy out# i/ `0 M& K; j8 W6 V

0 F8 l  G5 @7 W$ |, }        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);+ U: X( G8 V! t' Z2 e
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));/ v' w. e  }, F$ N2 Z' H7 O/ B* Z
$ a* r$ S* Y, d8 F4 K
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" |0 }7 p5 R) Q- j2 w( p2 G$ m( z1 ]        reg &= ~(CFGCHIP2_VBDTCTEN);
3 ]3 w& J3 B  X; P1 y6 [        reg |= (CFGCHIP2_VBDTCTEN);
# P3 j/ l% h$ l        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));0 T4 u! G0 T% Q8 X
#endif" Z8 `$ f* l: p# u" d9 ~
' x& Q# X: g  R9 H9 K1 i
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 2 _  k$ A  f" C0 B
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
+ k4 e: ~3 \! s- S/ P0 ?  L& w' e3 |* z! L
    reg |= CFGCHIP2_PHY_PLLON;) h. F( i" n: N" O) Y

8 o8 i) z& {$ y' m* B  Z    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
+ ?! w- l3 F& {. s
6 H, a. G" ~! I4 [. M) p3 F( t    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); - W% K; `; n3 m$ f3 W( n) l
6 g- E) L+ u' h, H) Q2 [
//#ifdef USB_MODE_FULLSPEED
: X. @/ t: o4 g    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;7 D! u) R  ^$ h) u2 z
//#endif /* USB_MODE_HS_DISABLE  */
4 @% {- F. B- G
! W2 K1 \. E4 F! [1 x! p5 S8 `tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));$ Z& \3 K, e3 |- [! E
}; E4 y  A8 s5 |% Y: b( ]6 q" B' ^
$ J6 @5 e) O8 ^4 f$ c

5 E/ ]" y1 S4 d8 ~2 u( e9 y: A  w1 {  附件有我们的电路图:
4 w$ A5 O5 X5 {' _  请问能否帮助分析,谢谢.
: Z$ M8 Z, Y( R; c4 p* N6 i+ w3 N, D5 ~8 s& p
3 R* u8 s' T# s4 f6 B) {! R
* I8 |, e. w5 M& V" l$ h& ]* l

9 Y) b) ^3 c) g' a# q: @& b* A
/ j4 j& l9 G  t  v4 f
# [0 z" n& \9 k8 s2 m, n" d2 w# `- e( N" o/ i0 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, 2026-3-17 05:04 , Processed in 0.042762 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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