CN101493801B - 通用串行总线驱动装置及方法 - Google Patents

通用串行总线驱动装置及方法 Download PDF

Info

Publication number
CN101493801B
CN101493801B CN2008103002018A CN200810300201A CN101493801B CN 101493801 B CN101493801 B CN 101493801B CN 2008103002018 A CN2008103002018 A CN 2008103002018A CN 200810300201 A CN200810300201 A CN 200810300201A CN 101493801 B CN101493801 B CN 101493801B
Authority
CN
China
Prior art keywords
data
request
deals
serial bus
effective number
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.)
Expired - Fee Related
Application number
CN2008103002018A
Other languages
English (en)
Other versions
CN101493801A (zh
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.)
Nanning Fulian Fugui Precision Industrial Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co 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 Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CN2008103002018A priority Critical patent/CN101493801B/zh
Priority to US12/206,731 priority patent/US8145811B2/en
Publication of CN101493801A publication Critical patent/CN101493801A/zh
Application granted granted Critical
Publication of CN101493801B publication Critical patent/CN101493801B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种通用串行总线驱动装置,包括参数处理模块、请求处理模块、队列存取模块及信息处理模块。参数处理模块预设最大有效交易数及设置有效交易数的初始值。请求处理模块从数据接收方接收一个或多个数据请求,并在有效交易数小于最大有效交易数时缴交数据请求给数据传输方。队列存取模块在有效交易数不小于最大有效交易数时将数据请求放入队列。信息处理模块从数据传输方传输数据给数据接收方。参数处理模块还在缴交数据请求后增加有效交易数,及在传输数据完后减少有效交易数。本发明还提供了一种通用串行总线驱动方法。上述通用串行总线驱动装置及方法通过数据传输方同时处理多笔有效交易,有效增加通用串行总线驱动装置的数据接收效率。

Description

