基于hid的免驱动光通信仪器接口访问方法

文档序号:9274645阅读:429来源:国知局
基于hid的免驱动光通信仪器接口访问方法
【技术领域】
[0001] 本发明涉及光通信仪器的接口访问技术。更具体地说,本发明涉及一种基于HID 的免驱动光通信仪器接口访问方法。
【背景技术】
[0002] USB,是英文Universal Serial Bus (通用串行总线)的缩写,是一个外部总线 标准,用于规范电脑与外部设备的连接和通讯,应用在PC领域的接口技术。HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备。HID交换 的数据存储在称为报表(report)的结构内,设备的固件必须支持HID报表的格式。主机在 控制与中断传输中传送与要求报表,来传送与接收数据。报表的格式非常有弹性,可以处理 任何类别的数据。
[0003] USB有四种传输方式,分别是:控制传输,中断传输,同步传输和块传输。其中,控 制传输常见于USB设备被PC识别的过程。中断传输一般用于具有固定速率、数据量少的数 据传输,例如USB鼠标、键盘。同步传输也叫做等时传输,保证数据传输的实时性,所以这种 传输方式一般用于音频和视频流的数据传输,例如USB摄像头。块传输也叫做批量传输,块 传输并不追求数据传输的时间,但是必须保证数据传输的正确性,例如U盘。
[0004] USB自从1996年推出后,已成功替代串口和并口,并成为二^^一世纪二十年代个 人电脑和大量智能设备的必配的接口之一。光通信厂商,因自动化的需求,逐渐尝试在各自 制设备上加入通讯接口,经历了十余年的发展,USB接口已经成为光通信厂商的主要接口方 式。
[0005] 光模块厂商,为了实现生产自动化,各自独立开发了相应的光学测试设备。传统 的光学测试设备多采用DB9或DB25接口通讯,例如行业内最常见的武汉光迅的光功率计 PMSII-X,该光功率计即是采用DB9串口通讯。然而使用DB9或DB25接口通讯,最主要的缺 陷是:随着时代进步,主流PC厂商已经取消了 DB9 (串口)和DB25 (并口)硬件接口,这限 制了 DB9或DB25接口的后续发展。
[0006] 在DB9到USB的过渡过程中,许多光模块厂商采用了集成的RS232转USB芯片,典 型型号有Silab公司的CP2101。该芯片采用USB协议中的⑶C协议,使PC将USB设备识别 为DB9串口。该方案实际上是并没有改变DB9串口通讯的本质,其缺点依旧明显:
[0007] 1、CDC类协议需要编写PC驱动程序,设备安装环节相当繁琐;
[0008] 2、DB9通讯速率较低,远远慢于USB通讯速率;
[0009] 3、可靠性须由软件保证,软件开发周期较长;
[0010] 4、对于芯片的初始化配置需要单独的软件,配置操作较复杂;
[0011] 然后还有部分光模块厂商,对USB接口进行了尝试设计,采用Silab公司提供的 USBXpress套件,基于C8051F32X系列MCU进行固件开发。USBXpress开发套件提供了一个 完整的主机和设备软件的解决方案,该套件为USB设备开发解决了很多技术瓶颈,例如USB 底层协议,PC端windows软件。但是,其缺点也非常明显:
[0012] 1、套件由第三方公司提供,难以更改底层代码,难以实现功能的增减
[0013] 2、使用该套件的USB设备,需要独立安装驱动,其驱动程序对于系统兼容性差。
[0014] 3、由于VID和PID的限制,容易造成多个同类型设备在一台PC上连接时,通讯冲 突。
[0015] 在前期的尝试中,光模块厂商始终无法突破USB设备免驱动这一瓶颈。而驱动安 装,必然会因操作系统、电脑病毒、盗版软件的影响,造成不同程度的安装失败。因此免驱动 的USB接口技术,成了光模块厂商开发光学测试设备的重要瓶颈。

【发明内容】

