CN101127992B - 多业务并发执行的实现方法及实现该方法的移动终端 - Google Patents
多业务并发执行的实现方法及实现该方法的移动终端 Download PDFInfo
- Publication number
- CN101127992B CN101127992B CN2007101530433A CN200710153043A CN101127992B CN 101127992 B CN101127992 B CN 101127992B CN 2007101530433 A CN2007101530433 A CN 2007101530433A CN 200710153043 A CN200710153043 A CN 200710153043A CN 101127992 B CN101127992 B CN 101127992B
- Authority
- CN
- China
- Prior art keywords
- data
- usb port
- buffering area
- business module
- sent
- 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
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种多业务并发执行的实现方法及实现该方法的移动终端。所述移动终端通过USB设备与桌面系统相连实现多业务并发执行的方法包括:所述移动终端采用能提供多个USB端口的芯片,并设置所述移动终端中各业务模块与USB端口的对应关系;循环监测各USB端口是否接收到所述桌面系统发来的数据,如果接收到数据,则将所述接收到的数据送入与接收数据的USB端口对应的业务模块中;循环监测各业务模块是否有数据上报给所述桌面系统,如果是,则将所述上报数据送入与发送上报数据的业务模块对应的USB端口发送。
Description
技术领域
本发明涉及移动通信领域,尤其涉及移动终端和桌面系统之间的多业务并发执行方法以及实现此方法的移动终端。
背景技术
随着移动通信的发展,移动终端已经在全球非常普及,人们在使用语音业务的同时,对无线数据业务也提出了更高的要求,因此一种以专门提供无线数据业务为主,同时也提供语音和短信业务的无线数据卡产品就出现了。并且随着3G技术的发展,传输速率不再成为无线数据业务发展的瓶颈,7.2Mbps的无线设备已经在市场上出现,一般的无线终端设备考虑到体积和功耗,并不能充分利用这样高速数据业务,如果能在无线数据卡(可以理解为移动终端)和桌面系统(可以理解为个人电脑)之间建立一种可靠、有效的高速数据通道,无线数据业务的利用率将被大大提高。现有技术中是采用在同一USB端口上对不同的业务打成不同的数据包来发送的形式来执行多种业务的,无法实现真正意义上的多业务并行。
发明内容
本发明要解决的技术问题是提供一种多业务并发执行的实现方法及实现该方法的移动终端。
为了解决上述技术问题,本发明提供了一种移动终端通过USB设备与桌面系统相连实现多业务并发执行的方法,
所述移动终端采用能提供多端口USB虚拟技术的芯片,并设置所述移动终端中各业务模块与USB端口的对应关系;
循环监测各USB端口是否接收到所述桌面系统发来的数据,如果接收到数据,则将所述接收到的数据送入与接收数据的USB端口对应的业务模块中;
循环监测各业务模块是否有数据上报给所述桌面系统,如果是,则将所述上报数据送入与发送上报数据的业务模块对应的USB端口发送。
进一步地,上述方法还可具有以下特点,为每个USB端口设置发送缓冲区,设置移动终端中各业务模块、USB端口与各发送缓冲区的对应关系,当监测到某业务模块有数据上报给所述桌面系统时,将上报数据送入与所述业务模块对应的发送缓冲区中,根据发送缓冲区与相应USB端口的对应关系,通过该USB端口发送数据。
进一步地,上述方法还可具有以下特点,为每个USB端口设置接收缓冲区,设置移动终端中各业务模块、USB端口与各接收缓冲区的对应关系,当监测到某USB端口接收到所述桌面系统发来的数据时,将接收到的数据送入与所述USB端口对应的接收缓冲区中,根据接收缓冲区与相应业务模块的对应关系,将数据送入相应的业务模块中。
进一步地,上述方法还可具有以下特点,在所述发送缓冲区中,设置两个指针变量,第一发送指针变量用于指示将要发送的数据的位置,第二发送指针变量用于指示缓冲区接收到的业务模块返回的数据的位置。
进一步地,上述方法还可具有以下特点,在所述接收缓冲区中,设置两个指针变量,第一接收指针变量用于指示新接收到的数据的位置,第二接收指针变量用于指示需要取走的数据的位置。
为了解决上述技术问题,本发明还提供了一种实现多业务并发执行的移动终端,包括依次相连接的能提供多端口USB虚拟技术的芯片、与多个USB端口对应的多个业务模块、控制模块,其中,
所述能提供多端口USB虚拟技术的芯片的各USB端口与各业务模块分别对应,用于提供各业务模块的数据发送与接收通道,对接收和发送的数据进行监测;循环监测各USB端口是否接收到桌面系统发来的数据,如果接 收到数据,则将所述接收到的数据送入与接收数据的USB端口对应的业务模块中;循环监测各业务模块是否有数据上报给所述桌面系统,如果是,则将所述上报数据送入与发送上报数据的业务模块对应的USB端口发送
所述业务模块,用于实现不同的业务功能;
所述控制模块,用于监控各业务模块的执行情况,记录业务执行状态,根据业务执行状态记录进行业务协调处理。
进一步地,上述移动终端还可具有以下特点,为每个USB端口设置发送缓冲区,设置各业务模块、USB端口与各发送缓冲区的对应关系;所述能提供多个USB端口的芯片用于:当监测到某业务模块有数据上报给所述桌面系统时,将上报数据送入与所述业务模块对应的发送缓冲区中,根据发送缓冲区与相应USB端口的对应关系,通过该USB端口发送数据。
进一步地,上述移动终端还可具有以下特点,为每个USB端口设置接收缓冲区,设置各业务模块、USB端口与各接收缓冲区的对应关系;所述能提供多个USB端口的芯片用于:当监测到某USB端口接收到所述桌面系统发来的数据时,将接收到的数据送入与所述USB端口对应的接收缓冲区中,根据接收缓冲区与相应业务模块的对应关系,将数据送入相应的业务模块中。
进一步地,上述移动终端还可具有以下特点,所述控制模块根据业务执行状态记录进行业务协调处理是指,根据预先设置的各业务的优先关系或者排斥关系以及业务执行状态记录对业务请求进行处理。
采用本发明所述方法,利用虚拟USB技术实现多通道数据并发传输,很好的解决了移动终端和桌面系统之间业务并发执行的难点,满足了移动终端对多个业务并发执行的要求。本发明实现简单、易行,应用此方法后,可利用扩展出的多个端口给用户同时提供数据业务、语音业务、短信业务等,给测试提供调试接口等,且支持以上业务并发执行,相互之间没有影响。
附图说明
图1为根据本发明一实施例的USB多端口与业务模块之间对应关系的虚拟示意图;
图2为本发明实施例中多业务并发执行的实现方法的流程图;
图3a和图3b为本发明实施例中USB端点数据发送流程图;
图4a和图4b为本发明实施例中USB端点数据接收流程图;以及
图5示意了本发明实施例中的无线数据卡。
具体实施方式
要实现多个业务的并发进行,需要采用USB多端口虚拟技术实现USB多端口的扩展。采用提供多端口虚拟技术的芯片作为移动终端的芯片,再配置芯片中每个USB端口包含的端点以对应移动终端中的各业务功能模块,当该移动终端通过USB设备连接到桌面系统后,可通过多条USB通道同时与移动终端中的多个业务功能模块实现数据传输。
在移动终端中,可以设置缓冲区,以保证每个接收或发送端点的数据不会被覆盖。另外,通过设置缓冲区可以方便多个虚拟USB端口的应用和管理,例如,根据各业务之间的依存或排斥关系,可以实现业务数据的优先处理,或者,根据需要暂时将数据保存于缓冲区中,待移动终端能处理时再从缓冲区中读取业务数据。扩展出的每个端口可被用作一种业务的数据传输通道,合理的管理这些端口的数据,是支持所有业务并发执行的基础。
下面对本发明技术方案的具体实施实例作进一步的详细描述,在以下的具体实施例中,采用无线数据卡作为移动终端:
如图1所示,本实施例中采用的USB设备提供了0~7共八个双向端点口,每个端点口可同时被配置为发送和接收两种方式,这样共有16个单向 的端点可用,除去端点口0用作默认的控制传输通道,在设备加电时传输设备描述等数据外,还有14个单向端点可配作数据传输通道。根据USB数据传输协议,两个端点就可以完成一个USB数据传输通道,一个端点用作发送数据,一个端点用作接收数据。这样本实施例中所采用的USB设备有能力提供最多7个USB通道,这7个USB通道对应7个USB端口。
在设备初始化时给每个端口分配一个接收缓冲区和一个发送缓冲区,即每个单向端点配置一个缓冲区,其中,接收缓冲区用来存储从接收端点接收到的数据,接收缓冲区带有两个指针,一个指向新接收到数据的节点,另一个指向取走数据的节点,如果两个指针的值相同,表示缓冲区为空。发送缓冲区也带有一个指向将要发送数据节点的指针和一个指向缓冲区接收到的业务功能模块返回数据节点的指针。这些缓冲区是为了防止大批量数据处理时数据被覆盖。
在系统中创建两个线程:接收数据管理线程和返回数据管理线程。如图2所示,分别用于管理多个USB端口接收和发送数据。接收数据管理线程主要完成从每个USB端口接收缓冲区读取数据,由于每个USB端口对应一组数据缓冲区(一个发送缓冲区和一个接收缓冲区),所以在读取数据时可以方便知道数据是从那个端口接收的,只要提前定义好端口和业务之间映射关系,接收管理线程就会将该USB端口数据发送给和其对应的业务模块处理。当某个业务处理模块有数据要发送或者响应之前接收到的命令时,返回数据管理线程会将数据放入该业务模块对应的发送缓冲区,然后通过该USB端口对应的发送端点将数据发送。
如图2所示,接收线程启动后,循环监测各USB端口是否接收到桌面系统发来的数据,如果接收到数据,则将接收到的数据送入与接收数据的USB端口对应的接收缓冲区中,根据接收缓冲区与相应业务模块的对应关系,将数据送入相应的业务模块中;
返回数据处理线程启动后,循环监测各业务模块是否有数据上报,如果是,则将上报数据送入与发送上报数据的业务模块对应的发送缓冲区中,根据发送缓冲区与相应USB端口的对应关系,通过USB端口发送数据。
采用上述方法后,无线数据卡可同时处理多个USB端口接收到的数据
USB端点接收数据流程如图2a所示,包括以下步骤:
步骤2a1,某个接收端点有数据到达;
步骤2a2,接收端点将从USB总线上读到的数据放入USB缓冲区中接收指针指向的节点;
步骤2a3,接收指针向后移动一个节点,指向下一个节点。
之后,返回步骤2a1,继续监测是否有数据到达。
当某个接收端点有数据到达时,该端点对应的中断处理程序会通知接收线程有新数据到达,接收线程接收数据流程如图2b所示,包括以下步骤:
步骤2b1,先判断缓冲区是否为空,如果不为空,执行下一步;
步骤2b2,从取数据指针指向节点取一个节点数据;
步骤2b3,取数据指针位置后移一个节点。
之后,返回步骤2b1,继续读取数据。
业务功能模块返回数据流程如图3a所示,包括以下步骤:
步骤3a1,当某个USB端口对应的处理模块有数据返回时,即有数据需要发送时,将待发送数据放入该处理模块对应缓冲区中返回数据节点指针指向位置;
步骤3a2,返回数据节点指针后移一个节点,指向下一个节点;
步骤3a3,通知发送线程有数据要发送。
发送线程发送数据流程如图3b所示,包括以下步骤:
步骤3b1,当该端点要发送数据时,从缓冲区发送节点指针所指位置取一个节点数据;
步骤3b2,然后通过使能发送中断将数据发送给桌面系统(如笔记本电 脑);
步骤3b3,发送指针向后移动一个节点,指向下一个节点。
之后,返回步骤3b1继续发送数据,直到需要发送的数据均发送完毕为止。
在本实施例中,实现上述方法的无线数据卡如图5所示,其中,
多USB端口芯片,用于提供各业务模块的数据发送与接收通道,例如ADI公司芯片AD6903;
业务模块是实现不同业务功能的模块,可以是短消息模块、语音通讯模块、网络连接模块等;
控制模块,用于监控各业务功能模块的执行情况,记录业务执行状态,根据业务执行状态记录控制业务的并发执行,进行协调处理。例如,当短消息模块和语音通讯模块都收到数据,则控制模块允许短消息模块和语音通讯模块同时工作;再如,如果网络连接模块处于工作状态时,收到语音通讯模块的请求,则返回失败响应。
由于本发明所述方法和技术具有较大的通用性,针对具有USB多端口数据传输需求的终端产品均可以用本发明进行用于实际终端开发,并且简单易行。
应当理解的是,对本发明技术所在领域的普通技术人员来说,可以根据本发明的技术方案及其构思进行相应的等同改变或替换,而所有这些改变或替换,都应属于本发明所附权利要求的保护范围。
本文中所采用的8端点芯片仅为一实施方式,采用其他的具有多端点USB虚拟技术的芯片均可以通过本发明方法实现多业务的并发执行。
Claims (9)
1.一种移动终端通过USB设备与桌面系统相连实现多业务并发执行的方法,其特征在于,
所述移动终端采用能提供多端口USB虚拟技术的芯片,并设置所述移动终端中各业务模块与USB端口的对应关系;
循环监测各USB端口是否接收到所述桌面系统发来的数据,如果接收到数据,则将所述接收到的数据送入与接收数据的USB端口对应的业务模块中;
循环监测各业务模块是否有数据上报给所述桌面系统,如果是,则将所述上报数据送入与发送上报数据的业务模块对应的USB端口发送。
2.如权利要求1所述的方法,其特征在于,
为每个USB端口设置发送缓冲区,设置移动终端中各业务模块、USB端口与各发送缓冲区的对应关系,当监测到某业务模块有数据上报给所述桌面系统时,将上报数据送入与所述业务模块对应的发送缓冲区中,根据发送缓冲区与相应USB端口的对应关系,通过该USB端口发送数据。
3.如权利要求1或2所述的方法,其特征在于,
为每个USB端口设置接收缓冲区,设置移动终端中各业务模块、USB端口与各接收缓冲区的对应关系,当监测到某USB端口接收到所述桌面系统发来的数据时,将接收到的数据送入与所述USB端口对应的接收缓冲区中,根据接收缓冲区与相应业务模块的对应关系,将数据送入相应的业务模块中。
4.如权利要求2所述的方法,其特征在于,
在所述发送缓冲区中,设置两个指针变量,第一发送指针变量用于指示将要发送的数据的位置,第二发送指针变量用于指示缓冲区接收到的业务模块返回的数据的位置。
5.如权利要求3所述的方法,其特征在于,
在所述接收缓冲区中,设置两个指针变量,第一接收指针变量用于指示新接收到的数据的位置,第二接收指针变量用于指示需要取走的数据的位置。
6.一种实现权利要求1所述方法的移动终端,其特征在于,包括依次相连接的能提供多端口USB虚拟技术的芯片、与多个USB端口对应的多个业务模块、控制模块,其中,
所述能提供多端口USB虚拟技术的芯片的各USB端口与各业务模块分别对应,用于提供各业务模块的数据发送与接收通道,对接收和发送的数据进行监测;循环监测各USB端口是否接收到桌面系统发来的数据,如果接收到数据,则将所述接收到的数据送入与接收数据的USB端口对应的业务模块中;循环监测各业务模块是否有数据上报给所述桌面系统,如果是,则将所述上报数据送入与发送上报数据的业务模块对应的USB端口发送;
所述业务模块,用于实现不同的业务功能;
所述控制模块,用于监控各业务模块的执行情况,记录业务执行状态,根据业务执行状态记录进行业务协调处理。
7.如权利要求6所述的移动终端,其特征在于,
为每个USB端口设置发送缓冲区,设置各业务模块、USB端口与各发送缓冲区的对应关系;
所述能提供多个USB端口的芯片用于:当监测到某业务模块有数据上报给所述桌面系统时,将上报数据送入与所述业务模块对应的发送缓冲区中,根据发送缓冲区与相应USB端口的对应关系,通过该USB端口发送数据。
8.如权利要求6或7所述的移动终端,其特征在于,
为每个USB端口设置接收缓冲区,设置各业务模块、USB端口与各接收缓冲区的对应关系;
所述能提供多个USB端口的芯片用于:当监测到某USB端口接收到所述桌面系统发来的数据时,将接收到的数据送入与所述USB端口对应的接 收缓冲区中,根据接收缓冲区与相应业务模块的对应关系,将数据送入相应的业务模块中。
9.如权利要求6所述的移动终端,其特征在于,
所述控制模块根据业务执行状态记录进行业务协调处理是指,根据预先设置的各业务的优先关系或者排斥关系以及业务执行状态记录对业务请求进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101530433A CN101127992B (zh) | 2007-09-20 | 2007-09-20 | 多业务并发执行的实现方法及实现该方法的移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101530433A CN101127992B (zh) | 2007-09-20 | 2007-09-20 | 多业务并发执行的实现方法及实现该方法的移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101127992A CN101127992A (zh) | 2008-02-20 |
CN101127992B true CN101127992B (zh) | 2011-05-11 |
Family
ID=39095880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101530433A Active CN101127992B (zh) | 2007-09-20 | 2007-09-20 | 多业务并发执行的实现方法及实现该方法的移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101127992B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843388A (zh) * | 2011-06-20 | 2012-12-26 | 中兴通讯股份有限公司 | 实现无线数据传输与短信收发并行的方法、系统及设备 |
CN103078908B (zh) * | 2012-12-26 | 2015-09-09 | 北京经纬恒润科技有限公司 | 一种数据传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144353A1 (en) * | 2003-12-31 | 2005-06-30 | Z-Com, Inc. | Wireless virtual storage device |
CN1725200A (zh) * | 2004-07-22 | 2006-01-25 | 三星电子株式会社 | 用于在移动终端中存储和读取数据的设备和方法 |
CN1928846A (zh) * | 2006-09-12 | 2007-03-14 | 青岛海信移动通信技术股份有限公司 | 移动终端多口程序下载装置 |
CN1988701A (zh) * | 2006-11-05 | 2007-06-27 | 青岛海信移动通信技术股份有限公司 | 基于通用usb芯片的多功能手机及其实现方法 |
-
2007
- 2007-09-20 CN CN2007101530433A patent/CN101127992B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050144353A1 (en) * | 2003-12-31 | 2005-06-30 | Z-Com, Inc. | Wireless virtual storage device |
CN1725200A (zh) * | 2004-07-22 | 2006-01-25 | 三星电子株式会社 | 用于在移动终端中存储和读取数据的设备和方法 |
CN1928846A (zh) * | 2006-09-12 | 2007-03-14 | 青岛海信移动通信技术股份有限公司 | 移动终端多口程序下载装置 |
CN1988701A (zh) * | 2006-11-05 | 2007-06-27 | 青岛海信移动通信技术股份有限公司 | 基于通用usb芯片的多功能手机及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101127992A (zh) | 2008-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1552028B (zh) | 片上系统和其分布式直接存储器访问的方法和控制系统 | |
US6233643B1 (en) | Apparatus including a host processor and communications adapters interconnected with a bus | |
CN102647320B (zh) | 适用于高速1553总线协议控制的集成电路 | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN101188599B (zh) | 发电厂电气监控前置系统负荷均衡设计的实现方法 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
JPH09146906A (ja) | フレーム同期記憶装置 | |
CN104156333A (zh) | 一种基于fpga的uart多接口扩展系统和方法 | |
US7191262B2 (en) | High-throughput UART interfaces | |
CN105243044A (zh) | 基于串口的管理系统及管理方法 | |
CN101080073B (zh) | 一种双模通讯终端的模块间通讯电路及方法 | |
CN102664918A (zh) | 刀片服务器控制方法及控制台 | |
CN106059927B (zh) | 一种星型结构的有限级联自动重构网络路由设备及其网络 | |
CN101127992B (zh) | 多业务并发执行的实现方法及实现该方法的移动终端 | |
CN103106177B (zh) | 多核网络处理器的片上互联结构及其方法 | |
CN100538690C (zh) | 一种多cpu系统及cpu之间消息传递的方法 | |
CN201616094U (zh) | 具有多种连接器的主机装置和协议选择装置 | |
CN101635683A (zh) | 基于链路聚合的业务下发方法及装置 | |
CN114124609B (zh) | 一种基于1553b总线的通信装置及通信方法 | |
CN102214155A (zh) | 串口服务器 | |
CN102089750B (zh) | 将串行scsi阵列控制器连接至存储区域网络的系统 | |
CN114490474A (zh) | 一种通过cpld实现多路uart接口扩展的系统 | |
CN210428141U (zh) | 数字传感器 | |
CN112800001A (zh) | 一种基于arm平台架构的高性能物联网硬件平台及方法 | |
CN207037638U (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 |