当前位置: 首页 > 专利查询>崔阳专利>正文

专用低速USB设备的通用通讯方法技术

技术编号:11333455 阅读:78 留言:0更新日期:2015-04-23 00:56
本发明专利技术公开了一种专用低速USB设备的通用通讯方法,首先获取主机当前连接的所有专用低速USB设备信息的集合;然后枚举集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若ID值相同,则将当前所枚举专用低速USB设备加载;若加载成功,则建立并维持一个读设备线程和写设备线程;在没有通过加载的专用低速USB设备输入的数据到来时,使读设备进程阻塞,在有输入的数据到来时,读设备线程运行;在没有写入加载的专用低速USB设备的数据到来时,使写设备进程阻塞,在有写入数据到来时,写设备进程运行。本发明专利技术集专用低速USB设备的识别和读写为一体,响应速度快、加载和卸载灵活,易于不同操作系统下应用。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及一种专用低速USB设备的通讯方法,特别是一种适用于在不同操作系统环境下的专用低速USB设备的通用通讯方法,所述通讯包括识别、加载和读写操作。
技术介绍
低速USB设备,例如键盘、鼠标等,通常用于用户与计算机之间的交互通讯。低速USB设备具有使用方便、响应迅速、研发成本低廉等优点。低速USB设备当前正在向专用化方向发展,例如专用于特定智能设备的专用低速USB设备,而专用低速USB设备一般只能够在一特定的操作系统环境下被加载并进行通讯,而无法在诸如Windows、UNIX、Linux等各种操作系统环境中通用,因此,在不能获得特定操作系统的加载程序和通讯程序时会对实际工作造成很大不便。图1是现有的专用低速USB设备与主机之间的信号传输示意图。如图1所示,低速USB设备一般都包含一个控制端点和一个中断输入端点,分别用于完成专用低速USB设备的设备类请求和用于响应用户输入。有些低速USB设备还包含中断输出端点。目前,使用中断方式的专用低速USB设备较多。根据专用低速USB设备的原理可知,当与主机连接时,主机首先对其进行识别,识别完成后才能通过轮询方式检测设备状态变化情况,完成通讯过程。而当主机的操作系统与该专用低速USB设备不相匹配时,则无法加载该专用低速USB设备。
技术实现思路
(一 )要解决的技术问题本专利技术旨在解决专用低速USB设备不能在各种不同的操作系统下均被有效加载和进行通讯的问题。( 二 )技术方案本专利技术提出一种能够识别并以异步方式读写专用低速USB设备的通用通讯方法。该方法将专用低速USB设备的识别和读写功能进行集成,从而可以在不同操作系统环境下通过本专利技术的通用通讯方法有效实现对此类USB设备的操控。本专利技术提出的专用低速USB设备的通用通讯方法,包括如下步骤:S1、获取主机当前连接的所有专用低速USB设备信息的集合;S2、枚举所述集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若所述ID值相同,则将当前所枚举专用低速USB设备加载;S3、若步骤S2加载成功,则建立并维持一个读设备线程和写设备线程;S4、在没有通过所述加载的专用低速USB设备输入的数据到来时,使所述读设备进程阻塞,在有通过所述加载的专用低速USB设备输入的数据到来时,所述读设备线程运行;S5、在没有写入所述加载的专用低速USB设备的数据到来时,使所述写设备进程阻塞,在有写入所述加载的专用低速USB设备的数据到来时,所述写设备进程运行。根据本专利技术的【具体实施方式】,所述ID值是VID、PID和PVN值,在步骤S2中,只有所述VID、PID和PVN值均相同时,才将当前所枚举的专用低速USB设备加载。根据本专利技术的【具体实施方式】,在所述步骤S4中,当所述读设备线程运行时,将读出的数据保存在缓冲区中,并对数据进行解析后提交给主机。根据本专利技术的【具体实施方式】,在所述步骤S5中,当所述写设备线程运行时,要写入的数据按所述专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到该专用低速USB设备。(三)有益效果与现有技术相比,本专利技术不但集专用低速USB设备的识别和读写为一体,方便使用,而且响应速度快、加载和卸载灵活,易于不同操作系统下的快捷应用。【附图说明】图1是现有的专用低速USB设备与主机之间的信号传输不意图;图2本专利技术的专用低速USB设备的通用通讯方法流程图。【具体实施方式】在不同的操作系统环境下都能加载和操控某一专用低速USB设备并进行通讯,必须解决两个基本问题:一是专用低速USB设备的识别问题,二是专用低速USB设备的双工过程(读、写)问题。解决这两个问题的关键在于如何获取USB设备的三项ID值并进行比较,以及采用何种方式对专用低速USB设备的报表进行读写。专用低速USB设备的唯一识别值就是三项ID(VID、PID和PVN)。本专利技术据此将各种操作系统环境下对专用低速USB设备的识别归纳为对三项ID值的读取和比较问题。此夕卜,由于专用低速USB设备可能随时与主机以中断方式进行通讯,因此本专利技术选择以异步调用方式实现设备与主机的通讯过程,这种方式可以大大减轻主机系统的负载。具体来说,本专利技术的专用低速USB设备的通用通讯方法包括如下步骤:S1、获取主机当前连接的所有专用低速USB设备信息的集合。S2、枚举所述集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若所述ID值相同,则将当前所枚举专用低速USB设备加载;ID值是VID、PID和PVN值,在步骤S2中,只有所述VID、PID和PVN值均相同时,才将当前所枚举的专用低速USB设备加载。S3、若步骤S2加载成功,则建立并维持一个读设备线程和写设备线程。S4、在没有通过所述加载的专用低速USB设备输入的数据到来时,使所述读设备进程阻塞,在有通过所述加载的专用低速USB设备输入的数据到来时,所述读设备线程运行。具体来说,当所述读设备线程运行时,将读出的数据保存在缓冲区中,并对数据进行解析后提交给主机。S5、在没有写入所述加载的专用低速USB设备的数据到来时,使所述写设备进程阻塞,在有写入所述加载的专用低速USB设备的数据到来时,所述写设备进程运行。具体来说,当所述写设备线程运行时,要写入的数据按所述专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到该专用低速USB设备。为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术作进一步的详细说明。图2本专利技术的专用低速USB设备的识别与加载流程图。S1、如图2所示,由于一台主机可能同时连接有多台低速USB设备,所以首先获取当前与主机连接的所有专用低速USB设备信息的集合。S2、然后枚举集合中的各个专用低速USB设备,并将每一个专用低速USB设备的VID,PID和PVN值与所要加载的专用低速USB设备的VID、PID和PVN值进行比较。若三项值均相同,则将当前所枚举专用低速USB设备加载。这样,就不必为每一种操作系统分别实现特定的识别功能。当设备被成功识别和加载后,就可以与主机进行通讯。S3、根据本专利技术,在专用低速USB设备成功加载后,建立并维持一个读设备线程和一个写设备线程,直到主机与该专用低速USB设备的连接断开。S4、在没有数据到来时读数据进程阻塞;当有数据输入时,读数据线程运行,将输入数据保存在缓冲区中,并对数据进行解析,提交给主机相关的应用程序。这之后读数据线程将再次被阻塞,直到有新的输入数据到来。S5、写数据流程与读数据流程类似,但对延迟的要求较高。写数据时,首先将要输出的数据按专用低速USB设备规定的数据格式进行封装,然后复制到一个缓冲区内,再输出到专用低速USB设备即可。综上所述,本专利技术实现了对专用低速USB设备的识别、加载和读写功能,且可在不同操作系统环境下进行操作,因此能够显著提高专用低速USB设备的通用问题。以上所述的具体实施例,对本专利技术的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本专利技术的具体实施例而已,并不用于限制本专利技术,凡在本专利技术的精神和原则之内,本文档来自技高网...

【技术保护点】
一种专用低速USB设备的通用通讯方法,包括如下步骤:S1、获取主机当前连接的所有专用低速USB设备信息的集合;S2、枚举所述集合中的专用低速USB设备,并将所枚举的低速USB设备的ID值与所要加载的专用低速USB设备的ID值进行比较,若所述ID值相同,则将当前所枚举专用低速USB设备加载;S3、若步骤S2加载成功,则建立并维持一个读设备线程和写设备线程;S4、在没有通过所述加载的专用低速USB设备输入的数据到来时,使所述读设备进程阻塞,在有通过所述加载的专用低速USB设备输入的数据到来时,所述读设备线程运行;S5、在没有写入所述加载的专用低速USB设备的数据到来时,使所述写设备进程阻塞,在有写入所述加载的专用低速USB设备的数据到来时,所述写设备进程运行。

【技术特征摘要】

【专利技术属性】
技术研发人员:崔阳张理垟
申请(专利权)人:崔阳张理垟
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1