通用串行总线驱动装置及方法
技术领域
本发明涉及一种数据传输接口驱动装置及方法,尤其涉及一种通用串行总线驱动装置及方法。
背景技术
通用串行总线(Universal Serial Bus,USB)是现今最常用的数据传输接口,一般的网络通信设备都采用其作为网络通信接口来接收数据,如宽带路由器、网络网关等。当网络通信设备等数据接收方的应用程序欲接收数据时,就通过通用串行总线缴交数据请求给数据传输方,数据传输方在收到数据请求后会准备应用程序所需要的数据,并在准备好后通过通用串行总线传输数据给应用程序,应用程序收到数据后才会再次发送数据请求,所以采用通用串行总线接收数据的数据接收方在任何时候都只存在一笔有效交易(Active Transaction),导致其接收数据非常慢,很难满足现今网络通信设备对数据传输效率日益增长的需求。
发明内容
有鉴于此,需提供一种通用串行总线驱动装置,可有效提升数据接收方通过通用串行总线接收数据的效率。
此外,还需提供一种通用串行总线驱动方法,可有效提升数据接收方通过通用串行总线接收数据的效率。
一种通用串行总线驱动装置,设置于数据接收方,用于驱动通用串行总线,数据接收方通过通用串行总线与数据传输方相连。通用串行总线驱动装置包括参数处理模块、请求处理模块、队列存取模块及信息处理模块。参数处理模块用于预设最大有效交易数及设置有效交易数的初始值,并判断有效交易数是否小于最大有效交易数。请求处理模块用于从数据接收方接收一个或多个数据请求,并在有效交易数小于最大有效交易数时驱动通用串行总线缴交数据请求给数据传输方,数据传输方收到数据请求后会传回完成信息以及所请求的数据。队列存取模块用于当所述有效交易数不小于所述最大有效交易数时将所述请求处理模块所接收的数据请求放入队列。信息处理模块用于从所述数据传输方接收所述完成信息,并驱动所述通用串行总线从所述数据传输方传输数据给所述数据接收方。其中参数处理模块还用于在请求处理模块缴交数据请求给数据传输方之后增加有效交易数,以及在所述信息处理模块将所述数据传输给所述数据接收方之后减少所述有效交易数。
一种通用串行总线驱动方法,用于驱动通用串行总线,数据接收方通过通用串行总线与数据传输方相连。通用串行总线驱动方法包括如下步骤:预设最大有效交易数;设定有效交易数的初始值;判断有效交易数是否小于最大有效交易数;若有效交易数小于最大有效交易数,则从数据接收方接收数据请求,然后驱动通用串行总线缴交数据请求给数据传输方,并在缴交后增加有效交易数;若所述有效交易数不小于所述最大有效交易数,则判断是否继续收到数据请求,并在继续收到数据请求时,将所述收到的数据请求放入队列;从所述数据传输方接收完成信息,其中所述完成信息表示所述数据传输方已准备好所述数据请求所请求的数据;及驱动所述通用串行总线从所述数据传输方传输所述已准备好的数据给所述数据接收方,并在传输完后减小所述有效交易数。
上述通用串行总线驱动装置及方法通过数据传输方同时处理多笔有效交易,有效增加通用串行总线驱动装置的数据接收效率。
附图说明
图1为本发明通用串行总线驱动装置的应用环境及一实施方式的模块图。
图2A及图2B为本发明通用串行总线驱动方法一实施方式的流程图。
具体实施方式
参阅图1,所示为本发明通用串行总线驱动装置16的应用环境及一实施方式的模块图。在本实施方式中,通用串行总线驱动装置16设置于数据接收方12内,用于驱动通用串行总线14,数据接收方12通过通用串行总线14与数据传输方10相连,数据接收方12内的应用程序18通过通用串行总线驱动装置16驱动通用串行总线14从数据传输方10接收数据。在本实施方式中,数据接收方12为采用通用串行总线14与外界通信的网络通信设备,如宽带路由器、网络网关等设备。
通用串行总线驱动装置16包括参数处理模块160、请求处理模块162、队列存取模块166及信息处理模块164。
参数处理模块160用于预设最大有效交易数及设置有效交易数的初始值,并判断有效交易数是否小于最大有效交易数。在本实施方式中,最大有效交易数是用户预设的一个常量,即恒定不变的数值,代表数据传输方10所能同时处理数据请求的最大数;有效交易数是变量,代表应用程序18通过通用串行总线驱动装置16已缴交给数据传输方10的数据请求的个数,有效交易数会随着数据传输方10处理的数据请求的数量而变更,其初始值可设为0。在其它实施方式中,有效交易数的初始值也可以设置为其它数值。在本实施方式中,若有效交易数小于最大有效交易数,说明数据传输方10尚能处理更多数据请求,若有效交易数不小于最大有效交易数,说明数据传输方10已经达到处理数据请求的极限,不能再处理更多数据请求。
请求处理模块162用于从数据接收方12的应用程序18接收一个或多个数据请求,并当参数处理模块160判断出有效交易数小于最大有效交易数时,驱动通用串行总线14缴交数据请求给数据传输方10。在本实施方式中,数据传输方10在收到数据请求后会传回完成信息及数据。当应用程序18需要接收数据时,即发出一个数据请求,请求处理模块162接收应用程序18发出的数据请求,若有效交易数为其初始值或小于最大有效交易数,则直接驱动通用串行总线14缴交数据请求给数据传输方10。数据传输方10收到数据请求后,就根据数据请求准备数据接收方12的应用程序18所需要的数据,并在准备好数据后,先通过通用串行总线14发送完成信息给通用串行总线驱动装置16,再通过通用串行总线14将所准备好的数据传送给应用程序18。
队列存取模块166用于当参数处理模块160判断出有效交易数不小于最大有效交易数时,将请求处理模块162所接收的数据请求放入队列。在本实施方式中,队列用于临时存取数据请求。在本实施例中,有效交易数不小于最大有效交易数表示数据传输方10已经不能再处理更多数据请求,此时,队列存取模块166将请求处理模块162收到的数据请求放入队列。
信息处理模块164用于从数据传输方10接收完成信息,并驱动通用串行总线14将数据传输方10准备好的数据传输给数据接收方12的应用程序18。
参数处理模块160还用于在请求处理模块162缴交数据请求给数据传输方10以及在信息处理模块164传输数据给数据接收方12之后更新有效交易数。在本实施方式中,当请求处理模块162缴交数据请求后,则参数处理模块160增加有效交易数,如将有效交易数加1。当信息处理模块164传输数据后,则参数处理模块160减少有效交易数,如将有效交易数减1。
队列存取模块166还用于在信息处理模块164传输数据给数据接收方12之后从队列中读取数据请求。信息处理模块164传输数据给数据接收方12之后,数据传输方10就可以处理新数据请求,所以队列存取模块166从队列中读取数据请求,再通过请求处理模块162驱动通用串行总线14缴交队列存取模块166所读取的数据请求给数据传输方10进行处理。
当队列存取模块166判断出队列中没有数据请求时,参数处理模块160还用于判断当前有效交易数是否为其初始值。若有效交易数为初始值,表示数据传输方10已经处理完应用程序18所发出的数据请求;若有效交易数不为初始值,表示数据传输方10中还有数据请求未处理完,则信息处理模块164继续从数据传输方10接收完成信息。
参阅图2A及图2B,所示为本发明通用串行总线驱动方法一实施方式的流程图。在本实施方式中,通用串行总线驱动方法通过图1中的功能模块来实施。
在步骤S200,参数处理模块160预设最大有效交易数。
在步骤S202,参数处理模块160设置有效交易数的初始值。在本实施方式中,参数处理模块160设置有效交易数为0。
在步骤S204中,请求处理模块162从数据接收方12的应用程序18接收数据请求。
在步骤S206中,请求处理模块162驱动通用串行总线14缴交数据请求给数据传输方10。数据传输方10在收到请求处理模块162缴交的数据请求后,会准备应用程序18所发出的数据请求所请求的数据,并在数据准备好之后,先通过通用串行总线14发送完成信息给通用串行总线驱动装置16,再通过通用串行总线14将所准备好的数据传送给数据接收方12的应用程序18。
在步骤S208,参数处理模块160增加有效交易数。在本实施方式中,参数处理模块160将有效交易数加1。
在步骤S210,参数处理模块160判断有效交易数是否小于最大有效交易数。
若有效交易数小于最大有效交易数,表示数据传输方10尚能处理更多数据请求,则返回步骤S204,请求处理模块162继续从数据接收方12的应用程序18接收数据请求。
若有效交易数不小于最大有效交易数,表示数据传输方10已不能处理更多数据请求,则在步骤S212,请求处理模块162判断是否继续从数据接收方12的应用程序18接收到数据请求。
若请求处理模块162继续接收到数据请求,则在步骤S214,队列存取模块166将请求处理模块162接收的数据请求放入队列,再返回步骤S212,请求处理模块162重新判断是否继续从数据接收方12的应用程序18接收到数据请求。
若请求处理模块162未继续接收到数据请求,则数据请求处理流程运行结束。在本实施方式中,数据请求处理流程是指对数据接收方12的应用程序18所发出的数据请求的处理,包括步骤S204至S214。
在数据请求处理流程运行到步骤S208之后,通用串行总线驱动装置16会运行完成信息处理流程,具体请参阅图2B。在本实施方式中,完成信息处理流程是指对数据传输方10所发出的完成信息及其准备好的数据的处理。在本实施方式中,数据请求处理流程与完成信息处理流程可通过中断或多线程等方式运行。具体而言,若采用中断方式,则一直执行步骤S204至步骤S214,当信息处理模块164从数据传输方10接收到完成信息时,就中断数据请求处理流程,转去执行完成信息处理流程,并在执行完完成信息处理流程后回到原断点继续执行数据请求处理流程;若采用多线程方式,则先启动主线程,一直执行数据请求处理流程,当信息处理模块164从数据传输方10接收到完成信息时,启动子线程来执行完成信息处理流程。
在步骤S216,信息处理模块164从数据传输方10接收到完成信息。在本实施方式中,完成信息表示数据传输方已准备好应用程序18发出的数据请求所请求的数据。
在步骤S218,信息处理模块164驱动通用串行总线14从数据传输方10接收其准备好的数据,并将所接收的数据传输给数据接收方12的应用程序18。
在步骤S220,参数处理模块160减少有效交易数。在本实施方式中,参数处理模块160将有效交易数减1,有效交易数减少后,其当前值就小于最大有效交易数,所以此时数据传输方10可处理新数据请求。
在步骤S222,队列存取模块166判断队列中是否有数据请求。
若队列存取模块166判断出队列中有数据请求,则在步骤S224,队列存取模块166从队列中读取数据请求,再返回到图2A中步骤S206,请求处理模块162继续驱动通用串行总线14缴交队列存取模块166从队列中读取的数据请求给数据传输方10。
若队列存取模块166判断出队列中没有数据请求,则在步骤S226,参数处理模块160判断有效交易数是否为其初始值。在本实施方式中,有效交易数不为其初始值,表示数据传输方10还没有处理完通用串行总线驱动装置16缴交的所有数据请求。
若参数处理模块160判断出有效交易数不为其初始值,则返回步骤S216,信息处理模块164继续从数据传输方10接收完成信息。
在本实施方式中,每当数据接收方12的应用程序18发出数据请求,就会触发通用串行总线驱动装置16开始执行数据请求处理流程;每当数据传输方10发出完成信息,就会触发通用串行总线驱动装置16开始执行完成信息处理流程,即步骤S216至S226及S206至S208。
本发明实施方式所提供的通用串行总线驱动装置16及通用串行总线驱动方法通过向数据传输方10同时提交多笔数据请求并将多余的数据请求排队的机制,使得数据传输方10同时处理多笔有效交易,从而有效增加通用串行总线驱动装置16的数据接收效率,满足网络通信设备对于数据接收效率日益增长的需求。

