CN111221768B - 一种usb设备复合通讯方法及*** - Google Patents
一种usb设备复合通讯方法及*** Download PDFInfo
- Publication number
- CN111221768B CN111221768B CN202010026060.6A CN202010026060A CN111221768B CN 111221768 B CN111221768 B CN 111221768B CN 202010026060 A CN202010026060 A CN 202010026060A CN 111221768 B CN111221768 B CN 111221768B
- Authority
- CN
- China
- Prior art keywords
- usb
- equipment
- host
- data
- mcu
- 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.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 35
- 239000002131 composite material Substances 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004891 communication Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000013507 mapping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种USB设备复合通讯的方法及***,能够在USB设备中配置具有复合特征的设备配置符,从而该USB设备可以适用于多种符合设备的组合,使得打印机可以同时被主机识别为多种设备,即可以同时被主机识别为虚拟串口设备和虚拟打印设备,或者同时被主机识别为打印机设备和大容量存储器设备等等,进而为打印机等设备的配套使用,提供了较好的扩展性。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种USB设备复合通讯方法及***。
背景技术
目前市面上的打印机大多具备USB通讯的功能,但常见的打印机USB通讯方式较为单一,因此,与之配套的后台软件也许对应地进行开发,打印机适用的工作场景也有局限性,难以满足用户群体多样化、易用性的需求。
发明内容
本发明提供了一种USB设备复合通讯方法及***,用以解决现有技术中打印机USB通讯方式较为单一,难以满足用户群体多样化、易用性需求的问题。
其具体的技术方案如下:
一种USB设备复合通讯的方法,所述方法包括:
接收主机发送的设备配置符描述请求;
根据所述设备配置符描述请求向所述主机发送包含了复合设备的设备配置符,其中,所述设备配置符中包含了各个设备类型;
根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道。
可选的,在接收主机发送的设备配置符描述请求之前,所述方法还包括:
对USB设备的设备配置符进行配置,以使所述设备配置符被配置为表征所述USB设备为复合设备;
对所述USB设备中各类型的接口描述符、端口描述符进行配置。
可选的,在接收主机发送的设备描述请求之前,所述方法还包括:
根据当前的用户需求数据,确定各个端点的工作模式、工作方向、操作地址的初始化配置;
根据所述初始化配置,调整所述USB设备的初始化操作代码。
可选的,在根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道之后,所述方法还包括:
在所述USB设备的各个端点回调函数中,执行数据存入MCU的数据缓冲寄存器的操作;或者
执行数据从MCU的数据缓冲寄存器中读出的操作。
一种USB设备复合通讯的***,所述***包括
接收模块,用于接收主机发送的设备配置符描述请求;
发送模块,用于根据所述设备配置符描述请求向所述主机发送包含了复合设备的设备配置符,其中,所述设备配置符中包含了各个设备类型;
处理模块,用于根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道。
可选的,所述处理模块,还用于对USB设备的设备配置符进行配置,以使所述设备配置符被配置为表征所述USB设备为复合设备;对所述USB设备中各类型的接口描述符、端口描述符进行配置。
可选的,所述处理模块,还用于根据当前的用户需求数据,确定各个端点的工作模式、工作方向、操作地址的初始化配置;根据所述初始化配置,调整所述USB设备的初始化操作代码。
可选的,所述处理模块,还用于在所述USB设备的各个端点回调函数中,执行数据存入MCU的数据缓冲寄存器的操作;或者执行数据从MCU的数据缓冲寄存器中读出的操作。
通过本发明所提供的方法,能够在USB设备中配置具有复合特征的设备配置符,从而该USB设备可以适用于多种符合设备的组合,使得打印机可以同时被主机识别为多种设备,即可以同时被主机识别为虚拟串口设备和虚拟打印设备,或者同时被主机识别为打印机设备和大容量存储器设备等等,进而为打印机等设备的配套使用,提供了较好的扩展性。
附图说明
图1为本发明实施例中一种USB设备复合通讯的方法的流程图;
图2为本发明实施例中实现框架***的结构示意图;
图3为本发明实施例中USB接口电路的具体电路结构图;
图4为本发明实施例中一种USB设备复合通讯的***的结构示意图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
如图1所示为本发明实施例中一种USB设备复合通讯的方法的流程图,该方法包括:
S1,接收主机发送的设备配置符请求;
S2,根据设备配置符请求向主机发送包含了复合设备的设备配置符;
此处的描述符中包含了各个设备类型。
S3,根据主机基于设备配置符反馈的信息,与主机建立对应设备类型的数据链接通道。
首先来讲,本发明所提供的方法的实现框架***如图2所示,在该框架***中包含:电源电路、MCU电路、USB电路、以及USB连接器四部分组成,其中,电源电路为***的运行提供电源支持,保证***运行所需的工作环境是正常的。MCU电路烧录程序,运行该方案中的软件方法,由MCU对USB通讯过程中数据的收发进行管理,从而实现复合设备的映射。
USB电路包含线路阻抗匹配的RC网络以及电压保护电路;
USB连接器为设备的连接器件。
进一步,如图3所示为本发明实施例中USB接口电路的具体电路结构图,在图3中,USB_DP和USB_DM信号连接到MCU的USB端口,由MCU中软件实现USB复合设备的通讯功能。
进一步,在本发明实施例中,MCU器件中集成的USB数据收发缓冲寄存器,以及对应的控制寄存器,为USB设备的实现,提供了硬件所需要的资源,在软件层,各种MCU的厂商提供对应的USB底层驱动代码,为软件按照USB通讯协议的格式和时序操作MCU中的寄存器。该***中软件层面的执行方法如下:
首先,在USB的配置描述符中,依据USB的通讯规约要求,将USB的设备配置符描述为复合设备,随后逐一对该设备中各类型的接口描述符、端点描述符做出配置,通过此处的配置可以标识出USB设备为复合型设备,并且每个接口以及端点都有对应的配置。
其次,为USB各个设备的通讯端点在MCU数据收发缓冲寄存器中所占据的空间大小进行配置,从而在后续的通讯过程中,为数据的通讯过程提供具体的操作地址;
然后,根据实际的项目需求,调整USB的初始化操作代码,为USB通讯中所需使用到的各个端点进行工作模式、工作方向、操作地址的初始化配置,使得USB初始化完成后,各个端点均为就绪状态;
随后,需求根据实际应用内使用到的USB具体设备类,分别针对这些设备类所特有的,非标准USB通讯操作的命令,做出对应的操作回应,如此,可以便于USB设备在PC的枚举过程中,能够对各类设备的私有类型操作,均做出正确的回应,从而保证在PC上可以正确完成设备枚举;
最后,在USB的各个端点回调函数中,进行USB通讯过程中,执行数据存入MCU的数据缓冲寄存器的操作,或者执行数据从MCU的数据缓冲寄存器中读出的操作,并由此通过USB与外部的后台软件实现数据交互。
通过本发明所提供的方法,能够在USB设备中配置具有复合特征的设备配置符,从而该USB设备可以适用于多种符合设备的组合,使得打印机可以同时被主机识别为多种设备,即可以同时被主机识别为虚拟串口设备和虚拟打印设备,或者同时被主机识别为打印机设备和大容量存储器设备等等,进而为打印机等设备的配套使用,提供了较好的扩展性。
对应本发明所提供的方法,本发明实施例中还提供了一种USB设备复合通讯的***,如图4所示为本发明实施例中一种USB设备复合通讯的***的结构示意图,该***包括:
接收模块401,用于接收主机发送的设备配置符描述请求;
发送模块402,用于根据所述设备配置符描述请求向所述主机发送包含了复合设备的设备配置符,其中,所述设备配置符中包含了各个设备类型;
处理模块403,用于根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道。
进一步,在本发明实施例中,所述处理模块403,还用于对USB设备的设备配置符进行配置,以使所述设备配置符被配置为表征所述USB设备为复合设备;对所述USB设备中各类型的接口描述符、端口描述符进行配置。
进一步,在本发明实施例中,所述处理模块403,还用于根据当前的用户需求数据,确定各个端点的工作模式、工作方向、操作地址的初始化配置;根据所述初始化配置,调整所述USB设备的初始化操作代码。
进一步,在本发明实施例中,所述处理模块403,还用于在所述USB设备的各个端点回调函数中,执行数据存入MCU的数据缓冲寄存器的操作;或者执行数据从MCU的数据缓冲寄存器中读出的操作。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改,包括采用特定符号、标记确定顶点等变更方式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (4)
1.一种USB设备复合通讯的方法,其特征在于,所述方法包括:
接收主机发送的设备配置符描述请求;
根据所述设备配置符描述请求向所述主机发送包含了复合设备的设备配置符,其中,所述设备配置符中包含了各个设备类型;
根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道;
其中,在接收主机发送的设备描述请求之前,所述方法还包括:
根据当前的用户需求数据,确定各个端点的工作模式、工作方向、操作地址的初始化配置;
根据所述初始化配置,调整所述USB设备的初始化操作代码,并通过所述初始化操作代码使得USB初始化完成后,各个端点均为就绪状态;
分别针对实际应用内使用到的USB具体设备类所特有的、非标准USB通讯操作的命令,做出对应的操作回应,从而在PC的枚举过程中,能够对各类设备的私有类型操作,均做出正确的回应,正确完成设备枚举;
所述方法的实现框架***,包括:电源电路、MCU电路、USB接口电路、以及USB连接器;
其中,在所述USB接口电路中,多个USB信号分别连接到所述MCU电路的USB端口;
在根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道之后,所述方法还包括:
在所述USB设备的各个端点回调函数中,执行数据存入MCU的数据缓冲寄存器的操作;或者执行数据从MCU的数据缓冲寄存器中读出的操作,通过USB与外部的后台软件实现数据交互;
其中,在通讯前,需要对所述USB设备的各个端点在MCU的数据缓冲寄存器中所占据的空间大小进行配置,从而在后续的通讯过程中,为数据的通讯过程提供具体的操作地址。
2.如权利要求1所述的方法,其特征在于,在接收主机发送的设备配置符描述请求之前,所述方法还包括:
对USB设备的设备配置符进行配置,以使所述设备配置符被配置为表征所述USB设备为复合设备;
对所述USB设备中各类型的接口描述符、端口描述符进行配置。
3.一种USB设备复合通讯的***,其特征在于,所述***包括:
接收模块,用于接收主机发送的设备配置符描述请求;
发送模块,用于根据所述设备配置符描述请求向所述主机发送包含了复合设备的设备配置符,其中,所述设备配置符中包含了各个设备类型;
处理模块,用于根据主机基于所述设备配置符反馈的信息,与所述主机建立对应设备类型的数据链接通道;
其中,所述处理模块,还用于根据当前的用户需求数据,确定各个端点的工作模式、工作方向、操作地址的初始化配置;根据所述初始化配置,调整所述USB设备的初始化操作代码,并通过所述初始化操作代码使得USB初始化完成后,各个端点均为就绪状态;
分别针对实际应用内使用到的USB具体设备类所特有的、非标准USB通讯操作的命令,做出对应的操作回应,从而在PC的枚举过程中,能够对各类设备的私有类型操作,均做出正确的回应,正确完成设备枚举;
所述处理模块,还用于在所述USB设备的各个端点回调函数中,执行数据存入MCU的数据缓冲寄存器的操作;或者执行数据从MCU的数据缓冲寄存器中读出的操作,通过USB与外部的后台软件实现数据交互;
其中,在通讯前,需要对所述USB设备的各个端点在MCU的数据缓冲寄存器中所占据的空间大小进行配置,从而在后续的通讯过程中,为数据的通讯过程提供具体的操作地址;
所述***还包括:电源电路、MCU电路、USB接口电路、以及USB连接器;
在所述USB接口电路中,多个USB信号分别连接到所述MCU电路的USB端口。
4.如权利要求3所述的***,其特征在于,所述处理模块,还用于对USB设备的设备配置符进行配置,以使所述设备配置符被配置为表征所述USB设备为复合设备;对所述USB设备中各类型的接口描述符、端口描述符进行配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010026060.6A CN111221768B (zh) | 2020-01-10 | 2020-01-10 | 一种usb设备复合通讯方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010026060.6A CN111221768B (zh) | 2020-01-10 | 2020-01-10 | 一种usb设备复合通讯方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221768A CN111221768A (zh) | 2020-06-02 |
CN111221768B true CN111221768B (zh) | 2024-05-31 |
Family
ID=70829359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010026060.6A Active CN111221768B (zh) | 2020-01-10 | 2020-01-10 | 一种usb设备复合通讯方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221768B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050772A (ja) * | 2001-07-13 | 2003-02-21 | Prolific Technology Inc | Usb複合デバイス及びその実現方法 |
JP2008152404A (ja) * | 2006-12-15 | 2008-07-03 | Canon Inc | 電子機器、電子機器の制御方法、および電子機器の制御プログラム |
CN102339265A (zh) * | 2011-10-17 | 2012-02-01 | 中兴通讯股份有限公司 | 一种无线通信终端及其驱动方法 |
CN104951417A (zh) * | 2014-03-26 | 2015-09-30 | 北京同方微电子有限公司 | 一种实现适用于大容量usim的usb复合设备的方法 |
CN105808461A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息股份有限公司 | 一种usb复合***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882116A (zh) * | 2010-06-13 | 2010-11-10 | 中兴通讯股份有限公司 | 音频传输的实现方法及移动终端 |
-
2020
- 2020-01-10 CN CN202010026060.6A patent/CN111221768B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003050772A (ja) * | 2001-07-13 | 2003-02-21 | Prolific Technology Inc | Usb複合デバイス及びその実現方法 |
JP2008152404A (ja) * | 2006-12-15 | 2008-07-03 | Canon Inc | 電子機器、電子機器の制御方法、および電子機器の制御プログラム |
CN102339265A (zh) * | 2011-10-17 | 2012-02-01 | 中兴通讯股份有限公司 | 一种无线通信终端及其驱动方法 |
CN104951417A (zh) * | 2014-03-26 | 2015-09-30 | 北京同方微电子有限公司 | 一种实现适用于大容量usim的usb复合设备的方法 |
CN105808461A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息股份有限公司 | 一种usb复合***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111221768A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7921244B2 (en) | Data sharing and transfer systems and methods | |
EP2566288A2 (en) | Wireless internet access module, communication method for host and wireless internet access module, and data card | |
CN102033807A (zh) | Soc芯片调试设备、方法及装置 | |
CN106126465B (zh) | 一种数据传输方法及装置 | |
CN115357535A (zh) | 一种虚拟串口设计方法及装置 | |
MX2007005812A (es) | Metodo, producto de programa de computadora y aparato de interfaz de tarjeta multimedia. | |
WO2014023247A1 (zh) | 嵌入式设备和基于该设备进行数据通信的控制方法 | |
CN107506324A (zh) | 转接设备、远程通信***、数据传输方法及装置 | |
CN111221768B (zh) | 一种usb设备复合通讯方法及*** | |
CN111176164B (zh) | 一种扩展多个远程输入输出模块的方法、装置及介质 | |
CN111104075B (zh) | Usb设备模拟装置及方法 | |
WO2005106683A1 (fr) | Procede et systeme permettant d'identifier des dispositifs usb | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储***及存储介质 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN103973534A (zh) | 一种模拟u盘共享方法以及设备 | |
US8719454B2 (en) | Enabling peripheral communication in a local area network | |
CN204129732U (zh) | 基于卫星授时机架***的板卡自适应设备 | |
JPH09259068A (ja) | 拡張入出力インターフェイス | |
CN113626087A (zh) | 一种主机与bmc间的数据通信的方法、***及装置 | |
EP4221120A1 (en) | Logical message interface for configuring and managing a physical device in single and multi-host systems | |
KR100814436B1 (ko) | 웹 기반 모니터링 모듈, 이를 포함하는 하드웨어 시스템,그리고 웹 기반 모니터링 모듈의 모니터링 방법 | |
CN217718675U (zh) | Pcie接口、主板以及pcie扩展模块 | |
CN216014148U (zh) | 一种服务器和服务器背板 | |
CN213342280U (zh) | 通信*** | |
CN212229628U (zh) | 从机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |