用于奇数比并行数据总线的串行化器和解串器的制作方法

文档序号:12289614
用于奇数比并行数据总线的串行化器和解串器的制作方法与工艺

I.公开领域

本公开的技术一般涉及用于数据总线的串行化器和解串器。

II.

背景技术:

计算设备通常依赖于多个相异的集成电路(IC)来实现计算功能性。这些相异的IC通过数据总线来彼此通信。IC与外围设备(诸如插入式存储卡、相机或诸如此类)之间可存在附加数据总线。

尽管数据总线可具有并行数据路径,但是其中特定一条数据路径上的数据在本质上通常是串行的。即,数据被积累并且一次放置一个比特或一个码元在数据路径上。数据路径的串行本质部分地是因添加引脚以容适许多单独的数据路径在制造成本和IC内的空间要求两方面变得过分昂贵而被规定的。由此,串行化数据被准备并被放置在数据总线上。在数据总线的接收端处,串行化数据被聚集成其原始形式(即,解串行化)。串行化器和解串器有时被称为SerDes。对于偶数的并行数据总线宽度(即,将例如8、10、16、20个数据线取到数据总线内的单条数据路径上)存在众多标准SerDes。同样,存在全速率SerDes和半速率SerDes电路系统。

(移动行业处理器接口)C-PHY标准中的最近提议要求7比1串行化器。偶数半速率常规电路结构不能够可靠地产生7比1串行化器。尽管全速率电路结构对于偶数和奇数串行化两者工作良好,但是此类电路结构消耗相对较大量的功率。此外,全速率结构与半速率解决方案相比是相对较慢的。然而,到目前为止,尚不存在可行的半速率奇数编号的SerDes。相应地,存在对半速率奇数编号的SerDes的需求。

公开概述

详细描述中所公开的实施例包括用于奇数比并行数据总线的串行化器和解串器。具体而言,以奇数个并行数据比特操作的串行化器和解串器在半速率时钟下工作来以全时钟速率提供串行数据流。

通过提供半速率时钟,在纳入该串行化器的集成电路(IC)上节省了功率和面积。另外,通过提供7:1串行化器,总线现在与MIPI C-PHY标准兼容。

就此而言,在一个实施例中,公开了一种IC内的通信接口。该通信接口包括串行化器,该串行化器包括被配置成接收时钟信号的时钟输入;被配置成并行地接收2N+1个比特的并行数据输入,其中N是整数,该并行数据输入包括分频时钟输入;以及被配置成从时钟输入接收时钟信号并将第一分频时钟信号输出到分频时钟输入的分频器。该串行化器还包括移位寄存器,其包括N+1个寄存器的第一分支;N+1个寄存器的第二分支;被配置成接收时钟信号并将经反相时钟信号提供给第一分支的反相器;以及以时钟信号的两倍频率组合来自第一分支和第二分支的输出的输出。该串行化器还包括被配置成根据两种操作模式中的一种来将在并行数据输入处接收到的比特路由到移位寄存器内的寄存器的选择器。

在另一实施例中,公开了一种包括串行化器的通信系统。该串行化器包括被配置成接收时钟信号的时钟输入;以及被配置成并行地接收2N+1个比特的并行数据输入,其中N是整数,该并行数据输入包括分频时钟输入。该串行化器还包括被配置成从时钟输入接收时钟信号并将第一分频时钟信号输出到分频时钟输入的分频器,以及移位寄存器。该移位寄存器包括N+1个寄存器的第一分支;N+1个寄存器的第二分支;以及被配置成接收时钟信号并将经反相时钟信号提供给第一分支的反相器。该移位寄存器还包括以时钟信号的两倍频率组合来自第一分支和第二分支的输出的输出。该串行化器还包括被配置成根据两种操作模式中的一种来将在并行数据输入处接收到的比特路由到移位寄存器内的寄存器的选择器。该通信系统还包括耦合到串行化器的输出的串行总线;以及耦合到串行总线的解串器,该解串器被配置成从在串行总线上接收到的比特组装并行数据信号。

