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

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

[复制链接]
STMCU小助手 发布时间:2022-5-13 19:00
一、USB介绍
: L, o2 O- n8 y& m  t% h+ q
, Z+ L/ {: g& s" `* p- l    USB(Univetsal Serial Bus)的缩写,即通用串行总线。是现在通讯设备中不可或缺的一部分,可以这么说,电子工程师不懂USB那就太OUT了。
" H6 d+ j$ ?4 L+ @3 P& H
  o( Z" c& H- V3 _" J+ Q二、USB的发展史
$ Z; e! e/ |2 `
* l. w1 {- R* a& [6 i3 y8 y   1994年     Philips公司  Access.Bus规范(USB的前身)
/ V! ?( N6 t6 s; I  j7 z   1996年     Compaq、Intel、Microsoft、NEC   USB1.0规范
0 G8 b& h9 Z7 k3 M3 k   1997年     USB1.1规范0 h5 g1 z: o+ K5 ~
   2000年     USB2.0规范4 W# o7 [+ Y; B
   2002年     USB OTG规范
/ t. c5 {# P6 W% D9 A三、USB的特点: T! l" A+ L# o; M4 `
    1)优点:  
7 E3 k8 W+ J' a" h, y' a% d2 ]- m    可以热插拔:告别“并口和串口先关机,将电缆接上再开机”的动作。
+ z# i( I1 I$ g& U( R- C    系统总线供电:可提供5V/500mA电源。
1 S% l- b' v5 _    支持设备众多:例如鼠标,键盘,打印机,显示器等。2 U( ?/ ]# f0 c1 p" z2 r
    扩展容易,通过Hub可以连接多个设备只PC机$ I* i4 |. P: r/ ?, t+ E% C
    高速数据传输:USB1.1是12Mb/s,USB2.0高达480Mb/S(ps210Mb/s/并口8Mb/s、R-                    23220Kb/s)
6 r3 [4 x2 Y9 H# l    方便的设备互连:USBOTG支持点对点通信,例如数码相机和打印机直接互连,无                      需PC断开连接。
( L# Y+ ?1 g1 U! O  k; @$ b   2)缺点:  
5 ]4 b  A5 ~0 c4 V+ p     供电能力差:高功率设备必须外接电源,例如:打印机( K9 ~/ W) n: k
     传输距离短:USB总线的连线长度最大为5m,即便是用HUB来扩展最远也不超过                     30m,距离越远数据传输误差越大!
9 b5 W, U. w5 ]# f      不过对于这次做空中鼠标来说,还是挺好的。这些影响基本没有。3 t  F7 n4 ~. s+ p' T+ u

  Y  O+ I+ r3 L) X四、USB的工作原理
8 U9 q% m# s% ^; c0 x: t5 }2 ^
   1)USB识别过程
! c( u$ g7 a1 ~( I     以前的确很好奇,往电脑插个鼠标,它就能识别出鼠标来,插个键盘就能识别很出是键盘,插个U盘就能识别出U盘,太神奇了,心中充满了好奇,一直想找个机会了解下,这回,终于懂了,USB是如何识别的,呵呵!
& M! F, {8 Y: [; Z2 I   在USB的原理图设计时,必须给D+和D-端接上连个电阻:
* B6 l: m+ K) N
& }" d1 i: H& _2 {0 [* ]
@F71GTA`P00U1U3570`TWUU.png
; S1 ]0 y" f0 Q( }  J2 c

1 E. j) A3 I4 G     D+和D-是两个差分信号线。 D+ 减 D-进行区分,可以看到区分度还是挺大的。
+ \: b  A9 x( z: b
' o* E; Z9 p2 D( x' T
LU7V)@[GV9[)M@G~4PKI`IF.png
( `* t8 t0 L5 @' X. }% D  i* k$ d- p

& h" b- {1 D- P, z" T+ l$ N+ D; M    在设备链接主机时,会检测设备电平,如果检测到在D+上有上拉电阻说明是全速设备,如果检测到在D-上有上拉电阻说明是低速设备。
9 |6 r1 b4 A  ?  k+ t8 e    识别过程是一个枚举过程。/ m- x  l7 u4 d/ ]# \5 G
    首先设备上电---USB设备会自动复位(将自己的地址初始化为0(包括设备地址和端口地址))---主机检测到复位了(检测到地址为0 的设备)---主机要求USB提供设备址,此时USB设备会将自己的一些描述符发送给主机(电脑),在这些描述符中包括,生产厂商、名字、干什么的、属于什么类别(比如U盘、鼠标……)……,接着主机会查找自己的当前没有占用的地址分配给设备,包括端口地址、设备地址-----想刚分配的地址发送索取信息--包括描述符(比如是U盘的话,索取U盘的大小、什么牌子等等),然后就可进行其他通讯了。想象还是挺神奇的,USB枚举居然做了这么多的事情。9 c+ z" f/ J+ e4 Q: `& u" {
    在枚举完成后,主机会给设备安装驱动程序,这也是我们经常可以看到的,刚买的鼠标、键盘或U盘插入电脑后会提示正在安装驱动,当驱动程序安装完成后就可以记性相关的操作了。3 N9 e3 ^9 H" d" `6 `6 s' `. _) K
7 Y. d' V. M& S& a, Q- m$ `& C
    2)描述符类型

& ]) Y: [4 x. v# E/ L- ~5 b$ T     在USB枚举过程中,主机要求设备提供描述符,描述符主要有一下几个:& p5 i+ S7 R5 O8 C) Z+ t# g5 u
     标准的(通用的)描述符主要有:1 L/ Q# Y* P* _/ j. U$ `$ S4 [
     设备描述符:属于什么设备
, w) S. _) ~! E  A8 i2 `2 y     配置描述符:7 `$ o; b: i- D6 n
     接口描述符:7 w3 ~8 ~* {% e
     端点描述符:有多少个端口) Z( P$ _  ^# m/ R- g+ w
     字符串描述符:告诉USB英文的一个表述:比如U盘的名字,KingSton(金士顿)5 s" D3 z5 w( c9 Z8 x

/ R" ~& G" J. l0 i. S: z7 H
& a0 h1 d6 o- }( i/ e
0 O: D2 m% C- q4 Y# y
赞 收藏 评论0 发布时间:2022-5-13 19:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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