[0016] 本发明的一个目的是解决至少上述问题和/或缺陷,并提供至少后面将说明的优 点。
[0017] 本发明还有一个目的是提供一种基于HID的免驱动光通信仪器接口访问方法,其 能够使得主机终端将光通信仪器识别为人机接口设备(即HID设备),而主机终端的操作系 统为HID类设备提供了通用的驱动程序,因此省去了复杂的驱动程序编写过程,即使得光 通信仪器连接到主机终端时无需再安装驱动,有良好的系统兼容性。
[0018] 为了实现根据本发明的这些目的和其它优点,提供了以下技术方案:
[0019] 一种基于HID的免驱动光通信仪器接口访问方法,其包括以下步骤:
[0020] 在光通信仪器上设置与其微控制器连接的USB接口,并在微控制器的程序代码区 域中针对该光通信仪器定义USB标准描述符和HID报告描述符;
[0021 ] 将光通信仪器通过USB接口连接至主机终端上,待主机终端检测;
[0022] 检测到有光通信仪器插入的主机终端通过USB接口向光通信仪器的微控制器发 送设备类型查询指令,所述光通信仪器接收所述指令并向主机终端发送所述USB标准描述 符和HID报告描述符;
[0023] 主机终端基于读取到的USB标准描述符和HID报告描述符将光通信仪器识别为 HID人机接口设备,并通过USB接口建立起与所述光通信仪器的数据通讯通道。
[0024] 优选的是,所述主机终端在建立起与所述光通信仪器的数据通讯通道后,按照"主 机终端发送指令、光通信仪器微控制器接收处理指令并返回处理结果、主机终端接收结果" 的方式进行数据传输。
[0025] 优选的是,所述数据传输采用每个数据包64字节数据的方式进行,当传输的数据 不足64字节数据时,不足的部分用0x00填充;当传输的数据超过64字节时,将数据分多次 写入到光通信仪器微控制器的缓冲区。
[0026] 优选的是,所述数据包的命令格式采用:
[0027] 2字节数据的起始标识+1字节数据的命令标识+1字节数据的错误状态+1字节数 据的有效数据长度+1字节数据的校验字节+2字节数据的结束标识+有效数据;其中,所述 校准字节用于对所述有效数据进行求和校验。
[0028] 优选的是,所述USB标准描述符至少包括设备描述符、配置描述符、接口描述符和 端点描述符。
[0029] 优选的是,所述USB标准描述符还包括字符串描述符。
[0030] 本发明所述方法至少包括以下有益效果:
[0031] 本发明在以往光学仪器接口技术基础上,基于"用户自定义HID设备"协议,实现 了免安装驱动的USB接口技术,该技术有如下优点:
[0032] 其一、取代了原始的DB9或DB25接口,符合当前时代的接口要求;
[0033] 其二、免除USB驱动程序的安装过程,有良好的系统兼容性;
[0034] 其三、自定义了稳定可靠的通讯接口,保证了数据通讯的正确性;
[0035] 总的说来,本发明基于HID设备,采用免驱动安装的方式,自定义一套完整的通讯 协议,实现光通信设备与PC间的数据传输,具体体现在:
[0036] ①采用HID设备协议,无需安装驱动,大大改善了系统兼容性;②自定义通讯接 口,采用起始识别、校验字节等方式,保证通讯可靠性;③采用固定包长、超时判断、主机控 制的方式保证通讯异常时快速识别;④采用固件命令集成,来压缩通讯数据量,减少通讯数 据数量。
[0037] 本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本 发明的研宄和实践而为本领域的技术人员所理解。
【具体实施方式】
[0038] 下面对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据 以实施。
[0039] 应当理解,本文所使用的诸如"具有"、"包含"以及"包括"术语并不排除一个或多 个其它元件或其组合的存在或添加。
[0040] 本发明提供了一种基于HID的免驱动光通信仪器接口访问方法,其包括以下步 骤:
[0041] 在光通信仪器上设置与其微控制器连接的USB接口,并在微控制器的程序代码区 域中针对该光通信仪器定义USB标准描述符和HID报告描述符;
[0042] 将光通信仪器通过USB接口连接至主机终端上,待主机终端检测;
[0043] 检测到有光通信仪器插入的主机终端通过USB接口向光通信仪器的微控制器发 送设备类型查询指令,所述光通信仪器接收所述指令并向主机终端发送所述USB标准描述 符和HID报告描述符;
[0044] 主机终端基于读取到的USB标准描述符和HID报告描述符将光通信仪器识别为 HID人机接口设备,并通过USB接口建立起与所述光通信仪器的数据通讯通道。
[0045] 本发明上述方案中,使用了 USB中断传输方式中的"用户自定义HID设备",让光通 信仪器被操作系统识别为同鼠标键盘一类的"人体输入学设备"(也可称为HID人机接口设 备)。任何当前的PC操作系统,均对该类型设备免除驱动安装。基于HID人机接口设备的 条件下,本发明还定义了稳定可靠的数据传输方式和光学仪器接口,以此保证数据通讯的 可靠性,实现光学仪器USB接口的完整功能。
[0046] 其中,所述USB标准描述符至少包括设备描述符、配置描述符、接口描述符和端点 描述符。优选的是,所述USB标准描述符还包括字符串描述符。所谓描述符
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1