在另一实施例中,公开了一种方法,包括在并行数据输入处接收并行数据比特以及将该并行数据比特传递给选择器。该方法还包括将并行数据比特传递给在第一模式中使用半速率时钟操作的移位寄存器;以及将并行数据比特传递给在第二模式中使用半速率时钟操作的移位寄存器。该方法还包括以全速率时钟频率组装串行比特流;以及在数据总线上发送串行比特流。

附图简述

图1是具有耦合到数据总线的串行化器和解串器的示例性通信系统的框图;

图2是根据本公开的示例性实施例的使用半速率时钟的7:1串行化器的简化示意图;

图3解说了与图2的串行化器联用的负载复用系统的简化示意图;

图4A是在第一操作模式中操作的图2的串行化器的简化示意图;

图4B是在第二操作模式中操作的图2的串行化器的简化示意图;

图5是示例性分频器(诸如在图2的串行化器中使用的分频器)的简化示意图;

图6是来自图2的串行化器的工作台测试电路的示例性信号输出;

图7是根据本公开的示例性实施例的使用半速率时钟的通用奇数比串行化器的简化示意图;

图8是配置成与图7的通用串行化器一起工作的通用奇数比解串器的简化示意图;

图9是解说根据本公开的示例性实施例的使用串行化器的示例性过程的流程图;

图10是使用半速率时钟的奇数比串行化器的示例性实施例的简化示意图;以及

图11是可包括图1的通信系统的基于处理器的示例性系统的框图。

详细描述

现在参照附图,描述了本公开的若干示例性实施例。措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实施例不必被解释为优于或胜过其他实施例。

详细描述中所公开的实施例包括用于奇数比并行数据总线的串行化器和解串器。具体而言,以奇数个并行数据比特操作的串行化器和解串器在半速率时钟下工作来以全时钟速率提供串行数据流。

通过提供半速率时钟,在纳入串行化器的集成电路(IC)上节省了功率和面积(即,管芯大小或芯片大小)。另外,通过提供7:1串行化器,总线现在与(移动行业处理器接口)C-PHY标准兼容。

就此而言,图1是具有通过数据总线16链接的串行化器12和解串器14的通信系统10的简化框图。串行化器12在并行数据输入18处接收2N+1个比特的并行输入并在时钟输入20处接收时钟信号,其中N是整数。由此,串行化器12接收奇数个并行比特(例如,3、5、7等)。串行化器12在输出22处将单个比特流输出到数据总线16上。数据总线16上的串行数据在解串器14处的接收机输入24处被接收。解串器14还在时钟输入26处接收时钟信号并在输出28处输出2N+1个比特作为并行数据流。尽管本公开的各实施例适用于任何奇数个并行比特,但是7:1串行化器对支持具有七比特数据流的MIPI C-PHY协议是特别感兴趣的。

就此而言,图2解说了在并行数据输入32处接收七个并行比特(d_并行[0-6](d_parallel[0-6]))的7:1串行化器30。并行数据输入32由相应的寄存器33(0)-33(6)组成,每个比特一个寄存器。半速率时钟信号34在时钟输入36处被提供给串行化器30。半速率时钟信号34被提供给分频器38,在这种情形中,分频器38为3.5分频以提供分频时钟信号40。分频时钟信号40在相应的寄存器33(0)-33(6)的相应的分频时钟输入42(0)-42(6)处被提供给并行数据输入32。寄存器33(0)-33(6)的输出(din[0-6])被耦合到选择器44。

