你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【实战经验】STM32的高速USB信号质量测试实现

[复制链接]
zero99 发布时间:2017-10-23 18:08
STM32的高速USB信号质量测试实现+ V' e2 i, j, t7 W9 E1 K( _5 V

9 O1 g1 ]; e" A) a$ i前言- S* c0 Z3 Y2 K8 s
   STM32提供了丰富的接口资源,其中包括USB FS、USB HS、OTG FS和OTG HS。对于高速USB,由于信号速率相对较高。在开发过程中,会对高速USB信号质量进行测试,例如运用广泛的眼图测试。STM32的高速USB/OTG IP遵循USB 2.0规范,能够配合实现眼图等信号质量测试项。本文中,首先介绍眼图等信号质量测试的实现框架,然后以Cube软件包中USB 设备类的HID例程为基础,提供软件层面的修改。最后通过USB官方提供的HSETT工具,一步一步呈现如何使STM32实现的USB设备进入测试模式,以便使其输出用以获取眼图等测试项的信号。: k/ Y2 r5 Y0 t2 r4 R+ ^6 Z

. z4 u: ~& p) z2 h  ?% G, S5 P一 信号质量测试背景介绍5 m$ H; O3 w1 l; ]
    高速USB信号质量测试,实现框架如下图。
11.jpg
- [1 s2 L7 n5 I; x0 P         
2 l/ C; f+ e4 x$ k    根据测试需要,利用电脑端测试软件工具HSETT,使STM32实现的USB设备进入相应的测试模式。然后利用示波器抓取测试信号,进行信号质量分析。本文中不包含示波器抓取信号的实现描述,读者可以通过文末的参考文档进行了解。; K4 z, b  p) G( _' ~% k
    其中,HSETT全称High-speed Electrical Test Tool,是USB官方组织发布的一个发包工具(官网www.usb.org下载)。
+ F+ a) v' x& C) T    STM32的高速USB IP遵循USB2.0规范,支持多种测试模式,包括Test_J模式、Test_K模式、Test_SE0_NAK模式、Test_Packet模式和Test_Force_Enable模式。更多测试模式内容的介绍请参考USB2.0规范。 更多内容请参考对应型号的参考手册。其中,如果是进行眼图测试,需要进入Test_Packet测试模式。) D3 T* J/ U/ G$ U! w7 `$ s7 R- a
9 {1 q2 N* l* }0 r  J3 B
二 软件层面支持9 x/ A2 D8 H; A$ t5 _
    本文中实现环境如下:8 d3 f/ p6 T6 {$ E/ t" ^. x
    硬件平台: STM32F469I-EVAL
* j/ ?' J0 B* P( C2 X. f, X- S: V7 @    Cube软件包版本: v1.16.04 V, S' Z9 v& P
    HID例程文件路径 :* m) o. g9 v; s8 K: U5 g! _9 A
    STM32Cube_FW_F4_V1.16.0\Projects\STM32469I_EVAL\Applications\USB_Device\HID_Standalone.) I$ z) d+ w% d$ |% W, z( `* X
    HS Electrical Test Tool (HSETT)
) b' U- p: E/ o; x  C/ J* V    通过上述介绍可以了解到高速USB的信号质量测试,需要USB器件进入测试模式,提供符合测试的信号输出。基于此,下面列出例程中添加及修改处,以实现HID设备对测试模式的支持。
0 M* f8 \% o, l' I% Y% I$ P 12.jpg - |$ h# w) A; h
13.jpg
& q2 y+ ?7 q6 T. k1 w! N( `/ c8 p+ T; v$ ]4 t$ C6 ~* U2 w8 Q) |
    完成上述修改,编译生成执行文件,并加载到STM32F469I-EVAL板。注: 工程中包含三个子工程,分别是STM32469I-EVAL_USBD-FS、STM32469I-EVAL_USBD-HS-IN-FS和STM32469I-EVAL_USBD-HS,选择STM32469I-EVAL_USBD-HS实现高速USB的HID设备功能。
" [3 p" g" B( Y. L  {" j1 p
  Y! B6 F" p8 r1 P0 T三 测试模式进入
- Q) p) ?- m0 z+ L0 n( }: z5 X    利用USB数据线将STM32F469I-EVAL板上的高速USB口与电脑连接。如果HID例程运行正常,电脑会对将其识别为HID设备,可在电脑的设备管理器中查看,如下图。
( K. G$ \& ?9 n. L
14.jpg
& z1 F: {* a' G" c# m1 D          ' }1 x) P/ [8 d# r" ~! Q( T1 t
    打开HS Electrical Test Tool,出现主控制器选择界面,如下图。界面中内容及出现情况与电脑有关,如果电脑仅包含一个主控制器,不会出现选择界面。注意HSETT工具用于USB2.0,如果电脑只有USB3.0主控制器,会出现无法找到USB2.0主控制器的提示,并且不能使用。

4 g6 m* q/ w5 L 15.jpg
" ~9 [, R" e, H4 J) E         
' M  [# V; M3 B1 Y" ^    从设备管理器进入,查看主控制器属性中的位置路径。查找与HID设备的位置路径关联的主控制器,如下图(主控制器的总线、设备和功能号信息,在下图界面的“常规”标签中)。
) X% e3 p. m& j; W0 S 16.jpg

