STMCU小助手
发布时间:2022-5-13 19:00
|
一、USB介绍 1 g9 K% u) V8 V4 E" V; \ USB(Univetsal Serial Bus)的缩写,即通用串行总线。是现在通讯设备中不可或缺的一部分,可以这么说,电子工程师不懂USB那就太OUT了。6 t: M5 `. v" Z3 X) | 二、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规范 2002年 USB OTG规范 2 I' b! ^2 n; X3 U% V 三、USB的特点 1)优点: 可以热插拔:告别“并口和串口先关机,将电缆接上再开机”的动作。) R! x8 {- p8 E7 e& J/ o8 Y 系统总线供电:可提供5V/500mA电源。: Y* \6 |, R0 ]2 e 支持设备众多:例如鼠标,键盘,打印机,显示器等。 扩展容易,通过Hub可以连接多个设备只PC机 高速数据传输: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)缺点: 供电能力差:高功率设备必须外接电源,例如:打印机 传输距离短: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的工作原理 1)USB识别过程 以前的确很好奇,往电脑插个鼠标,它就能识别出鼠标来,插个键盘就能识别很出是键盘,插个U盘就能识别出U盘,太神奇了,心中充满了好奇,一直想找个机会了解下,这回,终于懂了,USB是如何识别的,呵呵!. ~* f4 _" N+ H1 s 在USB的原理图设计时,必须给D+和D-端接上连个电阻:4 s- O. ]& e! I. R3 e
4 c/ P" p1 l2 q& l- t# v6 {! y( B D+和D-是两个差分信号线。 D+ 减 D-进行区分,可以看到区分度还是挺大的。 ! T7 b) ^/ J% J" r
在设备链接主机时,会检测设备电平,如果检测到在D+上有上拉电阻说明是全速设备,如果检测到在D-上有上拉电阻说明是低速设备。& m$ K# {; P0 | w1 U, k( u A; ? 识别过程是一个枚举过程。 首先设备上电---USB设备会自动复位(将自己的地址初始化为0(包括设备地址和端口地址))---主机检测到复位了(检测到地址为0 的设备)---主机要求USB提供设备址,此时USB设备会将自己的一些描述符发送给主机(电脑),在这些描述符中包括,生产厂商、名字、干什么的、属于什么类别(比如U盘、鼠标……)……,接着主机会查找自己的当前没有占用的地址分配给设备,包括端口地址、设备地址-----想刚分配的地址发送索取信息--包括描述符(比如是U盘的话,索取U盘的大小、什么牌子等等),然后就可进行其他通讯了。想象还是挺神奇的,USB枚举居然做了这么多的事情。 在枚举完成后,主机会给设备安装驱动程序,这也是我们经常可以看到的,刚买的鼠标、键盘或U盘插入电脑后会提示正在安装驱动,当驱动程序安装完成后就可以记性相关的操作了。/ \- O6 K" R7 Z$ c( } 2)描述符类型 在USB枚举过程中,主机要求设备提供描述符,描述符主要有一下几个: 标准的(通用的)描述符主要有: 设备描述符:属于什么设备 配置描述符:% `" H. B8 f1 G9 a4 a 接口描述符:5 h' t# ?! Q* {' f+ k 端点描述符:有多少个端口 字符串描述符:告诉USB英文的一个表述:比如U盘的名字,KingSton(金士顿)( P( r* p0 L$ ~; W+ k" ?6 q( _1 M" t 3 S9 U/ ]. S# g6 j% w |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版