继续参照图2,在一示例性实施例中,选择器44由复用器(MUX)46(0)-46(1)组成,每个寄存器33一个复用器。在一替换实施例(未解说)中,MUX 46(0)-46(1)可以用开关来替代。MUX 46(0)接收din[0]和din[1]并选择性地将所选择的信号传递到移位寄存器48,如以下进一步解释的。MUX 46(1)类似地接收din[1]和din[0]并将所选择的信号传递到移位寄存器48。MUX 46(2)接收din[2]和din[3]并将所选择的信号传递到移位寄存器48。MUX 46(3)类似地接收din[3]和din[2]并将所选择的信号传递到移位寄存器48。MUX 46(4)接收din[4]和din[5]并将所选择的信号传递到移位寄存器48。MUX 46(5)类似地接收din[5]和din[4]并将所选择的信号传递到移位寄存器48。MUX 46(6)接收din[6]和零(0)并将所选择的信号传递到移位寄存器48。MUX 46由分频器38所生成的选择信号控制(注意,分频器38与各MUX 46之间的连接未示出以避免使图2不必要地杂乱)。

继续参照图2,移位寄存器48包括第一分支50和第二分支52以及反相器54。反相器54接收半速率时钟信号34并将经反相时钟信号56提供给第一分支50。第二分支52接收时钟信号34的无掺杂版本。第一分支50包括寄存器58(1)-58(4)。寄存器58(1)-58(4)接收经反相时钟信号56。寄存器58(4)从选择器44接收其数据信号(或da[6]或0)。寄存器58(1)-58(3)具有相关联的MUX 60(1)-60(3),其基于load_neg(负载_负)(也被称为load-)信号来在前一寄存器的输出或来自选择器44的信号之间进行选择。由此,例如,寄存器58(3)接收寄存器58(4)的输出或MUX 46(4)的输出(即,或da[4]或da[5])并生成传递给MUX 60(2)的输出。寄存器58(1)的输出通过两个反相器62、64到输出MUX 66。应领会,两个反相器62、64充当缓冲器并且是可任选的。load_neg信号的源在以下参照图3来讨论。

继续参照图2,第二分支52包括寄存器68(1)-68(4)。寄存器68接收半速率时钟信号34。寄存器68(4)从选择器44接收其数据信号(或da[6]或0)。寄存器68(1)-68(3)具有相关联的MUX 70(1)-70(3),其基于load_pos(负载_正)(也被称为load+)信号来在前一寄存器的输出或来自选择器44的信号之间进行选择。由此,例如,寄存器68(3)接收寄存器68(4)的输出或MUX 46(5)的输出(即,或da[4]或da[5])并生成传递给MUX 70(2)的输出。寄存器68(1)的输出通过两个反相器72、74到输出MUX 66。再次,这些反相器72、74充当缓冲器并且是可任选的。load_pos信号的源在以下参照图3来讨论。

继续参照图2,输出MUX 66以半速率时钟信号34的两倍的有效频率生成串行输出信号d_serial(d_串行),因为半速率时钟信号34的两个边沿被用来串行化输入比特。

分频器38还生成load_x和load_y信号,其被传递到图3中所解说的负载控制器76。负载控制器76包括接收load_x和load_y两者并基于选择信号在它们之间进行选择以生成load_neg(load-)信号的第一MUX 78。类似地,负载控制器76包括接收load_x和load_y两者(尽管在相对的输入处)并基于选择信号在它们之间选择以生成load_pos(load+)信号的第二MUX 80。load_neg和load_pos信号是提供给移位寄存器48的MUX 60、70的负载信号。

在实践中,串行化器30在两种模式中操作并基于来自分频器38的选择信号在它们之间交替。该两种模式在图4A和4B中解说。就此而言,图4A解说了第一模式,其中第一分支50的MUX 60从负载控制器76接收load_neg信号。同样,MUX 60从选择器44内的MUX 46接收奇数比特。相反,第二分支52的MUX 70从负载控制器76接收load_pos信号并从选择器44内的MUX 46接收偶数比特。零信号被发送到寄存器58(4)并且由此寄存器58(4)将零传递给MUX 60(3)。寄存器68(4)接收din[4]并将其传递给MUX 70(3)。

图4B中所解说的第二模式实质上反转第一模式,并且第一分支50的MUX 60接收偶数比特而第二分支52的MUX 70接收奇数比特。寄存器58(4)接收din[4]而寄存器68(4)接收零。再次,选择信号在两种模式之间有效地翻转移位寄存器48。