Claims (5)

1.一种通用串行总线驱动装置,设置于数据接收方,所述数据接收方通过通用串行总线与数据传输方相连,其特征在于,所述通用串行总线驱动装置包括:
参数处理模块,用于预设最大有效交易数及设置有效交易数的初始值,并判断所述有效交易数是否小于所述最大有效交易数;
请求处理模块,用于从所述数据接收方接收一个或多个数据请求,并在所述有效交易数小于所述最大有效交易数时驱动所述通用串行总线缴交所述数据请求给所述数据传输方,其中所述数据传输方收到所述数据请求后会传回完成信息以及所请求的数据;
队列存取模块,用于当所述有效交易数不小于所述最大有效交易数时将所述请求处理模块所接收的数据请求放入队列;及
信息处理模块,用于从所述数据传输方接收所述完成信息,并驱动所述通用串行总线从所述数据传输方传输数据给所述数据接收方;
其中,所述参数处理模块还用于在所述请求处理模块缴交数据请求给所述数据传输方之后增加所述有效交易数,以及在所述信息处理模块将所述数据传输给所述数据接收方之后减少所述有效交易数。
2.如权利要求1所述的通用串行总线驱动装置,其特征在于,所述队列存取模块还用于在所述信息处理模块将所述数据传输给所述数据接收方之后判断所述队列中是否有数据请求,并在所述队列中有数据请求时从中读取数据请求;所述请求处理模块还用于将所述队列存取模块所读取的数据请求缴交给所述数据传输方。
3.一种通用串行总线驱动方法,用于数据接收方通过通用串行总线从数据传输方接收数据,其特征在于,所述通用串行总线驱动方法包括如下步骤:
预设最大有效交易数;
设定有效交易数的初始值;
判断所述有效交易数是否小于所述最大有效交易数;
若所述有效交易数小于所述最大有效交易数,则从所述数据接收方接收数据请求,然后驱动所述通用串行总线缴交所述数据请求给所述数据传输方,并在缴交后增加所述有效交易数;
若所述有效交易数不小于所述最大有效交易数,则判断是否继续收到数据请求,并在继续收到数据请求时,将所述收到的数据请求放入队列;
从所述数据传输方接收完成信息,其中所述完成信息表示所述数据传输方已准备好所述数据请求所请求的数据;及
驱动所述通用串行总线从所述数据传输方传输所述已准备好的数据给所述数据接收方,并在传输完后减小所述有效交易数。
4.如权利要求3所述的通用串行总线驱动方法,其特征在于,还包括以下步骤:
判断所述队列中是否还有数据请求;
若所述队列中有数据请求,则从所述队列中读取数据请求;及
继续驱动所述通用串行总线缴交所述从队列中读取的数据请求给所述数据传输方。
5.如权利要求4所述的通用串行总线驱动方法,其特征在于,还包括以下步骤:
若所述队列中没有数据请求,则判断所述有效交易数是否为其初始值;及
若所述有效交易数不为其初始值,则重新从所述数据传输方接收完成信息。
CN2008103002018A 2008-01-24 2008-01-24 通用串行总线驱动装置及方法 Expired - Fee Related CN101493801B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008103002018A CN101493801B (zh) 2008-01-24 2008-01-24 通用串行总线驱动装置及方法
US12/206,731 US8145811B2 (en) 2008-01-24 2008-09-08 Universal serial bus driving device for presetting maximum active transaction number for data request to be synchronously processed by a data transmitter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008103002018A CN101493801B (zh) 2008-01-24 2008-01-24 通用串行总线驱动装置及方法

