CN1630292B - 在硬件上处理多工子层数据单元数据的方法与装置 - Google Patents

在硬件上处理多工子层数据单元数据的方法与装置 Download PDF

Info

Publication number
CN1630292B
CN1630292B CN200410100202.XA CN200410100202A CN1630292B CN 1630292 B CN1630292 B CN 1630292B CN 200410100202 A CN200410100202 A CN 200410100202A CN 1630292 B CN1630292 B CN 1630292B
Authority
CN
China
Prior art keywords
data
news frame
signal
memory
hardware
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
Application number
CN200410100202.XA
Other languages
English (en)
Other versions
CN1630292A (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.)
Apple Inc
Original Assignee
KY WIRE ELECTRIC 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 KY WIRE ELECTRIC CO Ltd filed Critical KY WIRE ELECTRIC CO Ltd
Publication of CN1630292A publication Critical patent/CN1630292A/zh
Application granted granted Critical
Publication of CN1630292B publication Critical patent/CN1630292B/zh
Active 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明为一种在硬件上处理多工子层数据单元数据的方法与装置,该装置包含一数据单元、一存储器以及一控制单元的装置。该数据单元产生一包含各具有一开头与一负载的一连串讯框的一输出信号,以响应包含一连串字符的一输入信号;该存储器电性连接至该数据单元,用以保持输出信号以及作为一装置的介面;该控制单元电性连接至该数据单元与该存储器,用以当该数据传输指示信号表示该连串讯框为有效数据时,提供一个或多个控制信号来控制数据单元与存储器。本发明可减少处理器的运算负载,增加处理数据讯框的效率与速度以及简化软件等功能。

Description

