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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[未解决] usb 2.0

[复制链接]

2

主题

8

帖子

38

积分

新手上路

Rank: 1

积分
38
跳转到指定楼层
楼主
发表于 2017-11-6 09:54:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好:) B& N# E% z5 W3 V* P

, _' G- Z4 D1 w8 j. n& m  我们公司在OMAPL138_StarterWare_1_10_04_01的基础上( OMAPL138_StarterWare_1_10_04_01\examples\evmOMAPL138\usb_dev_msc),* y$ N6 e4 u1 G* r7 D

9 f$ I) U: N% ?4 u- m7 x% a  实现了usb mass storage功能,在win7系统下面u盘功能够顺利实际,但是在电脑上接一个hub后,然后将u盘接到hub上,u盘不能正解识别。( ], |  n/ v/ Q' C# o2 u

: J" f0 ?/ a) V% R5 _6 ^5 q" P1 W  目前分析代码发现经hub转接后,电脑发(SCSI_READ_10 0x28)这个命令,usb 复位。
7 Y0 h/ u# q4 v$ D
5 l9 C/ z1 c  P' W  UsbPhyOn 代码如下,外部时钟配为19.2M. device mode:- v! I* \- K& l
8 h3 g* |9 O6 a3 \. C. ]3 x2 A5 E
  请问个和我们的设备电流是否有关:$ [. L# i/ _- K: k# e; w6 K0 G
8 \3 m8 q5 @0 v& U! s0 t
void UsbPhyOn(unsigned int ulIndex)
0 M+ A! k' z8 I: x( ~' M, i: d{
. x" a- @* i! N4 `% W! d        ; d1 e, ~9 I% |
   unsigned int  reg = 0;
; @& N. ~1 ~" z% i/ g+ V   BSP_KickUnlock();6 c: v! I8 X+ _: Y/ D4 V! H
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);4 Q+ t3 i# \: H/ a6 q
        reg &= ~(CFGCHIP2_REFFREQ);) j* f( R& W8 n+ i
        reg |= CFGCHIP2_REFFREQ_19_2MHZ;
  |7 |8 E7 W) a. G0 H- }+ k        //reg |=CFGCHIP2_REFFREQ_24MHZ;) U) a, X8 A$ z( l* G, y
        HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr)=reg;