Publications (2)

Publication Number Publication Date
CN101493801A CN101493801A (zh) 2009-07-29
CN101493801B true CN101493801B (zh) 2011-07-27

Family

ID=40900536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008103002018A Expired - Fee Related CN101493801B (zh) 2008-01-24 2008-01-24 通用串行总线驱动装置及方法

Country Status (2)

Country Link
US (1) US8145811B2 (zh)
CN (1) CN101493801B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033829B (zh) * 2009-09-30 2012-07-18 慧荣科技股份有限公司 数据接收方法、具有数据接收机制的电子装置以及储存系统
CN104484297B (zh) * 2014-11-28 2018-02-06 浪潮(北京)电子信息产业有限公司 通用串行总线传输速率方法及其装置
US11709791B2 (en) * 2020-09-21 2023-07-25 Icron Technologies Corporation Techniques for deconflicting USB traffic in an extension environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829663B1 (en) * 2002-08-21 2004-12-07 Adaptec, Inc. Method and apparatus for the synchronous control of a serial interface
CN1619527A (zh) * 2003-11-22 2005-05-25 鸿富锦精密工业(深圳)有限公司 远程监控通用串行总线设备的系统及方法
CN101004660A (zh) * 2006-11-30 2007-07-25 北京飞天诚信科技有限公司 一种实现通用串行总线复合设备的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW586713U (en) * 2003-05-01 2004-05-01 Power Quotient Int Co Ltd Dual channel universal serial bus system architecture
US7698482B2 (en) * 2005-07-08 2010-04-13 Altera Corporation Multiple data rates in integrated circuit device serial interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829663B1 (en) * 2002-08-21 2004-12-07 Adaptec, Inc. Method and apparatus for the synchronous control of a serial interface
CN1619527A (zh) * 2003-11-22 2005-05-25 鸿富锦精密工业(深圳)有限公司 远程监控通用串行总线设备的系统及方法
CN101004660A (zh) * 2006-11-30 2007-07-25 北京飞天诚信科技有限公司 一种实现通用串行总线复合设备的方法

