首页> 中国专利> ASIC硬件和嵌入微处理器间的数据转移方法和系统

ASIC硬件和嵌入微处理器间的数据转移方法和系统

摘要

一种用于转移数据字节的方法和系统包括第一存储器,用于存储多个包括头部字段字节和一个或多个数据字段字节的多字节数据字。所述系统还包括第二存储器,用于存储从第一存储器转移到它的数据字段字节。耦合到第一和第二存储器的控制器从第一存储器读取包括头部字段字节和一个或多个数据字段字节的数据字。所述系统还包括耦合到控制器和第二存储器的数据打包机。控制器和数据打包机协同一起将从第一存储器读出的第一数据字发送到第二存储器。数据打包机只存储在第二存储器内的一个或多个数据字段字节,这些字节与先前转移并存储的数据字段字节相邻。

著录项

  • 公开/公告号CN1585935A

    专利类型发明专利

  • 公开/公告日2005-02-23

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN02822292.X

  • 发明设计人 S·特纳;S·金;J·林;K·泰勒;

    申请日2002-09-10

  • 分类号G06F13/40;

  • 代理机构上海专利商标事务所;

  • 代理人李家麟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 15:51:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-27

    未缴年费专利权终止 IPC(主分类):G06F13/40 授权公告日:20071107 终止日期:20180910 申请日:20020910

    专利权的终止

  • 2007-11-07

    授权

    授权

  • 2005-04-27

    实质审查的生效

    实质审查的生效

  • 2005-02-23

    公开

    公开

说明书

                    本发明背景

本发明领域

本发明一般涉及数据转移技术,尤其涉及在无线通信设备内实现的数据转移技术。

背景技术

无线通信设备(WCD)一般包括调制器—解调器部分(一般称为“调制解调器”)以调制要发射的信号并对进入或接收到的信号进行解调。一种已知的调制解调器,诸如蜂窝调制解调器,对于在一个或多个外部接口上接收到的进入或接收到的信号进行解调以生成已解调数据。然后,调制解调器将已解调数据在一个或多个附加的外部接口上的目的地设备。

随着接收到的信号数据速率增加,随之对应增加的是适时地将已解调数据转移到一个或多个附加的外部接口的每单位时间的转移操作数。相应地,数据转移操作的效率随着接收到的信号数据速率增加而成为调制解调器设计方面日渐重要的因子。

调制解调器一般包括调制解调器控制器以控制调制解调器的操作。现代的调制解调器控制器(诸如精简指令集计算机(RISC)处理器)一般能使用多字节转移操作(诸如多字节读和多字节写)而以多字节字为单位转移数据。例如,调制解调器控制器可以使用多字节读和多字节写操作将多字节数据字从存储器转移到外部接口。然而,调制解调器控制器可能要求多字节数据存储在存储器内,使得数据字的源地址与存储器的字地址边界对齐。在一些实例中,按要求,要转移的数据字节可能不与字地址边界对齐。因此,需要一种机制能使调制解调器控制器使用多字节读和写操作而转移该种不对齐的数据字节。

上述的RISC处理器和存储器一般使用存储器总线耦合在一起。存储器总线可以允许的存储器和RISC处理器间和任何其它类似地耦合到存储器总线的任何其它元件(诸如一个或多个附加的外部接口)间的数据转移的最大速率,被称为存储器总线带宽。一般,RISC处理器可以基本上使用存储器总线的所有带宽。因为存储器总线带宽的这种高度的RISC处理器利用率,用于转移数据的直接存储访问(DMA)技术不是最期望的,这是因为该种DMA转移操作是通过从处理器“窃取”存储器总线带宽而进行的(即通过窃取总线读或写转移周期),因而减少了RISC处理器的使用效率。

因此,需要实现使用调制解调器控制器的有效数据转移,以避免DMA转移的复杂度,诸如存储器总线周期窃取,从而最小化了实现数据转移需要的存储器总线周期的总数。

                    本发明的简要摘要

摘要

本发明提供了一种用于在WCD内有效转移数据字节的方法和系统。WCD包括调制解调器,用于对接收到的信号进行解调(和解码)以生成已解调(和已解码)的数据字节。调制解调器控制器(例如RISC微处理器)实现将已解调数据字节高效转移到外部接口。

调制解调器包括调制解调器控制器、第一缓冲器、中间存储器以及与存储器总线耦合在一起的数据打包机。第二缓冲器耦合到数据打包机。调制解调器控制器首先使用多字节读和写操作将已解调数据从第一缓冲器转移到中间存储器。调制解调器控制器然后通过存储器总线使用多字节读和写操作将已解调数据从中间存储器转移到第二缓冲器。调制解调器控制器通过称为数据打包机(以上简要提及)的发送硬件接口的一部分将已解调数据从中间存储器发送到第二缓冲器。数据打包机接收转移到它的数据字,每个的形式为多字节数据字。并保留了在每个多字节数据字中数据字节的正确的字节排序。因此,本发明保留了接收到的数据字节的字节顺序。数据打包机还对数据转移进行流水线化,使得一个多字节数据字可以从中间存储器发送到第二缓冲器,并在存储器总线的每个存储器总线周期内存储在第二缓冲器内。

本发明的一个优势特征是使得调制解调器控制器能使用有效的多字节数据字转移以从中间存储器转移数据,所述的码字可能不是在中间存储器的要求的数据字地址边界上开始或结束的。为支持该特征,数据打包机可以经编程以忽略不期望的数据字节(又被称为“非数据”字节),它可能包括在到第二缓冲器的多个数据字数据转移的第一多字节数据字和最后一个多字节数据字内。该实现是通过在将数据字节从中间存储器转移到第二缓冲器前,用第一数据字节的字节偏置和要从中间存储器转移来的数据字节的总数对数据打包机进行编程。通过进行流水线在数据转移,以及带有正确字节顺序的多字节字内的数据的转移,并且支持在中间存储器内任何地址处的开始和结尾的数据的多字节字转移,最小化了从调制解调器存储器到外部接口的数据转移需要的存储器总线周期的数目。

根据本发明,用于转移数据的系统包括第一存储器,适用于存储多个包括头部字段字节和一个或多个数据字段字节的多字节数据字。头部字段字节被认为是不期望的或非数据字节。系统还包括第二存储器,适用于存储来自第一存储器的数据字段字节。该系统包括耦合到第一和第二存储器的控制器,并适用于从第一存储器读出包括头部字段字节和一个或多个数据字段字节的数据字。系统还包括耦合到控制器以及第二存储器的数据打包机。控制器和数据打包机一起将从第一存储器读出的第一数据字的一个或多个数据字段字节转移到第二存储器。数据打包机只存储第二存储器内的一个或多个数据字段字节,这些字节与先前转移并存储的数据字段字节相邻接。

特征与优势

本发明的一个特征是使用调制解调器控制器有效地在调制解调器内转移数据。本发明还有利地最小化了实现数据转移需要的存储总线周期总数,这是通过例如避免复杂且低效率的DMA转移技术实现的。

