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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:
  Z, }+ }) p* \! N8 o+ V2 w/ s; N: Z) a* }+ k
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
4 q9 x1 g  M4 b' W" F: R/ f" @/ N& M! M& A# o) }
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。
8 v3 e; I* q/ x, U# Y  ]& c( Q9 H/ i. s7 U" \. O
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
/ t0 j; K- q; c( Q0 i6 X0 O- Q+ ?; ?5 A
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
- ?6 H# k9 q( n  O: Q# ?# C3 s5 H0 H7 ^
  请问个和我们的设备电流是否有关:
# P8 X; n( E8 I1 K. i8 Y0 @: a' s
; y7 w5 b, p# p$ j+ H/ ivoid UsbPhyOn(unsigned int ulIndex)
. l- q: Q2 Q7 K: S0 u$ u5 @" M' l{
- c) s3 b+ y: d& K% k% s! M        * W0 R2 A# L0 P  F
   unsigned int  reg = 0;* q1 Y6 M5 `5 ?0 Y: W: O5 g  i
   BSP_KickUnlock();8 S: K& \) S& T- F& F0 m( h
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
5 B* S. Y; Q% g7 I/ K        reg &= ~(CFGCHIP2_REFFREQ);+ i" ?3 Q0 B8 b2 N, B
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;6 x; h" O& v3 a( j3 o* G; i/ A
        //reg |=CFGCHIP2_REFFREQ_24MHZ;
! Z' f% J$ Z& f" M4 w        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;8 V6 J7 G2 q3 e( r6 P! z2 p) Y

, c5 f1 @- z, J  }" g# ~        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);( I, h. n1 ]3 C2 N: U: R
        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));  l. P1 [8 k! c( X/ N
$ g7 Q! d8 U; b: D
#if debug7 d2 A$ B( f- w# {
/***internal 2.0***/ //aux_clk: g" G) i! G! L4 W& d
1 N. ]" @3 H3 g6 B5 g, U
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);/ W/ ?) f. h, R6 s
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);2 w' u( y# U; G! H( F
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
6 A% O& N0 K% I& C$ t* x1 J5 s8 e3 X$ Z    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
, c4 R, E6 T4 i4 \2 Z$ n  [: B; N; [6 l% @
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" Z* y3 B# _! j& P! w5 H' b    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));& q& {- H8 E4 R
# e) [6 r; A( t5 N# x4 l
/***internal 1.0***/ ///phy out- |2 Z- [" O* I. D
/ B6 z: Z! c" M3 H
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" K: X4 B1 {) p% ~1 Y% ?    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
! P9 l+ ?( B) A4 F# m9 G; ~    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
4 C' E* o7 s5 V- r; x) r    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;( j( K0 W8 S. a, L! Y* s
0 y' {: ?# S) j- w; l
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 p8 m* M- K, c( R; r. ]/ p, K    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));. r9 C6 S3 V: G9 p1 j( P1 C; b
0 q2 t+ ~9 A9 c- q
( n+ M6 f; q$ a  I
/***phy run***/ //phy out! U* U6 R5 N  A1 e. A5 `/ g

" H4 c7 }: Y* Q3 B8 W        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);' k# X# `7 p8 z( _* L6 c
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));, Q4 l5 q( H, Z& D. Y0 Q
( a4 c/ V9 p/ B* Z! O* Z
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: E, R% z' i' i9 K
        reg &= ~(CFGCHIP2_VBDTCTEN);: G1 Y' ]& w' Q. a) z) a
        reg |= (CFGCHIP2_VBDTCTEN);
$ H; w* N  o; d6 \* `        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));" [' c- _- r. r  Z  _
#endif
! [  O  e1 q( b" ]+ u$ d1 _" S( i2 Z8 s, B8 e
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); : o. ^+ X4 A! J; p
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
- h$ L7 u3 `1 N# W, H1 q* z+ z) j/ o/ o8 ~$ H' B9 M) A1 i1 Y
    reg |= CFGCHIP2_PHY_PLLON;5 |# i. a0 u/ ]9 T: A4 ?, q
6 x' @! p7 z  T- P
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
- _! _' g# X/ r* m% B; J9 R: @" L# p+ C+ j  c8 S+ a/ n0 ]$ |
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
6 @  L& B0 o) V( G/ T
9 t8 b' I) h8 _//#ifdef USB_MODE_FULLSPEED
% x1 q& ]9 u& q, z# y6 W4 B    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;- I4 ]3 m, z+ c8 Y
//#endif /* USB_MODE_HS_DISABLE  */+ s! Z( `  P8 ^5 s. R

) r, q- A- v1 N0 w3 d$ Btprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));& R; I* d9 j; P2 A$ H
}. s, [# @) H- @" p7 S# w

' l: h5 e4 V+ Q$ m$ b# Z# ]) F5 Q% u# {+ I; U2 \& ~
  附件有我们的电路图:
% O/ ~7 l4 F+ D: ^3 g' R5 f: c  请问能否帮助分析,谢谢.
" T& E  S9 r! R# q+ ~
0 |3 {, K. `1 v0 N* H* [' Z8 D. R' r! B9 B9 A9 I

( \# c( K. ]# c3 X* B( b3 T2 `8 W7 U( J/ h! a8 w3 T* [
& F6 c% D+ g, o1 `! U$ a# q. t- {

5 p& U4 i, ]5 [9 S& O" u% f
4 m$ g' m8 y# T8 F

本帖子中包含更多资源

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

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-5-4 23:12 , Processed in 0.037032 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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