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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:4 A: i. \+ c; W; }: p
/ z+ _3 h! B4 M6 x
  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),$ Z/ h4 W$ _; S; S
) b5 }% [+ l# h4 `
  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。4 g5 b) j' T) U2 [2 M& O

  q1 U4 [% B& {. \/ S' p  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
8 b# B% N, m3 ?! g* w  i( ]6 k) Q- N6 Y" ~" k
  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:
# `0 T1 I& \; @6 t' P
4 x9 _  J3 s( Y  请问个和我们的设备电流是否有关:, n; ^- t2 B* k
( w0 p% Q1 f, _3 r+ b) k  [2 ]% R
void UsbPhyOn(unsigned int ulIndex)/ a6 X4 z% {0 k6 f5 L
{6 }9 h. R1 {! F/ I$ C
        0 K, K) M! k8 }+ P, b
   unsigned int  reg = 0;0 H8 y6 I( L" `! c9 P
   BSP_KickUnlock();
- F. w' k/ ]& l$ E2 ~8 X        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);1 F" V! ~+ u# d9 v  g$ Y
        reg &= ~(CFGCHIP2_REFFREQ);
/ e/ }# @* T% W5 p) |6 t. R' s        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
# _$ @$ |- d. O        //reg |=CFGCHIP2_REFFREQ_24MHZ;0 w1 b2 y/ L+ M, \) l/ G, L8 {
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;. I9 u; Q# ^0 [
8 N1 j" l+ |4 e5 u* u- L0 u3 \
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
; x* I' Q. {, d! Z: {- j        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));7 _; d2 |! K; m5 x5 F

1 d& U! k4 s; V: d, @- F5 z#if debug
  z5 R  J6 U$ t1 n% L4 v6 C+ O6 ~/***internal 2.0***/ //aux_clk2 [( D% Q* N- Q  c& c" r1 ~

: m5 Q* z9 C( o. Y2 g; N4 z. @% ^    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
$ T/ R$ j9 H# s7 K    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);
# o; g" y# z4 R    reg |= (CFGCHIP2_USB2PHYCLKMUX);% g: ?9 l8 {, U- ~- z# w
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;: c2 S4 M2 J" G) U' t9 v2 e7 f
" u- a& o, }" c; Q# x# @4 k
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 b( v6 [3 F0 T9 b$ i' Y$ Y    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));6 x7 T4 ~- ~5 l  P* F
6 k  v* N3 J$ M
/***internal 1.0***/ ///phy out
& I) m9 f# L0 s5 G$ r+ M' v! u
0 m8 b* |6 Q0 f! W1 p    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);" f; n; T" |' v- R+ n2 }) D
    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);
) X4 Q# i- A0 v: O7 s    //reg |= (CFGCHIP2_USB1PHYCLKMUX);3 X5 d; A  W' Q! Y
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
# H' Q) B0 o, L5 }* w* B. P! j
5 [6 K5 T5 |4 z3 b4 i    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);9 x% a+ p# E9 z  G; \3 c
    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
  R+ v1 U: k" S! I2 G  v6 z2 e1 w- i# D6 R6 x7 F
- Y7 a; u+ n  Z1 i: \: Q- [; l5 K
/***phy run***/ //phy out1 O. X# x* W6 N
$ O$ ?% y8 {% z* C1 W1 Z2 K, W7 V
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);$ j) \6 V4 I! y5 A6 _2 |- ^
        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));+ p. C) F5 M4 l! I+ Q; t3 T
1 k: C( ~0 B# S: d3 E
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
7 G6 e6 d, L7 l" z        reg &= ~(CFGCHIP2_VBDTCTEN);9 K4 z1 H: G! Z
        reg |= (CFGCHIP2_VBDTCTEN);5 j1 m, B. k4 @; D1 K8 b) D
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));' B; j# Y$ }/ i% ]
#endif+ b  j* Z4 t( K0 |/ ~  U
$ U$ \; R& ]8 p  u$ r) H+ A
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);   _2 E0 n8 y9 q8 s+ x3 U2 y% v
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
- a& @6 O/ |: H$ S! c" M8 s; B
) R5 k& J* y1 _/ J    reg |= CFGCHIP2_PHY_PLLON;/ |: y* Q+ L+ ]& x) l% U
/ b1 ?" F% E. W9 W8 T3 [
    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;; X2 g: @/ R' B
; |" e$ I  ^# L( E
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD)); ; ^" q( J$ G( V7 O5 \! g
0 I7 w2 o1 S5 h; e9 ?, `' s
//#ifdef USB_MODE_FULLSPEED9 ~, X3 S- N% t) ^, B, p
    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;
8 J1 s. D9 ]; T" Q' Z* z3 _//#endif /* USB_MODE_HS_DISABLE  */
0 O8 U/ @, f, t6 p4 }3 r8 ~& z- ?7 z8 J2 v6 A& d; C" o
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
+ q3 R: `/ f2 i  d1 B# p}
: w* v) v3 B$ K) G, Q/ J; h1 z
8 h) g$ x9 [1 u0 i# b0 Y
/ k( b# Z+ j+ S- K% h  附件有我们的电路图:
6 ?- ~! _8 u' `8 r* _  请问能否帮助分析,谢谢.
3 l( g$ ?9 g4 M# _/ Z! b5 H
% ]4 J5 y/ Q# l+ Z8 E! O, x' G* s8 R* `3 M. w' m
' B2 F' o& I" q8 V) t# E8 {

* m, v9 K. B7 j+ v$ _
2 b# ~) {. X: o: k! P4 d( _" ]/ A* J7 y

+ @6 e9 O; 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, 2026-1-31 04:59 , Processed in 0.060176 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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