本发明的另一特征是在保留转移的数据字节的正确的字节顺序的同时转移数据字节。

本发明的另一特征是使用从存储器读出或写入的多字节数据字转移数据字节。本发明的一个相关的优势是即使在数据字节不与存储器内的字地址边界对齐时,仍实现该种多字节字的读和写。

                    附图/图例的简要描述

本发明的上述和其它特征和优势会在以下描述和如在伴随的附图中的本发明的最优实施例的特定描述中变得清楚。

图1是本发明能实现的示例系统的框图。

图2是图1的数据转移模块的框图。

图3A是由图2的调制解调器控制器实现的转移数据字节的方法示例的流程图,该调制解调器控制器与图2的数据打包机一起工作。

图3B是由图2的调制解调器控制器实现的转移数据字节的另一方法示例的流程图,该调制解调器控制器与图2的数据打包机一起工作。

图3C由图2的数据打包机实现的转移数据字节的方法示例的流程图,该数据打包机与图2的调制解调器控制器一起工作。

图4是使用图2的调制解调器控制器和数据打包机将数据字段字节块从第一存储器发送到第二存储器的示例总体方法的流程图。

图5A是本发明的WCD接收到的包括头部和数据字段的示例信号。

图5B是第一存储器在图5A的信号的头部和数据字段字节已在此被存储后的示例安排的示例内容的说明。

图5C是图2的第二接收路径缓冲器在第一和第二数据字段块已从图5B的第一存储器发送到使用本发明的第二接收路径缓冲器后的示例存储器安排和内容。

图6是图2的示例数据打包机的框图。

图7是类似图5B的说明,为方便在此重复。

图8A说明在使用图4的示例总体方法实现的示例数据转移的不同阶段,图2的第二接收路径缓冲器的示例部分和图2的数据打包机的示例部分。

图8B、8C、8D和8E类似于图8A,除了图8B-8E的每一个对应了使用图4的示例总体方法实现的示例数据转移的不同阶段。

图9是图2的数据打包机的数据组织器部分的详细框图。

图10是在其上可以实现本发明的示例计算机系统的框图。

                    本发明的详细描述

操作环境

图1是示例系统100的框图,在其中可以实现本发明。系统100包括WCD104,它包括发射/接收天线106和耦合到天线106的信号处理模块108。系统100还包括通过数据链路112,诸如例如串行数据链路耦合到信号处理器模块的计算机10。

系统100还包括通过数据链路115耦合到信号处理模块108的可任选的计算机114。

信号处理模块108包括射频(RF)接收部分116、RF发射部分118、调制解调器120和存储器122(以上被称为“中间”存储器)。调制解调器120包括耦合到RF接收部分116和解调制器/解码器部分128和耦合到RF发射部分118的编码器/调制器部分130。调制解调器120还包括根据本发明的原理构建并操作的、耦合到解调器/解码器以及调制器/编码器部分128和130、存储器122和计算机110的数据转移模块132。

在操作和接收方向内,WCD104的天线106接收从其它无线通信设备(未示出),诸如基站、移动设备等发射来的RF信号140。RF信号140可以符合任何数量的通信协议,包括例如码分多址(CDMA)高数据率(HDR)通信协议,诸如cdma2000 1xEV-DO(仅展开数据)。根据cdma2000 1xEV-DO,RF信号140能以超过2.4兆比特每秒(Mbps)的数据率携带信息。另外,RF信号140可以携带根据数据协议格式化的信息,诸如TCP/IP(传输控制协议/因特网协议)。RF信号140可能符合本发明内的其它通信和数据协议。根据相关的协议,RF信号140携带的信息可以经格式化以包括数据字段142和头部字段144。

天线106提供RF信号140给RF接收部分116。RF接收部分116对接收到的RF信号进行下变频,并将经下变频后的信号146,诸如中频(IF)或基带信号提供给调制解调器120的解调器/解码器128。解调器/解码器128对经下变频的信号146进行解调和解码以生成已解调和解码后信号152。已解调和解码后信号152可以包括例如对应RF信号140携带的数据字段142(即数据字段字节)和头部字段144(即头部字段字节)的按时序的数据字节。

解调器/解码器128将已解调和解码后信号152提供给数据转移模块132。根据本发明,数据转移模块132将包括在信号152内的头部和数据字段字节存储在存储器122内。然后,数据转移模块132选择性地在数据链路112上只将数据字段字节从存储器122选择性地传到计算机110上。从解调器/解码器128转移到计算机110的数据字段字节通过数据转移模块132内的接收数据转移路径154(描述为箭头154)。当接收到的信号140符合cdma2000 1xEV-DO,数据转移模块132将数据以超过2.4Mbps的数据率从解调器/解码器128转移到计算机110。

在发射方向上,计算机110在数据链路112上向调制解调器120的数据转移模块132提供数据字节(要以无线方式发送到远程设备)。数据转移模块132可以根据已知的协议诸如TCP/IP对从计算机110接收到的数据字节进行格式化以生成例如散布的头部字段字节和数据字段字节(一起被称为数据字节)。根据本发明,数据转移模块132将从计算机110接收到的数据字节(连同任何与诸如TCP/IP协议相关的加入的数据字节)以信号160转移到编码器/调制器130(或是直接地或通过存储器122)。在数据转移模块132内从计算机110转移到编码器/调制器130的数据字节通过发送数据路径161(描述为箭头161)。

编码器/调制器130对在信号160内的数据字节编码并调制,并提供经编码和已调的基带或IF信号162给RF发送部分118。RF发送部分118将信号162经上变频以生成RF发送信号164。RF发送部分118将RF发送信号164提供给天线106,由天线以无线方式发射。

图2是根据本发明的实施例的数据转移模块(DTM)132的框图。数据转移模块132包括耦合到数据总线204和地址总线206(一起被称为存储器总线)的调制解调器控制器202(又被称为中央处理单元(CPU))。调制解调器控制器202提供读出(RD)信号208和写入(WR)信号210给调制解调器120内的各种其它组件,如下所述。

调制解调器控制器202最好是32比特控制器(诸如32比特RISC处理器),且对应地,地址总线206和数据总线204最好是相应的32比特地址和数据总线。然而,对于32比特系统,地址总线不一定是32比特。在本发明的示例实现中,控制器202是由ARM有限公司生成的ARM7TDI RISC处理器(被称为ARMRISC处理器)。相应地,调制解调器控制器202从耦合到数据总线204和地址总线206的多个其它组件写入或读出32比特字。该种32比特字每个包括四个数据字节,其中每个数据字节包括8数据比特。例如,调制解调器控制器202从存储器122读出或写入数据,该存储器也耦合到数据和地址总线204和206。调制解调器控制器202可以使用存储器映射存取技术、输入/输出(I/O)端口存取技术或任何其它存取技术而访问耦合到地址和数据总线206和204的多个其它组件,这对于领域内的技术人员是显而易见的。

