CN101595645A - 串行通信系统中发送/接收串行数据的方法和系统及其串行通信系统 - Google Patents
串行通信系统中发送/接收串行数据的方法和系统及其串行通信系统 Download PDFInfo
- Publication number
- CN101595645A CN101595645A CNA2008800033173A CN200880003317A CN101595645A CN 101595645 A CN101595645 A CN 101595645A CN A2008800033173 A CNA2008800033173 A CN A2008800033173A CN 200880003317 A CN200880003317 A CN 200880003317A CN 101595645 A CN101595645 A CN 101595645A
- Authority
- CN
- China
- Prior art keywords
- bit
- data
- parallel data
- serial
- serial data
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/02—Transmitters
- H04B1/04—Circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B15/00—Suppression or limitation of noise or interference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Dc Digital Transmission (AREA)
- Information Transfer Systems (AREA)
Abstract
公开了一种在串行通信系统中通过最小化比特的转换来有效地发送/接收串行数据的方法和系统及其串行通信系统。在串行通信系统中用于将经编码的并行数据转换为串行数据以及发送串行数据的方法包括:确定位置,在该位置中首先找到经编码的并行数据的信息比特,所述信息比特被定义为具有预定值以使得所述信息比特不被压缩的比特;以及串行地发送所述首先找到的信息比特以及跟随在该找到的信息比特后的至少一个比特作为经压缩的串行数据,直到到达所确定的位置。
Description
技术领域
本发明涉及在串行通信系统中用于发送/接收串行数据的方法及其串行通信系统。更具体地,本发明涉及通过最小化串行通信系统中的比特转变来有效地发送/接收串行数据的方法和系统及其串行通信系统。
背景技术
如在现有技术中一般公知的,传统片上(on-chip)或片外(off-chip)并行通信系统需要大量的导线,其引起许多问题,包括导线之间的串扰、扭曲(skew)等。因此,片外串行通信系统(例如,以太网、USB(通用串行总线)、IEEE 1394、PCI-EXPRESS等)被用于电子产品之间的有线通信、计算机之间的互联网通信、芯片内部的功能块之间的通信等。甚至在仅采用并行总线方案的片上通信系统的情况中,片上串行通信系统不仅适用于解决导线之间的串扰和扭曲问题,也适用于解决并联导线的布线密集的问题。这样的片上串行通信方案已经被采用用于诸如NoC(片上网络Network-on-Chip)的多功能、高性能的多核SoC(片上系统System-on-Chip)。
图1是图示依照现有技术的用于发送/接收串行数据的装置的框图。
传统的串行通信系统包括:发送器110,用于将输入的N比特并行数据101转换成串行数据105并将其发送;以及接收器150,用于从发送器110接收串行数据并将其转换成N比特并行数据109。
发送器110通过串行转换器115连续地将存储在FIFO(先进先出)类型的第一信号处理器111中的N比特并行数据101转换成串行数据105,并将串行数据105加载到串行传输线130上。串行数据105的MSB(最高有效位)通常首先被发送。
接收器150通过并行转换器151将连续输入的串行数据105转换成并行数据、将并行数据存储在第二信号处理器155中、以及输出N比特并行数据109。
依照图1所示的现有技术的第一和第二信号处理器111和155可以被省略,以及如果采用单独的编码方案,则可以添加编码器113以及解码器153。
现在将描述可应用于图1所示的编码器113和解码器153的编码方案。
当从数据中提取时钟而不用单独的时钟信号时,诸如在以太网(IEEE802.3)的情况中,使用DC平衡码(例如,8B/10B码)。具体地,依照DC平衡编码方案,在串行传输线130中建立转变以使得小于5个连续码元(0或1)应当发生。这使得容易地从串行传输线130中提取时钟。
然而,由于在串行传输线130中的转变的数量的增加,DC平衡编码方案增加了发送/接收功率。此外,因为为了发送8比特的有效数据而实际上发送了10比特,所以发生25%的开销。如果使用单独的时钟信号,或者如果发送器110和接收器150如在片上通信系统的情况中被同步,则甚至不需要DC平衡编码方案。
当同步发送器110和接收器150时,存在最小化发送/接收功率的模拟和数字方法。模拟方法包括低摆动信令(low-swing signaling)方案,根据该方案,降低了信号电平。数字方法包括根据其最小化串行传输线130上的比特转变的方案(例如,SILENT编码方案)。
作为传统数字方法之一而已经被研究的SILENT编码方案将XOR(异或)码应用到串行传输方案,如在“SILENT:Serialized Low Energy TransitionCoding for On-Chip Interconnection Networks”,Kangmin Lee等,IEEE ICCAD2004,pp.448-451中所公开的。
图2示出SILENT编码方案。
现在将参照图1,就N比特并行数据是8比特数据的假设来描述该方案。
图2所示的第一信号处理器111是FIFO类型的缓冲器,以及连续地发送输入的并行数据W0-W3到编码器113。编码器113采用将XOR码应用到串行传输方案的SILENT编码方案,并产生数据W’0-W’3 201,该数据W’0-W’3 201以这样的方式已经被连续地编码:如果当前发送的数据比特等于在前发送的数据比特,则使用0,而如果它们不同,则使用1。串行转换器115串行化所产生的数据203,并将经SILENT编码的串行数据205加载到串行传输线130上,如图2A中所示。
从图2中清楚的是,作为应用SILENT编码方案的结果,在图2A中所示的经SILENT编码的串行数据205中存在6次比特转变,而在没有应用SILENT编码方案的原始串行数据207中存在17次比特转变。通过SILENT编码减少比特转变的数量的原因在于,在连续的并行数据之间存在局域性。
然而,当将这样的SILENT编码应用到串行通信系统时,与传统的不应用编码的方法相比,功率被有效地降低,而比特速率没有增加。换句话说,即使将SILENT编码应用到串行通信系统用于转换到串行数据,在串行数据传输期间,还是既没有增加比特速率也没有增加带宽。
此外,串行通信系统所采用的串行传输方案使用少量的传输线,以及因此相比使用很多的传输线来同时发送大量的比特的并行传输方案而言,其具有更小的带宽。在解决小传输带宽的尝试中,比特速率增加了数倍。这导致高速设计中的困难,以及与产生自高速电路的面积和功率相关的问题。
因而,需要一种能够通过压缩经SILENT编码的数据来增加可用带宽的方案,以便能够最小化串行通信系统中的比特的转变。
发明内容
因此,已经做出本发明,用以解决在现有技术中存在的上述问题。以及本发明的一方面在于,提供一种通过最小化串行通信系统中的比特转变来有效地发送/接收串行数据的方法和系统及其串行通信系统。
本发明的另一方面在于,提供一种在串行通信系统中通过压缩经编码的数据从而增加可用带宽的发送/接收串行数据的方法和系统及其串行通信系统。
为了完成本发明的这些方面,提供一种在串行通信系统中将经编码的并行数据转换成串行数据以及发送该串行数据的方法。该方法包括:确定位置,在该位置中首先找到经编码的并行数据的信息比特,该信息比特被定义为具有预定比特值以使得该信息比特不会被压缩的比特;以及串行地发送该首先找到的信息比特以及跟随在该首先找到的信息比特后的至少一个比特作为压缩的串行数据,直到到达所述确定的位置。
依照本发明的另一方面,提供一种在串行通信系统中用于将串行数据转换成经编码的并行数据以及接收该经编码的并行数据的方法。该方法包括:接收压缩的串行数据的每一个比特直到输入指示压缩的串行数据的结尾的信号;以及输出经编码的并行数据,经编码的并行数据包括每一个接收到的数据以及跟随在每一个接收到的数据后的至少一个比特,该比特具有预定的比特值。
依照本发明的另一方面,提供一种在串行通信系统中用于将经编码的并行数据转换成串行数据以及发送该串行数据的装置。该装置包括:压缩器,输出计数的同时增加该计数,直到到达一位置,在该位置中首先找到经编码的并行数据的信息比特,该信息比特被定义为具有预定比特值以使得该信息比特不会被压缩的比特,当到达该位置时,压缩器发送指示压缩的串行数据的结尾的信号;以及串行转换器,用于串行地发送经编码的并行数据的比特作为压缩的串行数据,该比特与由输出的计数所指示的位置相对应。
依照本发明的再一方面,提供一种在串行通信系统中将串行数据转换成经编码的并行数据以及接收该经编码的并行数据的装置,该装置包括:解压缩器,输出计数的同时增加计数,直到输入指示压缩串行数据的结尾的信号;以及并行转换器,具有多个用于预存储预定比特值的锁存单元,该并行转换器接收压缩的串行数据的每一个比特并将与输出的计数相对应的比特存储在对应的锁存单元中,当输入指示压缩的串行数据的结尾的信号时,该并行转换器将存储在锁存单元中的比特输出作为经编码的并行数据。
依照本发明的又一方面,提供一种用于将经编码的并行数据转换成串行数据以及发送/接收该串行数据的串行通信系统。该系统包括:串行数据发送装置,用于输出第一计数的同时增加第一计数,直到到达一位置,在该位置中首先找到经编码的并行数据的信息比特,该信息比特被定义为具有预定比特值以使得该信息比特不被压缩的比特,当到达该位置时,该串行数据发送装置发送指示压缩的串行数据的结尾的信号,该串行数据发送装置串行地发送经编码的并行数据的比特作为压缩的串行数据,该比特与由输出的第一计数所指示的位置相对应;以及串行数据接收装置,用于输出第二计数的同时增加第二计数,直到输入指示压缩的串行数据的结尾的信号,串行数据接收装置具有多个具有预定比特值的锁存单元,该串行数据接收装置接收压缩的串行数据的每一个比特并在对应的锁存单元中存储与第二计数相对应的比特,当输入指示压缩的串行数据的结尾的信号时,该串行数据接收装置将存储在锁存单元中的比特输出作为经编码的并行数据。
附图说明
从下面结合了附图的具体描述中,本发明的上述的和其它的示范性特征、方面以及优势将更明了,其中:
图1是示出依照现有技术的用于发送/接收串行数据的装置的框图;
图2示出SILENT编码方法;
图3是示出依照本发明的实施例的用于发送/接收压缩的串行数据的装置的框图;
图4是具体地示出包含在图3所示的发送器中的压缩器的框图;
图5是具体地示出包含在图3所示的发送器中的串行转换器的框图;
图6是具体地示出包含在图3所示的接收器中的解压缩器的框图;
图7是具体地示出包含在图3所示的接收器中的并行转换器的框图;
图8是示出依照本发明的实施例的用于发送压缩的串行数据的过程的流程图;
图9示出依照本发明的实施例的用于通过发送装置来发送压缩的串行数据的过程;
图10是示出依照本发明的实施例的用于接收压缩的串行数据的过程的流程图;以及
图11示出依照本发明的实施例的通过接收装置接收压缩的串行数据的过程。
具体实施方式
在下文中,将参照附图具体地描述本发明的示范性实施例。在下面的本发明的描述中,省略合并于此的公知功能和配置的具体描述,以避免使得本发明的主题不清楚。这里所使用的术语是基于依照本发明的相关功能的考虑来定义的,以及可以依赖于目的或用户或操作者的实践变化。因此,必须基于说明书的整个上下文来理解其定义。
现在将描述本发明的基本构思。依照本发明,以这样的方式将经编码的并行数据转换成压缩的串行数据:如果经编码的并行数据的比特与在前发送的数据的对应比特没有不同,则去除该比特(“相等的比特”)。换句话说,从并行数据中去除相等的比特,该并行数据被压缩并被转换为串行数据,以使得要被发送/接收的数据量减少。这缩短了用于发送/接收串行数据所必需的时间,并提高了实际传输线的可用带宽。
为了压缩与在前发送的并行数据没有不同的比特,在串行通信系统的初始设置期间必须确定编码方案以及将不被压缩的比特。
现在将就下述假设来描述本发明的实施例:假设在串行通信系统的初始设置期间,SILENT编码应用到编码器和解码器,以及经SILENT编码的并行数据的‘0’比特是要被压缩的比特,而‘1’比特是将不被压缩的比特(“信息比特”)。
图3是示出依照本发明的实施例的用于发送/接收压缩的串行数据的装置的框图。
参照图3,串行通信系统包括:发送器310,用于将SILENT编码方案应用到输入的N比特并行数据301以将其转换成压缩的串行数据305;以及接收器350,用于接收压缩的串行数据305、解压缩该数据305以及对其应用SILENT解码方案,从而将其解码为最初输入的N比特并行数据309。
发送器310包括第一信号处理器311、编码器313、串行转换器315以及压缩器317。接收器350包括并行转换器351、解码器353、第二信号处理器355以及解压缩器357。
发送器310和接收器350的第一和第二信号处理器311和355以及编码器313和解码器353分别以与现有技术的情况相同的方式来操作,而这里将省略其中的具体描述。
图3所示的发送器310的压缩器317从编码器313接收经编码的并行数据作为输入,并输出串行转换控制信号C1以及指示压缩的串行数据305的结尾的信号303(“end_of_word”)。end_of_word 303包括[HIGH]和[LOW]信号。在下面的描述中假设,如果end_of_word 303是[HIGH]信号,则其指示压缩的串行数据305的结尾。稍后,将参照图4更具体地描述压缩器317。
串行转换器315通过使用串行转换控制信号C1而将经编码的并行数据转换成串行数据305。串行转换器315可以通过使用多级多路复用器依照图5所示来实现。
接收器350的解压缩器357通过利用end_of_word 303的输入而输出并行转换控制信号C2。解压缩器357可以通过使用第一计数器601如图6所示来实现,以及稍后将参照图6更具体地对其进行描述。
并行转换器351通过利用并行转换控制信号C2而将发送及压缩的串行数据305转换成经编码的并行数据,以及其可以通过使用解多路复用器701以及多个锁存单元703如图7所示来实现。
图4是具体示出图3所示的压缩器317的框图。
依照本发明的实施例,压缩器317是由逻辑电路实现的,以及其包括编码器401、第一计数器403以及比较器405。
图4所示的编码器401接收经编码的并行数据307作为输入,并扫描每一比特,以确定在其中找到第一信息比特‘1’的位置。编码器401扫描每一比特以找到信息比特是或者从最高有效位(MSB)或者从最低有效位(LSB)开始的。但是,注意到,当处理多媒体内容或数字信号时,高位比特不经常经历快速转变,并且由于在存储器处理期间,地址是一个接着一个地增加的,所以在前发送的数据与当前发送的数据之间的转变主要发生在低位比特。因此,在下面的描述中将假设,从MSB开始扫描。例如,当输入到编码器401的8比特经编码的并行数据307是[00000100]时,编码器401从MSB开始扫描,并在第2比特(从第0比特开始计数)的位置中找到第一信息比特‘1’。因此,[010]被输出作为第一比特的位置。
压缩器317的第一计数器403输出从0增加1的计数到比较器405以及作为串行转换控制信号C1。将假设,除非相反地指示,计数是由第一计数器403输出的。
当第一计数器403从比较器405接收到[HIGH]信号时,其重置计数。例如,如果计数从[000]递增1增加到[010]且如果第一计数器403从比较器405接收到[HIGH]信号,则第一计数器403输出[000→001→010→重置]到比较器405并作为串行转换控制信号C1。
如果找到的第一信息比特的位置相等于从第一计数器403输入的计数,则比较器405发送[HIGH]信号(1比特)到第一计数器403,并发送具有[HIGH]信号的时钟到end_of_word 303。例如,如果找到的第一信息比特的位置是[010]以及如果从第一计数器403输入的计数是[010],则比较器405发送[HIGH]信号到第一计数器403并发送具有[HIGH]信号的时钟到end_of_word303。换句话说,如果找到的第一信息比特的位置不同于从第一计数器403输入的计数,则比较器405输出[LOW]信号到end_of_word 303。
图5是具体地示出包含在图3所示的发送器310中的串行转换器的框图。
参照图5,串行转换器315可以根据经编码的并行数据307的比特数而通过利用多个多路复用器来实现。串行转换器315基于由第一计数器403输出的串行转换控制信号C1,从编码器313接收经编码的并行数据307并输出与计数所指示的位置相对应的比特。例如,如果输入到串行转换器315的数据是[00000100],以及如果由第一计数器403输出而同时递增1的串行转换控制信号C1是[000],则串行转换器315输出串行数据305的第0比特,即[0]。如果串行转换控制信号C1是[010],则串行转换器315输出串行数据305的第1数据,即[0]。如果串行转换控制信号C1是[010],则串行转换器315输出串行数据305的第2比特,即[1]。
图6是具体地示出包含在图3所示的接收器中的解压缩器的框图。
参照图6,当压缩的串行数据305被输入到接收器350时,解压缩器357的第二计数器601输出并行转换控制信号C2,其从0递增1。在接收到[HIGH]信号作为end_of_word 303之后,第二计数器601不增加计数而是对其进行重置。这意味着第二计数器601实施与压缩器317的第一计数器403相同的操作。例如,如果计数从[000]递增1增加到[010]以及如果输入[HIGH]信号作为end_of_word 303,则第二计数器601输出[000→001→010→重置]作为并行转换控制信号C2。
图7是具体地示出包含在图3所示的接收器中的并行转换器的框图。
参照图7,并行转换器351包括解多路复用器701以及多个锁存单元703。并行转换器351的解多路复用器701从发送器110接收压缩的串行数据305并基于并行转换控制信号C2将各个比特输出到对应的锁存单元。假设,输入到解多路复用器701的压缩的串行数据305是[00000100],如果并行转换控制信号C2是[000],则压缩的串行数据305的第0比特即[0]被输出到锁存单元0;如果并行转换控制信号C2是[001],则压缩的串行数据305的第1比特即[0]被输出到锁存单元1;如果并行转换控制信号C2是[010],则压缩的串行数据305的第2比特即[1]输出到锁存单元2。
锁存单元703的数量与解多路复用器701输出的比特数量相同,从而在输入各个比特之前,由初始的end_of_word 303重置锁存单元703。解多路复用器701输出的各个比特被存储在相对应的锁存单元703中。如果依照并行转换控制信号C2没有比特被输出到锁存单元703之一中,则对应的锁存单元存储[0]作为初始重置。例如,如果[0]被输出到锁存单元0中作为压缩的串行数据305的第0比特,则[0]被存储在锁存单元0中。如果[0]被输出到锁存单元1中作为压缩的串行数据305的第1比特,则[0]被存储在锁存单元1中。如果[1]被输出到锁存单元2中作为压缩的串行数据305的第2比特,则[1]被存储在锁存单元2中。如果没有比特被输入到锁存单元3-7,则它们存储[0]作为初始重置。同时,如果在串行通信系统的初始设置期间,已经将经编码的并行数据的‘1’和‘0’比特分别地设置作为压缩比特和信息比特,则[1]必须被设置为初始重置。
这样,包括解多路复用器701和多个锁存单元703的并行转换器351将压缩的串行数据305转换成N比特经编码的并行数据307。
图8是示出依照本发明的实施例的用于发送压缩的串行数据的过程的流程图。
参照图8,当在步骤801中发送器310接收并行数据时,在步骤803中发送器310的编码器313对在前的并行数据以及输入的并行数据的各个比特进行SILENT编码。接着,在步骤805,压缩器317的编码器401接收经编码的并行数据307,扫描各个比特并确定在其中找到第一信息比特‘1’的位置。
在步骤807,基于与计数相对应的串行转换控制信号C1,串联转换器315输出经编码的并行数据307的比特,该比特与计数所指示的位置相对应。在步骤807,在串行通信系统的初始情况中,串行转换器315输出与初始计数值0所指示的位置相对应的比特。
在步骤809中,比较器405确认输入的计数是否与找到的第一信息比特的位置相等。如果在步骤809中确认输入的计数与找到的第一信息比特的位置相等,则比较器405进行到步骤813;以及,如果它们不同,则进行到步骤811。在步骤811,第一计数器403对计数增加1并在步骤807中将增加的计数发送到串行转换器315。
如果计数同等于找到的第一信息比特的位置,则在步骤813中比较器405将[HIGH]信号输入到第一计数器403,从而第一计数器403重置计数。重置阻止了经编码的数据的进一步传输。在步骤815中比较器405输出[HIGH]信号作为end_of_word 303。接着,在步骤817中发送器310完成压缩的串行数据的发送。
图9示出依照本发明的实施例的由发送装置发送压缩的串行数据的过程。
基于这样的假设:将8比特并行数据[01010011]输入到发送器310以及编码器313输出经SILENT编码的并行数据[00000100],现在将描述根据本发明的实施例的将经编码的并行数据[00000100]转换成压缩的串行数据[100]以及由发送器310将其发送的过程。
参照图9,压缩器317的编码器401接收[00000100]作为经编码的并行数据的输入,首先扫描MSB,以及基于找到的第一信息比特‘1’的位置对应于2的找寻结果输出[010]。第一计数器403计数[000]并将其输出到比较器405以及作为串行转换控制信号C1。基于与计数[000]相对应的串行转换控制信号C1,串行转换器315输出经编码的数据的比特即[1],该比特与计数[000]所指示的位置相对应。比较器405将计数[000]与找到的第一信息比特的位置即[010]相比较,以及发现它们是不同的之后,输出[LOW]信号作为end_of_word 303。
此外,由于计数[000]不同于找到的第一信息比特的位置[010],因此第一计数器403使计数增加1并将作为结果产生的计数[001]输出到比较器405且作为串行转换控制信号C1。基于与计数[001]相对应的串行转换控制信号C1,串行转换器315输出经编码的数据的比特即[0],该比特与计数[001]相对应。比较器405将计数[001]与找到的第一信息比特的位置即[010]相比较,以及发现它们是不同的之后,输出[LOW]信号作为end_of_word 303。
此外,由于计数[001]不同于找到的第一信息比特的位置[010],因此第一计数器403使计数增加1并将作为结果产生的计数[010]输出到比较器405且作为串行转换控制信号C1。基于与计数[010]相对应的串行转换控制信号C1,串行转换器315输出经编码的数据的比特即[1],该比特与计数[010]相对应。比较器405将计数[010]与找到的第一信息比特的位置即[010]相比较,以及发现它们是相等的之后,输出[HIGH]信号作为end_of_word 303。从比较器405接收到[HIGH]信号之后,第一计数器403重置计数并阻止经编码的并行数据的高位5个比特[00000]被发送。这样,发送器310发送[HIGH-LOW-LOW]作为end_of_word 303以及发送[100]作为压缩的串行数据305到接收器350。
图10示出依照本发明的实施例的用于接收压缩的串行数据的过程的流程图。
参照图10,在步骤1001中接收器350从发送器310接收压缩的串行数据305的各个比特。在步骤1003中并行转换器351将与计数相对应的比特存储在对应的锁存单元中。在串行通信系统的初始情况中,在步骤1003,并行转换器351将与初始计数[0]相对应的比特存储在对应的锁存单元中。
在步骤1005中第二计数器601确定end_of_word 303是否是[HIGH]信号。如果end_of_word 303是[HIGH]信号,则第二计数器601进行到步骤1009,以及在[LOW]信号的情况中,则进行到步骤1007。在步骤1007中第二计数器601使计数增加1,从而下一个比特被存储在对应的锁存单元中,以及进行到步骤1003。
如果end_of_word 303是[HIGH]信号,则在步骤1009中并行转换器351将存储在多个锁存单元703中的比特输出。锁存单元703中的在其中没有存储与计数相对应的比特的那些锁存单元输出[0],作为当接收到在前的压缩的串行数据时发生的锁存单元的重置操作的结果。在步骤1011,并行转换器351重置多个锁存单元,以便存储之后发送的串行数据。在步骤1013,接收器350将已经由发送器310发送的压缩的串行数据转换成N比特经编码的并行数据307、对其进行解码、以及完成并行数据309的接收。
图11示出依照本发明的实施例的由接收装置接收压缩的串行数据的过程。
基于这样的假设:如参照图9所描述的,接收器350已经从发送器310接收[HIGH-LOW-LOW](作为end_of_word)以及压缩的串行数据[100],将描述依照本发明的实施例的由接收器350将压缩的串行数据[100]转换成并行数据的过程。
参照图11,当接收器350从发送器310接收压缩的串行数据[100]的各个比特时,包含在接收器350当中的解压缩器357的第二计数器601计数[000]。并行转换器701将与计数[000]相对应的比特[0]存储在锁存单元0中。由于在计数[000]的情况下,end_of_word 303是[LOW]信号,所以第二计数器601使计数增加1,以便将下一个比特存储在对应的锁存单元中。
存储在并行转换器701中的下一个比特是[0],该[0]是在锁存单元1中的与增加的计数[001]相对应的比特。由于在计数[001]的情况中,end_of_word303是[LOW]信号,所以第二计数器601使计数增加1。
存储在并行转换器701中的下一个比特是[1],该[1]是在锁存单元1中的与增加的计数[010]相对应的比特。由于在计数[010]的情况中,end_of_word303是[HIGH]信号,因此第二计数器601输出存储在多个锁存单元中的各个比特[00000100]。那些没有存储与计数相对应的比特的锁存单元即锁存单元3-7输出0,作为当接收到在前的压缩的串行数据时发生的锁存单元重置操作的结果。并行转换器351重置多个锁存单元,以便存储之后发送的串行数据。
接收器350解码经编码的并行数据307,即由多个锁存单元703输出的比特[00000100],以及完成最初发送的并行数据[01010011]的接收。
如上所述,本发明通过去除产生自SILENT编码的0比特来压缩串行数据。
现在描述与现有技术的游程(run-length)编码方案的具体比较,以进一步说明本发明的优势。依照游程方案,当在串行数据流上连续地重复相同的值时,通过写入重复数以及仅写一次对应值来减少整个流量。例如,在流[AAAA AAAA AAAAB AAAA AAAA AAAAABBB AAAA AAB AAAAAAAAAA]的情况中,对应的游程码是[12]AB[13]A[3]B[6]AB[10]A,其为数字和符号的组合(每一个数字代表符号的重复数)。游程编码方案基本上适用于字符流而不是二进制数,当流很长以及字符连续地重复很多次时,其很有效。
在参照图9和11所描述的8比特数据[00000100]的情况中,对应的游程码是[5]01[2]0。如果将其表示为二进制数字,则数和符号之间的区别不清楚,因为它们两者都表示为二进制数字。具体地,二进制表示是[101010100]。这个二进制数据超过8比特,单独这个信息不能被解码。如果在游程码中采用区别数和符号的方法(例如,转换为ASCII字符码),则总共的比特数大幅地超过8比特。总的来说,当相对小的数据单元(例如,8比特、32比特、64比特)以高速发送时,游程码的使用是无效率的,这点与本发明不同。
如上所述,本发明的优势在于,当并行数据被转换为串行数据以及在串行通信系统中被发送时,使用传统的编码方案来减少比特转变的数量以及最小化在传输期间所消耗的动态功率。
此外,采用压缩编码方案,以减少传输量并缩短传输时间。这使得可以在相同量的时间中发送更大量的数据以及增加有效的传输带宽。
尽管已经参照其中的某些示范性实施例示出并描述了本发明,但本领域的技术人员应当理解,可以在其中做出形式和细节上的多样变化,而不脱离由所附权利要求所限定的本发明的精神和范围。
Claims (21)
1、一种在串行通信系统中用于将经编码的并行数据转换成串行数据以及发送所述串行数据的方法,所述方法包括步骤:
确定一位置,在该位置中首先找到所述经编码的并行数据的信息比特,所述信息比特被定义为具有预定比特值以使得该信息比特不被压缩的比特;以及
串行地发送所述首先找到的信息比特以及跟随在所述最先找到的信息比特后的至少一个比特作为压缩的串行数据,直到到达所述确定的位置。
2、如权利要求1所述的方法,其中,在所述确定步骤中,经编码的并行数据的最高有效位(MSB)被首先扫描以确定所述位置,在所述位置中首先找到所述信息比特。
3、如权利要求2所述的方法,其中,当发送所述压缩的串行数据的同时发送首先找到的所述信息比特时,发送指示所述压缩的串行数据的结尾的信号。
4、如权利要求1所述的方法,其中,所述经编码的并行数据是通过对在前发送的并行数据和当前发送的并行数据的各个比特进行XOR操作而进行了SILENT编码的并行数据。
5、一种在串行通信系统中用于将串行数据转换为经编码的并行数据以及接收所述经编码的并行数据的方法,所述方法包括步骤:
接收压缩的串行数据的每一个比特,直到输入指示所述压缩的串行数据的结尾的信号;以及
输出经编码的并行数据,该经编码的并行数据包括每个接收到的数据和跟随在每个接收到的数据之后的至少一个比特,该比特具有预定的比特值。
6、如权利要求5所述的方法,其中,在所述接收步骤中,每一个接收到的比特被存储在与经编码的并行数据一样多的锁存单元中相应的锁存单元中,所述锁存单元初始时基于该比特值被设置。
7、如权利要求5所述的方法,其中,所述经编码的并行数据是通过对在前发送的并行数据和当前发送的并行数据的各个比特进行XOR操作而进行了SILENT编码的并行数据。
8、一种在串行通信系统中用于将经编码的并行数据转换为串行数据以及发送所述串行数据的装置,所述装置包括:
压缩器,用于输出计数的同时增加计数,直到到达一位置,在该位置中首先找到所述经编码的并行数据的信息比特,所述信息比特被定义为具有预定比特值以使得该信息比特不被压缩的比特,当到达所述位置时,所述压缩器发送指示压缩的串行数据的结尾的信号;以及
串行转换器,用于串行地发送所述经编码的并行数据的比特作为所述压缩的串行数据,所述比特与由所述输出的计数所指示的位置相对应。
9、如权利要求8所述的装置,其中,所述压缩器包括:
编码器,用于确定在所述经编码的并行数据中首先找到的信息比特的位置;
计数器,用于输出所述计数的同时增加所述计数,直到到达所述首先找到的信息比特的位置;以及
比较器,用于当所述计数到达首先找到的信息比特的位置时,重置所述计数器以及输出指示所述压缩的串行数据的结尾的信号。
10、如权利要求9所述的装置,其中,所述编码器被适配为首先扫描所述经编码的并行数据的MSB,以确定所述首先找到的信息比特的位置。
11、如权利要求9所述的装置,其中,所述串行转换器包括多路复用器,其被适配于接收所述经编码的并行数据作为输入并且串行地发送与所述输出的计数相对应的位置中的比特。
12、如权利要求8所述的装置,其中,所述经编码的并行数据是通过对在前发送的并行数据和当前发送的并行数据的各个比特进行XOR操作而进行了SILENT编码的并行数据。
13、一种在串行通信系统中用于将串行数据转换为经编码的并行数据以及接收所述经编码的并行数据的装置,所述装置包括:
解压缩器,用于输出计数的同时增加所述计数,直到输入指示压缩的串行数据的结尾的信号;以及
具有多个锁存单元的并行转换器,该多个锁存单元用于预存储预定的比特值,所述并行转换器接收所述压缩的串行数据的每一个比特并将与所述输出的计数相对应的比特存储在对应的锁存单元中,当输入指示所述压缩的串行数据的结尾的信号时,所述并行转换器将存储在所述锁存单元中的比特输出作为经编码的并行数据。
14、如权利要求13所述的装置,其中,所述经编码的并行数据是通过对在前发送的并行数据和当前发送的并行数据的各个比特进行XOR操作而进行了SILENT编码的并行数据。
15、一种用于将经编码的并行数据转换成串行数据以及发送/接收所述串行数据的串行通信系统,所述系统包括:
串行数据发送装置,用于输出第一计数的同时增加所述第一计数,直到到达一位置,在该位置中首先找到所述经编码的并行数据的信息比特,所述信息比特被定义为具有预定比特值以使得所述信息比特不被压缩的比特,当到达所述位置时,所述串行数据发送装置发送指示压缩的串行数据的结尾的信号,所述串行数据发送装置串行地发送所述经编码的并行数据的比特作为所述压缩的串行数据,所述比特与由所述输出的第一计数所指示的位置相对应;以及
串行数据接收装置,用于输出第二计数的同时增加所述第二计数,直到输入指示压缩的串行数据的结尾的信号,所述串行数据接收装置具有多个锁存单元,该多个锁存单元具有预定的比特值,所述串行数据接收装置接收所述压缩的串行数据的每一个比特并将与所述第二计数相对应的比特存储在对应的锁存单元中,当输入指示所述压缩的串行数据的结尾的信号时,所述串行数据接收装置将存储在所述锁存单元中的比特输出作为经编码的并行数据。
16、如权利要求15所述的系统,其中,所述串行数据发送装置包括:
压缩器,用于输出第一计数的同时增加第一计数,直到到达一位置,在该位置中首先找到所述经编码的并行数据的信息比特,当到达所述位置时,所述压缩器发送指示所述压缩的串行数据的结尾的信号;以及
串行转换器,用于串行地发送所述经编码的并行数据的比特作为所述压缩的串行数据,所述比特与由所述输出的第一计数所指示的位置相对应。
17、如权利要求16所述的系统,其中,所述压缩器包括:
编码器,用于确定在所述经编码的并行数据中首先找到的信息比特的位置;
计数器,用于输出所述第一计数的同时增加所述第一计数,直到到达所述首先找到的信息比特的位置;以及
比较器,当所述第一计数到达所述首先找到的信息比特的位置时,重置所述计数器并输出指示所述压缩的串行数据的结尾的信号。
18、如权利要求17所述的系统,其中,所述编码器被适配为首先扫描所述经编码的并行数据的MSB,用以确定所述首先找到的信息比特的位置。
19、如权利要求17所述的系统,其中,所述串行转换器包括多路复用器,其被适配为接收所述经编码的并行数据作为输入,并且串行地发送在与所述输出的第一计数相对应的位置中的比特。
20、如权利要求15所述的系统,其中,所述串行数据接收装置包括:
解压缩器,用于输出所述第二计数的同时增加所述第二计数,直到输入指示压缩的串行数据的结尾的信号;以及
并行转换器,用于接收所述压缩的串行数据的每一个比特以及将与所述输出的第二计数相对应的比特存储在对应的锁存单元中,当输入指示所述压缩的串行数据的结尾的信号时,所述并行转换器将存储在所述锁存单元中的比特输出作为经编码的并行数据。
21、如权利要求15所述的系统,其中,所述经编码的并行数据是通过对在前发送的并行数据和当前发送的并行数据的各个比特进行XOR操作而进行了SILENT编码的并行数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0008889 | 2007-01-29 | ||
KR1020070008889 | 2007-01-29 | ||
KR1020070008889A KR100969748B1 (ko) | 2007-01-29 | 2007-01-29 | 직렬 통신 시스템에서 직렬 데이터의 송수신 방법 및 장치와 이를 위한 직렬 통신 시스템 |
PCT/KR2008/000511 WO2008093973A1 (en) | 2007-01-29 | 2008-01-28 | Method and system for transmitting/receiving serial data in serial communication system and serial communication system for the same |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101595645A true CN101595645A (zh) | 2009-12-02 |
CN101595645B CN101595645B (zh) | 2013-06-12 |
Family
ID=39667332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800033173A Expired - Fee Related CN101595645B (zh) | 2007-01-29 | 2008-01-28 | 串行通信系统中发送/接收串行数据的方法和系统及其串行通信系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7675438B2 (zh) |
EP (1) | EP2127097B1 (zh) |
JP (1) | JP2010516162A (zh) |
KR (1) | KR100969748B1 (zh) |
CN (1) | CN101595645B (zh) |
WO (1) | WO2008093973A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100946177B1 (ko) * | 2008-01-11 | 2010-03-08 | 한국과학기술원 | 데이터 송수신 장치 및 방법 |
KR20100064442A (ko) | 2008-12-05 | 2010-06-15 | 한국전자통신연구원 | 버스 신호의 인코딩, 디코딩 방법 및 장치 |
KR101664430B1 (ko) | 2009-11-13 | 2016-10-10 | 삼성전자주식회사 | 리모트 ui 서비스 제공 방법 및 장치 |
US9219509B1 (en) * | 2012-05-04 | 2015-12-22 | Rambus Inc. | System performance improvement using data reordering and/or inversion |
KR101497870B1 (ko) * | 2014-02-06 | 2015-03-04 | 계명대학교 산학협력단 | 전력데이터 처리유닛 및 처리방법, 이의 모바일 기기 |
US9966970B2 (en) * | 2015-04-09 | 2018-05-08 | Oracle International Corporation | Efficient silent code assignment to a set of logical codes |
TWI637614B (zh) * | 2017-03-28 | 2018-10-01 | 國立中央大學 | 無線射頻辨識標籤的快速辨識方法 |
US11561601B2 (en) * | 2020-06-05 | 2023-01-24 | Apple Inc. | Method for performing system and power management over a serial data communication interface |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1162398B (de) | 1961-10-24 | 1964-02-06 | Ibm | Verdichter fuer Daten, die aus Bits verschiedener Wertigkeit bestehen |
US3711650A (en) | 1970-10-26 | 1973-01-16 | Logicon Inc | Adaptive pulse code modulation system |
US3875344A (en) | 1973-03-15 | 1975-04-01 | Westinghouse Electric Corp | Digital data compression method and system |
JPS6054537A (ja) * | 1983-09-05 | 1985-03-29 | Sony Corp | ディジタル信号伝送方法 |
JPH04144325A (ja) * | 1990-10-04 | 1992-05-18 | Toshiba Corp | フレーム同期装置 |
KR0140341B1 (ko) * | 1994-02-04 | 1998-07-01 | 김광호 | 직병렬 변환 인터페이스회로 |
JPH07327227A (ja) * | 1994-05-31 | 1995-12-12 | Sony Corp | 画像伝送装置 |
KR0164101B1 (ko) * | 1994-12-12 | 1998-12-15 | 양승택 | 광 케이블 텔레비젼 전송망에서의 가입자 접속/단말 장치간 통신을 위한 신호 프레임 통신장치 |
US6256652B1 (en) * | 1996-04-18 | 2001-07-03 | Jury P. Milto | Binary code compression and decompression and parallel compression and decompression processor |
US5654703A (en) * | 1996-06-17 | 1997-08-05 | Hewlett-Packard Company | Parallel data compression and decompression |
WO1998034413A2 (en) * | 1997-01-30 | 1998-08-06 | Fujitsu Network Communications, Inc. | Data encoder/decoder for a high speed serial link |
JP3612219B2 (ja) | 1998-09-11 | 2005-01-19 | 株式会社リコー | 画像データ送受信処理方法及びその装置 |
JP3603732B2 (ja) * | 2000-03-16 | 2004-12-22 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3646644B2 (ja) * | 2000-10-31 | 2005-05-11 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US6670899B1 (en) | 2001-06-01 | 2003-12-30 | National Semiconductor Corporation | Interface circuit for multiplexing multiple serial data streams from unsynchronized clock domains |
US6653957B1 (en) * | 2002-10-08 | 2003-11-25 | Agilent Technologies, Inc. | SERDES cooperates with the boundary scan test technique |
JP4034172B2 (ja) * | 2002-11-20 | 2008-01-16 | Necエレクトロニクス株式会社 | エンコーダ、デコーダおよびデータ転送装置 |
KR101015497B1 (ko) * | 2003-03-22 | 2011-02-16 | 삼성전자주식회사 | 디지털 데이터의 부호화/복호화 방법 및 장치 |
JP2005229441A (ja) * | 2004-02-13 | 2005-08-25 | Sony Corp | 画像符号化装置及び方法、並びに画像復号装置及び方法 |
JP3874357B2 (ja) * | 2004-07-05 | 2007-01-31 | シャープ株式会社 | データ送信装置、データ受信装置、データ送受信装置およびデータ送受信方法 |
-
2007
- 2007-01-29 KR KR1020070008889A patent/KR100969748B1/ko active IP Right Grant
-
2008
- 2008-01-28 EP EP08712213.1A patent/EP2127097B1/en not_active Not-in-force
- 2008-01-28 WO PCT/KR2008/000511 patent/WO2008093973A1/en active Application Filing
- 2008-01-28 CN CN2008800033173A patent/CN101595645B/zh not_active Expired - Fee Related
- 2008-01-28 JP JP2009545501A patent/JP2010516162A/ja active Pending
- 2008-01-29 US US12/021,730 patent/US7675438B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101595645B (zh) | 2013-06-12 |
KR20080070949A (ko) | 2008-08-01 |
KR100969748B1 (ko) | 2010-07-13 |
US7675438B2 (en) | 2010-03-09 |
US20080180288A1 (en) | 2008-07-31 |
WO2008093973A1 (en) | 2008-08-07 |
EP2127097A1 (en) | 2009-12-02 |
JP2010516162A (ja) | 2010-05-13 |
EP2127097A4 (en) | 2012-04-11 |
EP2127097B1 (en) | 2014-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101595645B (zh) | 串行通信系统中发送/接收串行数据的方法和系统及其串行通信系统 | |
CN101795407B (zh) | 用于对比特序列进行编码的方法和设备 | |
CN1930782B (zh) | 用于交织器存储器和去交织器存储器的地址生成器 | |
CN101017574A (zh) | 一种适于jpeg码流的哈夫曼解码方法 | |
CN101847997B (zh) | 一种9b/10b编解码器及其实现方法 | |
CN104808966A (zh) | 有效编码的方法和装置 | |
CN111726312B (zh) | 差分信号处理设备、其操作方法和电子信令的方法 | |
CN101489128A (zh) | 一种jpeg2000流水线算术编码方法和电路 | |
CN102799410B (zh) | 基于李氏制约竞争计数编码的异步fifo地址转换电路 | |
CN106776422B (zh) | 一种基于8b/10b编解码的串行传输方法及系统 | |
CN103731241B (zh) | 提高通信系统频谱效率的编码系统及方法 | |
TW201427349A (zh) | 同步序列資料傳輸方法與電路裝置 | |
CN114614832A (zh) | 基于前后游程长度编码的测试数据压缩及解压方法 | |
CA2661008A1 (en) | Method and apparatus for transferring digital data between circuits | |
CN108462561A (zh) | 超高速通信系统中串并结合的信道编译码方法及装置 | |
CN104980749A (zh) | 算术编码的解码装置及方法 | |
CN101228698A (zh) | 4电平逻辑解码器 | |
CN102469307B (zh) | 解码器及码流解析装置 | |
CN201054155Y (zh) | 一种适于jpeg码流的哈夫曼解码装置 | |
US8166219B2 (en) | Method and apparatus for encoding/decoding bus signal | |
CN102751994B (zh) | 一种基于两个有限群符号的短码长分组码译码器装置 | |
KR100946177B1 (ko) | 데이터 송수신 장치 및 방법 | |
CN113438052A (zh) | 信号解码方法、装置、电子设备以及存储介质 | |
CN105049057A (zh) | 一种面向128位并行输入的crc-32校验电路 | |
CN102545910A (zh) | 一种jpeg霍夫曼解码电路及其解码方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20200128 |
|
CF01 | Termination of patent right due to non-payment of annual fee |