CN103246620A - 一种基于usb设备的数据交换方法 - Google Patents

一种基于usb设备的数据交换方法 Download PDF

Info

Publication number
CN103246620A
CN103246620A CN2013100992553A CN201310099255A CN103246620A CN 103246620 A CN103246620 A CN 103246620A CN 2013100992553 A CN2013100992553 A CN 2013100992553A CN 201310099255 A CN201310099255 A CN 201310099255A CN 103246620 A CN103246620 A CN 103246620A
Authority
CN
China
Prior art keywords
usb
data
hid
equipment
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013100992553A
Other languages
English (en)
Inventor
唐年华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vtron Technologies Ltd
Original Assignee
Vtron Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN2013100992553A priority Critical patent/CN103246620A/zh
Publication of CN103246620A publication Critical patent/CN103246620A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种基于USB设备的数据交换方法,基于WDF框架,创建普通USB驱动程序,将普通USB设备加载到系统中;创建服务程序,其中所述服务程序中创建有与其他程序进行交互的接口,并创建有用于实现USB-HID驱动程序的挂载的虚拟USB设备;将USB驱动程序、USB-HID驱动程序、服务程序加载到系统中;所述服务程序收发并判断USB设备数据,如果是HID数据收发状态,则服务程序将HID收发数据传送到USB-HID驱动程序,将HID收发数据传送到系统中;否则服务程序将USB设备数据发送到其他程序。本发明保证普通BULK接口的USB设备既能实现HID数据传输,又能实现第三方软件读写数据到USB设备。

Description

一种基于USB设备的数据交换方法
技术领域
本发明属于USB数据交换领域,特别涉及一种基于USB设备的数据交换方法。
背景技术
USB设备以其方便易用,数据传输速度快等优势,已经在现代计算机产品中占据了重要的席位。在计算机触摸交互领域,大部分的触摸定位框都采用USB接口与主机相连。这样定位框并不固定在显示平台上,对定位框的安装、拆卸、维护都带来极大不便利。目前Windows平台下的USB-HID驱动程序多半采用微软的WDF驱动开发框架进行USB-HID驱动开发,而硬件设备一般都是采用单接口方案设置,并通常有输入输出两个端点。在实际开发过程中,WDF采用系统中mshidkmdf.sys作为过滤驱动,并配合HID微小驱动hidusb.sys,实现普通USB接口的HID接口输出。但该方法中,框架要求独占USB的一个接口,该接口只收发数据到HID设备,输出到操作系统,而在实际使用过程中,有时需要对定位框进行必要的校正操作,即需要从第三方软件与硬件设备实现读写交互。这样就会与先前的HID设备输出到PC端有了冲突。
发明内容
为了解决这个问题,本发明提出了一种基于USB设备的数据交换方法,本发明将普通USB驱动程序与Windows服务程序相结合,保证普通BULK接口的USB设备既能实现HID数据传输,又能实现其他程序,即第三方软件读写数据到USB设备。
为了实现上述目的,本发明的技术方案为:
一种基于USB设备的数据交换方法,基于WDF框架,创建普通USB驱动程序,将USB设备加载到系统中;创建服务程序,其中所述服务程序中创建有与其他程序进行交互的接口,并创建有用于实现USB-HID驱动程序的挂载的虚拟USB设备;将USB驱动程序、USB-HID驱动程序、服务程序加载到系统中;
所述服务程序收发并判断USB设备数据,如果是HID数据收发状态,则服务程序将HID收发数据传送到USB-HID驱动程序,将HID收发数据传送到系统中;否则,则服务程序将USB设备数据传送到其他程序进行调试,譬如发送调试数据进行调试。
正常触摸状态下,服务程序实时读取普通USB设备的触摸数据,计算成触摸数据,并按照HID报告描述符规定,传送给上层的USB-HID驱动程序,继而将HID数据传输给系统。当其他程序运行时,使得从普通USB设备收发数据的渠道转入到其他程序中,当其他程序工作完成时,服务程序恢复USB-HID收发数据状态。这样既可实现其他程序,即第三方软件读写数据到USB设备,又可以实现USB设备数据的HID发送。
附图说明
图1为本发明的基于WDF中非HID设备映射成HID设备示意图。
图2为本发明的软件架构示意图。
图3为本发明的操作流程图。
具体实施方式
现结合实施例对本发明的技术方案做进一步说明。
如图,一种基于USB设备的数据交换方法,基于WDF框架,包括以下步骤:
1)创建普通USB驱动程序,将普通USB设备加载到PC系统中;
2)创建服务程序;其中,
a)设置变量,用于存储判定目前USB设备数据状态是HID数据收发还是其他程序,在本实施例中,其他程序为调试校正软件数据;
b)创建虚拟USB设备,接口端点为普通BULK类型,用于为上层USB-HID驱动程序加载;虚拟USB设备用于实现USB-HID驱动程序的挂载;将USB驱动程序、USB-HID驱动程序、服务程序加载到系统中;
c)在服务程序上创建命名管道NamedPipe,用来与其他程序进行数据交互;并实现与Windows服务程序的数据交互。
d)创建数据读取线程,循环读取普通USB硬件设备数据;
3)创建非HID设备映射USB-HID驱动程序,具体如图1所示。
4)创建调试校正软件作为其他程序,软件中设置命名管道NamedPipe,实现与服务程序的数据交互。
5)将定位框USB设备接入PC系统,将上述普通USB设备驱动程序、服务程序、HID驱动程序安装到系统中。
6)调试校正软件没有运行时,服务程序中得到的硬件数据将按照HID报告描述符规定,发送到上层HID驱动程序中,最终发送到操作系统中,实现设备的触摸定位。当打开调试软件时,更改服务程序中的设置,停止发送数据到HID驱动程序,并通过命名管道收发调试数据。 
在本实施例中,服务程序中创建的与其他程序交互的接口还可以为Socket网络数据交换接口、邮槽Mailslot或读写共享文件。

