专用低速usb设备的通用通讯方法

文档序号:8223455阅读:447来源:国知局
专用低速usb设备的通用通讯方法
【技术领域】
[0001]本发明属于计算机技术领域,具体涉及一种专用低速USB设备的通讯方法,特别是一种适用于在不同操作系统环境下的专用低速USB设备的通用通讯方法,所述通讯包括识别、加载和读写操作。
【背景技术】
[0002]低速USB设备,例如键盘、鼠标等,通常用于用户与计算机之间的交互通讯。低速USB设备具有使用方便、响应迅速、研发成本低廉等优点。低速USB设备当前正在向专用化方向发展,例如专用于特定智能设备的专用低速USB设备,而专用低速USB设备一般只能够在一特定的操作系统环境下被加载并进行通讯,而无法在诸如Windows、UNIX、Linux等各种操作系统环境中通用,因此,在不能获得特定操作系统的加载程序和通讯程序时会对实际工作造成很大不便。
[0003]图1是现有的专用低速USB设备与主机之间的信号传输示意图。如图1所示,低速USB设备一般都包含一个控制端点和一个中断输入端点,分别用于完成专用低速USB设备的设备类请求和用于响应用户输入。有些低速USB设备还包含中断输出端点。目前,使用中断方式的专用低速USB设备较多。
[0004]根据专用低速USB设备的原理可知,当与主机连接时,主机首先对其进行识别,识别完成后才能通过轮询方式检测设备状态变化情况,完成通讯过程。而当主机的操作系统与该专用低速USB设备不相匹配时,则无法加载该专用低速USB设备。

【发明内容】

