写这篇博客主要目的是为了解决我以前对于usb , hid , 串口这三者之前具体区别没彻底区分弄清楚, 导致概念上依然存在错误理解。
下面将会梳理我对这三个概念理解。
串口,原名叫做串行接口(Serial Interface)别名叫COM口(串行通讯端口( cluster communication port ))。PC 机一般有两个串行口COM 1 和COM 2 。串行口不同于并行口之处在于它的数据和控制信息是一位接一位地传送出去的。虽然这样速度会慢一些,但传送距离较并行口更长,因此若要进行较长距离的通信时,应使用串行口。通常COM 1 使用的是9 针D 形连接器,也称之为RS-232接口,而COM 2 有的使用的是老式的DB25针连接器,也称之为RS-422接口,不过已经很少使用。只要进行串行通讯的应该都属于串口。
RS-232 D型9针连接器
RS-232 DB25针连接器(即RS-422)
特点是:
1. 串口叫做串行接口,也称串行通信接口,
2. 主要用于串列式逐位元数据传输。常见的为一般电脑
3. 按电气标准及协议来分包括RS-232-C、RS-422、RS485、USB等。 RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接外挂程式、电缆或协议。
4. USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。
5. 距离短、速率低。
6. 结构简单、支持热插拔
SATA的全称是Serial Advanced Technology Attachment(串行高级技术附件,一种基于行业标准的串行硬件驱动器接口),是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。
SATA即指Serial ATA,串行ATA,相对于常见的IDE接口(一种PATA接口,Parallel ATA,并行ATA)。这是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。如今,SATA分别有SATA 1.5Gbit/s、SATA 3Gbit/s和SATA 6Gbit/s三种规范。
特点:
1. 硬盘接口规范
2. 采用串行方式传输数据
3. 嵌入式时钟信号,具备了更强的纠错能力, 提高数据传输的可靠性
Universal Serial Bus(通用串行总线) 简称USB,是如今电脑上应用较广泛的接口规范,由Intel、Microsoft、Compaq、IBM、NEC、Northern Telcom等几家大厂商发起的新型外设接口标准。USB接口是电脑主板上的一种四针接口,其中中间两个针传输数据,两边两个针给外设供电。USB接口速度快、连接简单、不需要外接电源,最新USB3.0可达5.0Gbps;电缆最大长度5米。USB2.0电缆有4条线,2条信号线,2条电源线,可提供5伏特电源;USB3.0接口有9条线,6条(3对)信号线,3条电源线(2.0和3.0部分各有一条GND线,共用Vbus线)。USB电缆还分屏蔽和非屏蔽两种,屏蔽电缆传输距离较长,价格较贵;非屏蔽电缆传输距离短,因为易受干扰,但价格便宜;USB通过串联方式最多可串接127个设备;支持热插拔。
是一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。
USB接口规范 | 接口速度 |
---|---|
USB1.0 | 1.5Mbps/192KBps |
USB1.1 | 12Mbps/1.5MBps |
USB2.0 | 480Mbps/60MBps |
USB3.0 | 5Gbps/640MBps |
特点:
1. 通用串行总线, 电脑上应用较广泛的接口规范, 新型外设接口标准, 输入输出接口的技术规范, 是一种串口总线标准
2. 采用串行方式传输数据, 支持热插拔
3. 接口速度快、连接简单、不需要外接电源
USB HID
USB-HID设备6-HID报告描述符详解
HID 入门学习:HID 简介
HID类设备属于人机交互操作的设备。用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控等等设备。使用HID设备的一个好处就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。
HID(Human Interface devices),人机接口设备。是USB 中常见的设备类型,是直接与人交互的USB 设备,例如键盘(Keyboard)、鼠标(mouse)、游戏手柄(joysticks)等
在USB设备中,HID设备的成本较低。另外,HID设备并不一定要有人机交互功能,只要符合HID类别规范的设备都是HID设备。
HID 设备特点
控制传输:接收和回应来自主机的 usb 控制和 类数据请求;
在 HID 类驱动程序轮询时传输数据(Get_Report Request );
接收来自主机的数据 中断传输:从设备接收异步(未请求)数据;将低延迟数据传输到设备
低速设备: 每一笔事务最大是8B,一个报表可以使用多笔事务。全速设备:每一笔事务最大是64B。高速设备:每一笔事务最大是1024B。
下面讲讲3个HID设备类特定描述符:HID描述符、报告描述符、实体描述符。
1、HID描述符
HID描述符关联于接口描述符,因而如果一个设备只有一个接口描述符,则无论它有几个端点描述符,HID设备只有一个HID描述符。HID设备描述符主要描述HID规范的版本号、HID通信所使用的额外描述符、报表描述符的长度等。表2所示为HID描述符的结构:
2、报告描述符
HID设备的报告描述符比较复杂也比较难理解。
报告描述符的语法不同于USB标准描述符,它是以项目(items)方式排列而成,无一定的长度。HID的报告描述符已经不是简简单单的描述某个值对应某个固定意义了,它已经能够组合出很多种情况,并且需要PC上的HID驱动程序提供parser解释器来对描述的设备情形进行重新解释,进而组合生成出本HID硬件设备独特的数据流格式,所以我觉得可以把它理解为“报告描述符脚本语言”更为贴切。我们使用“报告描述符”专用脚本语言,让用户来自己定义他们的HID设备都有什么数据、以及这些数据各个位(bit)都有什么意义。
有关报告描述符的详细信息可参考USB HID协议,USB 协会提供了一个HID 描述符编辑工具称作HID Descriptor Tool,用它可方便生成我们的报告描述符。
3、实体描述符
实体描述符被用来描述设备的行为特性。实体描述符是可选的描述符,HID设备可以根据其本体的设备特性选择是否包含实体描述符。表5所示为HID的实体描述符结构。
如下是常见串口:
RS-232:D型9针串口
RCA:常见的一种音/视频接线端子
RS-485:
VGA:使用模拟信号的视频输出标准,15针
HDMI:高清晰度多媒体接口,数字化视频/音频接口
DVI:Digital Visual Interface,中文称为“数位视讯接口”
Lightning:苹果高速多功能I/O接口
DOCK:苹果之前的充电数据线
Micro USB:USB 2.0标准的一个便携版本,节省空间,高寿命和强度
RJ45:俗称的网线接口。RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。计算机网络的RJ45是标准8位模块化接口的俗称
RJ11:俗称电话线接口,和网线不同的是只有4根针脚,RJ45为8根。