更方便的是参考上述图1描述的DTM132的接收数据转移路径154和发送数据发送路径161而描述DTM132的组件。DTM132的接收数据转移路径154包括耦合到数据和地址总线204和206以及到解码器/解调器128的第一接收路径缓冲器216。第一缓冲器216存储包括在信号152内提供的数据字段字节和头部字段字节的数据字节。接收数据转移路径154还包括存储器122。存储器122可以是能在字地址存储32比特数据字的32比特随机存取存储器(RAM)。调制解调器控制器202访问(即读出)存储在第一接收路径缓冲器216内的数据字节,并将包括头部字段字节和数据字段字节的数据字节写入存储器122。接收数据转移路径154还包括耦合到数据和地址总线204和206的接收路径数据打包机(DP)220,以及耦合到DP220的第二接收路径缓冲器226(又被称为第二缓冲器226)。在本发明中,DP220和调制解调器控制器202一起进行从存储器122到第二缓冲器226的数据字段字节转移,然后将转移的数据字段字节存储在第二缓冲器226内。

DP220包括耦合到数据总线204的DP数据组织器230,和耦合到数据和地址总线204和206的DP控制器232。DP控制器232通过第二缓冲器地址总线234将第二缓冲器地址提供给第二缓冲器226。DP控制器232还将第二缓冲器写入信号236写入第二缓冲器226。DP控制器232将DP数据组织器控制信号237提供给DP组织器230。

DP数据组织器230从数据总线204接收以32比特数据字(即四字节)为单位的数据字节。DP数据组织器230组织接收到的数据字节以根据来自DP数据控制器232的控制器信号237而生成组织后的数据字节。DP数据组织器230将组织后的数据字节在数据总线238上提供给第二缓冲器226。数据总线238最好是32比特(即4字节)数据总线。DP控制器232控制何时与何地通过数据总线238将提供给第二缓冲器226的组织后的数据字节存储在第二缓冲器内,这分别使用在地址总线234上提供的写入信号236和地址。

接收数据转移路径154还包括通用串行总线(USB)模块242。第二缓冲器226在数据总线244上向USB模块242提供在此存储的数据字段字节。接着,USB模块242通过数据链路112向计算机110(在图1内讨论的)提供数据字段字节。因此USB242、第二缓冲器226和DP220形成到外部设备或计算机110的硬件接口。

调制解调器发送数据转移路径

DTM132的发送数据转移路径161还包括USB242。或者,单独的USB可以被用于发送数据路径。在发射方向上,USB242在数据链路112上接收来自计算机110的数据字节,并将数据字节在数据总线248上提供给第一发送路径缓冲器246。第一发送路径缓冲器246耦合到CPU数据和地址总线204和206。在一实施例中,发送数据转移路径161还包括发送路径DP250、类似于接收路径154的DP220,它耦合到数据和地址总线204和206。DP250包括DP控制器252和DP数据组织器254,类似于DP控制器232和DP数据组织器230。

发送数据转移路径161还包括耦合到DP250的第二发送路径缓冲器256。DP控制器252在缓冲器地址总线258上将缓冲器地址提供给第二发送路径缓冲器。DP控制器252还提供写入信号260给第二发送路径缓冲器256。DP控制器252还提供控制信号262给DP数据组织器254。DP数据组织器254在数据总线264上将组织号的数据字节提供给发送路径第二缓冲器256。第二发送路径缓冲器256还提供在数据信号160内的数据字节给编码器/调制器130,如上所述。

在另一实施例中(未示出),DP250从发送路径161中略去。在该实施例中,数据和地址总线204和206直接耦合到第二发送路径缓冲器256。

示例方法

调制解调器控制器202和DP220相互一起实现根据本发明的转移数据字节的总体方法。因此,总体方法可以被分解为由调制解调器控制器202实现的方法步骤和DP220实现的分开的方法步骤,但DP220的方法步骤与调制解调器控制器的方法步骤相呼应。现在描述调制解调器控制器202和DP220的每个实现的分开的方法步骤,然后描述结合分开方法步骤的总体方法。

第一CPU方法

图3A是根据本发明转移数据字节的示例方法300的流程图。方法300包括一系列调制解调器控制器202实现的方法步骤,如上所述。方法300现在参考图2和3A一起描述。在初始步骤305,调制解调器控制器202读出存储在第一接收路径缓冲器216内的包括头部和数据字段字节(对应一个或多个信号140的头部和数据字段144和142)的数据字节。调制解调器控制器202将从第一存储器216读出的数据字写入存储器122(在图3A的流程图的步骤305被称为“第一存储器”),这里使用了多个字节数据字(例如诸如32比特即4字节数据字)的写入操作。在写入转移后,存储在存储器122内的数据字可以包括例如对应数据字段142和对应信号140的头部字段144的头部字段字节,如以上关于图1描述。

在步骤305,调制解调器控制器202在存储器122中存储多个包括第一和第二头部字段字节(例如,来自头部字段144的相继字节)的多字节数据字以及位于第一和第二头部字段字节间的数据字段字节块(例如,来自一个数据字段142)。存储在存储器122的对应的第一字地址处的第一数据字包括数据字段字节块的开始或开始数据字段字节。开始数据字段字节可能或可能不与第一字地址对齐,即数据字段字节可能有不与第一字地址对应的字节地址。类似地,数据字段字节的最后一个可能或可能不与存储器122内的数据字地址对齐。

在下一步骤310,调制解调器控制器检查在存储器202内存储的上述的数据字节,以确定将数据字节路由到哪里。为本发明的目的,假设一些数据字节(如下所述)的目的地是USB242,从USB242转移到计算机110。然而,可以理解例如数据字节的目的地可以是其它外部接口。

在步骤310,调制解调器控制器202还检查上述的存储在存储器122内的数据字节以确定一定的控制信息,这些信息要被要求用于初始化与要转移到第二缓冲器226的当前数据模块相关的DP220。调制解调器控制器202然后通过将该种控制信息写入DP控制器232而初始化DP220。控制信息包括开始数据字段字节和第一字地址间的字节偏移,如上所述。字节偏移在此还被称为源偏移(SO),其中术语“源”指的是存储器122。为零的字节偏移指明开始数据字段字节地址与第一数据字地址重合(即对齐)。大于零的字节偏移指明开始数据字段字节地址不与第一字地址重合(即不对齐)。当第一数据字包括一个或多个头部字段字节以及一个或多个数据字段字节时,会存在该种偏移。控制信息还包括了包括在要发送并存储在第二缓冲器226内的当前数据字段字节块内的数据字段字节总数N。例如,总数N可以表示第一和第二头部字段字节间的数据字节数。