在硬件上处理多工子层数据单元数据的方法与装置
技术领域
本发明有关于一种数据传送的方法与装置,特别是关于一种于硬件中处理多工子层数据单元数据的方法与装置。
背景技术
在传统的数据传送系统中,一多工子层(multiplex sublayer)具有传送与接收两种功能。传送功能结合各种来源(例如上层信号、语音服务、数据服务等等)的信息以形成服务数据单元(Service Data Units,SDUs)。接收功能分离包含于服务数据单元中的信息,并且将这些信息导引至正确的个体(例如上层信号、语音服务、数据服务等等)。信息位元于一连接服务或一逻辑通道以及一多工子层之间进行交换,其中多工子层于称为一数据区块的一单元中。多工子层多工处理一或多个数据区块至一多工子层数据单元(Multiplex Sublayer Data Unit,MUXPDU),并且结合一或多个多工子层数据单元(MUXPDU)至服务数据单元(SDUs)。
传统的多工子层数据单元(MUXPDUs)有许多不同的类型,每一传统多工子层数据单元(MUXPDU)通常具有一独特的结构且用以针对一特定的目的。一般而言,每一多工子层数据单元(MUXPDU)包含一开头与一数据区块,这里的开头具有若干的字段。使用软件去处理这些数据则需要利用大量的每秒几百万个指令(Millions of Instructions Per Second,MIPS)。此外,特别是当数据速度高的时候,以软件进行时会产生严重的处理问题。对于精简指令集计算(Reduced Instruction Set Computing,RISC)的处理器来说,如此的计算开销是别具重大关系的。
因此,发展在硬件上处理多工子层数据单元(MUXPDU)数据的系统是有其迫切需要的。
发明内容
本发明的目的在于克服现有技术的不足与缺陷,提出一种数据传送的方法与装置,特别是一种于硬件中处理多工子层数据单元数据的方法与装置。
为达上述目的,本发明提供一种在硬件上处理多工子层数据单元数据的装置,包含:一数据单元用以针对包含一连串讯框的一输入信号以及一数据传输指示信号,产生一输出信号,其中每个该讯框由多个字符组成并具有一开头与一负载,该数据传输指示信号用于指示该连串讯框的传输状态;一存储器电性连接至该数据单元,用以保持该输出信号以及作为一装置的介面;及一控制单元电性连接至该数据单元与该存储器,用以当该数据传输指示信号表示该连串讯框为有效数据时,提供一个或多个控制信号以控制该数据单元与该存储器。
为达上述目的,本发明还提供一种在硬件上处理多工子层数据单元数据的方法,包含:提供一数据单元以接收包含一连串讯框的一输入信号以及一数据传输指示信号,该讯框包含具有一开头与一负载,该数据传输指示信号用于指示该连串讯框的传输状态;当该数据传输指示信号表示连串讯框为有效数据时,提供一控制单元以传送一第一中断信号,该控制单元与该数据单元电性连接;于接收一第二中断信号之前由该数据单元提供一个或多个讯框至一存储单元,该存储单元与该控制单元电性连接;及接收该控制单元传送的该第二中断信号。
为达上述目的,本发明还提供一种在硬件上处理多工子层数据单元数据的方法,包含:A、针对包含一连串讯框的一输入信号以及一数据传输指示信号产生一输出信号,该连串讯框包含一开头与一负载,该数据传输指示信号用于指示该连串讯框的传输状态;B、提供一存储器用于储存一个或两个讯框的多工子层数据单元数据,该存储器的一第一位址储存一第一讯框的信息,该存储器的一第二位址储存一第二讯框的信息;及C、由一控制单元提供一个或多个控制信号来控制该步骤A的产生以及该步骤B的保持;该控制单元与该存储器电性连接。
本发明的目的、特征与优点包含提供一种数据传送系统,其可用于:
(1)处理多工子层数据单元(MUXPDU)数据;
(2)应用在硬件上;
(3)减少处理器的运算负载;
(4)将多工子层数据单元(MUXPDU)的开头的每一字段储存至可容易读取与分析的不同位址;
(5)执行一分离自开头的一数据区块以使数据区块在不使用移位命令的情况下就可以拷贝;
(6)执行一不同字符大小的处理数据(例如32位元字符)去增加处理数据讯框的效率与速度;
(7)执行一处理与储存超过一讯框的一多工子层数据单元处理器(MUXPDU processor);
(8)执行二个可提供更多时间给处理器去读取数据与延缓反应时间的记忆库(banks);
(9)处理不同类型的多工子层数据单元(MUXPDU)数据;
(10)在相同的结构中储存数据;以及
(11)简化软件。
附图说明
图1为说明一传统多工子层数据单元(MUXPDU)讯框类型5的一示意图。
图2为说明本发明的一较佳实施例的一方块图。
图3为说明可用来储存多工子层数据单元(MUXPDU)数据的存储器的一示意图。
图4为说明从译码器接收来的不同信号的一时序图。
图5为说明数据单元的一方块图。
图6为说明存储器介面的一示意图。
图7为说明一第一有限状态机的一流程图。
图8为说明一第二有限状态机的一流程图。
图中符号说明
10             典型多工子层数据单元(MUXPDU)类型5的讯框
12a-12n        多工子层数据单元(MUXPDUs)
100            电路
102            理器部分(或电路)
104            输入部分(或电路)
106            输出部分(或电路)
110            输入
112            输入/输出
120            数据单元
122            控制单元
124,160,     存储器
130,132,140,暂存器
134            多工器(MUX1)
136            区块(或电路)
137            转换电路
138            多工器(MUX2)
150            暂存区块(或电路)
152            主要控制单元
154            计数器区块
156            暂存器区块(或电路)
158            定时器区块(或电路)
162            计数器
163            多工器
164,166,168,170,栅极
200          有限状态机
202          第一状态
204,208,212,216,218,222,304,306,312,318,324,判定状态
206,210,214,220,224,226,228,302,308,310,314,316,320,322,326,状态
300            有限状态机
330            第三有限状态机
具体实施方式
本发明能完成一种能包含一或多个多工子层数据单元(MUXPDU)的讯框,每一多工子层数据单元(MUXPDU)包含一开头(header)与一数据区块(data block)。
图1说明一典型多工子层数据单元(MUXPDU)类型5的讯框10。讯框10具有若干多工子层数据单元(MUXPDUs)12a-12n,最后的多工子层数据单元12n可以是一填充多工子层数据单元(fill MUXPDU)。为了要填满讯框10的最后未使用的位元,多工子层数据单元(MUXPDU)12n包含以“0”位元填满的一数据区块。讯框10能包含若干字符。于一实施例中,讯框10可以具有3840个位元且字符(字符)大小可以为16位元。然而,也可配合特定装置的设计准则来实施不同大小的字符。
本发明于硬件中处理多工子层数据单元(MUXPDU)的数据并且将开头与数据(或有效负载(payload))储存于不同的位址。可能的话,只有储存开头信息。避免数据处理大大地减少处理器的每秒几百万个指令(MIPS)与负担。本发明的多工子层数据单元(MUXPDU)处理器可以是弹性的且能被实施以处理一个以上的讯框。
参照图2,为根据本发明的一较佳实施例说明一电路100。电路100通常包含一处理器部分(或电路)102,一输入部分(或电路)104,与一输出部分(或电路)106。输入部分104可以当作一涡轮(Turbo)或维特比(Viterbi)译码器。输出部分(或电路)106可以是协同处理器(co-processor)。处理器部分102能有一输入110,此输入110从输入电路104接收一数据信号(例如DIN)。DIN信号通常包含一连串的字符,处理器部分102具有与输出电路106通讯的一输入/输出112。
处理器部分102通常包含一数据单元120、一控制单元122与一存储器124。数据单元120通常包含一暂存器130、一暂存器132、一多工器(MUX1)134、一区块(或电路)136、一多工器(MUX2)138与一暂存器140。暂存器130与暂存器132可以是16位元暂存器。然而,可以使用其它宽度的位元以符合特别装置的设计准则。暂存器130通常接收输入信号DIN。暂存器130的一输出包含16位元的信号DIN,且此输出通常连接至暂存器132的一输入与多工器134的一第一输入。多工器134一般接收暂存器130的8个最高有效位元。区块136可以是格式化元件(formatter)(或转换电路)。格式化元件136可以用来从16位元字符转换至32位元字符。暂存器132具有一输出,此输出通常连接至多工器134的一第二输入且通常以16位元的信号DIN表示。暂存器130与132提供特定位元的信号DIN给多工器134,多工器134选择位元(例如从暂存器132来的位元,或是从暂存器130与132来的交错位元)提供给格式化元件136。多工器134可以接收从控制单元122来的一或多位元的控制信号(例如CTR)。如图2所示,可经由连接不同元件的一总线(bus)来提供控制信号CTR。多工器134通常经由转换电路136连接多工器138。图5所示为一多工器138的详细附图。多工器138也接收从控制单元122来的控制信号CTR。多工器138具有一输出连接至暂存器140,暂存器140也接收一或多位元的控制信号CTR。
控制单元122通常包含一暂存区块(或电路)150、一主要控制单元152、一计数器区块(Counter)154、一暂存器区块(或电路)156以及一定时器区块(或电路,Timer)158。主要控制单元152针对来自输入电路104、数据单元120、暂存器150、计数器154、暂存器156以及定时器158的信号提供一控制信号CTR。执行控制信号CTR时可包含一或多个控制位元以及/或一或多个中断信号。
电路102可以是多工子层数据单元(MUltiplex Sublayer Data Unit,MUXPDU)处理器,其用以(1)处理多工子层数据单元(MUXPDU)数据以及(2)储存处理后的数据在存储器124中。于一实施例中,来自译码器的字符可以是16位元字符,存储器124可以以32位元字符来储存数据。利用如此的一个例子,暂存器130以及132可用来储存16位元字符,然而,可以变化特别位元宽度的字符以符合特定装置的设计准则。
电路104(例如一维特比译码器(Viterbi Decoder)、一涡轮译码器或其它类型的译码器)一般提供数据字符。于接收一中断信号(例如CTR控制信号的位元之一)之后,电路106一般会读取处理过的多工子层数据单元(MUXPDU)数据。利用如此的一个例子,一或二个讯框通常于中断之间进行处理,在另一实施例中,更多的讯框(例如N讯框)可于中断之间进行处理。
电路124通常包含一存储器与一记忆介面逻辑电路用以储存处理过的多工子层数据单元(MUXPDU)数据。二记忆库(详细如图6所示)可以允许较多的时间给协同处理器106去读取处理过的数据。举例来说,当写入一记忆库时,同时读取另一记忆库。
暂存器130与132可用以储存从译码器104接收的二个连续字符。多工器134及138与格式化元件136可用以移位数据字符,如此于可撷取出确定位元并储存于暂存器140中。因为译码器104可以提供16位元字符,所以为了组合一32位元字符,可能需要高达三个字符。举例来说,可以使用从第一字符来的8位元、从第二字符来的16位元以及从第三字符来的8位元。当于暂存器140中准备好一32位元字符时,字符被储存至存储器124中。
暂存器区块156包含一些控制暂存器,暂存器区块156的控制暂存器可用以配置主要控制单元152。在讯框中可被配置的参数包含多工子层数据单元(MUXPDU)类型、讯框大小、多工子层数据单元(MUXPDU)数据区块数目等等。暂存器区块150中一或多个的暂存器可用以储存于多工子层数据单元处理期间需要的暂时信息,例如多工子层数据单元开头(MUXPDU header)。如此的暂时信息可能只包含于多工子层数据单元数据区块的第一字符中。计数器区块154包含一或多个计数器。计数器区块的计数器可用以计算接收到的位元数目、处理后的多工子层数据单元的数目以及储存于存储器中的多工子层数据单元的数目等等。
控制单元122可以处理二个讯框并且在当时通过产生一中断信号(例如CTR信号的位元之一)来通知协同处理器106数据已经准备好。控制单元122应等待第二个讯框的时间可以由程序化定时器158来设定。若定时器158达到0时,控制单元122提供信号INTERRUPT给协同处理器106,指示协同处理器106应从存储器124读取单一讯框的处理过的数据。主要控制单元152包含二个有限状态机(详细如图7、图8所示)以提供不同位元的控制信号CTR给数据单元120(与于控制单元122中的元件)。
多工子层数据单元数据包含可以具有一些字段的一开头与一数据区块。多工子层数据单元处理器100一般将开头字段储存于跟随数据区块之后的分离位址中。处理器100可以使用若干第一位址去储存信息字符。信息字符包含总体信息字符(global information words),其内包含对协同处理器106有用的参数与数据。于如此的一实施中,一般分派二个位址,每一讯框都有一个位址。然而,若提供超过二个讯框的处理及/或协同处理器106需要更多的数据时,可以分派额外的位址去储存较多的信息。
参照图3,为说明存储器124的一示意图。图标的配置用以储存一或二个讯框的多工子层数据单元数据。于一例子中,可以依下列的顺序将数据储存于存储器124中(但是也可使用其它格式)。第一位址可以包含有关第一讯框的信息。第一位址包含(1)第一讯框储存于存储器124的多工子层数据单元的数目、(2)讯框循环冗余校验信息(CRC information)及(3)其它信息,例如控制暂存器150以及/或156的一或多个位元。所示的第一位址具有32数据位元(例如[31:0])。数据位元D[5:0]可以指示第一讯框储存在存储器124的多工子层数据单元的数目。如本例所示,分派6位元给第一讯框。然而,可以改变位元的数目以配合特定装置的设计准则。数据位元D[29:6]可用来储存其它信息,例如可用来控制协同处理器106的控制暂存器150以及/或156的确定位元。数据位元D[30]可储存第一讯框的循环冗余校验信息(CRC information)(例如0=讯框循环冗余校验失败,1=讯框循环冗余校验通过)以利统计或其它目的之用。数据位元D[31]可以为第一位址中不使用的一保留位元(例如0)。
第二位址可以储存有关第二讯框的信息。若于中断之间处理二讯框时,一般是使用第二位址。所示的第二位址具有32数据位元(例如[31:0]),第二位址可以(1)包含二讯框储存于存储器中的多工子层数据单元的数目、(2)第二讯框的循环冗余校验信息(CRC information)、(3)已处理过的讯框的数目以及(4)其它信息,例如从控制暂存区块150以及/或156来的一或多个位元。
数据位元D[5:0]可以表示二讯框于存储器124中所储存的多工子层数据单元的数目,于本例中所示,分派6位元表示第一与第二讯框。然而,可以改变特定数目的位元以配合特定装置的设计准则。数据位元D[29:6]可以用来储存可用以控制协同处理器106的信息,例如控制暂存器区块150以及/或156的确定位元。数据位元D[30]可以储存第二讯框的循环冗余校验信息(例如0=讯框循环冗余校验失败,1=讯框循环冗余校验通过)。数据位元D[31]可以表示于存储器124中所储存的讯框数目(例如0=一个讯框,1=二个讯框)。
额外位址包含多工子层数据单元数据。于本例中所讨论的译码器104通常提供一连串的字符(例如16位元字符)。数据单元120于每一位址中储存二个字符(即4位元组)。于每一多工子层数据单元区块中,第一位址包含开头。一般而言,开头使用6位元且没有使用到的位元填入0。第二位址包含数据的长度。根据多工子层数据单元的类型来改变用于储存长度的位元数目。在一典型的实施例中,是使用8位元或16位元。若多工子层数据单元没有一字长字段的话,不需要使用第二位址,在这种情况下,数据是不用管理的“don’t_care”(例如协同处理器106不读取位址)。
第三位址可包含一10位元延伸开头或2位元无线电通信连接协议(Radio Link Protocol,RLP)讯框类型。2位元无线电通信连接协议(RLP)数据可通过其它装置(例如一系统芯片)所使用的一交付协议(delivery protocol)来实现(例如芯片上的系统)。未使用的位元填入0,若多工子层数据单元数据没有一延伸的开头字段,就不需要使用第三位址。在这种情况下,数据是不用管理的“don’t_care”(例如协同处理器106不读取位址)。下一个位址包含一32位元数据字符,最后位址则可以少于32位元,剩余的字符被当作不用管理的“don’t_care”型态。
图4所示为一时序图,说明从译码器104接收而来的信号。信号DIN表示分成一连串的字符的数据。信号VALID_WD可以是一脉冲,其用以指示一新数据字符何时准备好。在每一应用中,于信号VALID_WD的脉冲之间的时脉的周期数目可以相异。讯框信号的开始(例如SOF)可以是一脉冲,其用以指示一讯框的开始。讯框结束信号(EOF或LAST_WD)可以用以指示最后的有效字符或讯框结束。信号FRAME_CRC可以用以指示从译码器接收的讯框循环冗余校验(frame CRC)。
图5为一具有不同元件大小的数据单元120的一详细附图。所示的数据单元120包含二个16位元暂存器130与132、一格式化元件136(formater)、一32位元暂存器140以及多工器134与138。二个16位元暂存器130与及132储存从译码器104接收的最后二个连续字符,如实施例中所描述,开头从字符(即15位元)的最高有效位元(MSB)开始。若开头从最低有效字符(LSB)开始时可能需要些许修正。对齐开头的位元组且一般从位元15或位元8开始。
多工器MUX1134提供16位元字符给格式化元件136(formater)。在每一多工子层数据单元的开始时,信号SEL1(CTR控制信号之一)是确立(asserted)或是未确立(deasserted)的。于一特定的多工子层数据单元处理期间,信号SEL1保持在相同的极性。若多工子层数据单元的开头从位元8开始,信号SEL1是确立的且多工子层数据单元开头的第一位元位于位元15。控制单元122根据讯框大小以及多工子层数据单元大小提供信号SEL1。控制单元122使用计数器区块154去侦测一开头是否从位元15或位元8开始。根据上述,计数器区块154也用来设定信号SEL1。
多工器MUX2 138以及格式化元件136(例如一转换电路137)可撷取一或多位元的字符。转换电路137于写入暂存器140之前可以将数据移位至32位元字中的一所需位置。没有使用的位元填入0。控制单元122通常根据已处理过的字段提供控制信号SEL2(例如一4位元信号)。于使用16位元的字符的实施例中,为了达到图3所示的结构可使用11种组合,如下列表一所示:
表一
  多工子层数据单元输入   用途
  0   移位数据(二位元组)至最高有效位置(第三与第四)
  1  移位开头至位元5:0
  2  移位无线电通信连接协议(RLP)讯框类型至位元1:0
  3  移位数据(一位元组)至最低有效位元组
  4  移位数据(二位元组)至第二与第三位置
  5  移位数据(一位元组至最高有效位元组(第四位元组))
  6  移位8位元字长字段至第一位元组
  7  当追踪一字长字段时,移位无线电通信连接协议(RLP)讯框类型至位元1:0
  8  移位数据(二位元组)至第一与第二位置
  9  移位一16位元字长字段的10个最高有效位元
  10  移位延伸开头