% r  `) H  o  ]5 v7 `# d
( X+ M$ A0 v, x# Q6 O8 M/ s9 u        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
6 v8 G, L$ E1 N& D% w; p- w$ V        tprintf("\r\n clk==0x%08x:\r\n", reg &= (CFGCHIP2_REFFREQ));9 \, t8 N2 ]8 |/ p7 o
2 u/ q4 N. Z2 I
#if debug! m2 J1 @- U1 {* v6 N
/***internal 2.0***/ //aux_clk
# Y6 q" c( N) w. A# k7 D
2 \  O- z) _/ \) S5 o7 t    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);4 C& v, p! W2 ~" d
    reg &= ~(CFGCHIP2_USB2PHYCLKMUX);$ b/ ~* s0 U/ Q2 Y: [; {! V
    reg |= (CFGCHIP2_USB2PHYCLKMUX);
9 o& a8 j/ |2 X$ c$ D    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
( g5 K( ^  J! X9 L1 x2 u2 q+ d
4 F# u- p; i6 F$ b0 e    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
( l. R) f) n+ Z    tprintf("\r\n 2.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB2PHYCLKMUX));
+ P# E$ ~$ }1 s" ]; _4 u0 _9 }* K- i" y
& E4 f- W( U$ c- u$ N8 H/***internal 1.0***/ ///phy out  T, c* E$ f* S6 d0 p* ?% A+ {' p

0 V$ r: v. c) L# v6 V6 S# ~5 p    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
: e3 i' e) }4 I" u    reg &= ~(CFGCHIP2_USB1PHYCLKMUX);  N$ m# D( M  z& V6 |4 i
    //reg |= (CFGCHIP2_USB1PHYCLKMUX);
# J, V) C( [4 U1 ~* O    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
5 K$ E9 p' b/ e/ k
5 k) g5 c" A% u6 C8 `    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
* o4 X, w! c5 w8 H    tprintf("\r\n 1.0clk source=0x%08x:\r\n", reg &= (CFGCHIP2_USB1PHYCLKMUX));
2 x, z& v9 }0 F+ k% |5 y8 N. x! f& ?+ X

& X7 Q# D) p! @. O! {& L/***phy run***/ //phy out4 `0 S' q4 O3 O+ P% H4 B% b
5 R  m0 w. @! I4 N4 j* m9 ]! R: d
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
& [$ k6 N& N; q0 \! ?0 Q        //tprintf("\r\n CFGCHIP2_PHYPWRDN=0x%08x:\r\n", reg &= (CFGCHIP2_PHYPWRDN));: _: E, e0 ^4 `  C9 Q
" G/ u& B  B9 J6 l6 s
        reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr);
3 j( A' V8 p& k0 L$ c% g        reg &= ~(CFGCHIP2_VBDTCTEN);
( H! w! L3 {: F9 |+ D. K. o        reg |= (CFGCHIP2_VBDTCTEN);7 ~  y5 a! ]4 c* D/ U
        tprintf("\r\n phy CFGCHIP2_VBDTCTEN=0x%08x:\r\n", reg &= (CFGCHIP2_VBDTCTEN));
  \/ f* p  f6 N* u7 b#endif; Q8 S$ ]- a( B7 k
2 C! D8 `& T, \0 u7 ?6 e
    reg = HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr); 2 s- k+ A4 @# l9 @3 S
    reg &= ~(CFGCHIP2_RESET | CFGCHIP2_PHYPWRDN | CFGCHIP2_OTGPWRDN);   
% R4 ~7 Z3 x2 Z0 a- T# G( B: K$ T4 Y' K3 a3 K5 @: _( [# a, Z
    reg |= CFGCHIP2_PHY_PLLON;, y* a. o& m- ]1 J0 M1 O! Y

$ c0 N6 O6 ]  D; u, q8 Z    HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) = reg;
( K5 o% b# Q5 k+ K' U) ~7 d8 S4 P  O! q7 f* p: ~
    while (!(HWREG(g_USBInstance[ulIndex].uiPHYConfigRegAddr) & CFGCHIP2_PHYCLKGD));
) ~' r$ F  [0 y8 y$ s6 S# g  f% L% S0 k
//#ifdef USB_MODE_FULLSPEED
9 E$ T1 `# y, b* \7 m6 j    HWREGB(USB0_BASE + USB_O_POWER) &= 0xdf;/ B& _, S: R1 y* b$ D5 r  a
//#endif /* USB_MODE_HS_DISABLE  */
$ }6 z; R- {+ I6 F' @) X' Y  `1 j+ \4 F! a. M6 W/ [
tprintf("\r\n USB0_BASE + USB_O_POWER=0x%08x:\r\n", HWREG(USB0_BASE + USB_O_POWER));
. j& c  k( W4 K0 Y# `1 c1 W5 ]}5 [6 O* R4 h5 c) q3 b* X! ]% n! t

4 L# Q4 b  W; }+ c- R( T1 P, a, E3 n9 G/ r
  附件有我们的电路图:' ^$ P" {/ F4 d. h
  请问能否帮助分析,谢谢.% h+ P$ Z& R+ R! l

& i8 X$ p+ D0 x* B% f5 f( B+ `" Y& r* E

# y6 Q; c3 F0 O! [0 q
# B6 n7 b$ |, {( d
. _. U. R, a8 \! Y4 \+ Z) a7 r7 U
: C" n! D7 O9 l: {' t0 k, W8 x8 O
, e$ J/ c5 ]) n' X- x: m4 o

本帖子中包含更多资源

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

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-6-17 01:55 , Processed in 0.036927 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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