图5解说了示例性分频器90,其可被用作图2的分频器38。分频器90接收半速率时钟信号并将半速率时钟信号提供给第一N分频式分频器92并且将经反相半速率时钟信号提供给第二N分频式分频器94。半速率时钟信号被反相器96反相。N分频式分频器92、94将输出提供给MUX 98。MUX 98将输入提供给寄存器100。寄存器100由来自MUX 102的信号进行时钟定时。MUX 102接收半速率时钟信号和经反相半速率时钟信号并基于来自或(OR)门104的选择信号在它们之间进行选择。MUX 98的输出还提供给反相器106以形成N.5分频时钟信号108(例如,使用分频器38,即是3.5分频式分频时钟信号40)。寄存器100的输出被传递给环形计数器110和负载生成器112。环形计数器110的输出是传递给MUX 98的选择信号以及传递给OR门104的输入,OR门104生成用于串行化器的选择信号。负载生成器112还接收MUX 102的输出,尽管被反相器114反相。负载生成器112的输出是由寄存器116接收的load_x。寄存器116还接收MUX 102的输出并生成load_y。如以上所提及的,load_x和load_y被负载控制器76(图3)使用且选择信号被串行化器30(图2)和负载控制器76(图3)两者使用。

在如所解说的实现时,串行化器30可提供如图6中所解说的图表120上所示的信号。除了半速率时钟信号34和N.5分频信号(例如,3.5分频或分频时钟信号40)之外,还解说了由OR门104接收的各种选择信号以及贯穿串行化器30使用的选择信号。最后,解说了load_x和load_y。因为时间尺度是均匀的,所以各种信号如何因变于半速率时钟信号34而改变是显而易见的。

尽管以上讨论因7:1串行化器与MIPI C-PHY的实用性而专注于7:1串行化器,但是本公开并不被如此限定,并且在图7中解说了通用2N+1串行化器130。串行化器130包括具有寄存器133(1-(2N+1))的并行数据输入132。串行化器130在时钟输入136处接收半速率时钟信号134。寄存器133输出din[2N:0],其被提供给选择器144以及其中的MUX 142。MUX 142的输出被提供给移位寄存器148。移位寄存器148具有其中分别具有寄存器158(1-(N+1))和168(1-(N+1))的第一分支150和第二分支152。同样,第一分支150具有从选择器144接收信号的MUX 160(1-(N))且第二分支152具有从选择器144接收信号的MUX 170(1-(N))。反相器162、164、172、174非常类似于反相器62、64、72、74地被使用,因为它们是可任选的缓冲器。N.5分频式分频器138类似于3.5分频式分频器38来操作,且反相器154也将半速率时钟信号134反相以用于第一分支150。由此,除了元件的数量以外,串行化器130类似于串行化器30。

应领会,一旦提供了7:1或其他2N+1:1比率串行化器,还需要解串器。理论上,解串器只是反转串行化器。就此而言,图8解说了示例性2N+1解串器190。解串器190在接收机输入192处接收串行数据并使用反相器194、196来缓冲数据。同其他反相器一样,反相器194、196是可任选的。半速率时钟信号198抵达时钟输入200并被提供给反相器202和N.5分频式分频器204,分频器204可类似于分频器138(例如,如果分频器138是3.5分频,则分频器204也是3.5分频)。因为解串器190比相应的串行化器更简单,所以分频器204仅输出选择信号(即,不需要load_x和load_y)。解串器190还包括具有第一分支208和第二分支210的移位寄存器206。第一分支208从反相器202接收经反相时钟信号且第二分支210从时钟输入200接收无掺杂时钟信号。第一分支208具有多个寄存器212。第二分支210具有多个寄存器214。寄存器212、214生成相应的比特,其随后被传递给MUX 216,这些比特进而基于来自分频器204的选择信号来在寄存器218处生成并行比特。

