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

【经验分享】STM32F103之USB(一)

[复制链接]
STMCU小助手 发布时间:2022-5-13 19:00
一、USB介绍) E  }8 H# B. I& z" k7 y  c
: `( t  M6 v- m0 [2 G
    USB(Univetsal Serial Bus)的缩写,即通用串行总线。是现在通讯设备中不可或缺的一部分,可以这么说,电子工程师不懂USB那就太OUT了。2 M. Q- M- X& M  l# Z

3 a2 H  k& d2 _二、USB的发展史
$ O. w0 h. O8 X! K0 R$ V
1 v+ Q# S1 h. g' Q" m& V8 S( `7 T   1994年     Philips公司  Access.Bus规范(USB的前身)! j* ?" Y* N" I# Q) a
   1996年     Compaq、Intel、Microsoft、NEC   USB1.0规范
8 K& o! ^" l* i7 [2 e. _' ~   1997年     USB1.1规范
- I2 {* ^1 K' Y$ T, }" Y   2000年     USB2.0规范4 M' [; w# y) J0 ?, l- p
   2002年     USB OTG规范
9 \, n7 i8 f  T5 c& B三、USB的特点
  n: t& C, e- \+ `    1)优点:  
2 m& _- W+ t) y) Y    可以热插拔:告别“并口和串口先关机,将电缆接上再开机”的动作。5 [/ r  x3 b* W. Y( T
    系统总线供电:可提供5V/500mA电源。
- h- J: S/ O: D    支持设备众多:例如鼠标,键盘,打印机,显示器等。4 t& N5 T8 ^1 z5 |
    扩展容易,通过Hub可以连接多个设备只PC机
4 }3 d3 z# I8 v+ m' P! j    高速数据传输:USB1.1是12Mb/s,USB2.0高达480Mb/S(ps210Mb/s/并口8Mb/s、R-                    23220Kb/s)
' |/ P. U- O" ?    方便的设备互连:USBOTG支持点对点通信,例如数码相机和打印机直接互连,无                      需PC断开连接。0 `5 O4 _$ `& t/ q. R0 ~
   2)缺点:  0 ~- k: t! @  [/ q" o1 G
     供电能力差:高功率设备必须外接电源,例如:打印机6 Z1 r' \$ Q- q8 V/ L! {9 o4 P
     传输距离短:USB总线的连线长度最大为5m,即便是用HUB来扩展最远也不超过                     30m,距离越远数据传输误差越大!
+ N7 `0 t! n; L4 {      不过对于这次做空中鼠标来说,还是挺好的。这些影响基本没有。- P/ e  K% [5 z; \; t* G

$ m/ K9 {. r7 i( l; A& z: e/ L! T四、USB的工作原理
$ Z) g/ J5 J2 D  s+ p5 m$ h
   1)USB识别过程
8 O7 N0 x) N  ]( E) N# K- i4 F     以前的确很好奇,往电脑插个鼠标,它就能识别出鼠标来,插个键盘就能识别很出是键盘,插个U盘就能识别出U盘,太神奇了,心中充满了好奇,一直想找个机会了解下,这回,终于懂了,USB是如何识别的,呵呵!
% X! `+ k4 v5 T3 }) K& O" J   在USB的原理图设计时,必须给D+和D-端接上连个电阻:1 u. A4 J5 {0 Q: @* j
; {8 N, a1 J) |, \' _# ~
@F71GTA`P00U1U3570`TWUU.png

4 a& t  q2 g+ J+ H& p
* ^% Y- g5 x8 `     D+和D-是两个差分信号线。 D+ 减 D-进行区分,可以看到区分度还是挺大的。
7 T5 j; z( x; ]  H1 O& z* z; b: \( c' X; m
LU7V)@[GV9[)M@G~4PKI`IF.png
! k8 \% K/ \7 a* Z$ g% E5 \- D

% j) A  C9 ?% `+ ?1 \+ L9 w    在设备链接主机时,会检测设备电平,如果检测到在D+上有上拉电阻说明是全速设备,如果检测到在D-上有上拉电阻说明是低速设备。
6 D7 d8 o* U$ F0 K% c% `% }# i    识别过程是一个枚举过程。7 d- E( q  ^# x+ S9 T% d
    首先设备上电---USB设备会自动复位(将自己的地址初始化为0(包括设备地址和端口地址))---主机检测到复位了(检测到地址为0 的设备)---主机要求USB提供设备址,此时USB设备会将自己的一些描述符发送给主机(电脑),在这些描述符中包括,生产厂商、名字、干什么的、属于什么类别(比如U盘、鼠标……)……,接着主机会查找自己的当前没有占用的地址分配给设备,包括端口地址、设备地址-----想刚分配的地址发送索取信息--包括描述符(比如是U盘的话,索取U盘的大小、什么牌子等等),然后就可进行其他通讯了。想象还是挺神奇的,USB枚举居然做了这么多的事情。4 {( g0 E2 {# c( P  S
    在枚举完成后,主机会给设备安装驱动程序,这也是我们经常可以看到的,刚买的鼠标、键盘或U盘插入电脑后会提示正在安装驱动,当驱动程序安装完成后就可以记性相关的操作了。
7 Z3 B% L$ x2 Y% b+ O0 V- }9 |3 T( W; Y. Q  H. K4 ?
    2)描述符类型

& q# S9 w) ^- [: w# c: H7 @     在USB枚举过程中,主机要求设备提供描述符,描述符主要有一下几个:
# A1 X+ X$ ]$ A/ ^% I1 G. R1 }) V5 N     标准的(通用的)描述符主要有:
5 S, v) G0 C6 X) i+ J     设备描述符:属于什么设备; k5 i( W3 V5 t
     配置描述符:
- V4 m( @6 H7 d2 S( o1 k0 |     接口描述符:  ~. i7 r: ]2 C) ?5 ?
     端点描述符:有多少个端口
( I  v1 b2 s2 e1 t- s% \' m     字符串描述符:告诉USB英文的一个表述:比如U盘的名字,KingSton(金士顿)
+ k! ]2 e* m, M3 |; g8 q" d0 i! }4 v9 u! ~, [

( s% h* C5 ?7 |# p1 Y7 w1 y: a' ]7 W- V* t' a- D+ ~( y7 l; f+ i
收藏 评论0 发布时间:2022-5-13 19:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版