; Q$ P/ L4 L! W; o: D
: u+ m" w( [0 r: N. g. |# M    根据图中信息确定选择 “PCI总线0、设备29、功能7”,出现选择测试类型的界面,如下图。
# ]3 x. ~5 c2 W2 }' o
17.jpg ! ?4 w! y6 y# |# x- {5 T
          ) Y- m* T# Z1 b+ ^! U
    本文中介绍USB设备的测试实现。选择 “Device”,单击“TEST”,进入测试模式的界面,如下图。
! O# K( J( s% f. u: U4 y! n; P 18.jpg
8 k, ~0 a0 D# [3 F9 g
. l7 r7 O% d4 H( ]6 @1 x9 f9 e8 E8 s
    界面中列出了挂载在主控制器上的USB设备硬件ID,选择对应的设备。(实验时,对应USB主控制器上只挂载了STM32实现的HID设备。)
* Q' ~8 V/ s& }    点击 “Enumerate Bus”重新与设备建立枚举。枚举成功出现如下提示。

7 K; E! I/ ]8 H! b/ ^5 Q/ q 19.png
3 ~) R7 H1 O- S7 n' q         
, W& U( I% ]/ ]. v; D- H    HSETT提供了多种设备命令,如下图。为了实现眼图测试,选择“TEST_PACKET ”,单击“EXECUTE”,向USB设备发送设置Test_Packet模式的命令。
, h* H; ^2 U3 q( J 21.jpg
% `# K4 s! Z! Y* v& e2 @9 f7 c5 m2 ~7 X3 R# y" k) O
    发送成功,并被USB设备正确响应后,出现如下提示。然后可以单击“Return To Main”  “Exit”退出HSETT,释放主控制器的控制。2 p0 V4 i4 i0 a; C
22.jpg
6 c" _, x3 k4 K. W  G0 {! f
6 B. ~, ?; B3 ^( a) b4 y    STM32 高速USB进入测试模式,通过USB接口连续循环地向外输出测试需要的信号。在进入测试模式后,信号的发送不受USB数据线连接的影响,断开USB数据线,依然会发送信号,以便获取眼图等测试信号。5 P0 }; o! }- b& W4 E

; ~& O, W- l# b: M% q) H四 小结$ C: F: }7 p4 K9 n1 ^
    本文简略的从STM32角度,描述了高速USB信号质量测试中,涉及到的修改及实现。对于具体的测试及分析,不在本文介绍范围内,读者可以通过提供的参考文档Universal Serial Bus Implementers Forum Device Hi-Speed Electrical Test Procedure,更加全面的了解信号质量测试的步骤及实现。另外,文件中以HID设备为例,但需知测试实现与哪种类型USB设备无关。

: s' M9 ], x$ h; X0 _: ?7 U  L. Z. J8 m; |1 [3 P

8 ]  c8 a1 C2 m% o9 n3 L/ K! o& t0 ?. a

! r0 C9 X: |$ l& a& j% Z6 `参考文档: C8 z4 B+ c* x8 v+ R. \
Universal Serial Bus Specification v2.08 e5 z+ G  ]7 ?' r  y
Universal Serial Bus Implementers Forum Device Hi-Speed Electrical Test Procedure For Agilent Infiniium v1.2
6 f4 ~, G: _) wUniversal Serial Bus Implementers Forum Device High-speed Electrical Test Procedure For Tektronix v1.57 U( z6 i8 f3 _5 k& [
Universal Serial Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance Test Procedure
8 ^4 t. f0 W$ WRM0386 Reference Manual STM32F469xx and STM32F479xx advanced ARM®-based 32-bit MCUs

% z0 C, W3 @3 i( x' }
7 E7 g9 s1 A2 t/ d, f6 O! R

. N: y+ J7 y. W; B8 {5 v( E5 J2 O, O

- n' X: D4 \2 ~  a: s' j1 T文档下载1>>         文档下载2>>       更多实战经验>>      
8 z2 z) ?4 h* M8 v9 [. I6 T8 I, O. I1 v, l2 Z$ \; p9 U7 Z( e; M4 s
# `/ y- i1 i( [! |: ^' u6 G" E! \0 P& R
收藏 1 评论2 发布时间:2017-10-23 18:08

举报

2个回答
斜阳 回答时间:2017-10-24 09:16:07
签到        
soh4th 回答时间:2020-10-28 09:32:14
签到
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版