在下一步骤315,调制解调器控制器202使用多字节读取操作从存储器122读取包括开始数据字段字节以及可能的附加数据字段字节的下一数据字(这可能是第一数据字或相继的数据字)。例如,调制解调器控制器202可以从存储器122读取32比特(或4字节)的字。当如上所述调制解调器控制器是ARM RISC处理器时,调制解调器控制器202可以使用“从存储器加载寄存器”(LDR)指令以实现读取操作。一个或多个读取的数据字内的数据字段字节会占据数据字内的预定位置。从存储器122读取出的数据字可以只包括数据字段字节,或者数据字可以包括头部字段字节以及一个或多个上述的数据字段字节。

在下一步骤320,调制解调器控制器202将数据字(在步骤315内读入)(且因此,在此包括的一个或多个数据字段字节)通过DP数据组织器230写入第二缓冲器226(在图3A的步骤320内被称为“第二存储器”)。当调制解调器控制器是如上所述的ARM RISC处理器时,调制解调器控制器202可以使用“存储寄存器到存储器”(STR)指令以实现写入操作。从调制解调器控制器202的角度看,调制解调器控制器202只是简单地在步骤320处,在存储器总线写入周期期间在地址/数据总线206/204上将数据字写入第二缓冲器226。示例存储器总线写入周期包括在地址和数据总线206和204上施加有效的地址和有效的数据,并在数据和地址有效的同时施加写入信号210。

在下一判决步骤325,调制解调器控制器202确定是否所有存储在存储器122内的数据块的数据字段字节都从存储器122转移到第二缓冲器226。如果没有,流程控制回到步骤315,且下一字从存储器122读出,等等。在另一方面,如果数据块的所有数据字段字节都被转移了,则方法300结束。由于相继的数据字段字节由WCD104接收且存储到第一发送路径缓冲器216,方法300可以在时间上被连续重复。

第二CPU方法

图3B是根据本发明的转移数据字节的另一示例方法340。方法340包括调制解调器控制器202实现的一系列方法步骤。方法340的初始两步骤即步骤305和310与方法300中描述的相同。

然而,在下一步骤345,调制解调器控制器202从第一存储器读取多个数据字,而不是如在方法300的步骤315处只读取单个码字。调制解调器控制器202可以使用高效的数据字块读取转移操作读取多个数据字。当调制解调器控制器是上述的ARM RISC处理器时,调制解调器控制器202可以使用“加载多个寄存器”(LDM)指令或其变型,以实现块读取操作。使用该种块读取操作(还被称为突发读取转移),调制解调器控制器202从存储器122一个接一个读取出多个字的每个,然后使用连续(又称为突发)的存储器读周期放入调制解调器控制器字寄存器。调制解调器控制器202使用块读取操作可以读取的字数只受到调制解调器控制器的结构的限制。

在下一步骤350,调制解调器控制器202将在步骤315处读取的多个数据字写入第二缓冲器226(通过DP220的DP数据组织器230)。调制解调器控制器202使用高效的数据字块写入转移操作写入多个数据字。当调制解调器控制器是上述的ARM RISC处理器时,调制解调器控制器202可以使用“存储多个寄存器”(STM)指令或其变型以实现多个字或块写入操作。使用该种块写入操作(又被称为突发写入转移),调制解调器控制器202在地址/数据总线206/204上,使用连续的存储器写入周期(称为连续存储器写入周期的突发)一个接着一个将多个字的每个写入第二缓冲器226。连续存储器写入周期可能在时间上是紧接着的。

下一判决步骤355类似于方法300的判决步骤325,除了当还留有要转移的数据字段字节时,流程回到步骤345。否则,方法340结束。方法340可以在时间上连续重复,由于相继的数据字段字节被WCD104接收并存储到第一接收路径缓冲器216。

数据打包机方法

图3C是根据本发明的转移数据字节的示例方法360的流程图。方法360根据本发明包括由DP220与上述的CPU方法300和340一起实现的一系列方法步骤。

方法360开始于步骤365,当DP220接收到来自调制解调器控制器202的控制信息时(即当调制解调器控制器202在步骤310将控制信息写入DP220时,如以上与方法300相关讨论的)。在步骤365处,DP控制器232初始化内部控制逻辑,并根据字节偏移(SO)和从调制解调器控制器202接收到的总数为N的数据字段字节而导出地址指针234和控制信号237。

下一步骤370开始于在DP220接收到包括来自调制解调器控制器202的一个或多个数据字段字节的数据字时(即分别在CPU方法300和340的步骤320和350内调制解调器控制器202将数据字写入到DP数据组织器230时)。最好,DP220实现步骤370是与调制解调器控制器写入步骤320,以及由调制解调器控制器202在写入步骤350(以下会详述)实现的多个单个的写入操作迸发地。在此使用的术语“迸发”意味着在调制解调器控制器202的存储器写入周期内或期间DP220实现步骤370。另一方面,术语“迸发”也可意味着在下一存储器写入周期开始前完成步骤370。例如,当如上述的RISC处理器实现STM指令以将多个数据字转移到DP220时,当调制解调器控制器202紧接着下一写入周期执行当前写入周期,与当前写入周期相关联的当前步骤370应在下一写入周期开始前被完成,因为下一写入周期会在下一步骤370处开始。

在步骤370,DP数据组织器230根据控制信号237组织(例如如果必要的话重新安排)接收到的数据字的一个或多个数据字段字节的位置,使得一个或多个数据字段字节对应地与第二缓冲器226内的一个或多个下一可用的紧邻字节位置对齐。例如,当在步骤365内DP控制器232接收到的字节偏移(即SO)为非零时,则这指明在当前数据字段块转移的第一接收到的数据内忽略头部字段字节,DP组织器230在第一接收到的数据字内重新安排一个或多个数据字段字节的位置。这在以下将会详述。

调制解调器控制器写入步骤320(方法300的)以及组织步骤370一起将数据字段字节从调制解调器控制器202转移到第二接收路径缓冲器226,因为在步骤370的末尾经组织的数据字段字节按顺序被送到第二缓冲器。类似地,调制解调器控制器写入步骤350(来自方法340)以及组织步骤370一起将数据字节从调制解调器控制器202转移到第二接收路径缓冲器226。

在下一步骤375,DP控制器232使得接收到的数据字(不是如果包括在接收到的数据字内的头部字段字节)一个或多个(可能经重新安排的)数据字段字节存储在第二缓冲器的对应的一个或多个下一可用相邻字节位置(在上述步骤370内描述),并与先前存储的数据字段字节相邻。在步骤375内,DP控制器232使用地址指针234和写入信号236存储一个或多个数据字段字节。最好,DP220与写入步骤320和330迸发地实现步骤375。

在下一步骤380内,DP控制器232将地址指针234更新为对应于第二缓冲器226内的下一可用的相邻字节位置的地址。

在下一判决步骤385内,DP控制器232基于要转移的总字节数N和先前在当前数据块转移内接收到的数据字数,确定是否还有从存储器122转移来的当前数据模块内进一步接收的数据字。当没有进一步的数据字要被接收时,方法360中止。在另一方面,当还有数据字节要被接收时,流程控制回到步骤370,其中DP220等待来自调制解调器控制器202的下一要转移的数据字。

