CN103368688B - 数据处理装置 - Google Patents
数据处理装置 Download PDFInfo
- Publication number
- CN103368688B CN103368688B CN201310194936.8A CN201310194936A CN103368688B CN 103368688 B CN103368688 B CN 103368688B CN 201310194936 A CN201310194936 A CN 201310194936A CN 103368688 B CN103368688 B CN 103368688B
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- processing equipment
- link layer
- data link
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
按照本公开的一个方面,提供一种数据处理装置,该数据处理装置包括:控制器,配置成开启与另一个数据处理装置的逻辑通道;以及接收器,配置成从另一数据处理装置接收指定将要用于经由该逻辑通道来交换数据的数据链路层协议数据单元大小的消息,并且该数据处理装置还包括收发器,该收发器配置成按照数据链路层协议数据单元大小通过逻辑通道与另一数据处理装置来交换数据,其中数据链路层协议数据单元大小对于逻辑通道是恒定的,直到关闭该逻辑通道为止。
Description
技术领域
本公开涉及数据处理装置。
背景技术
在无线通信系统中,数据通常需要在调制解调器与应用处理器之间以高数据速率来交换。为了允许这类高数据速率,期望具有用于数据交换的有效数据链路层协议,这些数据链路层协议例如允许以操作(例如存储器操作和CPU操作)中的低开销并且以少量操作来交换数据。
发明内容
按照本公开的一个方面,提供一种数据处理装置,该数据处理装置包括:控制器,配置成开启与另一个数据处理装置的逻辑通道;以及接收器,配置成从另一数据处理装置接收指定将要用于经由该逻辑通道来交换数据的数据链路层协议数据单元大小的消息,并且该数据处理装置还包括收发器,该收发器配置成按照数据链路层协议数据单元大小通过逻辑通道与另一数据处理装置来交换数据,其中数据链路层协议数据单元大小对于逻辑通道是恒定的,直到关闭该逻辑通道为止。
按照本公开的另一方面,提供一种数据处理装置,该数据处理装置包括:控制器,配置成开启与另一个数据处理装置的逻辑通道;以及发射器,配置成向另一数据处理装置发送指定将要用于经由该逻辑通道来交换数据的数据链路层协议单元大小的消息,并且该数据处理装置还包括收发器,该收发器配置成按照数据链路层协议数据单元大小通过逻辑通道与另一数据处理装置来交换数据,其中数据链路层协议数据单元大小是恒定的,直到关闭该逻辑通道为止。
按照本公开的另一方面,提供一种数据处理装置,该数据处理装置包括:生成器,配置成基于另一个数据处理装置传送网络层分组所要求的数据链路层报头大小来生成数据链路层分组数据单元,使得数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示数据链路层报头大小并且设置在数据链路层分组数据单元中的网络层分组的数据链路层报头的位置处的未使用部分。
按照本公开的另一方面,提供一种数据处理装置,该数据处理装置包括发射器,该发射器配置成向另一个数据处理装置传送指示数据处理装置传送网络层分组所要求的数据链路层报头大小的消息,以及该数据处理装置还包括接收器,该接收器配置成从另一处理装置接收数据链路层分组数据单元,该数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示数据链路层报头大小并且设置在数据链路层分组单元中的网络层分组的数据链路层报头的位置处的未使用消息部分。
按照本公开的另一方面,提供一种数据处理装置,该数据处理装置包括存储器,该存储器对于多个网络层数据块的各网络层数据块来存储关于在处理网络层数据块之后是否应当发出中断的指示,以及该数据处理装置还包括处理元件,该处理元件配置成处理各网络层数据块,并且如果对于网络层数据块所存储的指示表明在处理网络层数据块之后应当发出中断,则在处理网络层块之后发出中断。
按照本公开的其它方面,提供按照上述数据处理装置的方法。
附图说明
附图中,相似的参考标号在不同视图中一般全都表示相同的部件。附图不一定按照比例绘制,重点而是一般在于说明本发明的原理。在以下描述中,参照以下附图来描述各个方面,其中:
图1示出通信布置。
图2示出例如与移动通信装置对应的通信装置。
图3示出通信处理器和应用处理器。
图4示出蜂窝调制解调器中的数据通路。
图5示出UL传输的消息流程图。
图6示出DL传输的消息流程图。
图7示出数据平面的软件架构。
图8示出通信处理器。
图9示出接口架构。
图10示出与模式应用处理器通信启动相关的流程图。
图11示出分组数据单元。
图12示出配置成从另一个数据处理装置接收关于恒定数据链路层协议数据单元大小的指示的数据处理装置。
图13示出用于指示恒定数据链路层协议数据单元大小的流程图。
图14示出配置成向另一个数据处理装置指示恒定数据链路层协议数据单元大小的数据处理装置。
图15示出用于接收关于恒定数据链路层协议数据单元大小的指示的流程图。
图16示出配置成在数据链路层分组数据单元中插入数据链路层报头空间的数据处理装置。
图17示出用于在数据链路层分组数据单元中插入数据链路层报头空间的流程图。
图18示出接收具有所插入的数据链路层报头空间的数据链路层分组数据单元的数据处理装置。
图19示出用于接收具有所插入的数据链路层报头空间的数据链路层分组数据单元的流程图。
图20示出通信启动配置的消息流程图。
图21示出数据链路层PDU传输的消息流程图。
图22示出具有流程控制的数据链路层PDU传输的消息流程图。
图23示出PDU大小的重新配置的消息流程图。
图24示出再同步的消息流程图。
图25示出没有分散操作的数据流程图。
图26示出具有分散操作的数据流程图。
图27示出具有集中操作的数据流程图。
图28示出处理网络层数据块的数据处理装置。
图29示出用于处理网络层数据的流程图。
图30示出通过前一个缓冲器指针进行同步的消息流程图。
图31示出通过信号量进行同步的消息流程图。
图32示出通过中断进行同步的消息流程图。
图33示出通过下一个指针进行同步的消息流程图。
图34示出通过前一个指针进行同步的消息流程图。
具体实施方式
以下详细描述参照附图,附图作为说明示出可在其中实施一些方面的本公开的具体细节和方面。充分详细地描述本公开的这些方面,以便使本领域的技术人员能够实施这些方面。可利用本公开的其它方面,并且可进行结构、逻辑和电气变更,而没有背离这些方面的范围。本公开的各个方面不一定是相互排斥的,因为本公开的一些方面能够与本公开的一个或多个其它方面相结合,以便形成新的方面。
无线通信装置中用于调制解调器与应用处理器之间的数据交换的数据链路层协议可基于围绕每个PDU传输、没有PDU组帧格式的单个PDU传输以及可变大小PDU的传输的协议握手。
但是,关于协议握手,每个PDU传输之前和之后的控制消息的交换因传送控制消息的所需带宽而降低可用带宽。通常通过软件(SW)来处理数据链路层协议。控制消息的SW处理可引起各控制消息的中断处理,这意味着与调制解调器侧的实时处理系统处的高费用上下文转交相关的SW等待时间。各控制消息的SW处理确实不仅增加CPU负荷,而且同时还因处理等待时间而降低可实现吞吐量。考虑每个PDU的两个中断以及在100Mbps下行链路速率的1.5千字节的最大IP分组大小(如LTE(长期演进)所要求),所产生的中断负荷大致为17000IRQ/s。这个中断负荷远远超出当今蜂窝调制解调器的CPU的可行极限。
关于没有PDU组帧格式的单个PDU传输,应当注意,可每个PDU传送单个IP分组,或者可在一个PDU中按照具有一个IP分组之后直接跟随下一个IP分组的流格式来传递多个IP分组。每个PDU的单个IP分组的传输限制净吞吐量。考虑用于处理每个PDU两个IRQ的每个的大约100μs的SW等待时间,例如物理MIPI HSI链路的200Mbps的净吞吐量仅为大约46Mbps,即,低于25%。每个PDU传递多个IP分组增加链路效率。但是,在没有分组之间的间隙的情况下,IP分组在连续存储器位置中通常不可用。在这种情况下,从多个IP分组来形成PDU可要求将第一IP分组从各个存储器位置复制到连续位置。接着,要求存储器复制操作,这使当今蜂窝调制解调器的可用存储器带宽过负荷。按照本公开的一个方面,通过使用分散集中DMA(直接存储器存取)来实现一种更有效实现。
关于可变大小PDU的传输,应当注意,具有仅由接收器刚好及时已知的可变大小的每个PDU会防止接收器以有效方式为PDU接收准备缓冲器。存储器分配典型地只能仅在每次接收PDU之前进行。每个PDU特定的存储器分配操作对CPU增加附加负荷。此外,必须支持灵活PDU大小导致允许有限系统存储器的有效使用所需的复杂存储器管理方案。
按照本公开的一个方面,提供用于超过100Mbps的数据速率的用户数据的例如LTE使能蜂窝调制解调器与应用处理器之间的有效处理器间通信。例如,提供MIPI HSI物理层之上的数据链路层协议和有效实现,其支持LTE所需的100Mbps下载和50Mbps上载的吞吐量、以低协议开销的净带宽的有效使用、功率有效传输以及用于处理链路层协议的极低CPU性能要求。
图1示出通信布置100。
通信布置100包括无线电小区101,其中各无线电小区101由相应基站102来操作。基站102例如是移动通信网络的无线电接入网的一部分。位于无线电小区101之一中的移动终端103可与操作无线电小区101的基站102进行通信(通过所谓的空中接口),并且因而可提供有到位于同一无线电小区101或不同无线电小区101(或者甚至另一个移动通信网络的无线电小区)中的另一个移动终端104、移动通信网络的核心网络或者诸如因特网或者其它移动通信网络之类的其它通信网络的通信连接。
移动通信网络可以是按照各种标准的蜂窝移动通信网络。例如,移动通信网络是按照GSM(全球移动通信系统)、UMTS(通用移动电信系统)或LTE(长期演进)的无线通信系统。
移动通信网络还可以是例如按照WLAN(无线局域网)标准的局域网或城域网。在这种情况下,基站102例如可以是接入点。应当注意,本公开的方面还可基于其它通信网络(不一定是蜂窝),例如蓝牙微网(Bluetooth piconet)等。
移动终端103可充当下行链路传输(即,从基站102到移动终端103的传输)的情况下的接收器,并且可充当上行链路传输(即,从移动终端103到基站102的传输)的情况下的发射器。
图2中给出移动终端103的结构的示例。
图2示出例如与移动通信装置201对应的通信装置200。
通信装置200可包括处理器202,例如微处理器(例如中央处理单元(CPU))或者任何其它类型的可编程逻辑装置(它例如可充当控制器)。此外,通信装置200可包括例如只读存储器(ROM)204的第一存储器204和/或例如随机存取存储器(RAM)206的第二存储器206。此外,通信装置200可包括显示器208,诸如触控式显示器、液晶显示器(LCD)显示器或发光二极管(LED)显示器或者有机发光二极管(OLED)显示器等。但是,任何其它类型的显示器可作为显示器208来提供。通信装置200还可包括任何其它适当的输出装置(未示出),诸如喇叭或振动发生器(vibration actuator)等。通信装置200可包括一个或多个输入装置,例如包括多个按键的小键盘210。通信装置200还可包括诸如例如用于通信装置200的话音控制的麦克风等的任何其它适当的输入装置(未示出)。在显示器208实现为触控式显示器208的情况下,小键盘210可由触控式显示器208来实现。此外,可选地,通信装置200可包括协处理器212,以便减低处理器202的处理负荷。此外,通信装置200可包括多个收发器214、218,收发器214、218可以是通信电路的一部分,并且可允许通信装置200将各种无线电接入技术用于通信。上述组件可经由例如实现为总线216的一个或多个线路相互耦合。第一存储器204和/或第二存储器206可以是例如DRAM(动态随机存取存储器)的易失性存储器或者非易失性存储器,例如PROM(可编程只读存储器)、EPROM(可擦PROM)、EEPROM(电可擦PROM)、或者例如浮栅存储器、电荷俘获存储器、MRAM(磁阻随机存取存储器)或PCRAM(相变随机存取存储器)或CBRAM(导电桥接随机存取存储器)等的闪速存储器。用于被运行以及由此控制处理器202(以及可选的协处理器212)的程序代码可存储在第一存储器204中。将要由处理器202(以及可选的协处理器212)来处理的数据(例如经由第一收发器214所接收或将传送的消息)可存储在第二存储器206中。
各收发器214、218与收发器214、218所使用的一个或多个相应天线222、224耦合,以便传送和接收无线电信号。通信装置200以及收发器214、218的一个或多个还可配置成提供MIMO无线电传输。
此外,通信装置200可包括配置成经由通信装置200来提供视频会议的静止图像和/或视频照相装置220。
此外,通信装置200可包括识别通信装置200的用户和订户216的用户身份模块(SIM)、例如UMTS用户身份模块(USIM),例如供蜂窝广域通信网络103使用。
处理器202可包括音频处理电路、诸如音频解码电路和/或音频编码电路等,该音频处理电路配置成按照下列音频编码/解码技术的一个或多个来对音频信号进行解码和/或编码:ITU G.711、自适应多速率窄带(AMR-NB)、自适应多速率宽带(AMR-WB)、高级多带激励(AMBE)等。
例如,第一收发器214配置成使得它实现按照蜂窝无线电通信系统(例如UMTS或LTE)的接口。在这种情况下,第一收发器214例如对应于充当可与CPU202(它充当应用处理器,例如运行应用并且提供多媒体特征)进行通信的蜂窝调制解调器的通信芯片或通信处理器。通信处理器与应用处理器之间的通信又称作处理器间通信(IPC),并且在图3中示出。
图3示出通信处理器301和应用处理器302。
通信处理器301充当蜂窝调制解调器。
通信处理器301和应用处理器302通过IPC接口来连接,其中IPC接口通过存在于应用处理器和通信处理器侧两者的IPC协议驱动程序303、IPC物理驱动程序304和IPC硬件(HW)305来实现。应当注意,作为PCM(脉冲代码调制)样本的音频数据的交换可由独立接口来处理。
在通信处理器301中实现蜂窝协议栈(PS)305,即,按照通信处理器301所支持的蜂窝通信技术的协议栈。经由称作分组缓冲器管理器(PBM)306的集中存储器管理器从/向蜂窝协议栈(PS)向IPC传递用户数据。使用若干逻辑通道将用户数据作为IP分组沿数据平面来进行路由。各逻辑通道对应于专用分组数据网络(PDN)连接。术语PDN连接表示到特定接入点名称(APN)的分组数据连接,该连接引起专用接收器IP地址的指配。在2G/3G网络中,对于每个主PDP上下文建立PDN连接,而在4G网络中,默认承载用于建立PDN连接。术语PDN连接用作从特定无线电接入技术(RAT)提炼出的一般术语,无论是2G、3G还是4G。
在通过PBM306从IPC接口303、304、305到PS305的数据通路中的蜂窝调制解调器侧不存在处理基于IP地址的路由选择的TCP/IP栈。
中央分组缓冲器管理器(PBM)306提供在IPC接口与协议栈307之间使用的公共分组缓冲器。在PS305与IPC接口之间不需要数据的复制操作。IPC接口提供具有分散/集中链表处理的DMA(直接存储器存取)能力。通过这些手段能够实现高吞吐量的极有效数据通路。
控制平面使用通过串行IO(输入输出)处理程序(S-IO)308到AT(注意)命令处理程序309的至少一个专用通道。S-IO处理程序308实现经由到驱动程序和应用的专用接口所服务的TX(传输)和RX(接收环形缓冲器)。在这种情况下,应用是AT命令处理程序309。控制通道使用AT命令。备选地,基于函数调用的远程过程调用能够沿相同途径路由到蜂窝调制解调器侧的RPC(远程过程调用)客户端。
IPC接口建立于三个主要组件之上:
-IPC HW块305
-服务于硬件的IPC物理驱动程序304
-提供数据链路层和MAC功能性的IPC协议驱动程序303。
IPC接口的控制和数据流与硬件解决方案和IPC协议无关。按照本公开的一个方面,通信处理器301支持经由三个接口的串行IPC连接:
-MIPI(移动工业处理器接口)高速串行接口(HSI)
-USB(通用串行总线)高速芯片间接口(HSIC)
-USB2.0高速(HS)
例如,在移动终端103中仅使用这些接口其中之一。例如,IPC的MIPI HSI、USBHSIC或USB HS接口的同时操作不在预期中。
图4中给出关于通过蜂窝调制解调器侧的IPC接口的逻辑通道的路由选择的更详细视图。
图4示出蜂窝调制解调器400中的数据通路。
蜂窝调制解调器400包括:与IPC组件303、304、305对应的IPC接口401;与S-IO308对应的S-IO402;与PBM306对应的PBM403;与命令处理程序309对应的命令处理程序404;以及与命令处理程序309对应的协议栈405。蜂窝调制解调器400还包括用于每个所支持蜂窝通信技术的分组业务管理器406和RAT模块407(在图3中未示出)。
控制通道(加阴影线示出)和数据通道(没有加阴影线示出)向/从这些组件传输数据。高带宽数据通路的路由选择由分组缓冲器管理器(PBM)403来管理。IPC逻辑通道(与通道ID对应)到PS的上下文ID(PTM ID)的动态路由选择由PBM403的路由器组件来处理。PBM客户端403在系统启动时进行注册,每个PDN连接的通道关联采用AT命令来处理。
PBM403提供到PS405的特定IPC接口的完全抽象。PBM403能够被看作是充当中间人。
沿类似线路,分组业务管理器(PTM)406支持各种RAT(由RAT模块407所提供)到系统的其余部分的抽象。
控制通路和可选低带宽数据经过S-IO模块402。控制通路用于调用控制和PDP上下文控制。在应用处理器侧,控制通道作为经由tty层提供终端接口的串行端口是可访问的。
应当注意,在MIPI HSI IPC接口的情况下,控制通路和可选低带宽数据经由PBM403到S-IO402(图2中未示出)。IPC通道使用在编译时间是可配置的(例如除了用于IPC控制的通道0之外)。
通信处理器301调制解调器与应用处理器302之间的应用级的调制解调器控制使用AT命令来实现。在基于AT命令的架构的上下文中,能够添加SW复用器。SW复用器提供用作AP侧的AT终端的多个逻辑通道(DLC)。将这些逻辑通道映射在特定物理IPC接口的控制通道其中之一之上。复用器协议是数据链路协议(OSI模型的第2层),它使用类似HDLC(高级数据链路控制)的组帧、虚拟数据通道和通道的控制过程。这允许应用处理器302上的软件应用通过模拟多个虚拟通信通道以并发方式来访问通信处理器301。MUX协议控制虚拟通道,并且通过虚拟通道来传送用户数据。由用户应用所生成的典型数据是
-调用控制的AT命令、补充服务、SMS、SIM工具包、驱动程序和配件控制等
-电路交换数据
-MUX通道分配
表1中给出默认DLC(数据链路连接)的示例。
DLC0 | Mux控制通道 |
DLC1 | 调用控制命令-AT命令 |
DLC2 | CSD(电路交换数据/多媒体调用) |
DLC3-5 | 低带宽PDN连接建立和数据 |
DLC6 | 调用设定、电话簿、SMS、SIMTK |
DLC7 | 空闲 |
DLC8 | XDRV、SYSTEM-音频管理 |
DLC9 | 位置服务-A-GPS |
DLC10 | 空闲 |
DLC11 | CIQ |
表1
数据通道端接在AP侧,作为进入网络协议栈312(例如TCP/IP栈)的网络接口320。
作为具有专用IP地址的独立网络接口320,每个PDN连接端接在应用处理器侧。PDN连接对应于UMTS通信系统的主PDP上下文或者LTE通信网络的默认承载。辅助PDP上下文或专用承载的用户数据通过与对应主PDP上下文或默认承载相同的IPC通道来进行路由。
PBM306支持协议栈307与IPC接口之间的公共缓冲器管理。PBM306在移动终端103启动时从运行于应用处理器302的操作系统313来分配存储器池。从这个存储器池,PBM306服务于来自IPC接口或协议栈307的缓冲器请求。在启动之后不需要OS级存储器分配。PBM306向协议栈307和IPC接口提供分组缓冲器及相关缓冲器描述符。
存在两种缓冲器及相关缓冲器描述符:传递缓冲器/描述符(TB/TD)和段缓冲器/描述符(SB/SD)。
传递缓冲器是IPC传递的基本单元,即,作为基本单元通过IPC接口的物理线路来传送的PDU(物理数据单元)。传递缓冲器包含IP分组的集合。传递缓冲器经由传递缓冲器描述符(TD)来描述。
段描述符(SD)指向单个分组。该分组能够在上行链路(UL)是传递缓冲器的一部分,或者在下行链路(DL)是在其自己的独立缓冲器中。
通过在单个大IPC传递中传递若干IP分组,实现具有最小SW交互的数据通路。在HW侧,由于内建分散/集中链表DMA能力,IPC控制器自主遍历缓冲器描述符的链表。
图5中示出从应用处理器302到通信处理器301的UL方向的数据通路相关处理。
图5示出UL传输的消息流程图500。
消息流程在例如与通信处理器301的IPC硬件305对应的IPC硬件501、例如与通信处理器301的IPC物理驱动程序304和IPC协议驱动程序303对应的IPC驱动程序502、例如与PBM306、403对应的PBM503以及例如与PTM504对应的PTM504之间进行。
由左至右,IP分组505通过物理线路进入通信处理器。IP分组505是IPC传递的一部分。各传递由IPC硬件组件501存储在预先分配的传递缓冲器(TB)506、507中。每当传递缓冲器506由IPC硬件501完全填充时,经由中断服务向IPC驱动程序502发信号通知关于这种情况。在这个示例中,示出两个传递缓冲器506、507。较下的传递缓冲器507当前由IPC硬件501来填充,而较上的传递缓冲器506已经转交到IPC驱动程序502。
IPC驱动程序502解析所接收的传递缓冲器506,并且对于传递缓冲器506中存在的各分组来更新段描述符(SD)508。该处理产生各传递缓冲器506、507的段描述符508的链表。段描述符508的列表最终经由PBM503转交到PTM504供发送到蜂窝通信网络的网络侧(即,基站102)。
图6中示出从通信处理器301到应用处理器302的DL方向的数据通路相关处理。
图6示出DL传输的消息流程图600。
消息流程在例如与通信处理器301的IPC硬件305对应的IPC硬件601、例如与通信处理器301的IPC物理驱动程序304和IPC协议驱动程序303对应的IPC驱动程序602、例如与PBM306、403对应的PBM603以及例如与PTM504对应的PTM604之间进行。
IPC驱动程序601经由PBM503从PTM504接收段描述符605的链表。每个段描述符603指向从蜂窝通信网络的基站102已经接收的IP分组606。IPC驱动程序602解析由段描述符605所给出的各分组的长度。基于长度信息,IPC驱动程序602格式化IPC传递。该格式化包括传递报头的编译以及在传递结尾处的零填充的段描述符的添加。
最后,IPC驱动程序602(例如IPC描述符)采用第一段描述符对IPC硬件601进行编程,以便发出供特定传递。IPC硬件601处理段描述符505的链表,从而自主地从相关段缓冲器(SB)505发出所有数据。
图7中示出按照本公开的一个方面的数据平面的整体软件架构。
图7示出数据平面的软件架构700。
软件架构700包括:蜂窝协议栈701,对应于协议栈307,包括作为NAS(非接入层)的一部分的与PTM406对应的PTM711的实现;平台服务702,包括作为运行时服务的例如与PBM506对应的PDM服务705,并且包括作为SIO服务712的与S-IO308对应的S-IO710的实现;连通性栈503,包括USB栈509;以及驱动器504,包括作为连通性驱动程序的MIPI HSI接口的MIPI_HSI驱动程序506,其中MIPI HSI接口按照本公开的一个方面用作IPC接口。
图7中示出PS507、PBM506和IPC如何进行交互。图7所示的上下文图是总体上示出具有它们的自/至其它软件组件的输入和输出的一些组件的高级图。PBM组件705向PS501提供服务接口707以及向IPC组件MIPI HSI驱动程序706和USB栈709提供驱动程序接口708。
PBM的任务是存储器管理。它提供传递和段缓冲器的关联描述符以及缓冲器的分配和释放的服务。PBM705提供传递和段缓冲器的分配和释放。在UL,传递缓冲器506、507通常保存多个IP分组,以及段描述符508被关联到传递缓冲器506、507中的每个IP分组505。在DL,每个段描述符605被关联到专用段缓冲器中的IP分组606。
PBM705的第二服务是支持分组路由选择。PBM705涉及如下客户端的注册:PTM、USBHS、USB HSIC、MIPI HSI和S-IO。它处理从驱动程序的装置ID到IPC的通道ID和来自PS的PTM的PTM ID的ID映射,如图4所示。基于路由选择信息,PBM705管理描述符从一侧到另一侧的转交。此外,PBM705通过在流程控制状况下限制对新缓冲器的访问,来支持由PTM711所发起的UL流程控制。
PTM711提供IP分组路由选择和过滤的服务。它按照业务流程模板来生成每个NSAPI(网络服务接入点标识符)的IP分组列表,向NSAPI映射提供PTM ID,并且执行UL方向的TCP ACK优先化。在UL,PTM711提供用于向蜂窝网络进行报告以及用于流程控制判定的数据缓冲器状态的跟踪。UL数据流程控制判定基于缓冲器状态并且基于当前数据传递状态/速率。
客户端USB HS、USB HSIC、MIPI HSI和S-IO使用PBM705的服务来处理用户数据的链表。
在UL处理中,IPC组件提供下列操作:
-从PBM705请求传递缓冲器(TB)
-从PBM705请求传递和段描述符
-解析经由IPC HW305所接收的传递缓冲器
-构建每个TB506的IP分组相关段描述符列表
-将列表传递给PBM705,以便路由到PS701
在DL处理中,IPC组件提供下列操作:
-从PBM705接收作为来自PS701的段描述符的链表的IP分组
-格式化每个传递的IP分组的链表
-将列表传递给IPC硬件模块505
-向PBM发布段描述符的指示
图8中示出如图3所示的IPC架构的基础硬件的示例。
图8示出通信处理器800。
通信处理器800包括例如基带芯片等的处理组件801、电源管理单元802、存储器803、振荡器804、收发器组件805以及耦合到天线807的前端组件806。
在这个示例中,支持到应用处理器302的若干接口:
-USB 2.0HS
-USB HSIC
-MIPI HSI
对应接口组件808、809、810设置在处理元件801中。
全部三个所支持的IPC接口可提供具有分散/集中链表处理的内建DMA能力。通过这些手段能够实现高吞吐量的极有效数据通路。
按照本公开的一个方面,仅使用到应用处理器302的所支持接口其中之一。下面假定使用MIPI HSI接口,并且MIPI HSI组件810耦合到应用处理器302的对应MIPI HSI组件,以便提供IPC接口。
图9中示出作为MIPI HSI的IPC接口的实现。
图9示出接口架构900。
该架构包括位于蜂窝调制解调器901(对应于蜂窝调制解调器301)中的组件以及位于应用处理器901(对应于应用处理器302)中的组件。
在调制解调器侧,提供GPIO(通用输入/输出)组件903、MIPI HSI驱动程序904(例如对应于IPC物理和/或协议驱动程序303、304)以及MIPI HSI硬件905(对应于IPC硬件305)。
在应用处理器侧,提供GPIO(通用输入/输出)组件906、MIPI HSI硬件907(对应于IPC硬件305)、MIPI HSI物理驱动程序908(例如对应于IPC物理驱动程序304)以及MIPI HSI协议驱动程序909(例如对应于IPC协议驱动程序305)。
调制解调器侧的组件例如对应于处理组件801的MIPI HSI组件810。
MIPI HSI驱动程序904位于MIPI HSI硬件905(例如接口控制器)之上。在这个示例中,MIPI HSI驱动程序904是在单个组件中实现HW驱动程序305和协议驱动程序304的软件。
MIPI高速串行接口(HSI)意在用于与应用处理器进行接口。按照本公开的一个方面,MIPI HSI组件810支持下列特征:
-符合MIPI HSI物理层规范
-同步、流水和接收器实时数据流
-流和帧比特传输模式
-支持16个接收通道和16个传送通道
-支持高达208Mbps的传送速度
-支持高达230Mbps的接收速度的源同步接收器实现
-唤醒支持
-接收器支持具有和没有ACWAKE信号的唤醒
-采用标准1.2V和1.8V IO垫(pad)进行操作
下面进一步描述由MIPI HSI组件810所使用的数据链路层协议。
MIPI HSI组件810例如可使用来自S-IO710的接口(由S-IO服务712所实现)以及来自PBM的接口。它对驱动程序组件、操作系统和MIPI HSI硬件(例如实现处理组件801的芯片的一部分)具有相关性。
MIPI HSI SW概念限制到对等通信。SW协议基于“高速同步接口(HSI)的MIPI联盟规范,物理层”。
下面进一步描述由IPC接口(例如处理元件801)所支持的数据链路协议命令的示例。
MIPI HSI接口支持可变数量的IPC通道:能够激活从最少2个通道一直到16个通道。步长为2、4、8和16。此外,MIPIHSI操作根据数据链路层能力和物理层操作是可配置的。
一个MIPI HSI通道可用于被用作AT命令的接口。控制通道连接到PBM306驱动程序接口,以及由此经由S-IO308连接到调制解调器侧的应用。逻辑通道使用PBM驱动程序接口经由S-IO308向外连接到PBM306。
高达14个MIPI HSI通道可用于被用作网络连接或其它应用服务的接口。数据通道经由PBM驱动程序接口连接到PBM306,以及由此经由PBM服务接口连接到PS701的PTM组件711。
在移动终端103的加电或重置之后,基于MIPI HSI的IPC接口向应用处理器提供关于调制解调器控制通路建立并且运行以及IPC通信能够经由IPC开始的指示。图10中示出启动之后的事件。
图10示出与模式应用处理器通信启动相关的流程图1000。
在这个示例中,假定两个通道与调制解调器侧的对应实体1001、1002以及应用处理器侧的对应实体1007、1008配合使用。此外,该流程中涉及调制解调器侧的HSI HW1003、应用处理器侧的HSI HW1006以及调制解调器和应用处理器侧的SCU1004、1005。
在1009,指示通信处理器301的重置。
在1010,MIPI HSI的CAREADY信号转到高电平以指示MIPI HSI HW903准备好接收一个HSI帧。
在1011,对ECHO数据链路层命令的应答由应用处理器302来发送。由通信处理器302进行的ECHO应答指示MIPI HSI驱动程序是可操作的。应用处理器302重复地再发送ECHO数据链路层命令,直到在1012由来自调制解调器侧的ECHO数据链路层命令应答。
在1013,应用处理器302向调制解调器301发送OPEN_CONNECT或OPEN_CONNECT_OCTET命令。
在1014,ACK响应指示,在接收器侧,通过S-IO和PBM从IPC到最终目的地的完整路径是可操作的。在调制解调器侧,随着接收来自命令处理程序应用的指示控制平面是可操作的就绪事件来对ACK数据链路层响应进行选通。通信处理器301准备好开始通过IPC的通信以用于在1015传递PDU。
应用处理器302容许对ECHO和OPEN_CONNECT或OPEN_CONNECT_OCTET命令的响应的某个等待时间。等待时间对应于完成启动过程并且在通信处理器侧变为可操作所需的时间。
能够对于DL和UL两个方向以及对于各数据通道单独实现流程控制。项目特定设定例如能够仅对UL中的四个数据通道其中之一启用流程控制,而对所有DL通道没有设置流程控制。在默认配置中,可对所有UL数据通道启用流程控制。对于DL数据通道不存在流程控制。一旦IPC经由PBM306从PS309接收到分组的链表,它就在DL发出数据。
按照本公开的一个方面,流程控制基于信用(credit)。接收器装置必须在发射器能够发送第一PDU(分组数据单元)之前发送信用。例如,经由IPC通过CREDIT命令向应用处理器302发送信用。各信用允许向通信处理器301传送一个PDU。当发射器装置(下行链路的通信处理器301、上行链路的应用处理器302)接收CREDITS命令时,它将其信用值增加新接收的值。对于每个所传送的PDU,它必须将其信用值减一。不允许发射器(装置)在其信用值为0时进行传送。
针对电源管理,两个装置301、302均能够通过分别升高其WAKE线路来发起唤醒:ACWAKE和CAWAKE。仅在ACWAKE和CAWAKE线路均为低电平时,装置301、302才能够进入睡眠。
装置能够使用BREAK命令进行再同步,如以下所述。
下面描述按照本公开的一个方面、用于MIPI HSI接口的数据链路协议。按照本公开的一个方面,这个数据链路层协议用于通过MIPI HSI接口的通用数据传递。这涵盖所有数据传递类型,除了要求专用协议以允许音频应用满足更严格的实时要求的音频数据之外。
数据链路层协议在控制消息和数据PDU之间进行区分。数据链路层协议保留逻辑通道之一以便被用作控制通道。这个通道用于在调制解调器301与应用处理器302(例如对应ASIC(专用集成电路))之间协商通道配置和PDU的传输。这始终是接口的第一通道,即通道0。接口的其它逻辑通道用作数据通道。数据PDU的传输基于固定长度数据PDU。在数据通道中,数据按照两种格式其中之一、原始格式或者分组格式来传送。在原始格式中,数据链路协议不要求任何特殊PDU结构。使用分组格式,PDU通过报头和有效载荷来构成。报头提供关于有效载荷的结构的信息。
数据链路层协议不限制其使用,但是它提供实现发射器与接收器之间的流程控制的方法。通过流程控制协议,发射器能够确信接收器始终准备好接收数据。因此,接口没有发生障碍(stall)。
由于数据链路层协议是点对点协议,所以始终存在所涉及并且例如连接到用于数据交换的总线的两个装置。下面将这些装置、例如调制解调器301和应用处理器302一般称作A装置和B装置。根据数据链路层协议,装置之间的唯一差别在于,A装置是负责配置管理的装置。在实际数据传输中,两种装置均是相同的。例如,应用处理器302(例如应用ASIC)是A装置,而调制解调器301(例如调制解调器ASIC)是B装置。
控制通道的协议是固定大小的PDU协议。控制通道的PDU称作命令。命令的结构如下:
表2中给出按照数据链路层协议的命令的示例。
表2:数据链路层协议命令的列表
例如,以下命令采用ACK或NAK命令来确认:CONF_CH、OPEN_CONN、CANCEL_CONN和CREDITS。例如不确认以下命令:BREAK、ECHO、ACK和NAK。
应当注意,按照本公开的一个方面,命令始终使用控制通道来传送。
BREAK命令
BREAK命令用于终止所有通道上的所有正进行的数据传输,并且将配置重置到初始状态。
在接收BREAK命令之后,接收器发送BREAK命令。发起方必须保持发送BREAK(以100ms超时),直到它接收响应BREAK命令。在接收BREAK响应之后,通信能够重新开始。例如,发起方与接收器BREAK命令之间的超时为100ms。
例如始终使用用于传输的通道0、即控制通道以最大数量的通道来发送BREAK命令。按照上面给定的命令结构,BREAK命令例如具有如下结构:
ECHO命令
ECHO命令能够用于确定另一装置是否存在并且在起作用(alive)。当装置接收ECHO命令时,它采用ECHO命令进行应答。ECHO命令具有恒定校验模式字段。它包括预先知道的常数(在这个示例中为0xACAFFE),该常数用于校验通道配置的正确性。
通道例如始终是控制通道的编号,即0。按照上面给定的命令结构,ECHO命令例如具有如下结构:
CONF_CH命令
CONF_CH命令用于将逻辑通道配置用于所指定连接。按照上面给定的命令结构,它例如具有如下结构:
通道的A装置和通道的B装置的字段例如具有如下结构:
例如,流程控制字段的值如表3所给出:
表3:流程控制字段
例如,数据格式字段的值如表4所给出:
表4:数据格式字段
应当注意,在开启用于连接的通道之前,在启动时应用CONF_CH命令。例如,重新配置要求经由CANCEL_CONN预先关闭通道。
OPEN_CONN命令
OPEN_CONN命令用于开启用于固定大小PDU的传输的连接。按照上面给定的命令结构,它例如具有如下结构:
OPEN_CONN命令包括16位宽的长度字段。长度字段确定PDU中的32位字的数量。PDU的最大长度为216个字,即,256千字节-1。
如果接收器接受传输,则它采用ACK命令进行响应。否则,它采用NAK命令进行响应(例如,如果存在仍然开启的前一个连接)。ACK命令包括PDU的长度。例如,在接收器采用ACK进行应答之前,发射器不得发送第一PDU。
应当注意,按照本公开的一个方面,在连接配置成应用流程控制的情况下,发射器在没有接收到充分信用的情况下不得发送PDU。
CANCEL_CONN命令
CANCEL_CONN命令用于取消通过OPEN_CONN命令来请求的当前连接。按照上面给定的命令结构,它例如具有如下结构:
例如,方向字段的值如表5所给出:
表5:方向字段值
如果另一装置同意该取消,则它采用ACK命令进行应答。否则,它采用NAK命令进行应答。
ACK命令
ACK命令由装置用于发信号通知关于由另一个装置所发送的前一个命令已经被接收、理解并且接收器同意该命令。前一个命令的参数被回传(echo back),因此另一装置能够校验其正确性。按照上面给定的命令结构,它例如具有如下结构:
NAK命令
NAK命令由装置用于发信号通知关于由另一个装置所发送的前一个命令已经被接收但尚未理解和/或该装置不同意前一个命令。按照上面给定的命令结构,它例如具有如下结构:
CREDITS命令
CREDITS命令能够用于支持从接收器到发射器的流程控制。当传送装置接收CREDITS命令时,它将其信用值增加新接收的值。对于每个所传送的PDU,它将其信用值减一。不允许装置在其信用值低于0时进行传送。
按照本公开的一个方面,按照数据链路层协议经由MIPI HSI接口的数据的传输基于固定大小PDU。PDU的大小例如是字(32位)对齐的。PDU大小通过OPEN_CONN命令来发信号通知。它保持不变,直到连接经由CANCEL_CONN命令来关闭。
在原始格式中,数据链路协议不要求任何特殊PDU结构。
图11中示出分组格式。
图11示出数据链路层分组数据单元(PDU)1100。
在分组格式中,PDU 1100通过报头1101和有效载荷1102来构成:
报头1101提供关于有效载荷1102的结构的信息。有效载荷1102内部的分组数据(这个示例中的分组1103、1104、1105)按照通过对齐1106所配置的对齐来对齐。
例如,报头的结构如下:
报头依次包含有效载荷1102的各分组1103、1104、1105的一个分组描述符1107。各分组描述符1107提供有效载荷1102中的分组1103、1104、1105的起始地址和大小。例如,起始地址和大小以字节为单位来指定。特殊的下一个(N)字段可用于发信号通知关于是存在另一分组描述符(N=0b1)还是已经达到最后一个分组描述符(N=0b0)。例如,分组描述符1107具有如下结构:
分组描述符1107之后接着报头1101的CRC校验值1108。
发射器负责确保分组数据1103、1104、1105开始按照采用CONF_CH命令所配置的对齐。对于半字对齐,分组起始地址的LSB必须为0b0,对于字对齐,最后两个LSB必须为0b00,依此类推。
有效载荷1102包括如PDU报头中所述所安排的分组数据。
分组数据的间隔通过两个参数来确定:接收器的对齐和报头空间要求。分组的第一字节的放置服从对齐要求(由对齐1106所考虑)。包含各分组1103、1104、1105前面的空闲字节1109,以便满足接收器的报头空间要求。
应当注意,预先配置参数报头空间要求。它在编译时被确定并且在应用处理器302与调制解调器301之间共享。
PDU1100在其末尾还包括填充1010。
如上所述,PDU大小在采用OPEN_CONN命令所开启的连接期间是固定和不变的。一般来说,按照本公开的一个方面,确定数据链路层PDU大小,它保持为恒定,只要逻辑通道开启(例如,在上述示例中,对于通过逻辑通道的连接是恒定的)。这种情况在图12中示出。
图12示出指示恒定数据链路层协议数据单元大小的数据处理装置1200。
数据处理装置1200包括:控制器1201,配置成开启与另一个数据处理装置的逻辑通道;以及接收器1202,配置成从另一数据处理装置接收指定将要用于经由逻辑通道来交换数据的数据链路层协议数据单元大小的消息。
数据处理装置1200还包括收发器1203,收发器1203配置成按照数据链路层协议数据单元大小通过逻辑通道与另一数据处理装置交换数据,其中数据链路层协议数据单元大小对于逻辑通道是恒定的,直到逻辑通道被关闭。
换言之,按照本公开的一个方面,数据链路层协议数据单元的大小在逻辑通道开启(例如开启用于逻辑通道的连接)时被确定,并且是固定的,直到逻辑通道被关闭(例如,对于连接的持续时间是固定的)。开启逻辑通道可被理解为使逻辑通道进入能够通过逻辑通道来传送数据的状态(例如通过OPEN_CONN命令来开启连接),以及关闭逻辑通道可被理解为使逻辑通道进入不再能够通过逻辑通道来传送数据(直到它再次重新开启)的状态。
例如,被交换的各数据链路层协议数据单元包括多个网络层分组(例如IP分组)以及描述数据链路层协议数据单元中的IP分组的起始点和IP分组的长度的一个或多个报头字段。此外,例如,对于数据链路层协议数据单元的交换,可使用经由信用的流程控制,如下面进一步更详细描述。
控制器可配置成通过经由逻辑通道建立与另一数据处理装置的连接来开启逻辑通道。
控制器可配置成通过向另一数据处理装置传送指示该数据处理装置请求应当开启逻辑通道的消息来开启逻辑通道。
例如,在消息中指定数据链路层协议数据单元大小。
例如,以字节或字为单位来指定数据链路层协议数据单元大小。
控制器例如可配置成经由另一个逻辑通道向另一数据处理装置传送该消息。
另一逻辑通道例如是控制通道。
控制器例如配置成通过释放连接来关闭逻辑通道。
按照本公开的一个方面,数据处理装置是调制解调器而另一数据处理电路是应用处理器,或者数据处理装置是应用电路而另一数据处理电路是调制解调器。
例如,数据处理电路和另一数据处理电路是同一通信装置的组件。通信装置例如是蜂窝通信装置。
数据处理装置1200例如执行如图13所示的方法。
图13示出用于指示恒定数据链路层协议数据单元大小的流程图1300。
流程图1300示出用于与数据处理装置进行通信的方法。
在1301,开启与数据处理装置的逻辑通道。
在1302,从数据处理装置接收指定将要用于经由逻辑通道来交换数据的数据链路层协议数据单元大小的消息。
在1302,按照数据链路层协议数据单元大小通过逻辑通道与数据处理装置交换数据,其中数据链路层协议数据单元大小对于逻辑通道是恒定的,直到该逻辑通道被关闭。
数据处理装置1200例如与如图14所示的数据处理装置进行通信。
图14示出接收关于恒定数据链路层协议数据单元大小的指示的数据处理装置1400。
数据处理装置1400包括:控制器1401,配置成开启与另一个数据处理装置的逻辑通道;以及发射器1402,配置成向另一数据处理装置发送指定将要用于经由逻辑通道来交换数据的数据链路层协议单元大小的消息。
数据处理装置1400还包括收发器1403(它例如可包括发射器1402),收发器1403配置成按照数据链路层协议数据单元大小通过逻辑通道与另一数据处理装置交换数据,其中数据链路层协议数据单元大小是恒定的,直到逻辑通道被关闭。
数据处理装置1400例如执行如图15所示的方法。
图15示出用于接收关于恒定数据链路层协议数据单元大小的指示的流程图1500。
流程图1500示出用于与数据处理装置进行通信的方法。
在1501,开启与数据处理装置的逻辑通道。
在1502,向数据处理装置发送指定将要用于经由逻辑通道来交换数据的数据链路层协议单元大小的消息。
在1503,按照数据链路层协议数据单元大小通过逻辑通道与数据处理装置交换数据,其中数据链路层协议数据单元大小是恒定的,直到逻辑通道被关闭。
如上所述,按照接收器的报头要求,发射器包括各数据1103、1104、1105前面的空闲字节1109(或者换言之,没有使用消息的部分)。一般来说,按照本公开的一个方面,数据处理装置将数据链路层分组中包含的网络层数据分组的报头位置处的未使用部分包含在数据链路层分组中。这种情况在图16中示出。
图16示出在数据链路层分组数据单元中插入数据链路层报头空间的数据处理装置1600。
数据处理装置1600包括:生成器1601,配置成基于另一个数据处理装置传送网络层分组所要求的数据链路层报头大小来生成数据链路层分组数据单元,使得数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示数据链路层报头大小并且设置在数据链路层分组数据单元中的网络层分组的数据链路层报头的位置处的未使用部分。
换言之,按照本公开的一个方面,数据处理装置在数据链路层分组数据单元中在网络层分组数据单元之前留下空间,该网络层分组数据单元能够由数据链路层分组数据单元的接收器用于将其自己的数据链路层报头信息插入该网络层分组数据单元之前以用于传送(例如转发)该网络层分组数据单元。这允许接收器只填充其自己的数据链路层报头信息而无需复制网络层分组数据单元(以及例如将其与其它网络层分组数据单元分离),以用于为转发它的数据链路层报头信息让出空间。例如,数据链路层分组数据单元可包括多个网络层分组数据单元,并且接收器能够剥离数据链路层报头的报头,将其自己的用于网络层分组(它们例如单独提供有数据链路层报头信息以例如用于将其通过不同通道传送和/或传送给不同接收器)中的每个的数据链路层报头插入网络层分组数据单元之前所提供的空闲空间。数据链路层报头大小可预先存储在数据处理装置的存储器中,使得确定器能够通过从存储器读取它来对它进行确定。数据链路层报头大小还可包含在生成器的编程中,使得在数据链路层分组数据单元生成中考虑它。
未使用部分可由进一步数据链路层处理用于包含数据链路层报头信息。例如,网络层分组经由第一数据链路层协议从数据处理装置传送给另一个数据处理装置,以及另一数据处理装置按照第一数据链路层协议来转发该网络层分组。另一数据处理装置则可按照第二数据链路层协议使用未使用空间来插入控制数据(即,报头数据)。数据链路层可被理解为ISO(国际标准化组织)的OSI模型(开放系统互连参考模型)的第2层,而网络层可被理解为第3层。
数据处理装置还可包括确定器,该确定器配置成确定另一数据处理装置传送网络层分组所要求的数据链路层报头大小。
数据处理装置还可包括接收器,该接收器配置成从另一数据处理装置接收指示另一数据处理装置传送网络层分组所要求的数据链路层报头大小的消息。
至少一个网络层分组例如是IP分组。
数据链路层分组数据单元例如包括多个网络层分组,以及对于各网络层分组包括未使用部分,该未使用部分至少具有所指示数据链路层报头大小并且设置在数据链路层分组数据单元中的网络层分组的数据链路层报头的位置处。
按照本公开的一个方面,数据处理装置是调制解调器而另一数据处理电路是应用处理器,或者数据处理装置是应用电路而另一数据处理电路是调制解调器。
数据处理电路和另一数据处理电路可以是同一通信装置的组件。
例如,通信装置是蜂窝通信装置。
数据处理装置1600例如执行如图17所示的方法。
图17示出用于在数据链路层分组数据单元中插入数据链路层报头空间的流程图1700。
流程图1700示出用于传递网络层数据的方法。
在1701,数据链路层分组数据单元基于数据处理装置传送网络层分组所要求的数据链路层报头大小来生成,使得数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示数据链路层报头大小并且设置在数据链路层分组数据单元中的网络层分组的数据链路层报头的位置处的未使用部分。
数据处理装置1600例如与如图18所示的数据处理装置进行通信。
图18示出接收具有所插入的数据链路层报头空间的数据链路层分组数据单元的数据处理装置1800。
数据处理装置1800包括发射器1801,发射器1801配置成向另一个数据处理装置传送指示数据处理装置传送网络层分组所要求的数据链路层报头大小的消息。
数据处理装置1800还包括接收器1802,接收器1802配置成从另一处理装置接收数据链路层分组数据单元,该数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示数据链路层报头大小并且设置在数据链路层分组单元中的网络层分组的数据链路层报头的位置处的未使用消息部分。
数据处理装置1800例如执行如图19所示的方法。
图19示出用于接收具有所插入的数据链路层报头空间的数据链路层分组数据单元的流程图1900。
流程图1900示出用于接收网络层数据的方法。
在1901,向数据处理装置传送指示数据处理装置传送网络层分组所要求的数据链路层报头大小的消息。
在1902,从处理装置接收数据链路层分组数据单元,该数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示数据链路层报头大小并且设置在数据链路层分组单元中的网络层分组的数据链路层报头的位置处的未使用消息部分。
使用如上所述的数据链路层协议(DLP)命令,例如可配置如表6所示的MIPI HSI接口的参数。
表6
表7所示的参数例如使用默认值(默认设定)来预先配置。例如,参数值在编译时确定,并且在调制解调器301与应用处理器302之间共享。
表7
下面参照图20给出如何在A装置与B装置的数据链路层装置驱动程序之间(最初)建立通信的一个示例。
图20示出通信启动配置的消息流程图2000。
消息流程在A装置2001与B装置2002之间进行。
在2003,A装置使用ECHO命令来探测B装置是否在起作用。
在2004,B装置采用ECHO命令进行应答。
在2005,A装置使用CONF_CH命令来配置通道。
在2006,B装置采用接受通道配置的ACK进行应答。对于将要使用的各通道执行2005和2006。
在2007,A装置和B装置配置其HSI驱动程序,并且将所配置通道准备用于数据传输。
下面参照图21给出通道2中的数据链路层PDU的传输的一个示例。
图21示出数据链路层PDU传输的消息流程图2100。
消息流程在A装置2101与B装置2102之间进行。
在2103,装置之一(在这个示例中为A装置2101)发送OPEN_CONN命令,以便指示它想要在所指定通道(这个示例中为通道2)发送固定大小的数据PDU。
在2104,另一装置(在这个示例中为B装置2102)采用ACK来确认该命令。这表示传输可开始。
在2105,A装置通过通道2发送固定大小PDU。
在2106,当A装置2101或B装置2102想要关闭通道(在这个示例中为B装置2102)时,它发送CANCEL_CONN命令,该命令在2107通过ACK命令来确认。
下面参照图22给出通道2中的具有流程控制的数据PDU的传输的一个示例。
图22示出具有流程控制的数据链路层PDU传输的消息流程图2200。
消息流程在A装置2201与B装置2202之间进行。
在2203,装置之一(在这个示例中为A装置2201)发送OPEN_CONN命令,以便指示它想要在所指定通道(通道2)发送固定大小的数据PDU。
在2204,另一装置(在这个示例中为B装置2202)采用ACK命令来确认该命令。
在2205,接收器装置(B装置2202)发送信用,以便允许发射器开始发送第一PDU,第一PDU在2206由A装置来确认。
在2207,传送固定大小PDU。对于每个所传送的PDU,发射器必须将其信用值减一。不允许发射器在其信用值低于0时进行传送。
在2208,当发射器装置接收CREDITS命令(在2209所确认)时,它将其信用值增加新接收的值,并且在2210能够继续发送PDU。
在2211,当A装置2101或B装置2102想要关闭通道(在这个示例中为B装置2102)时,它发送CANCEL_CONN命令,该命令在2112通过ACK命令来确认。
下面参照图23给出PDU大小的重新配置的一个示例。按照本公开的一个方面,各通道将固定大小PDU用于各方向的数据传输。改变长度要求关闭开启的连接以及以不同长度参数来重新开启它。在这个示例中,数据PDU在通道2中以PDU长度的变化来传送。
图23示出PDU大小的重新配置的消息流程图2300。
消息流程在A装置2301与B装置2302之间进行。
在2304,装置之一(在这个示例中为A装置2301)发送OPEN_CONN命令,以便指示它想要在所指定通道(这个示例中为通道2)发送固定大小的数据PDU。
在2305,另一装置(在这个示例中为B装置2302)采用ACK来确认该命令。这表示传输可开始。
在2306,A装置2301发送固定大小PDU。
在2307,当A装置2301想要关闭通道时,它发送CANCEL_CONN命令,该命令在2308被确认。
在2309,A装置2301通过发送具有不同长度设定的OPEN_CONN命令来重新开启通道。
在2310,B装置2302采用ACK命令来确认OPEN_CONN命令。这表示传输可再次开始。
在2311,A装置2301发送具有新长度的固定大小PDU。
应当注意,接收器可通知发射器关于应当改变PDU大小。
下面参照图24来描述再同步消息交换的一个示例。
图24示出再同步的消息流程图2400。
消息流程在A装置2401与B装置2402之间进行。
在2403,装置之一(在这个示例中为A装置2401)发送OPEN_CONN命令,以便指示它想要在所指定通道(这个示例中为通道2)发送固定大小的数据PDU。
在2404,另一装置(在这个示例中为B装置2402)采用ACK来确认该命令。这表示传输可开始。
在2405,A装置2301发送固定大小PDU。
在2406,装置之一(在这个示例中为A装置2401)检测超时错误或者另一个关键系统错误。
在2407,A装置2401重置IPC链路的配置。
在2408,A装置2401(检测到错误状态的装置)发送BREAK命令。
在2409,A装置2401以例如100ms的超时间隔来重复发送BREAK。
在接收BREAK命令时,B装置2402在2410重置其IPC链路的配置,并且在2411采用BREAK命令进行应答。
在2412,装置2401、2402继续进行正常启动,并且重新配置通道。
按照本公开的一个方面,调制解调器301和应用处理器302支持分散/集中处理。这在下面进行描述。
图25示出没有分散操作的数据流程图2500。
多个IP分组2501由调制解调器(对于上行链路传送方向)例如通过如以上参照图11所述的数据链路层PDU来接收,并且作为整体存储在IP分组缓冲器2502中。例如,每个通道存在一个IP缓冲器2502。IP分组缓冲器2502中的IP分组2501的位置通过从SIO308向HSI接口发信号通知的第一缓冲器描述符2503来指定。通过第二缓冲器描述符2504从SIO308向PS307发信号通知关于单独IP分组2501的位置,其中第二缓冲器描述符2504按照本公开的一个方面可表示PS报头缓冲器2505中的PDCP报头信息。
应当注意,硬件可能不知道帧边界。这通过固定大小传递来解决,其中传递大小能够在调制解调器301与应用处理器302之间基于来自协议栈的控制数据来动态配置。
对于小分组上行链路传输,分散操作可用于降低存储器使用,如图26所示。
图26示出具有分散操作的数据流程图2600。
与图25所示的数据流相似,多个IP分组2601由调制解调器(对于上行链路传送方向)例如通过以上参照图11所述的数据链路层PDU来接收。通过分散操作,IP分组单独存储在例如外部存储器的单独IP分组缓冲器2602中。存储IP分组2601的位置通过从SIO308向HSI接口发信号通知的第一缓冲器描述符2603来指定,并且通过第二缓冲器描述符2604从SIO308向PS307发信号通知,其中第二缓冲器描述符2604按照本公开的一个方面可表示PS报头缓冲器2605中的PDCP报头信息。
通过分散选项,IP帧通过若干缓冲器来分离。在另一侧,IP帧可存储在外部存储器中,其中空间限制被放宽。
对于DL(下行链路)方向,IPC接口集中来自各个IP缓冲器位置的IP分组,以便组装大IPC传递。这种情况在图27中示出。
图27示出具有集中操作的数据流程图2700。
将例如在外部存储器的单独IP分组缓冲器2702中存储的IP分组组装成通过接口发送的IP分组2701块。
(例如外部存储器中的)IP分组的位置通过从SIO308向HSI接口发信号通知的第一缓冲器描述符2703来指定,并且通过第二缓冲器描述符2704从SIO308向PS307发信号通知,其中第二缓冲器描述符2704按照本公开的一个方面可表示PS报头缓冲器2705中的PDCP报头信息。
在所存储IP分组的处理中,指向对应数据缓冲器(例如IP分组缓冲器2502、2602、2702)的缓冲器描述符的链表之后接着处理硬件、例如IPC硬件305。硬件在发现在特定缓冲器描述符由软件所设置的最后一个标志或者具有零的下一个指针时停止遍历该列表。
硬件在处理了缓冲器描述符时发出中断,其中软件设置了尾部IRQ标志。
对于各缓冲器描述符,硬件采用通过IPC链路传送给应用处理器302的数据来填充(对于UL传输)或者清空(对于DL传输)对应数据缓冲器。
按照本公开的一个方面,DMA(直接存储器存取)用于IP分组的处理中。各逻辑DMA通道具有由SW来准备并且由HW来消耗的其自己的缓冲器描述符的链表。
对于上行链路,每个DMA通道具有在HSI硬件的nextBufferDescriptor寄存器中编程的链表的第一UL缓冲器描述符的起始地址。例如,存在与16个逻辑通道对应的16个下一个缓冲器描述符寄存器。
上行链路缓冲器描述符例如包括表8中示出的信息。
表8:UL缓冲器描述符
在下行链路,每个DMA通道具有在HSI硬件的nextBufferDescriptor寄存器中编程的链表的第一DL缓冲器描述符的起始地址。存在与16个逻辑通道对应的16个链接下一个缓冲器描述符寄存器。下行链路缓冲器描述符例如包括表9中示出的信息。
表9:UL缓冲器描述符
如从表8和表9能够看到,软件能够通过关于在缓冲器描述符、即对应IP分组的处理之后是否应当由硬件发出中断的tailIrq标志来设置。
一般来说,数据处理装置可存储了指示在处理网络层数据块之后是否应当发出中断的指示。这种情况在图28中示出。
图28示出处理网络层数据块的数据处理装置2800。
数据处理装置2800包括存储器2801,存储器2801对于多个网络层数据块的各网络层数据块来存储在网络层数据块的处理之后是否应当发出中断的指示。
数据处理装置2800还包括处理元件2802,处理元件2802配置成处理各网络层数据块,以及如果对该网络层数据块所存储的指示是指示在该网络层数据块的处理之后应当发出中断,则在该网络层块的处理之后发出中断。
换言之,按照本公开的一个方面,对于多个网络层数据块的每个存在关于在网络层数据块的处理之后是否应当存在中断的设定。该设定可通过网络层数据块的缓冲器描述符、作为指示(例如标志)来存储,该网络层数据块的缓冲器描述符可具有与网络层数据块的处理有关的进一步信息并且可与存储或将要存储该网络层数据块的缓冲器(例如第一存储器的区域)关联。
数据处理还可包括确定器,该确定器配置成对于各网络层数据块来确定对网络层数据块所存储的指示是否指示在网络层数据块的处理之后应当发出中断。
处理器例如配置成仅当对网络层数据块所存储的指示是指示在网络层数据块的处理之后应当发出中断时,才在网络层块的处理之后发出中断。
中断例如是用于触发控制消息的传输的中断。
该指示例如通过软件来存储。
网络层数据块例如可以是IP数据块,以及网络层分组是IP分组。
例如,数据处理装置是通信装置的调制解调器。
按照本公开的一个方面,网络层数据分组是经由无线通信所接收并且将要传送给通信装置的应用处理器的数据分组或者从应用处理器所接收以便经由无线通信来传送的数据分组。
数据处理装置2800例如执行如图29所示的方法。
图29示出用于处理网络层数据的流程图2900。
流程图2900示出用于处理网络层数据的方法。
在2901,对于多个网络层数据块的各网络层数据块,存储关于在网络层数据块的处理之后是否应当发出中断的指示。
在2902,处理各网络层数据块,以及如果对该网络层数据块所存储的指示是指示在该网络层数据块的处理之后应当发出中断,则在该网络层块的处理之后发出中断。
通信装置的各种组件(例如检测器、控制器和确定器)可通过一个或多个电路来实现。“电路”可被理解为实现可以是运行存储器中存储的软件、固件或者它们的任何组合的处理器或专用电路的实体的任何种类的逻辑。因此,“电路”可以是硬连线逻辑电路或者诸如可编程处理器之类的可编程逻辑电路,可编程处理器例如是微处理器(例如复杂指令集计算机(CISC)处理器或者简化指令集计算机(RISC)处理器)。“电路”也可以是运行软件、如任何种类的计算机程序、例如使用诸如Java之类的虚拟机代码的计算机程序的处理器。下面将更详细描述的相应功能的任何其它种类的实现也可被理解为“电路”。
还应当注意,在数据处理装置的任一个的上下文中所述的实施例对于其它数据处理装置和方法是近似有效的。
下面对于与HSI软件和HSI硬件之间的同步有关的各种选项来示出上行链路和下行链路传输的消息流程。
图30示出通过前一个缓冲器指针进行同步的消息流程图3000。
消息流程在协议栈3001(例如对应于协议栈307)、缓冲器管理实体3002(例如实现为通信装置300的操作系统的一部分)、S-IO3003(例如对应于S-IO308)、HSI驱动程序3004(例如对应于IPC协议驱动程序303和IPC物理驱动程序304)以及HSI硬件3005(例如对应于HSI硬件305)之间进行。
消息流程对应于通过前一个缓冲器指针进行同步的情况。
在3006,HSI驱动程序3004从分配数据缓冲器(即,IP分组缓冲器)的缓冲器管理实体3002请求各通道的缓冲器描述符链表,缓冲器管理实体3002在3007向HSI驱动程序3004提供IP缓冲器描述符的链表。例如经由S-IO3003来执行3006和3007。
在3008,HSI驱动程序3004对HSI硬件3005的头部缓冲器描述符进行编程。
在3009,HSI驱动程序3004经由预先固定的PDU大小的传递从应用处理器302接收IP分组。IP分组存储在通过从链表所读取的缓冲器描述符所指示的IP缓冲器中。
在3010,如果缓冲器描述符指示在处理缓冲器描述符之后(即,在处理将要存储在与缓冲器描述符对应的IP缓冲器中的IP分组之后)应当发出中断。在这个示例中,这在全部缓冲器已被填充时进行。
在3011,HSI驱动程序3004从缓冲器管理实体3002请求新的缓冲器描述符。
在3012,缓冲器管理实体3002通过在链表末尾添加缓冲器描述符来更新链表,以及在3013通过向HSI驱动程序3004传送已更新链表来提供新的缓冲器描述符。
在3014,HSI驱动程序3004读出指示由HSI硬件3005所处理的最后一个缓冲器描述符的指针,即,在3020当前被处理的缓冲器描述符之前已经被处理的最后一个缓冲器描述符,使得避免从同一缓冲器的读取以及对同一缓冲器的写入之间的冲突。HSI驱动程序3004例如周期地检查指示最后一个缓冲器描述符的指针,使得在处理中没有遗漏缓冲器。
在3015,HSI驱动程序3004终止链表,并且在3014将缓冲器描述符转交到S-IO3003。
在3016,S-IO3003解析所指示缓冲器,提取IP分组,以及建立它在3017转交到协议栈3001的协议栈的分组缓冲器描述符的新链表。
在3018,协议栈发送数据(例如向基站),以及标记已经处理的缓冲器。
应当注意,缓冲器管理实体在3019可收回缓冲器。
作为读取指示前一个缓冲器描述符的指针的替代,可通过读取序列号以找出由HSI硬件3005已经处理的最后一个缓冲器描述符来执行类似的同步。但是,这要求缓冲器管理实体3002确保缓冲器描述符的单调增加序列号。
下面描述基于信号量的同步的一个示例。
图31示出通过信号量进行同步的消息流程图3100。
消息流程在协议栈3101(例如对应于协议栈307)、缓冲器管理实体3102(例如实现为通信装置300的操作系统的一部分)、S-IO3103(例如对应于S-IO308)、HSI驱动程序3104(例如对应于IPC协议驱动程序303和IPC物理驱动程序304)以及HSI硬件3105(例如对应于HSI硬件305)之间进行。
消息流程对应于通过信号量进行同步的情况。
3106至3113的处理与参照图30所述的3006至3013的处理相似。应当注意,作为3011、3012、3013的替代,在3111、3112、3113中,缓冲器管理可在请求时提供缓冲器描述符的链表,并且链表尾部可由HSI驱动程序3104相应地更新。
还应当注意,在3109,HSI硬件3105经由对于对应缓冲器描述符的写操作来更新信号量,以便保护当前由HSI硬件3105写入的缓冲器。
在3114,HSI驱动程序3104解析链表,以便查找由HSI硬件3105已经处理的缓冲器描述符。3115至3118中的以下处理与3014至3017中的处理相似。在3118,可释放完成的缓冲器描述符。此外,在3119,缓冲器例如在所存储IP分组已被发出时可由缓冲器管理实体3102收回。
下面描述基于中断的同步的一个示例。
图32示出通过中断进行同步的消息流程图3200。
消息流程在协议栈3201(例如对应于协议栈307)、缓冲器管理实体3202(例如实现为通信装置300的操作系统的一部分)、S-IO3203(例如对应于S-IO308)、HSI驱动程序3204(例如对应于IPC协议驱动程序303和IPC物理驱动程序304)以及HSI硬件3205(例如对应于HSI硬件305)之间进行。
消息流程对应于通过中断进行同步的情况。
3206至3213的处理与参照图30所述的3006至3013的处理相似。应当注意,作为3011、3012、3013的替代,在3211、3212、3213中,缓冲器管理可在请求时提供缓冲器描述符的链表,并且链表尾部可由HSI驱动程序3204相应地更新。
在这个示例中,当HSI硬件3205在缓冲器中存储了IP分组时,它在3214发出中断。HSI驱动程序3204在3215将缓冲器的缓冲器描述符转交到S-IO3203,以及在3216对HSI硬件3205的头部缓冲器描述符进行编程。
在3217,S-IO解析与缓冲器描述符对应的缓冲器,提取缓冲器中存储的IP分组(或者在一个以上IP分组存储于缓冲器的情况下的多个IP分组),以及建立它在3218转交到协议栈3201的协议栈3201的分组缓冲器描述符的链表。
协议栈3201处理所指示缓冲器,并且在3219标记经处理的缓冲器。
缓冲器管理实体3202可在3220收回缓冲器(例如已经释放的缓冲器)。
下面描述基于下一个指针的同步的一个示例。
图33示出通过下一个指针进行同步的消息流程图3300。
消息流程在协议栈3301(例如对应于协议栈307)、缓冲器管理实体3302(例如实现为通信装置300的操作系统的一部分)、S-IO3303(例如对应于S-IO308)、HSI驱动程序3204(例如对应于IPC协议驱动程序303和IPC物理驱动程序304)以及HSI硬件3305(例如对应于HSI硬件305)之间进行。
消息流程对应于通过下一个指针进行同步的情况。
3306至3313的处理与参照图30所述的3006至3013的处理相似。应当注意,作为3011、3012、3013的替代,在3311、3312、3313中,缓冲器管理可在请求时提供缓冲器描述符的链表,以及链表尾部可由HSI驱动程序3304相应地更新。
在3314,HSI驱动程序3304读出指示将要由HSI硬件3305来处理的下一个缓冲器描述符的指针。使用这个指针,HSI驱动程序3304找出由HSI硬件3305已经处理的最后一个缓冲器描述符。
3315至3318的处理与参照图30所述的3015至3018的处理相似。
缓冲器管理实体3302可在3319收回缓冲器(例如已经释放的缓冲器)。
下面描述下行链路数据传输的基于前一个指针的同步的一个示例。
图34示出通过前一个指针进行同步的消息流程图3400。
消息流程在协议栈3401(例如对应于协议栈307)、缓冲器管理实体3402(例如实现为通信装置300的操作系统的一部分)、S-IO3403(例如对应于S-IO308)、HSI驱动程序3404(例如对应于IPC协议驱动程序303和IPC物理驱动程序304)以及HSI硬件3405(例如对应于HSI硬件305)之间进行。
消息流程对应于通过前一个指针进行同步的情况。
在3406,协议栈3401从缓冲器管理实体3402来请求缓冲器描述符链表。
在3407,缓冲器管理实体3401分配数据缓冲器,并且向协议栈3401提供缓冲器描述符的链表。
在3408,协议栈3401将分组缓冲器描述符转交到HSI驱动程序3404,HSI驱动程序3404又在3409对HSI硬件3405的头部缓冲器描述符进行编程(即,设置第一缓冲器描述符)。
在3410,HSI硬件3405从缓冲器读取IP分组,并且将其转发到应用处理器302。
在3411,协议栈3401可提供附加缓冲器描述符,附加缓冲器描述符在3412由HSI驱动程序3404例如通过相应地更新链表尾部来添加到链表。
在3413,HSI驱动程序3404可读取指示前一个缓冲器描述符的指针,以便找出由HSI硬件3405已经处理的最后一个缓冲器描述符。
在3414,HSI驱动程序3414解析链表,并且标记已经处理的缓冲器。
缓冲器管理实体3402可在3415收回已经处理的缓冲器描述符。
应当注意,作为使用前一个缓冲器描述符指针的替代,HSI驱动程序3404可使用指示将要由HSI硬件3405来处理的下一个缓冲器描述符的下一个缓冲器描述符指针,以便找出由HSI硬件3405已经处理的最后一个缓冲器描述符。
此外,应当注意,3409可包括累积IP分组,以便填充将要通过HSI接口来传递的传递帧。这还可在3412进行。
应当注意,经由下一个指针的同步(例如在图33以及类似地对于图的上下文中所述的下行链路传输)能够被看作是同步的最优化形式。在这种情况下,在UL和DL两个方向,仅在一开始以缓冲器描述符(BD)的链表的头部缓冲器描述符对HW进行编程。缓冲器描述符表示数据链路层协议的PDU。在正进行传递期间,SW和HW能够自主地处理PDU。每当新PDU变为可用时,SW连续更新链表的尾部BD。SW和HW经由尾部IRQ或者通过SW读取特殊HW寄存器中的最后一个HS处理的BD来同步。
按照本公开的一个方面,如上所述,提供MIPI HIS物理层之上的有效数据链路层协议、IPC SW与IPC HW之间的有效交互以及IPC与蜂窝协议栈之间的有效交互。数据链路层协议能够被看作是定义控制消息的绝对最小值。使用具有优化帧格式的固定长度PDU,两个装置之间的协议握手限制到初始建立和流程控制。PDU格式允许每个PDU的多个IP分组的有效背靠背传输。净吞吐量急剧增加,几乎达到链路的物理极限。为了启用流程控制,指定基于信用的机制。降低的协议握手以及每个PDU中的多个IP分组的传输极大地增加链路效率。
按照本公开的一个方面,IPC HW与IPC SW之间的SW交互降低到传送多个IP分组的每个PDU最多一个IRQ。通过使用IP分组的DMA集中操作来形成PDU,而无需复制有效载荷。在优化实现中,PDU的链表能够被传递或接收,而没有HW与SW之间的任何费时交互。
PDU格式支持PDU内部的IP分组的对齐以及每个IP分组之前的报头空间。IP分组能够在IPC与蜂窝协议栈之间来交换,而无需复制有效载荷。仅分组描述符被接收或传送到蜂窝协议栈。不必要移动有效载荷、即IP分组。通过经由对齐和报头空间参数来考虑接收器限制,在应用处理器侧实现类似的优化处理。
具有处理固定大小PDU的统一缓冲器管理器,通过甚至允许初始分配的缓冲器的连续再使用,而不需要动态存储器分配,来降低存储器管理的复杂度。
按照本公开的一个方面,使用用于通过逻辑通道开启预配置通信链路的控制消息来提供MIPI HIS物理层之上的有效数据链路层协议。用户数据在固定长度PDU中传送。PDU格式允许传送多个IP分组。此外,PDU格式支持用于后来的处理步骤的分组对齐和报头空间。由于经由信用机制的流程控制,发送方能够始终确信接收器能够接受PDU的传输。
使用HW与SW之间的分散-集中链表处理,在无需复制操作的情况下实现PDU的构建。统一存储器管理器支持存储器管理以及PDU和IP分组的缓冲器描述符的交换。通过在单个大IPC传递中传递若干IP分组,实现具有最小SW交互的数据通路。在HW侧,由于内建分散/集中链表DMA能力,IPC控制器自主地遍历缓冲器描述符的链表。
虽然已经具体示出和描述了具体方面,但是本领域的技术人员应当理解,可在其中进行形式和细节上的各种变更,而没有背离所附权利要求书所定义的精神和范围。因此,范围由所附权利要求书来指示,并且因此预计包含落入权利要求书的等效性的含意和范围之内的所有变更。
Claims (20)
1.一种数据处理装置,包括:
控制器,配置成开启与另一个数据处理装置的逻辑通道;
接收器,配置成从另一数据处理装置接收指定将要用于经由所述逻辑通道来交换数据的数据链路层协议数据单元大小的消息,其中
所述接收器还被配置成从所述另一数据处理装置接收数据链路层分组数据单元,所述数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示的数据链路层报头大小并且设置在所述数据链路层分组数据单元中的所述网络层分组的数据链路层报头的位置处的未使用消息部分;以及
收发器,配置成按照所述数据链路层协议数据单元大小通过所述逻辑通道与所述另一数据处理装置交换数据,其中所述数据链路层协议数据单元大小对于所述逻辑通道是恒定的,直到所述逻辑通道被关闭。
2.如权利要求1所述的数据处理装置,其中,所述控制器配置成通过经由所述逻辑通道建立与所述另一数据处理装置的连接,来开启所述逻辑通道。
3.如权利要求1所述的数据处理装置,其中,所述控制器配置成通过向所述另一数据处理装置传送指示所述数据处理装置请求所述逻辑通道应当被开启的消息,来开启所述逻辑通道。
4.如权利要求3所述的数据处理装置,其中,在所述消息中指定所述数据链路层协议数据单元大小。
5.如权利要求4所述的数据处理装置,其中,以字节或字为单位来指定所述数据链路层协议数据单元大小。
6.如权利要求3所述的数据处理装置,其中,所述控制器配置成经由另一个逻辑通道向所述另一数据处理装置传送所述消息。
7.如权利要求6所述的数据处理装置,其中,所述另一逻辑通道是控制通道。
8.如权利要求2所述的数据处理装置,其中,所述控制器配置成通过释放所述连接来关闭所述逻辑通道。
9.如权利要求1所述的数据处理装置,其中,所述数据处理装置是调制解调器而所述另一数据处理装置是应用处理器,或者所述数据处理装置是应用处理器而所述另一数据处理装置是调制解调器。
10.如权利要求1所述的数据处理装置,其中,所述数据处理装置和所述另一数据处理装置是同一通信装置的组件。
11.如权利要求10所述的数据处理装置,其中,所述通信装置是蜂窝通信装置。
12.一种数据处理装置,包括:
控制器,配置成开启与另一个数据处理装置的逻辑通道;
发射器,配置成向另一数据处理装置发送指定将要用于经由所述逻辑通道来交换数据的数据链路层协议单元大小的消息,其中
所述发射器还被配置成向所述另一数据处理装置传送数据链路层分组数据单元,所述数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示的数据链路层报头大小并且设置在所述数据链路层分组数据单元中的所述网络层分组的数据链路层报头的位置处的未使用消息部分;以及
收发器,配置成按照所述数据链路层协议数据单元大小通过所述逻辑通道与所述另一数据处理装置交换数据,其中所述数据链路层协议数据单元大小是恒定的,直到所述逻辑通道被关闭。
13.一种数据处理装置,包括:
生成器,配置成基于另一个数据处理装置传送网络层分组所要求的数据链路层报头大小来生成数据链路层分组数据单元,
其中所述数据链路层分组数据单元包括多个网络层分组,以及对于各网络层分组包括未使用部分,所述未使用部分至少具有所指示的数据链路层报头大小并且设置在所述数据链路层分组数据单元中的所述网络层分组的数据链路层报头的位置处。
14.如权利要求13所述的数据处理装置,还包括确定器,所述确定器配置成确定所述另一数据处理装置传送网络层分组所要求的所述数据链路层报头大小。
15.如权利要求14所述的数据处理装置,还包括接收器,所述接收器配置成从所述另一数据处理装置接收指示所述另一数据处理装置传送网络层分组所要求的所述数据链路层报头大小的消息。
16.如权利要求13所述的数据处理装置,其中,所述至少一个网络层分组是IP分组。
17.如权利要求13所述的数据处理装置,其中,所述数据处理装置是调制解调器而所述另一数据处理装置是应用处理器,或者所述数据处理装置是应用处理器而所述另一数据处理装置是调制解调器。
18.如权利要求13所述的数据处理装置,其中,所述数据处理装置和所述另一数据处理装置是同一通信装置的组件。
19.如权利要求18所述的数据处理装置,其中,所述通信装置是蜂窝通信装置。
20.一种数据处理装置,包括:
发射器,配置成向另一个数据处理装置传送指示所述数据处理装置传送网络层分组所要求的数据链路层报头大小的消息;以及
接收器,配置成从另一处理装置接收数据链路层分组数据单元,所述数据链路层分组数据单元包括至少一个网络层分组以及至少具有所指示的数据链路层报头大小并且设置在所述数据链路层分组数据单元中的所述网络层分组的数据链路层报头的位置处的未使用消息部分。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261622074P | 2012-04-10 | 2012-04-10 | |
US61/622074 | 2012-04-10 | ||
US61/622,074 | 2012-04-10 | ||
US13/469204 | 2012-05-11 | ||
US13/469,204 US8938551B2 (en) | 2012-04-10 | 2012-05-11 | Data processing device |
US13/469,204 | 2012-05-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368688A CN103368688A (zh) | 2013-10-23 |
CN103368688B true CN103368688B (zh) | 2016-09-21 |
Family
ID=49293219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310194936.8A Active CN103368688B (zh) | 2012-04-10 | 2013-04-10 | 数据处理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8938551B2 (zh) |
CN (1) | CN103368688B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447818B2 (en) * | 2012-11-21 | 2019-10-15 | Qatar Foundation | Methods, remote access systems, client computing devices, and server devices for use in remote access systems |
KR102011137B1 (ko) * | 2012-12-07 | 2019-08-14 | 삼성전자주식회사 | 데이터 처리 장치와 회로 |
US9398117B2 (en) * | 2013-09-26 | 2016-07-19 | Netapp, Inc. | Protocol data unit interface |
WO2015064942A1 (en) | 2013-10-28 | 2015-05-07 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
USRE49652E1 (en) | 2013-12-16 | 2023-09-12 | Qualcomm Incorporated | Power saving techniques in computing devices |
JP6359680B2 (ja) | 2014-10-20 | 2018-07-18 | エルジー エレクトロニクス インコーポレイティド | 放送信号送信装置、放送信号受信装置、放送信号送信方法、及び放送信号受信方法 |
CN105807886B (zh) * | 2014-12-30 | 2019-11-22 | 展讯通信(上海)有限公司 | 一种芯片唤醒系统及方法以及移动终端 |
WO2017039272A1 (en) * | 2015-08-31 | 2017-03-09 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving signal in multimedia system |
KR20170026064A (ko) * | 2015-08-31 | 2017-03-08 | 삼성전자주식회사 | 링크 계층 프로토콜을 지원하는 멀티미디어 시스템에서 신호 송수신 장치 및 방법 |
US11229023B2 (en) * | 2017-04-21 | 2022-01-18 | Netgear, Inc. | Secure communication in network access points |
EP3753228B1 (en) * | 2018-02-15 | 2024-02-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Providing cloud connectivity to a network of communicatively interconnected network nodes |
US10952094B2 (en) * | 2018-04-09 | 2021-03-16 | Mediatek Inc. | AT commands for 5G QoS management |
US20230384855A1 (en) * | 2022-05-25 | 2023-11-30 | Advanced Micro Devices, Inc. | Reducing system power consumption when capturing data from a usb device |
CN115412394B (zh) * | 2022-08-22 | 2023-08-18 | 奥特酷智能科技(南京)有限公司 | 基于AutoSar的异构域控制器核间通信方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
FI106088B (fi) * | 1997-09-12 | 2000-11-15 | Nokia Networks Oy | Datansiirtomenetelmä yleisen pakettiradiopalvelun (General Packet Radio Service) verkko-osan ja tilaajapäätelaitteen välillä |
US6721353B1 (en) * | 2000-06-21 | 2004-04-13 | Cisco Technology, Inc. | Network compatibility |
CN100334577C (zh) * | 2000-11-01 | 2007-08-29 | 福来西奥德技术公司 | 用于设备到设备的普适数字输出的控制器及管理器 |
DE10107700A1 (de) * | 2001-02-19 | 2002-08-29 | Siemens Ag | Verfahren und Vorrichtung zum Multiplexen und/oder Demultiplexen sowie entsprechende Computerprogramme und ein entsprechendes Computerprogramm-Erzeugnis |
ES2357234T3 (es) * | 2003-06-02 | 2011-04-20 | Qualcomm Incorporated | Generación e implementación de un protocolo y una interfaz de señales para velocidades de transferencia de datos elevadas. |
MXPA06010647A (es) * | 2004-03-17 | 2007-01-17 | Qualcomm Inc | Metodo y aparato de interfaz de datos de alta velocidad. |
CN1292621C (zh) * | 2004-04-22 | 2006-12-27 | 中兴通讯股份有限公司 | 一种移动通讯系统中传输格式组合的选择方法 |
US7580388B2 (en) * | 2004-06-01 | 2009-08-25 | Lg Electronics Inc. | Method and apparatus for providing enhanced messages on common control channel in wireless communication system |
WO2006103576A1 (en) * | 2005-03-29 | 2006-10-05 | Koninklijke Philips Electronics N.V. | Receiver apparatus and method for receiving data units over a channel |
KR101379253B1 (ko) * | 2007-01-22 | 2014-03-28 | 삼성전자주식회사 | 미디어 독립 핸드오버 수행 방법 및 장치 |
US20090138603A1 (en) * | 2007-11-28 | 2009-05-28 | Qualcomm Incorporated | Protection for direct link setup (dls) transmissions in wireless communications systems |
US8898448B2 (en) * | 2008-06-19 | 2014-11-25 | Qualcomm Incorporated | Hardware acceleration for WWAN technologies |
US20130204962A1 (en) * | 2012-02-02 | 2013-08-08 | Texas Instruments Incorporated | Network and peripheral interface circuits, systems and processes |
-
2012
- 2012-05-11 US US13/469,204 patent/US8938551B2/en not_active Expired - Fee Related
-
2013
- 2013-04-10 CN CN201310194936.8A patent/CN103368688B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103368688A (zh) | 2013-10-23 |
US20130268689A1 (en) | 2013-10-10 |
US8938551B2 (en) | 2015-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103368688B (zh) | 数据处理装置 | |
CN111200848B (zh) | 一种通信方法及装置 | |
CN101288331B (zh) | 用以配置用于网际协议流的无线电链路协议的装置、方法和计算机程序产品 | |
CN109302372B (zh) | 一种通信方法、设备及存储介质 | |
US11856625B2 (en) | Apparatuses and methods for sidelink (SL) communication in a user equipment (UE)-to-UE relaying architecture | |
CN101366225B (zh) | Hsupa harq处理冲刷 | |
US8892164B2 (en) | Modular cell phone for laptop computers | |
WO2018053852A1 (zh) | 无线承载的配置方法、装置及系统 | |
CN114026913B (zh) | 能够实现支持集成接入回程网络中的多连接性的上行链路路由 | |
JP2011130179A (ja) | 中継装置 | |
CN114258731B (zh) | 集成接入回程网络中的集中式单元及其操作方法 | |
WO2009135441A1 (zh) | 多模基站及其通信方法 | |
WO2019019486A1 (zh) | 下行数据包配置方法及装置 | |
WO2010063236A1 (zh) | 通信网络、设备和通信方法 | |
CN103428682A (zh) | 辅助信息发送方法及用户设备、网络侧配置方法及网络侧 | |
WO2015180132A1 (zh) | 一种网络协议配置方法、装置 | |
WO2011079563A1 (zh) | 数据连接建立、释放方法、数据传输方法及无线数据卡 | |
WO2022063186A1 (zh) | 传输链路的切换方法及相关产品 | |
CN101322361A (zh) | 在MAC子层中提供Flow_ID管理以用于分组优化的无线电链路层的装置、方法和计算机程序产品 | |
JP2007208722A (ja) | Dtm通信装置及び方法 | |
WO2024140747A1 (zh) | 通信方法及相关装置 | |
WO2023246746A1 (zh) | 一种通信方法及相关设备 | |
WO2023221984A1 (zh) | 数据传输方法、装置及存储介质 | |
KR20190021121A (ko) | 근거리 무선 통신 장치 및 방법 | |
CN101247547B (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 | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: Neubiberg, Germany Patentee after: Intel Mobile Communications GmbH Address before: Neubiberg, Germany Patentee before: Intel Mobile Communications GmbH |