通用串行总线 2.0 简介

1. 

HID(Human Interface Device)人机接口设备类别是Windows 最早支持的USB 类别。由其名称可以了解HID 设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID 设备不一定要有人机接口,只要符合HID 类别规范,就都是HID 设备。

MSC USB 大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。
USB 海量存储设备类包括通信协议定义和通用串行总线运行的计算。本标准规定了各种存储设备的接口。通过这个标准的计算机连接到的设备包括:移动硬盘、U 盘、数码相机、各种数字音频播放器和便携式媒体播放器、手机。

VCP 是USB 的通信类(CDC),实现USB 转串口的功能,在PC 端通过USB接口是虚拟一个COM 口,实现USB 转串口的数据传输。

2. USB Overview

USB 设备首次与主机相连时,将启动 USB 枚举过程。枚举是设备和主机间进行的信息交换过程,包含用于识别设备的
信息
。此外,枚举过程还分配设备地址、读取描述符(作为提供有关设备信息的数据结构),并分配和加载设备驱动程
序。整个过程需要数秒时间。 下图  显示的是通用枚举过程流程图。两个文件属于主机端,用于枚举和加载驱动程序过程。

  • INF — 包含了安装设备时所需全部信息(驱动程序的名称和位置、 Windows 注册信息和驱动程序版本信息)的文

本文件。

  • SYS — 驱动程序需要该文件才可有效与 USB 设备进行通信。

设备被枚举后, 主机将负责总线上的全部设备之间的数据通信流向。因此,如果没有主控制器的请求,所有设备均无法
传输数据。

数据从主机转移到外设的操作是 OUT 传输。数据从外设转移到主机的操作是 IN 传输。

3. USB 通信过程经过了 D+和 D-线上的各种不同信号状态。某些状态发送数据,而其他则作为特殊信号状态使用。下面
内容介绍了这些状态,它们的参考列表如下表所示。

差分 0 和差分 1: 这两个状态用于通过 USB 进行的通用数据通信。当 D+线为高电平、 D-线为低电平时,该状态为差
分 1。当 D+线为低电平、 D-线为高电平时,该状态为差分 0。

J 状态和 K 状态: 除了差分信号外, USB 规范还定义了其他两个差分状态: J 状态和 K 状态。它们的定义由设备速度
决定。在全速和高速设备上, J 状态为差分 1 而 K 状态是差分 0。在低速设备上,该情况则相反。
单端 0( SE0): 在 D+和 D-均为低电平时所发生的状态。该状态表示一个复位、断连或数据包的结束。
单端 1( SE1): 在 D+和 D-均为高电平时发生的状态。不会故意生成该状态,并且不能在 USB 设计中出现。
闲置: 必须在发送一个数据包的前后发生的状态。如果一个数据线为低电平,而另一个数据线为高电平,则表示闲置
状态。高电平和低电平的定义由设备的速度决定。在全速设备上,闲置状态是指 D+为高电平、 D-为低电平。在低速设
备上,该情况则相反。
恢复: 用于使设备从挂起状态唤醒。通过发送一个 K 状态实现该操作。
数据包的开始( SOP): 当 D+和 D-线从闲置状态转换到 K 状态时,将在开始低速或全速数据包前发生。
数据包的结束( EOP): 在低速或全速数据包结束时发生。当 SE0 状态持续两位时间(后面的内容将介绍位时间)以
及 J 状态持续 1 位时间时,将发生 EOP。
复位: 在 SE0 状态持续 10 ms 时发生。在 SE0 至少持续 2.5 ms 后,该设备会复位,并开始进入复位状态。
保持活动( Keep Alive): 在低速设备中使用的信号。低速设备缺少了一个帧起始数据包(用于防止挂起状态)。
每次经过 1 ms,它们都会使用一个 EOP 来防止设备进入挂起状态。
 

4.不同 USB 端口和连接器

Mini 和 Micro 连接器具有五个(而不是 4 个)引脚。额外引脚是 ID 引脚,用于识别 OTG 应用中的主机和
设备。


 

 

2. 全速设备硬件电路

                       a                                                                                                   b

设计目的:主机判断是低速设备还是全 速设备。D+被上拉是全速设备,D-被上拉是低速设备。

SoftConnect     USB 连接可通过一个 1.5kΩ 上拉电阻将 D+(对于全速设备)拉为高电平来实现。在确立与 USB 连接之前,软件可以使用 SoftConnect 特性来完成其初始化序列。该特性还可以在无需拔下 电缆的情况下执行 USB 总线连接的重新初始化。 在使用 SoftConnect 特性时,CONNECT 信号应控制一个外部开关,这个开关与 D+和+3.3V 之间的 1.5kΩ 电阻相连。然后,通过使用 SIE 设置设备状态命令来对 CON 位执行写操作,从而 实现软件对 CONNECT 信号的控制。 
GoodLink     GoodLink 技术可用于指示 USB 连接是否良好。在成功地对设备进行清点和配置之后,LED 指示器将永久接通。在挂起期间,LED 是关闭的。 该特性对 USB 设备的状态提供一个用户友好的指示。它是一个非常有用的区域诊断工具, 可以将故障设备分离出来。 在使用 GoodLink 特性时,UP_LED 信号用于控制 LED。UP_LED 信号使用 SIE 配置设备命 令来控制

图a 当USBCON0的时,USB_D+为高,设备为全速。

图b 反之

在LPC1768D-被上拉是低速设备,发现主机(HOST)不能和Device连接。还需要进一步研究

2. lpc1768_rt-thread-3.0.3+usbDevice (virtual serial port)

代码仓库

3. USB2.0 串行通用总线2.0 介绍

AN57294 USB 101 An Introduction to Universal Serial Bus 2.0

https://download.csdn.net/download/nicole088/10769976

 

4. 引用

[转载]  https://blog.csdn.net/king_jie0210/article/details/76713938 ( Originator king_jie0210)

作者整理了 ST官网的“USB CDC类入门培训” 的资料,非常好。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「Thunder Studio」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值