总体(合并的CPU和数据打包机)方法

图4是根据本发明的从第一存储器将数据字段字节块转移到第二存储器的示例总体方法400的流程图。方法400组合如上所述的调制解调器控制器202实现的CPU方法340和DP220实现的方法360。另一其它的总体方法(未示出)组合CPU方法300和DP220方法360。由于方法400包括先前描述的方法步骤,则在此不提供方法步骤的详细描述,以避免不必要的描述重复。要理解的是方法360的判决步骤385从图4中略去,以便更清楚地描述。

方法400的初始步骤305、310和365在存储器内建立多个包括头部字段字节和数据字段字节的数据字,并如上所述初始化DP220。下一步骤345将多个数据字从存储器122转移到调制解调器控制器202。下一步骤350i、370、375和380在每次调制解调器控制器将步骤345内读取的多个数据字的一个写入DP220时被重复。例如在步骤350i,调制解调器控制器202将步骤345内读出的多个数据字的单个写入DP220。因此,方法400的步骤350i对应在方法340的步骤350内实现的多个逐次写入(或写入突发)的单个写入,其中调制解调器控制器202将多个数据字写入调制解调器控制器202。

高层说明性示例

现在描述根据方法400实现的高层说明性数据转移示例。图5A是天线106接收到的示例信号502(类似于图1讨论的信号140)。示例接收到的信号502包括头部字段504a和504b以及数据字段506a和510b,其中头部字段504a在时间上首先被收到。头部字段504a包括三个头部字节H0到H2(其中H0在H2前被接收到),数据字段506a包括表示数据字段字节第一块的十五个字节D0-D14,等。

在上述的步骤305内,调制解调器120存储一系列数据字,包括存储器122内的信号502的头部和数据字段字节。图5B是说明在步骤305内将头部和数据字段字节存储在存储器122内后存储器122的示例安排和示例内容。在该例中,存储器122包括一系列32比特(即4字节)数据字位置(在图5B描述为存储器122的行)每个带有存储在其中的一个数据字510a-510n。每个字位置通过对应的字地址520a-520n而被寻址,诸如“0”、“4”等。每个字位置可以存储32比特(即4字节)字。即每个字位置包括4字节位置,由字内的列或字节位置530a、530b、530c和530d表示。因此,存储器122代表在存储器122中一个字节的位置。每个字节位置(例如,534)包括多个存储器“单元”,每个单个的存储器“单元”(例如单元534)有对应的字节地址,在图5的单元的对应的左上角内指明。例如,字节位置或单元534具有对应的字节地址为“15”。

在示例中,头部字段504a的头部字段字节H0到H2占据了对应于存储器122内的数据字510a(具有字地址520a)的字节地址“0”到“2”。数据字段字节D0-D14的第一块占据多个下一相邻字节位置,这些位置对应于跨越在相邻码字地址“0”“4”“8”“12”和“16”上的字节地址“3”-“17”。下一头部字段504b的头部字段字节H0到H2占据对应的相邻字节位置,这些位置对应跨越在码字地址“16”和“20”上的字节地址“18”-“20”。第二数据字段字节D0-D6块对应第二数据字段506b,占据相应的对应于字节地址“21”-“27”的相邻字节位置。

图5C是第二缓冲器226的示例存储器安排。在图5C内描述的是第二缓冲器226的示例内容,这是在第一和第二数据字段块(相应对应数据字段506a和506b)已从存储器122转移到第二缓冲器226并然后使用本发明被存储在第二缓冲器内后的内容。图5C内描述的第二缓冲器226的存储器安排包括在类似存储器122的字节位置的行内的多个字节位置540(或单元540)。每个字节位置可以存储从存储器122转移到第二缓冲器226的数据字段字节。在图5C描述的示例安排内,第二缓冲器226包括对应于存储器122的单元530a、530b、530c和530d的列的单元的列(即字节列)542a、542b、542c和542d。

在根据本发明第一和第二数据字段块已被转移到并存储在缓冲器226内后,第一数据字段字节块的数据字段字节D0-D14被存储在第二缓冲器226的具有地址“0”-“14”的对应相邻字节位置。数据字段字节D0-D14在第二缓冲器226内以如它们在存储器122内存储的那样。同样的字节顺序被存储类似地,第二数据字段字节块的数据字段字节D0-D6被存储在第二缓冲器226的对应的相邻字节位置“15”-“21”,与它们存储在存储器122内的字节顺序相同。而且,第二数据字段字节块的第一数据字段字节D0与先前存储的第一数据字段字节块的最后数据字段字节D14相邻存储。因此,DP220将从调制解调器控制器202接收到的数据字的头部字段字节剥去,并将接收到的数据字的剩余数据字段字节打包入第二缓冲器,例如如图5C内描述的。

数据打包机实施例

在进一步详述方法400前最好能进一步了解DP220的详细情况。因此,现在详述DP220。图6是根据本发明的实施例的DP220的详细框图。DP220可以作为一个或多个专用集成电路(ASIC)而实现。在图6内,DP控制器232和DP数据组织器230是关于第二缓冲器226而被描述。DP控制器232包括控制单元604、写入发生器606和地址发生器608。根据本发明,控制单元604可以包括以下的控制写入发生器606、地址发生器608和DP组织器230所必须的下列任一种或其组合:计数器逻辑、比较逻辑和状态机逻辑。控制单元604在数据总线204上接收初始化数据字(例如在以上图3和图4中说明的方法300和400的步骤310处),并在地址总线206上连同写入信号210寻址。控制单元604根据在数据块转移期间在数据总线204上接收到的初始化数据字(包括控制信息)和写入信号210导出valid_burst_signal 612、end_of_burst信号614(指明在当前数据块转移内的最后数据字转移),a start_of_burstsignal616(指明在当前数据块转移内的第一或开始数据字)以及burst_wr信号618(根据写入信号210导出)。在此使用的“突发”一词是指从存储器122转移到第二缓冲器226的数据字段字节块,因此与“数据块转移”同义。控制单元604将信号612-618提供给写入发生器606和地址发生器608。控制单元604还根据由DP控制器232接收到的初始化数据字而导出控制信号237。

地址发生器608包括地址单元608a、608b、608c和608d(一起且一般被称为地址单元608),它们对应第二缓冲器226的字节列542a、542b、542c和542d(一起并一般被称为字节列542)。地址单元608a包括逻辑(诸如计数器逻辑)以根据从控制单元604接收的信号612-618导出或生成地址指针234a。地址单元608a将地址指针234a通过地址总线234(图2中讨论)提供给第二缓冲器226的对应的字节列542a。DP220使用地址指针234a以定址第二缓冲器226的字节列542a内的下一可用字节位置。类似地,地址单元608b-608d将相应的地址指针234b-234d提供给相应的字节列542b-542d。每个地址单元608可以独立地在第二缓冲器226的对应的一个字节列542内定址相应的字节位置。