Claims (6)

1.一种基于USB设备的数据交换方法,其特征在于, 
基于WDF框架,创建普通USB驱动程序,将普通USB设备加载到系统中;创建服务程序,其中所述服务程序中创建有与其他程序进行交互的接口,并创建有用于实现USB-HID驱动程序的挂载的虚拟USB设备;将USB驱动程序、USB-HID驱动程序、服务程序加载到系统中;
所述服务程序收发并判断USB设备数据,如果是HID数据收发状态,则服务程序将HID收发数据传送到USB-HID驱动程序,将HID收发数据传送到系统中;否则,则服务程序将USB设备数据发送到其他程序。
2.根据权利要求1所述的基于USB设备的数据交换方法,其特征在于,所述服务程序还设有用于存储USB设备数据状态的变量,其USB设备数据状态包括HID数据收发状态和数据调试校正状态;
还设有用于循环读取普通USB设备数据的数据读取线程。
3.根据权利要求2所述的基于USB设备的数据交换方法,其特征在于,所述服务程序中与其他程序进行交互的接口为:命名管道、Socket网络数据交换接口、邮槽Mailslot或读写共享文件方式中的一种或多种。
4.根据权利要求3所述的基于USB设备的数据交换方法,其特征在于,所述其他程序中创建有命名管道,用于实现与Windows服务程序的数据交互。
5.根据权利要求4所述的基于USB设备的数据交换方法,其特征在于,所述其他程序为调试校正软件。
6.根据权利要求5所述的基于USB设备的数据交换方法,其特征在于,所述普通USB设备的接口端点为普通BULK类型,虚拟USB设备的接口端点为普通BULK类型。
CN2013100992553A 2013-03-26 2013-03-26 一种基于usb设备的数据交换方法 Pending CN103246620A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100992553A CN103246620A (zh) 2013-03-26 2013-03-26 一种基于usb设备的数据交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100992553A CN103246620A (zh) 2013-03-26 2013-03-26 一种基于usb设备的数据交换方法

Publications (1)

Publication Number Publication Date
CN103246620A true CN103246620A (zh) 2013-08-14

Family

ID=48926148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100992553A Pending CN103246620A (zh) 2013-03-26 2013-03-26 一种基于usb设备的数据交换方法

Country Status (1)

