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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:9 C/ X- K' P3 X+ @7 d1 m0 H, S
) a* [" ]2 |+ T' T! K, Q
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),
3 h8 V8 k; I6 K1 Y7 g; {: L* B# Q  {5 }1 D; o4 Z  G
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。$ I. U! ?3 p% P# {- T& N% E' S
! L- m" Y9 t# W& D& i
  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
$ @; S5 Q4 z  \$ Z( b1 u) v  w5 U' e. K
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
( i, u% @6 n+ ^: X4 y5 Q6 x) B/ B, j; s. ]8 y+ W! _
  请问个和我们的设备电流是否有关:
$ U# n- n) K5 \6 E
. n3 ?+ B! j8 h/ @$ k/ c) z; ivoid UsbPhyOn(unsigned int ulIndex)4 y* u+ g5 r2 r+ U( A
{( `. ?  [, `) {* L9 M6 N5 |& b
       
: @( p9 G* q$ i3 K   unsigned int  reg = 0;; B% e) q+ F8 `3 k
   BSP_KickUnlock();) i+ a9 l) t- X4 M) i
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
. s! d! h8 O& N+ }5 L' x  M        reg &= ~(CFGCHIP2_REFFREQ);
8 H3 N1 S: N3 T        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
  Q; E; v  v" C, N- z$ i: `        //reg |=CFGCHIP2_REFFREQ_24MHZ;3 O! n6 ~4 `6 r
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;" \' y1 C. J/ A/ O

, {2 b# p7 d  R# K+ F% S7 X        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
+ y3 Y: |$ I7 I, i  t/ V        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));
( z( i. h9 U9 s% k! _  h, D+ Q3 o& D& n: G9 ^9 V, t6 Y$ F
#if debug0 \% s4 j! ?0 r/ ]3 r6 X
/***internal 2.0***/ //aux_clk% x% X2 c7 o  Z% n/ f

* W3 g3 D- \, V+ l9 G6 |    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
/ {' M- o" z) _9 O    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);7 ~* e/ ]  y2 Q* M
    reg |= (CFGCHIP2_USB2PHYCLKMUX);! {, Y# m# t- h
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;& E7 ^( R, |& f2 X0 q7 ]
/ C) T) [8 y7 i
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);( l9 Z- a( ]5 L/ O
    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));# d9 j, S/ F# j5 a6 D2 e8 b. K
$ C6 X5 G1 n" n& D* }
/***internal 1.0***/ ///phy out$ O% ^0 C% I8 g( b2 B* j& i4 s# t, g( A
$ a+ a, i1 g/ \: n* a& l
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
1 d; D4 S% G; [( Q& F( c' N    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);) M) o- f. P2 N0 Q
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);. r; N3 J5 [" W; ~! T3 m1 A  w
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;& _# y, K5 B) h+ z7 g$ c

" o6 V9 G# E, j/ h    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
" b' g$ s! @. ~$ Z' {    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
- U/ V5 q" E% R# S+ H2 y
9 K* l1 `, f/ b, E! l3 R, I, W2 \
# R+ A1 `) }4 u9 Z: ?/***phy run***/ //phy out9 q! o/ n( e  B, g4 ^# ^
( m9 F$ X+ q' Z1 S2 g$ W* _
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);% z# X) j1 J* x+ T
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));# Z; J4 i; |- P: \
+ I9 n! n4 ^; ?" W
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);: ~- h" ^8 Z6 R6 N  q
        reg &= ~(CFGCHIP2_VBDTCTEN);
1 q6 g, p. t& S! H  Y        reg |= (CFGCHIP2_VBDTCTEN);# T# d8 G: L6 Z+ @- X( \& v
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));2 }% x' H! p# q$ z3 Z! d3 ~  X
#endif
, W- _& ~! H: m6 R
* M3 y1 N- e/ {6 p6 N& ]* {    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
+ E; n& b1 t! b$ _    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   5 {) u) k8 @% j1 \4 O7 V

( H$ x; g# e" ]& x! X& X6 W) g    reg |= CFGCHIP2_PHY_PLLON;
: Q! s) U% t& q' I3 R, Q6 U
9 N, a& b1 o8 p3 a    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
- E# z" K: {! g; W( L' Q
& P5 p" F' ]( J    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); 3 x& m( K/ o6 g# Z" v
# K  \' V: b3 K% Z
//#ifdef USB_MODE_FULLSPEED; x0 Q( C. {- [" r2 S  _& Y
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;; o$ _7 x& N* T+ A
//#endif /* USB_MODE_HS_DISABLE  */) \- h4 P8 O8 I0 q7 B

( O& l% T! G; f5 E( \tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
+ @' ]' {7 W/ A! q}9 [: O4 |4 l) R1 v0 M8 l
6 I& N' |9 a" k8 d4 o( ?

1 B& e# J2 N! L  附件有我们的电路图:+ P( S- G9 c' }% n# x1 w, G
  请问能否帮助分析,谢谢.
1 f" l2 u0 h  d& D% X4 F
0 Z* ^/ M" M9 F! H( T6 e0 r- l* g3 T

5 Y/ v& }' J, c& @  O5 U0 O7 C1 `/ o

. [9 Q: I6 X+ k5 u, |; }4 c5 Z: v$ T: x! `" Q& X

* i: O! S% Q3 B5 }1 M4 ^9 c

本帖子中包含更多资源

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

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 07:54 , Processed in 0.043052 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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