写入发生器606包括多个写入单元606a、606b、606c和606d(一起并一般被称作写入单元606),每个对应第二缓冲器226的相应的一个字节列542。写入单元606a包括根据从控制单元604接收到的信号612-618而导出字节写信号236a的逻辑。当数据字段字节要写入第二缓冲器226的字节列542a内的下一可用字节位置时,写入单元606a发出字节写入信号236a。写入单元606a最好发出与写入信号210(由例如调制解调器控制器202提供)一致的字节写入信号,使得写入数据打包机220的数据字中的字节(例如由调制解调器控制器202写入)可以迸发地写入(即存入)第二缓冲器226(如以下将进一步描述)。当字节写入信号236a被发出,在数据总线238(以上图2描述)送到第二缓冲器226的数据字段字节在发出字节写入信号的时候写入(即存入)地址指针234a定址的字节位置。类似地,每个写入单元606b-606d导出相应的一个字节写入信号236b-236d(其中,字节写入信号236a-236b一起并一般被称为字节写入信号236,且以上结合图2已描述),并提供这样导出的字节写入信号给相应的写入列542b-542d。每个字节写入信号236可以独立于其它字节写入信号而被发出,其中响应于对应的字节写入信号,数据字节可以被写入(即存入)任何一个独立于其它字节列的字节列542。在送到第二缓冲器226的仅是选中的多个数据字段字节要存储在第二缓冲器内时,这是有用的,以下将详述。

DP组织器230在数据总线204上接收32比特(即4字节)数据字。每个在数据字内接收到的字节占据数据字内预定的字节位置,如图6内字节位置指明的,标为“字节a”、“字节b”、“字节c”和“字节d”。DP数据组织器230根据控制信号237组织(例如在必要时重新安排)由数据组织器接收到的每个字节的字节位置。DP组织器230将数据字节238a提供给第二缓冲器226的字节列542a(在数据总线238上,如上图2所述)。数据字节238a可以是“字节a”、“字节b”、“字节c”和“字节d”数据字节的任何一种,这取决于控制信号237。例如,当控制信号237指明要保留字节a-d原始或接收到的顺序时,字节238a可以是“字节a”。在另一方面,字节238a取决于控制信号237可以是字节b-d的任何一个。当发出字节写入信号236a时,字节238a被写入(即存入)地址指针234a定址的字节位置。类似地,DP数据组织器230在数据总线238上向相应的字节列542b-542d提供数据字节238b-238d。每个数据字节238b-238d根据对应的字节写入信号236b-236d相应地写入对应的字节列542b-542d的一个。字节写入第二缓冲器226内的每个字节列是独立于字节写入到第二缓冲器226的其它字节列而经控制和实现的。

在本发明中,当调制解调器控制器202在数据总线204上将数据字写入DP数据组织器230并使用写入信号210时,DP数据组织器组织(例如在必要时重新排序)从调制解调器控制器接收到的数据字的字节位置,这与调制解调器控制写入操作迸发地进行。而且,如上所述,写入发生器606导出与写入信号210一致的字节写入信号236d-236a,使得由DP数据组织器230生成的经重新组织的字节238a-238d可以被存入第二缓冲器226,这与调制解调器控制器202将数据字写入数据组织器迸发进行。因此,当调制解调器控制器202将数据字写入数据打包机220以将数据字的数据字段字节存储在第二缓冲器226内时,数据打包机作为中介以有利地组织数据字内的数据字段字节并将数据字段字节存储在第二缓冲器内的合适位置,这与写入操作迸发进行,且其方式对于调制解调器控制器是透明的。

详细方法

方法400现在更详细地通过示例并参考图2-6和以下的图7而描述。还要参考以下描述的图8A-8E内描述的一系列说明。在开始时,示例假设以上图5A内讨论的信号502由WCD104接收,且所有与信号502相关的数据字节被发送到第一接收路径缓冲器216。还假设第二缓冲器226初始时为空,且因此根据本发明等待接收来自存储器122的数据字段字节的第一转移。

在方法400的初始步骤305,调制解调器控制器202将存储在第一接收路径缓冲器216内的数据字节转移到存储器122。图7是在实现了步骤305后的存储器122的说明。图7和图5B是相同的,在此重复为了方便。

在步骤310,调制解调器控制器202检查存储器122以确定初始化DP220的控制信息。调制解调器控制器202确定开始数据字段字节D0和存储器122内的第一字510a的第一字地址“0”间的字节偏移(SO)。在示例中,字节偏移是“3”,因为,第一字510a包括头部字节H0-H2以及开始数据字段字节D0。调制解调器控制器202还确定要转移到第二缓冲器226的第一数据字段字节内的总数据字段字节数N。在示例中,N=15,对应数据字段字节D0-D14。调制解调器控制器202向DP220写入包括控制信息(字节偏移=3且总数N=15)写入初始化数据字。

在步骤365,DP控制器232根据接收到的控制信息初始化用于包括数据字节D0-D14的当前数据块转移的逻辑(例如,地址发生器608和写入发生器606)。例如控制单元604初始导出信号612-616需要的内部控制逻辑、计数器、状态机等。控制单元604还根据控制信息导出DP组织器控制信号237的值。控制单元604在整个从存储器122到第二缓冲器226的数据字段字节的块转移中维持控制信号237的值。

图8A是说明在本示例中方法400不同阶段的第二缓冲器226和DP220的部分。第二缓冲器226在图8A内描述为处于初始空状态。而且,地址指针234在图8A内描述为处于初始状态。每个地址指针234a、234b、234c和234d(为描述方便,还称为相应的地址指针Pa、Pb、Pc和Pd)指向(即定址)在对应的第二缓冲器226内的一个字节列542内的下一可用(例如为空)的字节位置。由于第二缓冲器226初始时为空,在每个字节列542内第一字节位置可用,使得指针Pa-Pd相应地指向第二缓冲器内的字节地址“0”-“3”。数据组织器230的状态,如在图8A内描述的,会在以下描述。

在下一步骤345,调制解调器控制器202从相应的存储器码字位置“0”-“16”使用五个多字节字读取操作读出包括数据字段字节D0-D14的五个数据字510a-510e。这样,调制解调器控制器202不区别地读取包括头部和数据字段字节的数据字(例如相应的第一和最后数据字510a和510e)。

第一写入

在第一次通过下一步骤350i时(即i=1),调制解调器控制器202将第一数据字510a写入DP数据组织器230。这样,调制解调器控制器202不区别地将包括在字510a内的数据和头部字段字节写入DP数据组织器230。

在步骤370内,DP数据组织器230接收第一数据字510a,使得头部字段字节H0,H1和H2以及数据字段字节D0相应地占据与第二缓冲器226的字节列542a、542b、542c和542d对齐的DP数据组织器内的字节位置,如图8A所描述。DP数据组织器230重新根据控制信号237安排接收到的数据字段字节的位置,以将接收到的数据字段字节与第二缓冲器226内下一可用的相邻字节位置对齐。在示例中,响应于控制信号237,DP数据组织器230将接收到的字节按顺时针方向向右旋转三个位置(或者,逆时针方向向左旋转一个位置),使得接收到的开始数据字节D0与和第二缓冲器226的第一字节列542a重合的第一字节位置“0”对齐。在步骤370的三个字节顺时针(或一个字节逆时针)旋转操作后,组织的字节238a、238b、238c和238d(见图6)相应地对应图8A内描述的数据字段字节D0,H0,H1和H2