Also Published As

Publication number Publication date
US20090193422A1 (en) 2009-07-30
US8145811B2 (en) 2012-03-27
CN101493801A (zh) 2009-07-29

Similar Documents

Publication Publication Date Title
CN106411777A (zh) 一种处理高并发数据的方法和系统
CN105184726A (zh) 一种动态调价方法及装置
CN101546276A (zh) 多核环境下实现中断调度的方法及多核处理器
CN101493801B (zh) 通用串行总线驱动装置及方法
CN106101021B (zh) 一种以太网系统功能块的实时执行调度方法
CN106375241A (zh) 批量数据处理方法、前端系统、主机及批量数据处理系统
CN107342848A (zh) 一种自适应码流传输方法、装置及设备
CN103544035A (zh) 用于移动终端的应用清理方法及装置
CN111210136A (zh) 一种机器人任务调度的方法及服务器
CN102496125A (zh) 基于移动终端的转账方法及系统
CN102215177B (zh) 一种即时通讯软件的系统消息的处理方法与装置
CN1928935A (zh) 一种汇款结汇系统及方法
CN103731549A (zh) 一种智能手机终端消息的管理方法
CN107018087A (zh) 数据通信方法及系统
CN111353712A (zh) 配送任务调度方法及装置、服务器及存储介质
CN107454170A (zh) 一种待执行任务的信息传输方法及装置
CN101242341A (zh) 一种报文调度方法及装置
CN108564424A (zh) 一种减少查询交易信息出错的方法及支付交易系统
JP2007074218A (ja) パケット送信制御プログラム、パケット送信制御装置、及びパケット送信制御方法
CN101727314A (zh) 一种数据处理方法以及处理器
CN102681998A (zh) 一种服务请求及响应的方法及系统
CN107995175A (zh) 一种车载计算机的上网方法
CN107369092A (zh) 一种车险比价系统
CN111340408A (zh) 物流收派件仿真系统和仿真方法
CN202373037U (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180226

Address after: The Guangxi Zhuang Autonomous Region Nanning hi tech Zone headquarters Road No. 18, China ASEAN enterprise headquarters base three 5# workshop

Patentee after: NANNING FUGUI PRECISION INDUSTRIAL CO., LTD.

Address before: 518109 Guangdong city of Shenzhen province Baoan District Longhua Town Industrial Zone tabulaeformis tenth East Ring Road No. 2 two

Co-patentee before: Hon Hai Precision Industry Co., Ltd.

Patentee before: Hongfujin Precise Industry (Shenzhen) Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110727

Termination date: 20200124

CF01 Termination of patent right due to non-payment of annual fee