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

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

[复制链接]
zero99 发布时间:2017-10-23 18:08
STM32的高速USB信号质量测试实现9 `( w' `/ O: D" L/ @

6 d) y3 _7 C& |5 Z7 {) ~前言
1 u( @: y5 F6 H   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设备进入测试模式,以便使其输出用以获取眼图等测试项的信号。' c2 c+ a7 O6 T. r

( X0 Z0 q# A8 Z1 {. {一 信号质量测试背景介绍1 b' O) v3 Y8 b: G4 U9 ~
    高速USB信号质量测试,实现框架如下图。
11.jpg . o: ~8 w0 X1 Y$ o+ D% N- L5 R
          3 T) b6 y" o; |5 F% W2 [- b
    根据测试需要,利用电脑端测试软件工具HSETT,使STM32实现的USB设备进入相应的测试模式。然后利用示波器抓取测试信号,进行信号质量分析。本文中不包含示波器抓取信号的实现描述,读者可以通过文末的参考文档进行了解。
- `! U5 F: K5 {6 |# r8 W, L    其中,HSETT全称High-speed Electrical Test Tool,是USB官方组织发布的一个发包工具(官网www.usb.org下载)。* J/ H/ \2 i$ ~
    STM32的高速USB IP遵循USB2.0规范,支持多种测试模式,包括Test_J模式、Test_K模式、Test_SE0_NAK模式、Test_Packet模式和Test_Force_Enable模式。更多测试模式内容的介绍请参考USB2.0规范。 更多内容请参考对应型号的参考手册。其中,如果是进行眼图测试,需要进入Test_Packet测试模式。
& G' o- k" X) m7 ]! [
4 k# E# d  X  S, C) j3 T5 \二 软件层面支持! |6 S  H% Y3 `6 k
    本文中实现环境如下:
3 u& c+ _: B3 U# ^" q    硬件平台: STM32F469I-EVAL6 }1 W" r! `* ]7 n0 [1 I
    Cube软件包版本: v1.16.0# E: o; Y/ n2 _: i; w
    HID例程文件路径 :0 v- K' f2 O# l7 z; c/ U! E; U
    STM32Cube_FW_F4_V1.16.0\Projects\STM32469I_EVAL\Applications\USB_Device\HID_Standalone.1 ~5 a4 w( \5 M& b6 `
    HS Electrical Test Tool (HSETT), ]" F  v$ T7 A% J' L* t
    通过上述介绍可以了解到高速USB的信号质量测试,需要USB器件进入测试模式,提供符合测试的信号输出。基于此,下面列出例程中添加及修改处,以实现HID设备对测试模式的支持。5 ?( L- X" \( ~% s+ V
12.jpg
# Z) s) [1 u' k5 }2 h: M3 S
13.jpg
; k% R3 T9 V" c9 h# c. M5 T1 S: C' |1 j) N7 B9 f, a7 X
    完成上述修改,编译生成执行文件,并加载到STM32F469I-EVAL板。注: 工程中包含三个子工程,分别是STM32469I-EVAL_USBD-FS、STM32469I-EVAL_USBD-HS-IN-FS和STM32469I-EVAL_USBD-HS,选择STM32469I-EVAL_USBD-HS实现高速USB的HID设备功能。
: {4 N' I" u' f2 \% ]$ p5 z  X9 {4 G3 C( c2 |$ t
三 测试模式进入
- z6 P4 a* t4 W9 [' @5 G' v) d    利用USB数据线将STM32F469I-EVAL板上的高速USB口与电脑连接。如果HID例程运行正常,电脑会对将其识别为HID设备,可在电脑的设备管理器中查看,如下图。
% j2 U3 Y! r3 h+ B1 a& \
14.jpg & G9 i. A, v& q# o
          $ z6 F7 n6 N7 J  k6 K
    打开HS Electrical Test Tool,出现主控制器选择界面,如下图。界面中内容及出现情况与电脑有关,如果电脑仅包含一个主控制器,不会出现选择界面。注意HSETT工具用于USB2.0,如果电脑只有USB3.0主控制器,会出现无法找到USB2.0主控制器的提示,并且不能使用。
& |2 I4 X9 w2 S- D
15.jpg : B4 Z2 J1 \* J4 S+ \; T
          9 `* j' ?4 b8 |! F4 w
    从设备管理器进入,查看主控制器属性中的位置路径。查找与HID设备的位置路径关联的主控制器,如下图(主控制器的总线、设备和功能号信息,在下图界面的“常规”标签中)。
7 a6 N" s+ ]3 H4 l' s 16.jpg
0 R7 u& D1 L' N) s: c

4 ^2 |! q/ z4 q5 V    根据图中信息确定选择 “PCI总线0、设备29、功能7”,出现选择测试类型的界面,如下图。
/ @7 Q: N) R  i' }. W: g* i
17.jpg & G/ ], K3 c/ [: U
         
+ p7 f( D% `) C! _    本文中介绍USB设备的测试实现。选择 “Device”,单击“TEST”,进入测试模式的界面,如下图。
' A. I2 L3 \0 ~% b, E 18.jpg
& z5 W/ v3 v5 ]" ]1 h! Q

# B+ |& T& c: W    界面中列出了挂载在主控制器上的USB设备硬件ID,选择对应的设备。(实验时,对应USB主控制器上只挂载了STM32实现的HID设备。)3 [: s6 ~) v* B3 X& ?) h4 D
    点击 “Enumerate Bus”重新与设备建立枚举。枚举成功出现如下提示。

# D' e  U8 p. ?  J. O 19.png 3 ^# J/ Y1 F; F$ j% V+ p- _
         
2 U1 w3 q0 I) q" y) I2 ^( |    HSETT提供了多种设备命令,如下图。为了实现眼图测试,选择“TEST_PACKET ”,单击“EXECUTE”,向USB设备发送设置Test_Packet模式的命令。
( s/ p; x6 T$ ^! g4 S* N/ Q9 @ 21.jpg
6 r" p1 R1 X# C& R& g1 t, E1 `. ^5 ~- {; x7 |2 h) s( T1 V
    发送成功,并被USB设备正确响应后,出现如下提示。然后可以单击“Return To Main”  “Exit”退出HSETT,释放主控制器的控制。
; \' j  O* U9 h 22.jpg
! R8 I* R1 a/ n& P8 w' S# h& G# b, N# A2 S$ A; P
    STM32 高速USB进入测试模式,通过USB接口连续循环地向外输出测试需要的信号。在进入测试模式后,信号的发送不受USB数据线连接的影响,断开USB数据线,依然会发送信号,以便获取眼图等测试信号。4 }0 [) C. e' I
! [- f2 Q2 S" |# v
四 小结
' D1 V+ g7 E5 i: a5 T: t0 C    本文简略的从STM32角度,描述了高速USB信号质量测试中,涉及到的修改及实现。对于具体的测试及分析,不在本文介绍范围内,读者可以通过提供的参考文档Universal Serial Bus Implementers Forum Device Hi-Speed Electrical Test Procedure,更加全面的了解信号质量测试的步骤及实现。另外,文件中以HID设备为例,但需知测试实现与哪种类型USB设备无关。

! O. ~5 C/ X* i9 A1 [$ Q0 l, {% _3 [3 _9 e0 V9 x7 s' Q

8 M0 }3 k" x3 `7 i  p- Z
" F, S4 P4 u" q5 ~. ]% L" l  n

" k1 T& z& w, o  T参考文档:
/ b( X, x6 |, R, D8 `Universal Serial Bus Specification v2.0' Q% ]  F8 }) Y: _3 Q: N+ p
Universal Serial Bus Implementers Forum Device Hi-Speed Electrical Test Procedure For Agilent Infiniium v1.2! N. ^+ ]# x2 w' p' j+ K3 N, V
Universal Serial Bus Implementers Forum Device High-speed Electrical Test Procedure For Tektronix v1.5
$ _6 l/ M' ^  Z! k* y7 I# B, OUniversal Serial Bus Implementers Forum Full and Low Speed Electrical and Interoperability Compliance Test Procedure. f1 `+ h: k% s' @& _* r5 A* F
RM0386 Reference Manual STM32F469xx and STM32F479xx advanced ARM®-based 32-bit MCUs
# C: d  N) u  {  |
- P/ ]- s6 B' o1 R" m
& I- o0 _/ L/ p! X) v  X- e

/ d, W3 c! `7 @6 M
: P9 M$ D) l3 J4 |0 T
文档下载1>>         文档下载2>>       更多实战经验>>      
- b  n, d: I. w6 r! I; r1 T4 h! [( c* Z; O; @3 N0 j7 Z

$ \9 h: ]8 |: {
赞 收藏 1 评论2 发布时间:2017-10-23 18:08

举报

2个回答
斜阳 回答时间:2017-10-24 09:16:07
签到        
soh4th 回答时间:2020-10-28 09:32:14
签到

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版