专利名称:发送装置和接收装置的制作方法
技术领域:
本发明涉及发送装置和接收装置。更具体地说,本发明涉及一种发送装置和一种接收装置,该装置通过使用检错码或者如CRC码一样的纠错码,来检测或者纠正在数据通信中的数据差错。
背景技术:
日本已经公开的专利(公开号2000-349853)将上述类型的传统发送装置和接收装置的示例作为现有技术公开。
在采用传统的发送装置和接收装置的数据通信中,发送装置依次向接收装置发送数据块,其中信息序列被分为块并且构成发送数据。接收装置在缓冲器中记录其所接收的数据块,并且同时对于每个数据块进行检错,并且当检测到差错时,向发送装置发出对于其中检测到差错的数据块的重发请求。当接到重发请求时,发送装置重发其中检测到差错的数据块。
然后,当接收到其中没有差错的数据块时,接收装置对暂存在缓冲器中的数据块进行重排,以便正确地存储信息序列,并且,例如将其存入如闪存一样的大容量存储元件中。
然而,传统装置具有如下问题当在所发送的数据块的检错中存在延迟时或者当在重发其中检测到差错的数据块中存在延迟时,在接收装置中的暂存数据量增加,并且需要将接收装置的缓冲器的容量增大。
发明内容
因此,本发明的一个主要的目的是将缓冲器的容量减少到最小,同时不增加暂存在接收装置中的数据量。
本发明的实质是接收装置接收数据块并且将其暂存在缓冲器中,并且确定在该数据块中是否存在差错。当不存在差错时,接收装置删除在缓冲器中存储的数据块,以防止低效的使用该缓冲器,并且发送装置发送下一个数据块。另一方面,当存在差错时,接收装置执行控制,以便使在缓冲器中存储的数据量不超过一定量,并且发送装置重发其中检测到差错的数据块。
根据本发明的一个方面,一种发送装置包括生成部分,用于从数据块中生成检错码,其中为每个发送单元将发送数据分成块;存储部分,用于暂时地存储数据块和所生成的检错码;发送部分,用于发送数据块;获得部分,用于获得表示所发送的数据块是否有差错的信息;和控制部分,用于根据所获得的信息进行操作,当在所发送的数据块中有差错时,完成控制以重发存储在所述存储部分中的数据块,并且,当没有差错时,完成控制以删除在所述存储部分中的内容并且发送下一个数据块。
根据本发明的另一个方面,一种发送装置包括数据块存储部分,用于暂时存储数据块,其中为每个发送单元将发送数据分成块;检错码生成部分,用于从数据块生成检错码;检错码存储部分,用于暂时存储所生成的检错码;发送部分,用于发送数据块;信息获得部分,用于获得表示所发送的数据块是否有差错的信息;和控制部分,用于根据在所述信息获得部分中所获得的信息进行操作,当在所发送的数据块中有差错时,完成控制以重发存储在所述数据块存储部分中的数据块,并且,当没有差错时,完成控制以删除在所述数据块存储部分中的内容并且发送下一个数据块。
根据本发明的另一个方面,一种接收装置包括接收部分,用于接收数据块;存储部分,用于暂时地存储所接收的数据块;检错码生成部分,用于根据存储于所述存储部分中的数据块,按照与发送端相同的方法,生成检错码;信息获得部分,用于使用所生成的检错码并获得表示存储于所述存储部分中的数据块是否有差错的信息;和控制部分,用于当所述信息获得部分在数据块中所检测到的差错的次数达到预定的次数时,根据所述存储部分对数据块的输入和/或输出进行控制。
本发明的另一个方面是一种发送方法,包括步骤产生并且存储数据块,其中为每个发送单元将发送数据分成块;生成并且存储数据块的检错码;发送数据块;并且获得表示位于接收端的、暂时存储的数据块中是否有差错的信息;并且根据所获得的信息,当有差错时,重发存储的数据块,并且,当没有差错时,删除存储的数据块和检错码,并且发送下一个将要发送的数据块。
本发明的另一个方面是一种接收方法,包括步骤接收和存储数据块;根据存储的数据块,按照与发送端相同的方法,生成检错码;使用所生成的检错码,获得表示存储的数据块是否有差错的信息;并且当所检测到的差错的次数达到预定的次数时,对数据块的输入和/或输出进行控制。
本发明的另一个方面是一种用于包括发送装置和接收装置的移动通信系统的数据发送方法,该方法包括步骤在所述发送装置中,产生并且存储数据块,其中为每个发送单元将发送数据分成块;在所述发送装置中,生成并且存储数据块的检错码;在所述发送装置中,向所述接收装置发送数据块和检错码;在所述接收装置中,接收和存储数据块和检错码;在所述接收装置中,根据存储于所述接收装置中的数据块,并且按照与所述发送装置相同的方法,生成检错码;在所述接收装置中,通过对所接收的检错码和所生成的检错码作比较,检测存储于在所述发送装置中的数据块的差错;并且在所述接收装置中,如果在存储于所述存储部分的数据块中没有差错,则删除存储在所述接收装置中的数据块,并且向所述发送装置发送请求发送下一个数据块的信号;并且,如果在存储于所述接收装置的数据块中有差错,则保持检测到差错的次数,当该检测到差错的次数低于预定的次数时,向所述发送装置请求重发数据块,并且当该检测到差错的次数达到预定的次数时,将所述接收装置中所存储的、包含差错的数据块中最旧的一个删除。
本发明的另一个方面是一种用于包括发送装置和接收装置的移动通信系统的数据发送方法,该方法包括步骤在所述发送装置中,产生并且存储数据块,其中为每个发送单元将发送数据分成块;在所述发送装置中,生成并且存储数据块的检错码;在所述发送装置中,向所述接收装置发送数据块;在所述接收装置中,接收和存储数据块;在所述接收装置中,根据存储于所述接收装置中的数据块,并且按照与所述发送装置相同的方法,生成检错码;在所述接收装置中,向所述发送装置发送所生成的检错码;在所述发送装置中,接收检错码;在所述发送装置中,通过对所接收的检错码和存储于所述发送装置中的检错码作比较,检测表示在该数据块是否有差错的信息;并且在所述发送装置中,如果根据所检测到的信息存在差错,则重发存储于所述发送装置中的数据块,并且,如果没有差错,则删除存储在所述发送装置中的数据块和检错码,并且发送下一个将要发送的数据块。
图1示出根据本发明的实施例1的发送装置和接收装置的配置的方框图;
图2A是说明根据本发明的实施例1的发送装置和接收装置的操作的时序图;图2B是图2A的继续;图3示出根据本发明的实施例2的发送装置和接收装置的配置的方框图;图4A是说明根据本发明的实施例2的发送装置和接收装置的操作的时序图;图4B是图4A的继续;图5示出根据本发明的实施例3的发送装置和接收装置的配置的方框图;图6示出如下情况将数据块分为n份,并且相应于顶到每个分割后的单元生成CRC码;图7A是说明根据本发明的实施例3的发送装置和接收装置的操作的时序图;和图7B是图7A的继续。
具体实施例方式
现参照附图,说明本发明的实施例。
(实施例1)图1示出根据本发明的实施例1的发送装置和接收装置的配置的方框图。图1所示的发送装置100包括数据块产生部分110,CRC生成部分(检错码生成部分)120,发送部分130,RAM140,控制信号接收部分(信息接收部分)150,和控制部分160。
数据块产生部分110通过将发送数据分割为块,为每个发送单元产生数据块。为每个数据块,CRC生成部分120通过使用预定的生成多项式,生成CRC(循环冗余校验)码,该码是用于检错的循环冗余码。例如,在“3GPPTechnical Specification TS25.212”中,给出用于生成CRC码的生成多项式。
发送部分130复用在CRC生成部分120中所生成的CRC码,该CRC码基于在数据块产生部分110中所产生的数据块生成,然后发送该CRC码。RAM140是暂时存储数据的缓冲器(存储器电路),并且暂时存储产生于数据块产生部分110中的数据块和产生于CRC生成部分120中的CRC码。控制信号接收部分150接收发送自接收装置200的控制信号,以便识别下一个所需的数据块。当在控制信号接收部分150中所接收的控制信号请求发送下一个数据时,控制部分160指令发送部分130发送下一个数据块,或者,当控制信号请求重发时,该控制部分160指令发送部分130重发存储在RAM140中的数据块和CRC码。
其次,接收装置200包括接收部分210,RAM(存储器电路)220,CRC生成部分(检错码生成部分)230,比较部分240,控制信号发送部分250,和控制部分260。
接收部分210接收从发送装置100发送的数据块和CRC码。RAM220暂时存储在接收部分210中所接收的数据块。从在RAM220中存储的数据块,CRC生成部分230采用在发送装置100的CRC生成部分120中所使用的相同的生成多项式生成CRC码。比较部分240将在接收部分210中所接收的CRC码和在CRC生成部分230中所生成的CRC码作比较,并且将该比较结果输出到控制部分260。基于将在后面说明的来自控制部分260的指令,控制信号发送部分250发送表示下一个所需的数据块的控制信号。
如果来自比较部分240的比较结果证明在接收部分210中所接收的CRC码和在CRC生成部分230中所生成的CRC码是相同的,则控制部分260指令控制信号发送部分250发送请求发送下一个数据块的信号,并且同时删除存储在RAM220中的数据块,以便使上述数据块成为所接收的数据。如果来自比较部分240的比较结果证明在接收部分210中所接收的CRC码和在CRC生成部分230中所生成的CRC码不互相匹配,则控制部分260指令控制信号发送部分250发送请求重发数据块的信号,并且同时当两个CRC码不匹配的次数达到一定程度时,删除在RAM220中最旧的数据块。
下面,将依次参照附图2A和2B,说明具有以上配置的发送装置和接收装置的操作。
首先,在发送装置100中,并且更具体地说,在数据块产生部分110中,将要首先发送的数据块D#1从发送数据产生。然后,在CRC生成部分120中,从预定的生成多项式生成CRC码#1,该CRC码#1使根据数据块D#1的循环冗余码。当前,在RAM140中存储上述生成的数据块D#1和CRC码#1,并且同时将CRC码#1复用在数据块D#1上,并且通过发送部分130将该数据块D#1发送到接收装置200。
在接收装置200中,并且更具体地说,在接收部分210中,接收数据块D#1和CRC码#1,并且将所接收的数据块D#1存储在RAM220。在CRC生成部分230中,采用如在CRC生成部分120中的、相同的预定生成多项式,从存储在RAM220中的数据块D#1中生成另一个CRC码#1。在比较部分240中,对于上述生成的CRC码#1和在接收部分210中与数据块D#1一同接收的CRC码#1作比较。
如果比较结果证明两个CRC码#1相同,则控制部分260判断在接收部分210中所接收的数据块D#1没有差错,指令控制信号发送部分250发送请求发送下一个数据块D#2的信号,并且同时删除存储在RAM 220中的数据块D#1。
另一方面,如果两个CRC码#1不匹配,则控制部分260保持证明了两个CRC码#1是不同的比较的次数。当该次数达到一定的量时,将RAM220中所存储的最旧的数据块D#1删除。当该次数低于该量时,保持RAM220中的内容。此外,当两个CRC码#1不同时,控制部分260判断在接收部分210中所接收的数据块D#1有差错,并且指令控制信号发送部分250发送请求重发数据块D#1的信号。为了响应来自控制部分260的指令,控制信号发送部分250向发送装置100发送控制信号。
在控制信号接收部分150中接收控制信号,然后输出到控制部分160。当该输出信号是请求发送下一个数据块D#2的信号时,控制部分160删除在RAM140中的数据块D#1和CRC码#1,并且发送部分130发送在数据块产生部分110中产生的数据块D#2和在CRC生成部分120中生成的CRC码#2。另一方面,当上述输出信号是重发请求信号时,控制部分160读出存储在RAM140中的数据块D#1和CRC码#1,然后通过发送部分130将该数据块D#1和CRC码#1重发。
然后,当在接收装置200的接收部分210中接收到数据块D#2和CRC码#2时,与当接收到数据块D#1和CRC码#1时相似,在RAM220中存储数据块D#2,在CRC生成部分230中生成CRC码#2,并且在所接收的CRC码#2和所生成的CRC码#2之间作比较。如果比较结果证明这两个CRC码#2是相同的,则从控制信号发送部分250发出控制信号,以请求发送下一个数据块D#3。如果两个CRC码#2不匹配,则发送请求重发数据块D#2的控制信号。
当再次在接收装置200的接收部分210中接收数据块D#1和CRC码#1时,在RAM220中存储数据块D#1,并且,在CRC生成部分230中,再次从数据中生成CRC码#1,该数据是已经存储的数据块D#1和当前所接收的数据块D#1的组合。然后,在所接收的CRC码#1和所生成的CRC码#1之间作比较。如果证明两个CRC码#1是相同的,则被认为是不带有差错的正确的数据的数据块D#1由控制部分260从RAM220中删除,并且成为所接收的数据。如果数据块D#1是从发送装置100重发的数据块,通过组合多个数据块D#1,当例如诸如采用在“3GPP Technical Report TR25.848”中所说明的Hybrid-ARQ时,则可获得具有较少差错的接收的数据。
另一方面,当两个CRC码#1证明不同时,控制部分260保持证明了两个CRC码#1所获得的比较结果为不同的次数。当该次数达到一定量时,将存储在RAM220中的数据块D#1中的最旧的删除。如果该次数低于一定量,则保持RAM220中的内容。由此,上述操作重复执行直到两个CRC码#1相匹配。
这样,根据本发明的发送装置和接收装置,在重发数据块之后,直到上述数据被正确地接收后下一个数据才发送,并且,尽管重发的次数增加,将存储在RAM中的数据块中的最旧的数据块删除,以便将RAM的容量减至最小。
此外,尽管当重发次数增加时将本发明配置为将最旧的数据块从接收装置的RAM中删除,这样的配置仍然不是限制,并且在SIR信息存储在RAM中的情况下,该SIR信息表示每个所接收的数据块的接收质量,这样的配置也是可行的,并且相应于最低SIR(即,具有最到数目的差错)的数据块从RAM中删除。
此外,尽管将本发明配置为直到数据块没有差错时重放才停止,这样的配置仍然不是限制,并且在多个数据块形成一个单元并且采用能够接收多个数据块的RAM的情况下,这样的配置也是可行的。
(实施例2)实施例2的一个特征是当数据从发送装置向接收装置发送时,没有附加的CRC码,相反,在接收装置中生成CRC码并且发送到发送装置,基于对在发送装置中首次获得的CRC码和从接收装置发送的CRC码的比较,确定所发送的数据的有效性/无效性。
图3示出根据本发明的实施例2的发送装置和接收装置的配置的方框图。为图3中与图1中相同的部件指定相同的标号,而无需对其作进一步的解释。图3所示的发送装置300包括数据块产生部分110,CRC生成部分(检错码生成部分)120,发送部分330,RAM140,比较部分360,CRC接收部分350(检错码接收部分)350,控制信号接收部分(信息接收部分)150,和控制部分370。
发送部分330发送数据块。此外,发送部分330根据来自控制部分370的指令发送表示OK/NG的判断信号,这将在后面说明。CRC接收部分350接收来自接收装置400的CRC码。比较部分360在存储在RAM140中的CRC码和在CRC接收部分350中接收的CRC码之间作比较,并且向控制部分370输出结果。当来自比较部分360的比较结果输出证明存储在RAM140中的CRC码和在CRC接收部分350中接收的CRC码是相同的时,控制部分370指令发送部分330发送表示在接收装置400中所接收的数据块中无差错的OK信号,或者在证明上述两个码不同的情况下,指令发送NG信号。
其次,接收装置400包括接收部分410,RAM220,CRC生成部分230,CRC发送部分(检错码发送部分)440,和控制部分450。
接收部分410接收从发送装置300发送的数据块。此外,接收部分410接收表示OK/NG的判断信号,然后该信号输出到控制部分450。RAM220暂时存储在接收部分410中所接收的数据。CRC发送部分440向发送装置300发送在CRC生成部分230中所生成的CRC码。当接收部分410接收OK信号时,控制部分450删除存储在RAM220中的数据块,由此,使该数据成为所接收的数据。另一方面,当接收部分410接收NG信号时,如果接收NG信号的次数达到一定量,则控制部分450删除在RAM220中所存储的最旧的数据块。
下面,将依次结合图4A和4B说明具有上述配置的发送装置和接收装置的操作。
首先,在发送装置300中,并且更具体地说在数据块产生部分110中,将要首先发送的数据块D#1从发送数据中产生。然后在CRC生成部分120中,根据预定的生成多项式,生成CRC码#1,该CRC码#1是根据数据块D#1的循环冗余码。现在,将上述生成的数据块D#1和CRC码#1存储在RAM140中,并且通过发送部分330将数据块D#1单独地发送到接收装置400。
在接收装置400中,更具体地说在接收部分410中,接收数据块D#1,并且在RAM220中存储所接收的数据块D#1。采用与在CRC生成部分120中所采用的相同的预定的生成多项式,从存储在RAM 220中的数据块D#1,在CRC生成部分230中生成CRC码#1。通过CRC发送部分440,将所生成的数据块D#1发送到发送装置300。
然后在发送装置300中,在CRC接收部分350中接收产生于CRC生成部分230的CRC码#1,并且在存储在RAM140中的CRC码#1和在CRC接收部分350中所接收的CRC码#1作比较。
如果比较结果证明两个CRC码#1相同,则控制部分370判断在接收装置400中所接收的数据块D#1没有差错,指令发送部分330发送OK信号,并且同时删除存储在RAM140中的数据块D#1和CRC码#1。
另一方面,如果两个CRC码#1不匹配,则控制部分370判断在接收装置400中所接收的数据块D#1中存在差错,并且指令发送部分330发送NG信号。为了响应来自控制部分370的指令,将表示OK/NG的判断信号从发送部分330向接收装置400发送。
在接收部分410中接收表示OK/NG的判断信号,然后输出到控制部分450。当输出OK信号时,由控制部分450将在RAM220中存储数据块D#1从RAM220删除,并且形成所接收的数据;该数据块D#1被认为是不带有差错的正确的数据。如果该数据块D#1是从发送部分300重发的数据块,如果RAM 220已经存储包含差错的数据块D#1,通过组合多个数据块D#1,当例如采用Hybrid-ARQ时,则可获得具有较少差错的接收的数据。
当所接收的信号是NG时,控制部分450保持接收NG信号的次数。当上述接收次数达到一定量时,将存储在RAM220中的数据块D#1中的最旧的删除。如果上述次数低于一定量,则保持RAM220中的内容。由此,上述操作重复执行直到两个CRC码#1相匹配。
转向发送装置300,如果先前所发送的信号是OK信号,则从发送部分330发送数据块D#1之后的数据块D#2。如果先前所发送的信号是NG信号,则从发送部分330重发数据块D#1。当在接收装置400的接收部分410中接收到数据块D#2时,与当接收到数据块D#1时相似,在RAM220中存储数据块D#2,在CRC生成部分230中生成CRC码#2,并且通过CRC发送部分440将CRC码#2发送至发送装置300。另一方面,如果在接收装置400的接收部分410中再次接收到数据块D#1,则将数据块D#1存储在RAM220中,并且在CRC生成部分230中,从已经存储的数据块D#1和当前所接收的数据块D#1中生成CRC码#1。然后,通过CRC发送部分440将所生成的CRC码#1发送至发送装置300,并且,在比较部分360中,再次将该CRC码#1与存储在RAM140中的RAM140作比较。由此,重复执行上述操作直到接收部分410接收到OK信号。
这样,根据本发明的发送装置和接收装置,在重发数据块之后,直到上述数据被正确地接收后下一个数据才发送,并且,尽管重发的次数增加,将存储在RAM中的数据块中的最旧的数据块删除,以便将RAM的容量减至最小。
此外,尽管当重发次数增加时将本发明配置为将最旧的数据块从接收装置的RAM中删除,这样的配置仍然不是限制,并且在SIR信息存储在RAM中的情况下,该SIR信息表示每个所接收的数据块的接收质量,这样的配置也是可行的,并且相应于最低SIR(即,具有最大数目的差错)的数据块从RAM中删除。
此外,尽管将本发明配置为直到数据块没有差错时重放才停止,这样的配置仍然不是限制,并且在多个数据块形成一个单元并且采用能够接收多个数据块的RAM的情况下,这样的配置也是可行的。
此外,尽管将本发明配置为发送装置仅向接收装置发送数据块,这样的配置仍然不是限制,并且在发送中附加纠错码的情况下,该纠错码诸如象Hamming码、BCH码和Reed-Solomon码一样的块码和卷积码,上述配置也是可行的,并且,在接收装置中,从纠错后的数据中生成检错码,以便提高容错并且减少重发数据块的次数。
(实施例3)实施例3的一个特征是数据块是一组(bundle)从顶(top)到给定数据点(data point)的数据,相应于该组数据中的每一个而分别生成多个CRC码,以便指定数据差错的位置并且重发相应于该位置的数据。
图5示出根据本发明的实施例3的发送装置和接收装置的配置的方框图。为图5中与图3中相同的部件指定相同的标号,而无需对其作进一步的解释。图5所示的发送装置500包括数据块产生部分110,CRC生成部分120-1~n,发送部分130,RAM140,控制信号/CRC码接收部分550,比较部分560,和控制部分570。
CRC生成部分120-1~n将数据块分为n份,并且相应于从顶到各个分割后的单元中的每一个,生成CRC码(图6示出n=6的情况)。发送部分130在数据块产生部分110中所产生的数据块上,复用对于全部数据的CRC码,该CRC码生成于CRC生成部分120-1~n之中,并且发送该数据块。RAM140暂存产生于数据块产生部分110的数据块和生成于CRC生成部分120-1~n的CRC码。从接收装置600,控制信号/CRC码接收部分550接收控制信号,该控制信号表示(identify)下一个所需的数据块或者多个CRC码,该多个CRC码相应于从数据块的顶到各个分割后的单元中的每一个。当控制信号/CRC码接收部分550接收多个CRC码,该多个CRC码相应于每个从数据块的顶到各个分割后的单元时,比较部分560分别地对存储在RAM140中的相应的CRC码作比较,并且向控制部分570输出结果。
当控制信号/CRC码接收部分550接收请求发送下一个数据的控制信号时,控制部分570指令发送部分130发送下一个数据。参考来自比较部分560的比较结果,控制部分570发现在数据中检测出差错的位置,仅从相应的数据块读出检测出差错的位置,并且通过发送部分130将其发送至接收装置600。
接收装置600包括接收部分210,RAM220,CRC生成部分230-1~n,比较部分240,控制信号/CRC码发送部分650,和控制部分660。
从存储在RAM220中的数据块,CRC生成部分230-1~n将数据块分为n份,并且生成CRC码,该CRC码相应于从数据块的顶到各个分割后的单元中的每一个。比较部分240将在接收部分210中所接收的CRC码和在CRC生成部分230-1~n中所生成的全部数据的CRC码作比较,并且将该结果输出到控制部分660。基于将在后面说明的来自控制部分660的指令,控制信号/CRC码发送部分650发送控制信号,该控制信号表示下一个所需的数据块,或者发送多个CRC码,该多个CRC码相应于从数据块的顶到各个分割后的单元中的每一个。
如果来自比较部分240的比较结果证明在接收部分210中所接收的CRC码和在CRC生成部分230-1~n中所生成的全部数据的CRC码是相同的,则控制部分660指令控制信号/CRC码发送部分650发送请求发送下一个数据块的信号,并且同时删除存储在RAM220中的数据块,以便使上述数据块成为所接收的数据。另一方面,如果在接收部分210中所接收的CRC码和在CRC生成部分230-1~n中所生成的CRC码不互相匹配,则控制部分660指令控制信号/CRC码发送部分650发送在CRC生成部分230-1~n中所生成的全部CRC码。
下面,将依次参照附图7A和7B,说明具有以上配置的发送装置和接收装置的操作。
首先,在发送装置500中,并且更具体地说,在数据块产生部分110中,将要首先发送的数据块D#1从发送数据产生。然后,在CRC生成部分120-1~n中,相应于从顶到各个分割后的单元中的每一个,将数据块D#1分为n份,其中CRC码#1-1~n通过预定的多项式生成,该CRC码是循环冗余码。当前,在RAM140中存储上述生成的数据块D#1和CRC码#1-1~n,并且同时将CRC码#1-1~n复用在数据块D#1上,该CRC码#1-1~n是全部数据块的CRC码,并且通过发送部分130将该数据块D#1发送到接收装置600。
然后,在接收装置600中,并且更具体地说,在接收部分210中,接收数据块D#1和CRC码#1-1~n,并且将数据块D#1存储在RAM220。在CRC生成部分230-1~n中,采用预定的多项式,生成CRC码#1-1~n,该CRC码#1-1~n相应于数据块D#1中的从顶到各个分割后的单元中的每一个,该数据块D#1被分为n份。在比较部分240中,对于上述生成的CRC码#1~n和在接收部分210中与数据块D#1一同接收的CRC码#1-n作比较。
如果上述比较结果证明这两个CRC码#1-n相同,则控制部分660断定在接收部分210中所接收的数据块D#1没有差错,指令控制信号/CRC码发送部分650发送请求发送下一个数据块D#2的信号,并且同时删除存储在RAM220中的数据块D#1。
另一方面,如果两个CRC码#1-n不匹配,则向控制信号/CRC码发送部分650发出指令已发送全部在CRC生成部分230-1~n中生成的CRC码。为了响应来自控制部分260的指令,控制信号/CRC码发送部分650向发送装置500发送控制信号或者多个CRC码。
当发送控制信号以请求发送下一个数据块D#2时,在控制信号/CRC码接收部分550中接收控制信号,然后输出到控制部分570。当接收该输出信号时,控制部分570删除存储在RAM140中的数据块D#1和CRC码#1-1~n,并且发送部分130发送在数据块产生部分110中产生的数据块D#2和在CRC生成部分120-n中生成的CRC码#2-n。
当发送在CRC生成部分230-1~n中生成的CRC码时,在控制信号/CRC码接收部分550中全部接收这些CRC码,并且在所接收的CRC码#1-1~n和从RAM140读出的相应的CRC码#1-1~n之间作比较。如果该比较证明在CRC码#1-k之后的CRC码是不相同的,这意味着从底(bottom)到相应的数据块D#1的k/n的数据部分具有差错。因此,控制部分570从RAM140读出一数据部分D#1′和CRC码#1-n,该数据部分D#1′相应于从相应数据块D#1的底开始的k/n的数据部分,并且通过发送部分130重发它们。
当在接收装置600的接收部分210中接收到数据块D#2和CRC码#2-n时,与当接收到数据块D#1和CRC码#1-n时相似,在RAM 220中存储数据块D#2,在CRC生成部分230-1~n中生成CRC码#2-1~n,并且在比较部分240中在所接收的CRC码#2-n和所生成的CRC码#2-n之间作比较。如果比较结果证明这两个CRC码#2-n是相同的,则从控制信号/CRC码发送部分650发出控制信号,以请求发送下一个数据块D#3。如果两个CRC码#2-n不同,则发送在CRC生成部分230-1~n中生成的CRC码#2-1~n。
当在接收装置600的接收部分210中接收到部分数据D#1′和CRC码#1-n时,在RAM220中存储该部分数据D#1′,并且再一次在CRC生成部分230-1~n中根据数据生成CRC码#1-1~n,已经存储的数据块D#1和当前接收的部分数据D#1′在该数据中组合。在所接收的CRC码#1-n和所生成的CRC码#1-1~n之间作比较。如果证明这两个CRC码#1-n是相同的,则包括存储在RAM220中的数据块D#1和部分数据D#1′的数据是正确无误的数据,因此为所接收的数据,并且控制部分660将存储在RAM220中的数据块D#1和部分数据D#1′删除。
当两个CRC码#1-n不匹配时,控制部分660发出指令,以发送在CRC生成部分230-1~n中生成的全部CRC码,并且由发送装置500的比较部分560估计其中检测到差错的数据部分,并且将相应于该部分的数据和CRC码#1-n发送。由此,重复执行上述操作直到比较部分240的比较结果证明两个CRC码#1-n是相同的。
这样,根据本发明的发送装置和接收装置,在重发一个数据块之后,直到上述数据被正确地接收后下一个数据才发送,以将RAM容量减至最小。并且,可估计其中检测到差错的部分,以便重发相应于该部分的数据,由此,提高发送效率。
尽管将本发明配置为在接收装置中检测数据块差错,这样的配置仍然不是限制,并且在一情况下,该情况是---检测到数据块中的差错以便将在接收装置中所生成的检错码全部发送到发送装置,并且在发送装置中,在发送该数据块之前,将该检错码与存储在该发送装置中的检错码作比较---,这种配置也是可行的。
如上所述,采用本发明,在不增加接收装置中的暂存数据容量的条件下,可将缓冲器的容量减至最小。
本发明基于2001年7月13日提交的日本专利申请,其申请号为2001-214571,其全部内容在此明确用于参考。
工业应用性本发明适用于发送装置和接收装置,在数据通信中,该发送装置和接收装置通过使用检错码或者纠错码,如CRC码,检测或者校正数据差错。
权利要求
1.一种发送装置,包括生成部分,用于从数据块中生成检错码,其中为每个发送单元将发送数据分成块;存储部分,用于暂时地存储数据块和所生成的检错码;发送部分,用于发送数据块;获得部分,用于获得表示所发送的数据块是否有差错的信息;和控制部分,用于根据所获得的信息进行操作,当在所发送的数据块中有差错时,完成控制以重发存储在所述存储部分中的数据块,并且,当没有差错时,完成控制以删除在所述存储部分中的内容并且发送下一个数据块。
2.一种发送装置,包括数据块存储部分,用于暂时存储数据块,其中为每个发送单元将发送数据分成块;检错码生成部分,用于从数据块生成检错码;检错码存储部分,用于暂时存储所生成的检错码;发送部分,用于发送数据块;信息获得部分,用于获得表示所发送的数据块是否有差错的信息;和控制部分,用于根据在所述信息获得部分中所获得的信息进行操作,当在所发送的数据块中有差错时,完成控制以重发存储在所述数据块存储部分中的数据块,并且,当没有差错时,完成控制以删除在所述数据块存储部分中的内容并且发送下一个数据块。
3.如权利要求2所述的发送装置,其中所述信息获得部分还包括信息接收部分,用于接收表示数据块是否有差错的信息;和其中所述发送部分发送在所述数据块产生部分中所产生的数据块和在所述检错码生成部分中所生成的检错码。
4.如权利要求2所述的发送装置,其中所述信息获得部分包括检错码接收部分,用于在接收端,接收按照与所述检错码生成部分相同的方法所生成的检错码;和信息检测部分,用于对在所述检错码存储部分中所存储的检错码和在所述检错码接收部分中所接收的检错码作比较,并且检测表示数据块是否有差错的信息。
5.如权利要求2所述的发送装置,其中所述检错码生成部分为数据块的每一部分生成检错码。
6.如权利要求2所述的发送装置,其中所述检错码生成部分生成CRC码。
7.一种接收装置,包括接收部分,用于接收数据块;存储部分,用于暂时地存储所接收的数据块;检错码生成部分,用于根据存储于所述存储部分中的数据块,按照与发送端相同的方法,生成检错码;信息获得部分,用于使用所生成的检错码并获得表示存储于所述存储部分中的数据块是否有差错的信息;和控制部分,用于当所述信息获得部分在数据块中所检测到的差错的次数达到预定的次数时,根据所述存储部分对数据块的输入和/或输出进行控制。
8.如权利要求7所述的接收装置,其中所述接收部分接收包括检错码的数据块;其中所述信息获得部分对在所述接收部分中所接收的检错码和在所述检错码生成部分中所生成的检错码作比较,以检测在存储于所述存储部分的数据块中的差错;其中所述控制部分如果在存储于所述存储部分的数据块中没有差错,则删除存储在所述存储部分中的数据块,并且向发送部分发送请求发送下一个数据块的信号;和如果在存储于所述存储部分的数据块中有差错,则保持检测到差错的次数,当该检测到差错的次数低于预定的次数时,向发送端请求重发数据块;并且当该检测到差错的次数达到预定的次数时,将所述存储部分中所存储的、包含差错的数据块中最旧的一个删除。
9.如权利要求7所述的接收装置,其中所述信息获得部分向发送端发送在所述检错码生成部分中所生成的检错码;其中所述接收部分接收表示在发送端是否有差错的检测结果;其中所述控制部分根据在所述接收部分中所接收的判断信号操作,如果在所述数据块中没有差错,则删除存储在所述存储部分中的数据块,并且,如果在存储于所述存储部分的数据块中有差错,则保持检测到差错的次数;并且,当该检测到差错的次数达到预定的次数时,将所述存储部分中所存储的、包含差错的数据块中最旧的一个删除。
10.如权利要求7所述的接收装置,其中所述控制部分将其中检测到差错的数据块和在所述存储部分中存储的数据块合并。
11.如权利要求7所述的接收装置,其中所述检错码生成部分为数据块的每个部分生成检错码。
12.如权利要求7所述的接收装置,其中所述检错码生成部分生成CRC码。
13.一种发送方法,包括步骤产生并且存储数据块,其中为每个发送单元将发送数据分成块;生成并且存储数据块的检错码;发送数据块;并且获得表示位于接收端的、暂时存储的数据块中是否有差错的信息;并且根据所获得的信息,当有差错时,重发存储的数据块,并且,当没有差错时,删除存储的数据块和检错码,并且发送下一个将要发送的数据块。
14.一种接收方法,包括步骤接收和存储数据块;根据存储的数据块,按照与发送端相同的方法,生成检错码;使用所生成的检错码,获得表示存储的数据块是否有差错的信息;并且当所检测到的差错的次数达到预定的次数时,对数据块的输入和/或输出进行控制。
15.一种用于包括发送装置和接收装置的移动通信系统的数据发送方法,该方法包括步骤在所述发送装置中,产生并且存储数据块,其中为每个发送单元将发送数据分成块;在所述发送装置中,生成并且存储数据块的检错码;在所述发送装置中,向所述接收装置发送数据块和检错码;在所述接收装置中,接收和存储数据块和检错码;在所述接收装置中,根据存储于所述接收装置中的数据块,并且按照与所述发送装置相同的方法,生成检错码;在所述接收装置中,通过对所接收的检错码和所生成的检错码作比较,检测存储于在所述发送装置中的数据块的差错;并且在所述接收装置中,如果在存储于所述存储部分的数据块中没有差错,则删除存储在所述接收装置中的数据块,并且向所述发送装置发送请求发送下一个数据块的信号;并且,如果在存储于所述接收装置的数据块中有差错,则保持检测到差错的次数,当该检测到差错的次数低于预定的次数时,向所述发送装置请求重发数据块,并且当该检测到差错的次数达到预定的次数时,将所述接收装置中所存储的、包含差错的数据块中最旧的一个删除。
16.一种用于包括发送装置和接收装置的移动通信系统的数据发送方法,该方法包括步骤在所述发送装置中,产生并且存储数据块,其中为每个发送单元将发送数据分成块;在所述发送装置中,生成并且存储数据块的检错码;在所述发送装置中,向所述接收装置发送数据块;在所述接收装置中,接收和存储数据块;在所述接收装置中,根据存储于所述接收装置中的数据块,并且按照与所述发送装置相同的方法,生成检错码;在所述接收装置中,向所述发送装置发送所生成的检错码;在所述发送装置中,接收检错码;在所述发送装置中,通过对所接收的检错码和存储于所述发送装置中的检错码作比较,检测表示在该数据块是否有差错的信息;并且在所述发送装置中,如果根据所检测到的信息存在差错,则重发存储于所述发送装置中的数据块,并且,如果没有差错,则删除存储在所述发送装置中的数据块和检错码,并且发送下一个将要发送的数据块。
17.一种数据发送装置,包括权利要求1的发送装置。
18一种数据发送装置,包括权利要求2的发送装置。
19.一种数据发送装置,包括权利要求7的接收装置。
全文摘要
一种发送装置和接收装置,用于将缓冲器的容量减少到最小而不增加在接收装置中暂时存储的数据量。数据块产生块(110)基于发送单元从发送数据中产生块,由此产生数据块。CRC产生块(120)产生CRC码,作为每个数据块的检错码。发送块(130)在数据块上复用CRC码,以便发送。RAM(140)暂存数据块和CRC码。控制信号接收块(150)接收表示从接收装置(200)所发送的数据块并且请求下一个的控制信号。当由控制信号接收块(150)所接收的控制信号请求下一个数据时,控制块(160)指令发送块(130)发送下一个数据块。当控制信号请求重发时,指令发送块(130)重发存储于RAM(140)中的数据块和CRC码。
文档编号H04L1/16GK1465157SQ02802482
公开日2003年12月31日 申请日期2002年7月12日 优先权日2001年7月13日
发明者二木贞树, 平松胜彦 申请人:松下电器产业株式会社