[0005](一 )要解决的技术问题
[0006]本发明旨在解决专用低速USB设备不能在各种不同的操作系统下均被有效加载和进行通讯的问题。
[0007]( 二 )技术方案
[0008]本发明提出一种能够识别并以异步方式读写专用低速USB设备的通用通讯方法。该方法将专用低速USB设备的识别和读写功能进行集成,从而可以在不同操作系统环境下通过本发明的通用通讯方法有效实现对此类USB设备的操控。
[0009]本发明提出的专用低速USB设备的通用通讯方法,包括如下步骤:S1、获取主机当前连接的所有专用低速USB设备信息的集合;S2、枚举所述集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若所述ID值相同,则将当前所枚举专用低速USB设备加载;S3、若步骤S2加载成功,则建立并维持一个读设备线程和写设备线程;S4、在没有通过所述加载的专用低速USB设备输入的数据到来时,使所述读设备进程阻塞,在有通过所述加载的专用低速USB设备输入的数据到来时,所述读设备线程运行;S5、在没有写入所述加载的专用低速USB设备的数据到来时,使所述写设备进程阻塞,在有写入所述加载的专用低速USB设备的数据到来时,所述写设备进程运行。
[0010]根据本发明的【具体实施方式】,所述ID值是VID、PID和PVN值,在步骤S2中,只有所述VID、PID和PVN值均相同时,才将当前所枚举的专用低速USB设备加载。
[0011]根据本发明的【具体实施方式】,在所述步骤S4中,当所述读设备线程运行时,将读出的数据保存在缓冲区中,并对数据进行解析后提交给主机。
[0012]根据本发明的【具体实施方式】,在所述步骤S5中,当所述写设备线程运行时,要写入的数据按所述专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到该专用低速USB设备。
[0013](三)有益效果
[0014]与现有技术相比,本发明不但集专用低速USB设备的识别和读写为一体,方便使用,而且响应速度快、加载和卸载灵活,易于不同操作系统下的快捷应用。
【附图说明】
[0015]图1是现有的专用低速USB设备与主机之间的信号传输不意图;
[0016]图2本发明的专用低速USB设备的通用通讯方法流程图。
【具体实施方式】
[0017]在不同的操作系统环境下都能加载和操控某一专用低速USB设备并进行通讯,必须解决两个基本问题:一是专用低速USB设备的识别问题,二是专用低速USB设备的双工过程(读、写)问题。解决这两个问题的关键在于如何获取USB设备的三项ID值并进行比较,以及采用何种方式对专用低速USB设备的报表进行读写。
[0018]专用低速USB设备的唯一识别值就是三项ID(VID、PID和PVN)。本发明据此将各种操作系统环境下对专用低速USB设备的识别归纳为对三项ID值的读取和比较问题。此夕卜,由于专用低速USB设备可能随时与主机以中断方式进行通讯,因此本发明选择以异步调用方式实现设备与主机的通讯过程,这种方式可以大大减轻主机系统的负载。
[0019]具体来说,本发明的专用低速USB设备的通用通讯方法包括如下步骤:
[0020]S1、获取主机当前连接的所有专用低速USB设备信息的集合。
[0021]S2、枚举所述集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若所述ID值相同,则将当前所枚举专用低速USB设备加载;ID值是VID、PID和PVN值,在步骤S2中,只有所述VID、PID和PVN值均相同时,才将当前所枚举的专用低速USB设备加载。
[0022]S3、若步骤S2加载成功,则建立并维持一个读设备线程和写设备线程。
[0023]S4、在没有通过所述加载的专用低速USB设备输入的数据到来时,使所述读设备进程阻塞,在有通过所述加载的专用低速USB设备输入的数据到来时,所述读设备线程运行。具体来说,当所述读设备线程运行时,将读出的数据保存在缓冲区中,并对数据进行解析后提交给主机。
[0024]S5、在没有写入所述加载的专用低速USB设备的数据到来时,使所述写设备进程阻塞,在有写入所述加载的专用低速USB设备的数据到来时,所述写设备进程运行。具体来说,当所述写设备线程运行时,要写入的数据按所述专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到该专用低速USB设备。为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
[0025]图2本发明的专用低速USB设备的识别与加载流程图。
[0026]S1、如图2所示,由于一台主机可能同时连接有多台低速USB设备,所以首先获取当前与主机连接的所有专用低速USB设备信息的集合。
[0027]S2、然后枚举集合中的各个专用低速USB设备,并将每一个专用低速USB设备的VID,PID和PVN值与所要加载的专用低速USB设备的VID、PID和PVN值进行比较。若三项值均相同,则将当前所枚举专用低速USB设备加载。这样,就不必为每一种操作系统分别实现特定的识别功能。当设备被成功识别和加载后,就可以与主机进行通讯。
[0028]S3、根据本发明,在专用低速USB设备成功加载后,建立并维持一个读设备线程和一个写设备线程,直到主机与该专用低速USB设备的连接断开。
[0029]S4、在没有数据到来时读数据进程阻塞;当有数据输入时,读数据线程运行,将输入数据保存在缓冲区中,并对数据进行解析,提交给主机相关的应用程序。这之后读数据线程将再次被阻塞,直到有新的输入数据到来。
[0030]S5、写数据流程与读数据流程类似,但对延迟的要求较高。写数据时,首先将要输出的数据按专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到专用低速USB设备即可。
[0031]综上所述,本发明实现了对专用低速USB设备的识别、加载和读写功能,且可在不同操作系统环境下进行操作,因此能够显著提高专用低速USB设备的通用问题。
[0032]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种专用低速USB设备的通用通讯方法,包括如下步骤: 51、获取主机当前连接的所有专用低速USB设备信息的集合; 52、枚举所述集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若所述ID值相同,则将当前所枚举专用低速USB设备加载; 53、若步骤S2加载成功,则建立并维持一个读设备线程和写设备线程; 54、在没有通过所述加载的专用低速USB设备输入的数据到来时,使所述读设备进程阻塞,在有通过所述加载的专用低速USB设备输入的数据到来时,所述读设备线程运行; 55、在没有写入所述加载的专用低速USB设备的数据到来时,使所述写设备进程阻塞,在有写入所述加载的专用低速USB设备的数据到来时,所述写设备进程运行。
2.如权利要求1所述的专用低速USB设备的通用通讯方法,其特征在于,所述ID值是VID,PID和PVN值,在步骤S2中,只有所述VID、PID和PVN值均相同时,才将当前所枚举的专用低速USB设备加载。
3.如权利要求1所述的专用低速USB设备的通用通讯方法,其特征在于,在所述步骤S4中,当所述读设备线程运行时,将读出的数据保存在缓冲区中,并对数据进行解析后提交给主机。
4.如权利要求1所述的专用低速USB设备的通用通讯方法,其特征在于,在所述步骤S5中,当所述写设备线程运行时,要写入的数据按所述专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到该专用低速USB设备。
【专利摘要】本发明公开了一种专用低速USB设备的通用通讯方法,首先获取主机当前连接的所有专用低速USB设备信息的集合;然后枚举集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若ID值相同,则将当前所枚举专用低速USB设备加载;若加载成功,则建立并维持一个读设备线程和写设备线程;在没有通过加载的专用低速USB设备输入的数据到来时,使读设备进程阻塞,在有输入的数据到来时,读设备线程运行;在没有写入加载的专用低速USB设备的数据到来时,使写设备进程阻塞,在有写入数据到来时,写设备进程运行。本发明集专用低速USB设备的识别和读写为一体,响应速度快、加载和卸载灵活,易于不同操作系统下应用。
【IPC分类】G06F13-38
【公开号】CN104536932
【申请号】CN201510035546
【发明人】崔阳, 张理垟
【申请人】崔阳, 张理垟
【公开日】2015年4月22日
【申请日】2015年1月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1