Country Link
CN (1) CN103246620A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868132A (zh) * 2016-04-29 2016-08-17 优利德科技(中国)有限公司 一种基于usb通信的数字示波器模块化功能拓展方法及系统
CN111274189A (zh) * 2020-03-10 2020-06-12 国微集团(深圳)有限公司 Usb设备及其实时通讯方法
US10747366B2 (en) 2015-11-23 2020-08-18 Hewlett-Packard Development Company, L.P. Calibration data identification
CN111769999A (zh) * 2020-05-09 2020-10-13 厦门亿联网络技术股份有限公司 一种usb设备软件的调试方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242395A (zh) * 2008-02-19 2008-08-13 深圳华为通信技术有限公司 一种数据传输的方法及usb接口
CN101408812A (zh) * 2008-10-07 2009-04-15 四川登巅微电子有限公司 Usb鼠标与u盘集成的复合设备
CN101482854A (zh) * 2009-02-10 2009-07-15 深圳华为通信技术有限公司 Usb多通道传输方法、系统及主机
CN102012890A (zh) * 2010-07-15 2011-04-13 苏州国芯科技有限公司 一种复合键盘和指纹识别器的通用串行总线数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242395A (zh) * 2008-02-19 2008-08-13 深圳华为通信技术有限公司 一种数据传输的方法及usb接口
CN101408812A (zh) * 2008-10-07 2009-04-15 四川登巅微电子有限公司 Usb鼠标与u盘集成的复合设备
CN101482854A (zh) * 2009-02-10 2009-07-15 深圳华为通信技术有限公司 Usb多通道传输方法、系统及主机
CN102012890A (zh) * 2010-07-15 2011-04-13 苏州国芯科技有限公司 一种复合键盘和指纹识别器的通用串行总线数据传输方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10747366B2 (en) 2015-11-23 2020-08-18 Hewlett-Packard Development Company, L.P. Calibration data identification
CN105868132A (zh) * 2016-04-29 2016-08-17 优利德科技(中国)有限公司 一种基于usb通信的数字示波器模块化功能拓展方法及系统
CN105868132B (zh) * 2016-04-29 2019-01-11 优利德科技(中国)股份有限公司 一种基于usb通信的数字示波器模块化功能拓展方法及系统
CN111274189A (zh) * 2020-03-10 2020-06-12 国微集团(深圳)有限公司 Usb设备及其实时通讯方法
CN111274189B (zh) * 2020-03-10 2023-08-08 国微集团(深圳)有限公司 Usb设备及其实时通讯方法
CN111769999A (zh) * 2020-05-09 2020-10-13 厦门亿联网络技术股份有限公司 一种usb设备软件的调试方法

Similar Documents

Publication Publication Date Title
CN102323905B (zh) 一种龙芯主板的远程监控系统
US8214571B2 (en) Simple serial interface—method of communication and information exchange, and electronic devices based on this method
US20050262279A1 (en) USB OTG adapter module for debugging USB OTG devices
WO2013138464A1 (en) Data redirection for universal serial bus devices
US20170277614A1 (en) Intelligent test robot system
US20070240011A1 (en) FIFO memory data pipelining system and method for increasing I²C bus speed
CN103412841B (zh) VxWorks操作系统下CPCI总线RS422通信模块的驱动器及驱动方法
CN103246620A (zh) 一种基于usb设备的数据交换方法
CN103309830A (zh) VxWorks操作系统下CPCI总线CAN通信模块的驱动器及驱动方法
CN107368219B (zh) 触摸响应方法、芯片及智能设备
CN104102508A (zh) 一种基于FlexRay总线的多机程序在线升级方法
US8868811B2 (en) Systems and methods for hot-plug detection recovery
CN105653461A (zh) 一种单usb接口转多uart调试接口的转换系统
US20050228915A1 (en) Pipelined stop, start, address byte, and data byte technique and circuit for I2C logic system
CN103744478A (zh) 一种蓝牙无线显示器及其控制方法
CN111142011A (zh) 快递柜测试治具
US20070293984A1 (en) Method for command transmission between systems
CN101551707A (zh) 可将图像信号传输至通用串行总线显示器的切换器及方法
CN108153624B (zh) 适用于ngff插槽的测试电路板
CN104077200A (zh) 一种脱离于主机的cpci模块独立测试装置
TWI502338B (zh) 測試介面卡及測試方法
CN106372019B (zh) 一种系统总线设备响应超时的处理方法及超时处理装置
CN202424939U (zh) 一种cmos图像传感器调试器
CN105068962A (zh) I2c控制器访问方法及系统
CN212111668U (zh) 快递柜测试治具

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130814

RJ01 Rejection of invention patent application after publication