然而,可以改变特别数目的组合以及于每一组合中位元的特别次序以符合特定装置的设计准则。表一所示为处理多工子层数据单元类型为3与5个讯框的例子,不同的修正也可用来处理其它类型的多工子层数据单元。
暂存器140可以分为若干部分,每一部分具有一单一独立位元的致能信号(例如REGWE[4:0])。控制单元122提供信号REGWE[4:0]且可以用来组合32位元字符。因为译码器104可以提供16位元字符,所以为了组合成一32位元字符时,于暂存器140中储存高达三个不同的16位元字符的位元。当32位元字符于暂存器140准备好时就写入存储器124中。
图6所示是一存储器与一存储器介面逻辑区块124的详细附图。区块124通常包含一逻辑部分158与一存储器160。存储器160可以是二个记忆库(例如BANK#0与BANK#1)。逻辑部分158可以用以控制来回地读取与写入至记忆库BANK#0与BANK#1中。记忆库BANK#0与BANK#1可以是同步的一端口存储器(synchronous one-port memories)。然而可以改变特别的存储器类型与记忆库的特定数目以符合特定的设计准则。使用二个记忆库160可允许协同处理器106有较多的时间去读取处理过的数据。当一记忆库被写入时,另一记忆库则被读取。信号BNKOWR选择记忆库BANK#0与BANK#1中何者进行被读取且何者进行被写入。
信号INCCNT可以规则地递增计数器162以表示到下一位址。信号RSTCNT可以重新设定计数器162至初始值(例如位址2因为位址0与1是信息字符,所以从位址2开始储存数据)。信号ADDRESS0表示存储器160的第一位址。信号ADDRESS1表示存储器160的第二位址。本发明是于处理一讯框之后指出ADDRESS0或ADDRESS1,如此可以写入一信息字符。信号SEL_ADDR选择信号ADDRESS0、信号ADDRESS1或计数器162的输出以表示数据正在写入至下一位址。信号CP_RD可以是一协同处理器读取致能信号。信号CP_MP_SEL可以是一协同处理器模块选择(例如协同处理器可从数个模块中读取,这里的每一模块都有一致能信号)。当信号CP_RD与信号CP_MP_SEL是主动的,协同处理器106从存储器160读取。信号CP_RD与信号CP_MP_SEL通常致能存储器160的记忆库之一。信号HW_ADDR可以是多工器163的输出,其用以于信号ADDRESS0、信号ADDRESS1和计数器162的输出之间选择。信号ADDR01可以是存储器160的一写入操作的一致能信号。存储器160通常通过信号MEMWE或信号ADDR01的激活(activation)而产生主动。当于ADDRESS0或ADDRESS1发生一写入动作时,信号ADDR01是主动的。在某些应用中,可以不需要信号ADDR01。
32位元暂存器140可用以于写入存储器160之前组合数据。为了在不改变其它位元的情形下能够将位元的单一部份储存于一确定位置,暂存器140通常具有5个字段。当一32位元字符于暂存器140中已准备好时,则于存储器160中写入字符。由计数器162产生一位址。当写入一讯框(或字符)时,迫使位址可以是位址0(例如ADDRESS0)或位址1(例如ADDRESS1)。于此情形中,储存的数据是多工子层数据单元计数器的内容(例如计数器区块154的部分)、暂存器150与/或156的一部份或全部以及讯框循环冗余校验信息。
一或多个其它栅极(例如164、166、168与170)产生一写入致能信号WE与一记忆致能信号ME。当一记忆库是满的时候,多工子层数据单元模块产生一中断给协同处理器106,协同处理器106可从选择的记忆库去读取数据,没有选到的记忆库则充满新的数据。
控制单元122通常提供控制信号给数据单元120、存储器区块124以及协同处理器106。控制单元122包含一或多个有限状态机(FSM)、计数器区块154、暂存器区块156、暂存器区块150以及一定时器区块158。主要控制单元152包含可控制需要处理的讯框的数目的一个第一状态机(详细如图7所示)。通常,若讯框是短的时候(例如5毫秒讯框),为了减少提供给协同处理器106的中断数目,则处理超过一个讯框。当讯框是长的时候(例如20毫秒讯框),控制单元122可用以处理一个讯框以及提供一中断。于此实施中,协同处理器106可用以处理一或二个讯框。除了上述,也可修改本发明以支持N讯框的处理。
当确立来自译码器104的讯框信号SOF开始时,多工子层数据单元处理器102通过呼叫一第二有限状态机(详细如图8所示)开始处理一讯框。于处理第一讯框之后写入第一讯框信息字符。根据控制暂存器区块156,多工子层数据单元处理器102可在确立中断信号之后进入一闲置(idle)状态,或是等待讯框信号SOF的一个第二开始以及处理一第二讯框。于处理第二讯框之后写入第二讯框信息字符。
在与处理器102通信时,从译码器104送出的讯框数目可以是一奇数。当处理于中断之间的二个讯框时,一般在结束时处理单一讯框。在发起阶段(initialization phase),协同处理器106可程序化定时器区块158。于处理第一讯框之后,致能定时器158。若在从译码器104接收讯框信号SOF的开始之前定时器158就达到0,控制单元122写入一信息字符,此信息字符表示在存储器160中只有一个讯框,并且控制单元122提供一中断给协同处理器106以表示于存储器160中只有一个讯框。
图7所示为第一有限状态机200的流程图。有限状态机200可用来处理高达二个的讯框。有限状态机200可以一种方法或程序200来加以实施。方法200通常包含一第一状态202、一判定状态204、一状态206、一判定状态208、一状态210、一判定状态212、一状态214、一判定状态216、一判定状态218、一状态220、一判定状态222、一状态224、一状态226以及一状态228。状态202可以是一开始(START)状态。判定状态204可以决定是否出现讯框的开始。若出现讯框的开始(SOF),方法200移至状态206,若无,方法200持续去检查讯框的开始(SOF)。接着,状态206通过呼叫一第二有限状态机(详细如图8所示)以处理一讯框。再来,判定状态208决定从状态206来的处理是否已经完成。若有,方法200移至状态210,那里储存信息在一ADDRESS0位址,若处理还未完成,判定状态208持续去决定处理是否已完成。
接着,判定状态212决定是否应该处理第二讯框,若有,方法200移至状态214,若无,方法200移至状态226。接着,状态214致能一定时器。接着,状态216决定定时器是否有一数值等于0,若有,方法200移至状态224,若无,方法200移至判定状态218。判定状态218决定是否出现讯框的开始(SOF)。若无,方法200移至状态216。若出现讯框的开始,则方法200移至状态220。状态220通过呼叫一第二状态机(详细如图8所示)以处理一个讯框。判定状态222决定程序是否已经完成。若无,判定状态222持续去检查处理的状态。若程序已经完成,方法200移至状态224,且状态224储存信息于一ADDRESS1位址。接着,方法200移至出现一中断的处的状态226。最后,方法200于结束状态228结束。
图8所示为说明一第二有限状态机的方法300的一示意图。有限状态机300可以用来处理一讯框。方法300通常包含一状态302、一判定状态304、一判定状态306、一状态308、一状态310、一判定状态312、一状态314、一状态316、一判定状态318、一状态320、一状态322、一判定状态324以及一状态326。状态308、状态310、判定状态312以及状态314在一起可视为一第三有限状态机330。状态机330可用来处理多工子层数据单元数据。状态302通常开始程序300。判定状态304检查是否是一有效字符,若无有效字符,判定状态304持续去检查是否是一有效字符。若出现有效字符,方法300移至状态306。因为数据单元120储存二个连续字符,状态306亦决定是否出现有效字符。若无,方法300持续通过重复状态306去检查是否有一有效字符。若出现有效字符,方法300移至状态308。状态308可进行一撷取与储存的计算。状态308撷取并储存一开头,一封包的长度以及/或延伸的开头或无线电通信连接协议(RLP)讯框类型。接着,状态310储存数据。接着,状态312决定多工子层数据单元数据处理是否已经完成。若无,方法300移至状态314,其每次增加一至位址计数器且移回状态310。若程序已经完成,方法300移至状态316,状态316增加多工子层数据单元计数器。接着,状态318决定讯框处理是否已经完成。若有,方法300移至状态326,并于那里结束处理。若无,方法300移至状态320,用以增加位址计数器。接着,方法300移至状态322,以更新控制信号。接着,判定状态324决定开头是否在暂存器WD1,若有,方法300移至状态306,若无,方法300移至状态308且重复多工子层数据单元的处理。
主要控制单元152包含一状态机以处理一讯框(例如图8的第二状态机)。主要控制单元152呼叫一状态机以利用状态机300处理多工子层数据单元。从译码器104接收到二个字符之后开始讯框的处理。处理于讯框中的每一多工子层数据单元直到讯框结束信号EOF确立。于每一多工子层数据单元的结束时,多工子层数据单元计数器154将每次增加并且主要控制单元152更新控制信号CTR。若下一多工子层数据单元的下一开头已经于第二16位元暂存器132中,则会立即处理多工子层数据单元数据。否则,多工子层数据单元处理器102将等待从译码器104来的一新字符。
主要控制单元152包含一状态机用以处理一多工子层数据单元。根据图3的结构,状态机储存开头、字长(若一存在)与延伸的开头或无线电通信连接协议(RLP)讯框类型栏(若一存在)在不同的位址。根据开头,状态机提供控制信号给多工器MUX2以从16位元字符撷取位元。状态机亦提供致能信号给32位元暂存器以储存一些位元于一或多个暂存器的部分中。
图7与图8中的流程图所达到的功能,熟悉本领域技术人员依据本发明的内容,可使用一传统通用数字计算机程序来实施。根据本发明所揭露的技术,有经验的程序员可准备适当的软件程序撰写,也如同熟悉本领域技术人员一样,其实施的效果也是显而易见的。
本发明的实施可通过专用的集成电路(ASICs)、现场可编程门阵列(FPGAs)或相互连接的传统元件电路的适当网络,如上所述,熟悉此项技艺者可针对上述元件进行修饰是显而易见的。
本发明也包含一计算机产品,例如是包含指令用来程序计算机去执行处理的一储存媒体。储存媒体包含任何类型的盘片,例如软磁盘(floppy disk)、光盘(optical disk)、光盘只读存储器(CD-ROM)、磁性光盘(magneto-optical disks)、只读存储器(ROMs)、随机存取存储器(RAMs)、可擦去可编程只读存储器(EPROMs)、电可擦可编程只读存储器(EEPROMs)、按区段擦除存储器(flash memory)、磁或光卡(magnetic or optical cards)或任何类型适合储存电子指令的媒体,但不限于此。
本发明的不同信号通常是“开”(例如一数字高或1)或“关”(例如一数字低或0)。然而,信号的开(例如确立)与关(例如不确立)状态的特别极性可配合特别装置的设计准则而调整。此外,可加入反相器去改变信号的特别极性。
本发明可使用在码分多重存取(Code Division Multiple Access,CDMA)芯片组(chipset)的部分上,本发明除了对于码分多重存取的设计上是非常有用之外,本发明还可应用在其它的设计上。
以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在所述的权利要求范围内。

Claims (13)

1.一种在硬件上处理多工子层数据单元数据的装置,其特征是,包含:
一数据单元用以针对包含一连串讯框的一输入信号以及一数据传输指示信号,产生一输出信号,其中每个该讯框由多个字符组成并具有一开头与一负载,该数据传输指示信号用于指示该连串讯框的传输状态;
一存储器电性连接至该数据单元,用以保持该输出信号以及作为
一装置的介面;及
一控制单元电性连接至该数据单元与该存储器,用以当该数据传输指示信号表示该连串讯框为有效数据时,提供一个或多个控制信号以控制该数据单元与该存储器。
2.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该存储器用以保持每个讯框的该开头于一第一位址的位置。
3.如权利要求2所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该存储器用以保持该每个讯框的该负载于一个或多个第二位址的位置。
4.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该装置包含一多工子层数据单元处理器。
5.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该装置包含一协同处理器。
6.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该数据单元包含:
一第一暂存器用以储存与提供该复数个字符给一第一多工器的一第一输出;
一第二暂存器用以储存与提供该复数个字符给该第一多工器的一第二输出;
一格式化元件用以从该第一多工器接收的该复数个字符由一第一大小转换为一第二大小;
一第二多工器用以提供该第二大小的一第二输出信号给一第三暂存器;及
该第三暂存器用以储存该第二多工器提供的该第二输出信号,
其中该第一多工器、该第二多工器与该第三暂存器响应该一个或多个控制信号。
7.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该字符包含多工子层数据单元。
8.如权利要求7所述的在硬件上处理多工子层数据单元数据的装置,其特征是,每一该多工子层数据单元包含一或多个开头字段与一数据部分。
9.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,该装置可于硬件中实施。
10.如权利要求1所述的在硬件上处理多工子层数据单元数据的装置,其特征是,更包含一定时器用以追踪是否在一时间内处理一或二个字符。
11.一种在硬件上处理多工子层数据单元数据的方法,其特征是,包含:
A、提供一数据单元以接收包含一连串讯框的一输入信号以及一数据传输指示信号,该讯框包含具有一开头与一负载,该数据传输指示信号用于指示该连串讯框的传输状态;
B、当该数据传输指示信号表示连串讯框为有效数据时,提供一控制单元以传送一第一中断信号,该控制单元与该数据单元电性连接;
C、于接收一第二中断信号之前由该数据单元提供一个或多个讯框至一存储单元,该存储单元与该控制单元电性连接;及
D、接收该控制单元传送的该第二中断信号。
12.如权利要求11所述的在硬件上处理多工子层数据单元数据的方法,其特征是,步骤A包含分别储存二个连续字符于一第一与一第二暂存器。
13.一种在硬件上处理多工子层数据单元数据的方法,其特征是,包含:
A、针对包含一连串讯框的一输入信号以及一数据传输指示信号产生一输出信号,该连串讯框包含一开头与一负载,该数据传输指示信号用于指示该连串讯框的传输状态;
B、提供一存储器用于储存一个或两个讯框的多工子层数据单元数据,该存储器的一第一位址储存一第一讯框的信息,该存储器的一第二位址储存一第二讯框的信息;及
C、由一控制单元提供一个或多个控制信号来控制该步骤A的产生以及该步骤B的保持;该控制单元与该存储器电性连接。
CN200410100202.XA 2004-05-06 2004-12-07 在硬件上处理多工子层数据单元数据的方法与装置 Active CN1630292B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/840,492 US7613186B2 (en) 2004-05-06 2004-05-06 Processing multiplex sublayer data unit data in hardware
US10/840,492 2004-05-06

Publications (2)

Publication Number Publication Date
CN1630292A CN1630292A (zh) 2005-06-22
CN1630292B true CN1630292B (zh) 2011-01-19

Family

ID=34862155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200410100202.XA Active CN1630292B (zh) 2004-05-06 2004-12-07 在硬件上处理多工子层数据单元数据的方法与装置

Country Status (3)

Country Link
US (1) US7613186B2 (zh)
CN (1) CN1630292B (zh)
TW (1) TWI303779B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825926B2 (en) * 2009-04-13 2014-09-02 Microchip Technology Incorporated Processor with assignable general purpose register set
EP3026570A1 (en) * 2014-11-28 2016-06-01 Gemalto Sa A communication system comprising a full-duplex interface with a mechanism to initiate a data exchange
EP3026569A1 (en) * 2014-11-28 2016-06-01 Gemalto Sa A communication system with a frame based communication interface
US10425344B2 (en) * 2015-12-18 2019-09-24 Avago Technologies International Sales Pte. Limited Avoiding dropped data packets on a network transmission

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000074547A (ko) * 1999-05-21 2000-12-15 윤종용 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법
CN1285127A (zh) * 1997-12-19 2001-02-21 艾利森电话股份有限公司 用于以异步传送模式处理不同异步传送模式适应层协议的表

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583562A (en) * 1993-12-03 1996-12-10 Scientific-Atlanta, Inc. System and method for transmitting a plurality of digital services including imaging services
US5946313A (en) * 1997-03-20 1999-08-31 Northern Telecom Limited Mechanism for multiplexing ATM AAL5 virtual circuits over ethernet
US6597698B1 (en) 1997-12-19 2003-07-22 Telefonaktiebolaget Lm Ericsson (Publ) Coordinated cell discharge from ATM queue
US6804246B1 (en) 1997-12-19 2004-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Asynchronous transfer mode system handling differing AAL protocols
US6738381B1 (en) 1997-12-19 2004-05-18 Telefonaktiebolaget Lm Ericsson (Publ) ATM time stamped queuing
US6504845B1 (en) 1997-12-19 2003-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Centralized queuing for ATM node
US6708233B1 (en) 1999-03-25 2004-03-16 Microsoft Corporation Method and apparatus for direct buffering of a stream of variable-length data
DE50013403D1 (de) * 2000-08-09 2006-10-12 Tektronix Berlin Gmbh & Co Kg Vorrichtung zum Analysieren von digitalen Daten
CN1874321B (zh) 2001-08-09 2010-12-08 松下电器产业株式会社 传送装置和传送方法
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1285127A (zh) * 1997-12-19 2001-02-21 艾利森电话股份有限公司 用于以异步传送模式处理不同异步传送模式适应层协议的表
KR20000074547A (ko) * 1999-05-21 2000-12-15 윤종용 이동통신시스템에서 라디오링크프로토콜에 따른 가변길이의 데이터 송수신 장치 및 방법

Also Published As

Publication number Publication date
TWI303779B (en) 2008-12-01
US20050249204A1 (en) 2005-11-10
TW200516489A (en) 2005-05-16
US7613186B2 (en) 2009-11-03
CN1630292A (zh) 2005-06-22

Similar Documents

Publication Publication Date Title
US5825770A (en) Multiple algorithm processing on a plurality of digital signal streams via context switching
CN1630292B (zh) 在硬件上处理多工子层数据单元数据的方法与装置
US7457285B1 (en) TDM switching system and ASIC device
US20060171413A1 (en) Data processing system and data interfacing method thereof
CN101764797B (zh) 一种时分多通道lapd处理器及其设计方法
US6799227B2 (en) Dynamic configuration of a time division multiplexing port and associated direct memory access controller
CN100456679C (zh) 供双缓存tdm交换机使用的数据存储器扩展
US7577894B2 (en) Apparatus and method for judging the legitimacy of transfer data
US6253272B1 (en) Execution suspension and resumption in multi-tasking host adapters
EP1193609B1 (en) Apparatus and method for address modification in a direct memory access controller
US6172975B1 (en) Telecommunications switch, multichannel facility datalink processor and method
CN101321119B (zh) 实现数据比特交换的系统及方法
CA2275063C (en) Digital switch with rate conversion
JPH10262272A (ja) 時分割多重化通信媒体の簡単なインターフェース
CN100373325C (zh) 不确定长度的讯息的调整方法与装置
CN101661430A (zh) 一种存储块回收判断装置及存储块管理系统
US6715058B1 (en) Apparatus and method for a sorting mode in a direct memory access controller of a digital signal processor
CA2038952C (en) Packet/fast packet switch for voice and data
US6646576B1 (en) System and method for processing data
US20020112141A1 (en) Time division finite state machine
CN110225211B (zh) 多通道脉冲编码调制语音交换系统及方法
CN102033808A (zh) Dsp中的数据存储方法和存储控制装置
EP1193608B1 (en) Apparatus and method for a sorting mode in a direct memory access controller of a digital signal processor
KR100294703B1 (ko) 비터비 디코더_
CN115037413A (zh) 一种面向SpaceFibre协议的标准化可配置多速率切换系统及方法

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160726

Address after: American California

Patentee after: Intel Corporation

Address before: The Cayman Islands, British West Indies

Patentee before: Ky Wire Electric Co., Ltd.

TR01 Transfer of patent right

Effective date of registration: 20200403

Address after: California, USA

Patentee after: Apple Inc.

Address before: California, USA

Patentee before: INTEL Corp.

TR01 Transfer of patent right