在下一步骤375,DP控制器232只将DP数据组织器230接收到的数据字段字节(而不是头部字段字节)存储在第二缓冲器226内。DP控制器232使用写入发生器606a以只发出写入信号236a,从而根据地址指针Pa(初始时指向第二缓冲器226内的字节地址“0”),将只将数据字段字节D0(对应数据字节238a)存储在对应第二缓冲器226的字节地址“0”处。因此,头部字段字节H0-H2在存储步骤375内被忽略。

在下一步骤380处,地址发生器608更新地址指针Pa-Pd,使得地址指针定址第二缓冲器226内的下一可用相邻字节位置。在示例中,地址发生器608只更新地址指针Pa,因为只有字节列542a在步骤375处接收到数据字段字节(即存储在先前位置“0”处的数据字段字节D0)。图8B是说明在步骤375的字节存储后第二缓冲器226的内容,以及在地址更新步骤380后的指针Pa-Pb。只有开始数据字段字节D0已被存储在第二缓冲器226内。图8B内描述的DP组织器230的状态描述如下。

第二写入

在步骤380后,流程回到步骤350i,第二次通过步骤350i(其中i=2)、370、375和380,由于进一步读出的码字510b-510e要在到第二缓冲器的当前的数据块转移内写入第二缓冲器226。在第二次通过步骤350i时,调制解调器控制器202将第二数据字510b(中间数据字)写入DP数据组织器230。

在步骤370,DP数据组织器230接收到第二数据字,使得数据字段字节D1,D2,D3和D4相应地占据与字节列542a、542b、542c和542d对齐的数据组织器内的相应的字节位置,如图8B描述的。而且在步骤370内,响应于控制信号237,DP数据组织器230同样将接收到的字节按顺时针方向向右旋转了三个位置(或者,逆时针方向向左旋转了一个位置),以将接收到的字节D1,D2,D3和D4与对应的相邻下一可用字节位置对齐,这些可用字节位置对应于和字节列542b、542c、542d和542a重合的字节地址“1”、“2”、“3”和“4”。在步骤370的三字节旋转(或一字节旋转)操作后,组织后的字节238a、238b、238c和238d相应地对应数据字段字节D4,D1,D2和D3,如图8B描述的。

在下一步骤375,DP控制器232使用写入发生器606以发出所有的写入信号234a-234d,从而将所有的数据字段字节D1-D4存储在对应第二缓冲器226的字节地址“1”到“4”的相邻字节位置内。而且,数据字段字节D1-D4在第二缓冲器226内以与数据字段字节在存储器112内相同的字节顺序而被存储。

在下一步骤380,地址发生器608更新(在该实施例中是增加)所有地址指针Pa-Pd,因为所有字节列542在步骤375内接收到的数据字段字节,使得地址指针指向第二缓冲器内对应字节地址“5”-“8”的下一可用相邻字节位置。图8C说明在第二次通过写入步骤375后的第二缓冲器226的内容和在第二次通过指针更新步骤380后的指针Pa-Pb。在步骤375后,数据字段字节D0-D4以与在存储器122内相同的字节顺序存储在第二缓冲器226内。可以从以上的描述中理解地址发生器606在数据字段字节存储在每个对应的字节列内后增加每个指针Pa-Pd。图8C内描述的DP组织器230的状态描述如下。

第三和第四(中间)写入

调制解调器控制器202在方法400的相应的第三和第四次通过步骤350-380期间将中间数据字510c和510d的写入第二缓冲器226。图8D说明第二缓冲器226的内容以及指针Pa-Pd在第四次经过步骤380后的状态。在图8D内描述的DP数据组织器230的状态描述如下。

第五和最后写入

