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

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

[复制链接]
STMCU小助手 发布时间:2022-5-13 19:00
一、USB介绍
5 u* q. [! `, f$ u& J1 g9 K% u) V8 V4 E" V; \
    USB(Univetsal Serial Bus)的缩写,即通用串行总线。是现在通讯设备中不可或缺的一部分,可以这么说,电子工程师不懂USB那就太OUT了。6 t: M5 `. v" Z3 X) |

' f( @6 E% ~1 K2 e二、USB的发展史# O2 T' I. i& |5 P; n/ K5 X  X# f, I
: d9 r: n0 X) [
   1994年     Philips公司  Access.Bus规范(USB的前身)& E, {# ?: x: s) Y7 E  w+ f2 X% Z9 C
   1996年     Compaq、Intel、Microsoft、NEC   USB1.0规范+ t. s+ E  r$ I: T
   1997年     USB1.1规范3 }4 P! S& D6 z$ S2 T
   2000年     USB2.0规范
% g7 k4 P1 h! M/ c6 H" @6 ^4 ~: @   2002年     USB OTG规范 2 I' b! ^2 n; X3 U% V
三、USB的特点
- D/ m( i6 l7 @    1)优点:  
. D$ k. [+ a% {& ]    可以热插拔:告别“并口和串口先关机,将电缆接上再开机”的动作。) R! x8 {- p8 E7 e& J/ o8 Y
    系统总线供电:可提供5V/500mA电源。: Y* \6 |, R0 ]2 e
    支持设备众多:例如鼠标,键盘,打印机,显示器等。
5 s  {- c  z% j* |3 Q) d1 _% w" l    扩展容易,通过Hub可以连接多个设备只PC机
6 Y! Q4 V4 c9 X. \, K  k" M    高速数据传输:USB1.1是12Mb/s,USB2.0高达480Mb/S(ps210Mb/s/并口8Mb/s、R-                    23220Kb/s)+ G& v% K0 x7 i8 J8 M
    方便的设备互连:USBOTG支持点对点通信,例如数码相机和打印机直接互连,无                      需PC断开连接。! ^. \  V) `2 t, N" u
   2)缺点:  
7 C" `$ s/ t" c  t  ~     供电能力差:高功率设备必须外接电源,例如:打印机
1 p! a! S( c+ l9 N6 \5 c     传输距离短:USB总线的连线长度最大为5m,即便是用HUB来扩展最远也不超过                     30m,距离越远数据传输误差越大!& D1 o! A  q7 Y- |/ J. g
      不过对于这次做空中鼠标来说,还是挺好的。这些影响基本没有。: Y' }. r+ C3 Y
0 L9 t/ ~5 K' L+ ^& N$ k( L
四、USB的工作原理

! Y$ L$ K: S/ Y: Q( n+ `% M   1)USB识别过程
0 O# T& |- ?5 Y9 j, v     以前的确很好奇,往电脑插个鼠标,它就能识别出鼠标来,插个键盘就能识别很出是键盘,插个U盘就能识别出U盘,太神奇了,心中充满了好奇,一直想找个机会了解下,这回,终于懂了,USB是如何识别的,呵呵!. ~* f4 _" N+ H1 s
   在USB的原理图设计时,必须给D+和D-端接上连个电阻:4 s- O. ]& e! I. R3 e

, m# K: y+ v" j- p
@F71GTA`P00U1U3570`TWUU.png
3 ~- I% D2 {) L/ S' w) C
4 c/ P" p1 l2 q& l- t# v6 {! y( B
     D+和D-是两个差分信号线。 D+ 减 D-进行区分,可以看到区分度还是挺大的。
% I" w$ E7 ^( U% P! T7 b) ^/ J% J" r
LU7V)@[GV9[)M@G~4PKI`IF.png
7 |: l0 s+ p' @

$ `7 J" \8 H! Y1 M, A: X    在设备链接主机时,会检测设备电平,如果检测到在D+上有上拉电阻说明是全速设备,如果检测到在D-上有上拉电阻说明是低速设备。& m$ K# {; P0 |  w1 U, k( u  A; ?
    识别过程是一个枚举过程。
) W0 {/ y8 a" e    首先设备上电---USB设备会自动复位(将自己的地址初始化为0(包括设备地址和端口地址))---主机检测到复位了(检测到地址为0 的设备)---主机要求USB提供设备址,此时USB设备会将自己的一些描述符发送给主机(电脑),在这些描述符中包括,生产厂商、名字、干什么的、属于什么类别(比如U盘、鼠标……)……,接着主机会查找自己的当前没有占用的地址分配给设备,包括端口地址、设备地址-----想刚分配的地址发送索取信息--包括描述符(比如是U盘的话,索取U盘的大小、什么牌子等等),然后就可进行其他通讯了。想象还是挺神奇的,USB枚举居然做了这么多的事情。
5 w7 Y( M: q! a3 P    在枚举完成后,主机会给设备安装驱动程序,这也是我们经常可以看到的,刚买的鼠标、键盘或U盘插入电脑后会提示正在安装驱动,当驱动程序安装完成后就可以记性相关的操作了。/ \- O6 K" R7 Z$ c( }

  V0 w& G7 Q/ ^8 M  K3 s. R    2)描述符类型

/ K% Y% [. V3 R( g     在USB枚举过程中,主机要求设备提供描述符,描述符主要有一下几个:
" [) c$ w; j9 S- U1 b. f" h0 B% A     标准的(通用的)描述符主要有:
8 \+ `" i4 i2 t% G. g  d     设备描述符:属于什么设备
7 w- Q- v- F: U% i     配置描述符:% `" H. B8 f1 G9 a4 a
     接口描述符:5 h' t# ?! Q* {' f+ k
     端点描述符:有多少个端口
* O/ W3 _4 ]: i( n     字符串描述符:告诉USB英文的一个表述:比如U盘的名字,KingSton(金士顿)( P( r* p0 L$ ~; W+ k" ?6 q( _1 M" t

) f- [7 i# ?( l% D3 z& A3 S9 U/ ]. S# g6 j% w

* N" ?3 {$ h* g* A$ t/ ]; i# q
收藏 评论0 发布时间:2022-5-13 19:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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