与上述实施例结合,本公开提供了如图9中所解说的串行化和解串行化的过程220。过程220开始于在并行数据输入32处接收并行数据比特(框222)。将并行比特传递给选择器44(框224),其中这些并行比特基于选择信号来被MUX 46选择。将所选择的比特传递给在第一模式中使用半速率时钟的第一分支50和第二分支52的移位寄存器(框226)。选择信号改变,并且MUX 46选择不同的比特,将这些不同的比特传递给在第二模式中使用半速率时钟的第一分支50和第二分支52的移位寄存器(框228)。移位寄存器48在输出MUX 66处以全数据速率将第一分支50和第二分支52的输出组装成串行比特流(框230)并将所组装的流传递到数据总线上(框232)。在接收机处并且特别在接收机中的解串器处接收该数据,并且将该数据解串行化回到并行比特(框234)。

尽管具体构想了串行化器30和串行化器130,但存在使用半速率时钟来构建奇数比串行化器的其他方式。就此而言,图10解说了在副解串器242处初始地接收奇数个并行比特的串行化器240。副解串器242将奇数个并行比特扩大2倍,其随后被传递给副串行化器244。因为现在比特的数量是偶数,所以可以使用偶数比架构。半速率时钟信号246被提供给副串行化器244和N.5分频式分频器248。进一步分频的时钟信号249被提供给副解串器242。

根据本文中所公开的各实施例的奇数比串行化器和解串器可在基于处理器的任何设备中提供或集成到基于处理器的任何设备中。不作为限定的示例包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、以及便携式数字视频播放器。

就此而言,图11解说了使用本文所公开的串行化器和解串器的示例性实施例的可采用图1中所解说的通信系统10的基于处理器的系统250的示例。在该示例中,基于处理器的系统250包括一个或多个中央处理单元(CPU)252,其各自包括一个或多个处理器254。(诸)CPU 252可具有耦合到(诸)处理器254以用于对临时存储的数据快速访问的高速缓存存储器256。(诸)CPU 252被耦合到系统总线258(诸如通过串行化器30或串行化器130)。利用通信系统10的其他总线也可存在于基于处理器的系统250中。如众所周知的,(诸)CPU 252通过在系统总线258上交换地址、控制、和数据信息来与这些其他设备通信。例如,(诸)CPU 252可将总线事务请求传达到存储器控制器260。尽管未在图11中解说,但可提供多个总线,其各自具有其自己的串行化器和解串器。此外,在单个多路径总线内,可使用多个串行化器和解串器。

其它设备可连接到系统总线258。如图11中所解说的,作为示例,这些设备可包括存储器系统260、一个或多个输入设备262、一个或多个输出设备264、一个或多个网络接口设备266、以及一个或多个显示器控制器268。(诸)输入设备262可包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备264可包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备266可以是被配置成允许去往和来自网络270的数据交换的任何设备。网络270可以是任何类型的网络,包括但不限于:有线或无线网络、专用或公共网络、局域网(LAN)、广局域网(WLAN)和因特网。(诸)网络接口设备266可被配置成支持所期望的任何类型的通信协议。

(诸)CPU 252还可被配置成通过系统总线258访问(诸)显示器控制器268以控制发送给一个或多个显示器272的信息。(诸)显示器控制器268经由一个或多个视频处理器274向(诸)显示器272发送要显示的信息,视频处理器274将要显示的信息处理成适于(诸)显示器272的格式。(诸)显示器272可包括任何类型的显示器,包括但不限于:阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。

本领域技术人员将进一步领会,结合本文所公开的实施例描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文中描述的设备可被用在任何电路、硬件组件、集成电路(IC)、或IC芯片中。本文所公开的存储器可以是任何类型和大小的存储器,且可被配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。

结合本文所公开的实施例描述的各种解说性逻辑块、模块、和电路可用设计成执行本文所描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件,或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。

本文所公开的各实施例可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。

还注意到,描述本文任何示例性实施例中描述的操作步骤是为了提供示例和讨论。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在多个不同步骤中执行。另外,可组合示例性实施例中讨论的一个或多个操作步骤。将理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位(比特)、码元、以及码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1