调制解调器控制器202在最后或第五次通过步骤350i(其中i=5)时将最后数据字510e写入第二缓冲器226,在最后一次通过步骤350i-380以完成从存储器122到第二缓冲器的当前数据块转移。在步骤370内,DP数据组织器230同样将接收到的字节向右旋转三个字节(或向左一个字节)以将字节D13和D14与下一与先前存储的数据字段字节D12相邻的可用字节位置(对应字节地址“13”和“14”对齐(见图8D)。

在下一步骤380,写入发生器606只发出写入信号236b和236c,以只存储数据字510e的数据字段字节D13和D14在字节位置“13”和“14”中,从而忽略还包括在数据字510e内的头部字段字节H0和H1。图8E说明在第五次通过步骤380后的第二缓冲器226的内容和指针Pa-Pd的状态。在步骤380之后,包含数据字段字节D0-D14的第一数据字段字节块已从存储器122转移到第二缓冲器226,并存储在第二缓冲器内相邻字节位置,且以与在存储器122内相同的字节顺序存储。而且,指针Pa-Pd指向第二缓冲器226内下一可用相邻字节位置,与先前存储的数据字段字节D15相邻。由指针Pa-Pd指明的位置表示要转移并存储在第二缓冲器226内的下一数据字段字节的初始第二缓冲器地址。

方法400被重复以将包括存储器122的字节地址“21”到“27”的数据字节D0-D6的下一(或第二)数据字段字节块转移到第二缓冲器226。根据本发明,下一数据字段块的第一数据字段字节(在存储器122的位置地址“21”处的字节D0)被转移并存储在字节位置地址“15”,即与先前在第二缓冲器226内存储的数据字段字节D14相邻,等等。

数据组织器

本发明的一优势是能将数据字转移到第二缓冲器230,并以及时的方式在第二缓冲器内存储相关的经组织的数据字节,例如与将数据字写入第二缓冲器迸发地的方式。DP数据组织器230在本发明中支持该种有优势的操作。图9是根据本发明的一实施例,DP数据组织器230和第二缓冲器226的详细框图。数据组织器230包括耦合到数据总线204和耦合到数据缓冲器904的多个多路复用器906a、906n、906c和906d(一起并一般被称为多路复用器906)。数据缓冲器904在数据总线204上接收数据比特D31:0(即数据比特“31”-“0”)。数据缓冲器然后提供:

1.在字节宽(即8比特宽)数据总线9083上向每个多路复用器906提供数据比特集合D31:24;

2.在字节宽数据总线9082上向每个多路复用器906提供数据比特集合D23:16;

3.在字节宽数据总线9081上向每个多路复用器906提供数据比特集合D15:8;

4.在字节宽数据总线9080上向每个多路复用器906提供数据比特集合D7:0(其中数据总线9080、9081、9082和9083被一起并一般称为字节宽数据总线908)。

每个多路复用器906包括四个字节宽输入“0”、“1”、“2”和“3”。每个这些字节宽输入耦合到一个相应的字节宽总线908,由此接收对应的八个数据比特集合(例如D7:0等)。每个多路复用器906包括选定的输入“S”,用于从DP控制器232接收控制信号237。根据控制信号237每个多路复用器906提供八个数据比特的选择集合(即选择的数据字节),这是从送到多路复用器输入“0”-“3”以及多路复用器输出“0”的四个八数据比特集合中选出的(即从四个数据字节中选出的)。控制信号237的值“0”、“1”、“2”和“3”从相应的多路复用器输入“0”、“1”、“2”和“3”中选出字节。多路复用器906a、906b、906c和906d有相应的对应数据字节238a、238b、238c和238d(如上述图6的描述)的输出0。

由于每个多路复用器906接收相同的选择控制信号237,提供给每个多路复用器906的字节宽输入“0”-“3”的数据比特集合的顺序(即集合D31:24,D23:16,D15:8以及D7:0)相对每个其它的多路复用器而被排列。例如,多路复用器906a、906b、906c和906d的字节宽输入“0”相应地接收不同的数据比特集合D7:0、D15:8、D23:16和D31:24等,如图9内描述的。这使得每个多路复用器906能根据提供给每个其它的多路复用器的控制信号237而提供给数据总线238合适的数据字节(即数据比特集合)。以下提供说明性示例。

第二接收路径缓冲器226包括四个独立的字节宽RAM,每个对应相应的一个第二缓冲器的字节列542。因此,给予图9内描述的四个RAM的每个与其对应的字节列相同的参考号(例如542a等)。多路复用906a-906d提供对应的组织的字节238a-238d给对应的RAM542a-542b。而且,每个RAM542接收对应的一个写入信号236以及对应的一个地址指针234,如在图6内描述的。

在操作中,当控制信号237有值=“0”时,DP数据组织器230维持接收到的字节顺序。在该情况下,多路复用器906a、906b、906c和906d相应地提供数据字节D31:24、D7:0、D15:8和D23:16作为相应的输出字节238a、238b、238c和238d。因此DP数据组织器230不旋转(即重新排序)接收的数据字节位置。

当控制信号237的值=“1”时,多路复用器906a、906b、906c和906d分别选择数据字节D31:24、D7:0、D15:8和D23:16作为相应的输出字节238a、238b、238c和238d。因此,DP数据组织器230将接收到的数据字节的位置逆时针向左旋转(即重新排序)一个位置。类似地,当控制信号237的值为2或3时,DP数据组织器232将接收到的字节向左旋转2或3字节。

计算机系统

本发明的方法使用控制器(例如调制解调器控制器)和数据打包机(例如数据打包机220)而实现,两者都在基于计算机系统的环境中操作。虽然通信专用硬件可以用来实现本发明,但以下的通用计算机系统的描述提供了完整性。本发明最好在例如由调制解调器控制202执行的软件和硬件形成数据打包机220(以及252)的组合内实现。结果,本发明可能在计算机系统或其它处理系统内实现。

该种计算机系统1000的例子在图10内示出。在本发明中,上述的方法或过程,例如方法300和340,在计算机系统1000上执行。计算机系统1000包括一个或多个处理器,诸如处理器1004(例如对应调制解调器控制器202)。处理器1004连接到通信基础设施1006(例如总线或网络,它可以包括图2内讨论的地址和数据总线206和204)。各种软件实现可以根据该示例计算机系统而描述。在阅读该描述后,相关领域的技术人员会很清楚如何使用其它计算机系统和/或计算机结构实现本发明。

计算机系统1000还包括主存储器1008,最好是随机存取存储(RAM),且可能还包括第二存储器1010。第二存储器1010可能包括例如硬盘驱动1012和/或可移动存储驱动1014,表示软盘驱动、磁带驱动、光盘驱动等。可移动存储驱动1014以已知的方式从可移动存储单元1018读出和/或写入。可移动存储单元1018表示软盘、磁带、光盘等,这些由可移动存储驱动1014读取和写入。可以理解,可移动存储单元1018包括计算机可使用的存储介质,其上存储由计算机软件和/或数据。

在其它实现中,辅助存储器1010可能包括其它类似的装置,以能将计算机程序或其它指令载入计算机系统1000。该种装置可能包括例如可移动存储单元1022和接口1020。该种装置的例子可能包括程序盒式磁盘和盒式磁盘接口(诸如可在视频游戏设备内找到的)、可移动存储芯片(诸如EPROM或PROM)以及相关的插座,以及其它的可移动存储单元1022和接口1020,它们使得软件和数据能从可移动存储单元1022转移到计算机系统1000。

计算机系统1000还可能包括通信接口1024。通信接口1024使得软件和数据能在计算机系统1000和外部设备间转移。通信接口1024的示例可能包括调制解调器、网络接口(诸如以太网)、通信端口、PCMCIA槽和卡等。通过通信接口1024转移的软件和数据的形式是以信号1028的形式,可能是电子、电磁、光或其它能由通信接口1024接收的信号。这些信号1028通过通信路径1026被提供给通信接口1024。通信路径1026携带信号1028,且可能使用线或电缆、光纤、电话线、蜂窝电话链路、RF链路和其它通信信道而实现。

在该文档中,“计算机程序介质”和“计算机可使用介质”一词用于一般指介质诸如:可移动存储驱动1014、安装在硬盘驱动1012内的硬盘以及信号1028。这些计算机程序产品是用于提供给计算机软件的装置。

计算机程序(又被称为计算机控制逻辑)被存储在主存储器1008和/或辅助存储器1010内。计算机程序还可能通过通信接口1024而被接收。该种计算机程序,当执行时,使得计算机系统1000能如上所述的被执行。特别是,计算机程序在被执行时,使得处理器1004能实现本发明的过程。相应地,该种计算机程序表示计算机系统1000的控制器。作为一例,在本发明的最优实施例中,由调制解调器控制器202实现的过程可以由计算机控制逻辑实现。其中本发明使用软件而实现,该软件可能存储在计算机程序产品内,并使用可移动存储驱动1014、硬驱动1012或通信接口1012而被加载入计算机系统1000。

结论

虽然以上讨论了本发明的多种实施例,可以理解它们仅是示例,而不是限制。因此,本发明的范围不应受到任何以上描述的示例实施例和安排的限制,而只因根据以下的权利要求和其等价体而经定义。

上述的本发明的描述使用了说明特定功能的性能和其关系的功能模块。为了描述方便,这些功能模块的界限在此是任意定义的。可以定义其它的界限,只要其特定的功能的关系经合适地实现。任何该种其它的界限因此在本发明的范围之内。领域内的技术人员可以知道这些功能模块可以由离散组件、专用集成电路、执行合适软件以及其类似或组合而实现。因此,本发明的范围不应受到任何以上描述的示例实施例和安排的限制,而只因根据以下的权利要求和其等价体而经定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号