用于自动偏移补偿的方法和装置与流程

文档序号:13081363阅读:362来源:国知局
用于自动偏移补偿的方法和装置与流程

本公开涉及一种用于自动偏移补偿的方法和装置,尤其涉及在mipid-phy接收系统中的数据信号和时钟信号之间的自动偏移补偿的方法和装置。



背景技术:

近年来,快速提高的移动设备的性能和各种功能和性能的组件的融合使得适当的接口之间需要合作。mipi是“移动行业处理器接口”的缩写,并被建立以定义构成移动设备的各个组件之间的接口。

在mipi中,串行方式主要用于移动设备的内部设备之间的接口。为了简化使用串行方式的硬件配置并启用高速接口,使用差分对方法。在mipi中使用的差分对有两种类型的串行接口,是:d-phy和d-phy。d-phy主要用于相机或lcd显示屏,m-phy用于如wifi的高速接口。

图1是用于说明mipid-phy中的信号模式的示意图,图2是示出mipid-phy的模拟phy块的示意图。

如图1所示,在mipid-phy规范中,一种单一的物理线路被用于lp(低功率)模式和hs(高速数据)模式的两种模式的组合,并且发送信号的同时模式发生改变。

在mipid-phy规范中,lp(低功率)段和hs(高速数据)段被精确地分割,并且在mipid-phy中,否则将混合在mipid-phy中的信号被分别分离为lp信号和hs信号,如图2所示。

然而,存在如下问题:随着mipi传输速率的增加,每个数据信号线的时钟和传输延迟对于每个信号而言不是恒定的,这取决于传输端处的环境,诸如线路长度、阻抗匹配等等。因此,在接收端接收mipi数据时存在接收不正确的数据的问题。

在mipid-phy规范中,lp信号是慢段,其中不需要偏移补偿,使得能够根据lp信号的状态来准确地检查在hs段中发送的分组数据的开始和结束。另一方面,发送实际分组数据的hs端是发送高速分组数据的地方,因此在时钟信号和每个数据信号之间存在偏移差将使得不能接收普通分组数据。因此,偏移校正是必不可少的。

通常,mipid-phy接收系统采用手动补偿发送端或接收端的每个信号的偏移的方法,以补偿数据信号与时钟信号之间的偏移。

为了解决高速传输中的这种偏移问题,mipid-phy1.2规范之后的mipi系统增加了功能,其中在发送端的每个mipi分组中都包含用于去偏移目的的模式数据,以便接收到对应模式数据的接收端利用评价过程实时自动补偿偏移。

然而,对于不支持mipid-phy1.2的去偏移功能的mipi系统,无法补偿偏移,或者必须手动补偿,这是不方便的。另一方面,调整和补偿发送端的偏移的方法以及在接收端每次手动调整时钟信号或数据信号的偏移的方法也具有缺点,因为可能的异常必须按照根据每个发送端定义的偏移步骤的数量一次调整一个步骤的处理来检查接收的数据,这需要相当长的时间,直到收到正常的数据。



技术实现要素:

技术问题

因此,本公开的目的是提供一种用于在mipid-phy接收系统中自动补偿数据信号和时钟信号之间的偏移的方法和装置。

解决问题的技术方案

根据用于解决上述技术问题的本公开的实施例,用于偏移延迟补偿的装置可以包括:偏移补偿部,其用于接收高速数据信号并输出具有彼此不同延迟时间的多个延迟数据信号;起始码检测部,其用于从多个延迟数据信号中检测起始码;以及控制部,其用于根据信号接收质量来确定偏移延迟时间,其中信号接收质量基于通常针对每个不同的延迟时间正常检测到的起始码的数量来确定。

该装置还可以包括分组开始检测部,其用于接收从mipid-phy分离的lp(低功率)信号并对接收到的分组的数量进行计数。

分组开始检测部可以接收从mipid-phy分离的lp信号,并且通过基于lp信号的状态检测分组的开始位置,来对于设置的质量评价时间中的每一个接收的分组的数量进行计数,并且可以通过使用正常检测的起始码的数量和每个质量评价时间接收并且计数的接收分组的数量来获得信号接收质量。

偏移调整部包括多个偏移延迟模块,其用于将输入信号延迟δt并输出,并且多个偏移延迟模块串联连接。在多个偏移延迟模块中,第n个偏移延迟模块可以将接收到的高速数据信号延迟nδt并输出。

该装置还可以包括:信号选择部,其用于根据偏移控制信号选择从偏移调整部输出的多个延迟数据信号中的一个,并输出所选择的信号。

该装置还包括串行-并行转换部,其用于将从信号选择部输出的作为串行数据的延迟数据信号转换成以字节为单位的并行数据,并输出转换的信号。

该装置还包括多个串行-并行转换器,其用于分别从偏移调整部接收作为串行数据输出的多个延迟数据信号作为输入,并将所输入的信号转换为以字节为单位的并行数据并输出经转换的信号。

起始码检测部包括多个起始码计数器,其用于分别输入从多个串行-并行转换部输出的以字节为单元的并行数据,并检测起始代码。

该装置还包括信号选择部,其用于根据偏移控制信号选择从所述多个串行-并行转换部输出的数据信号中的一个,并输出所选择的信号。

控制部可以对于所确定的偏移延迟时间获得的分组数据执行ecc(纠错码)或crc(循环冗余校验)验证。

为了实现上述技术目的,提供了根据本公开的实施例的用于偏移延迟补偿的方法,其可以包括:接收高速数据信号并输出具有彼此不同延迟时间的多个延迟数据信号;从多个延迟数据信号中检测起始码;以及根据信号接收质量来确定偏移延迟时间,其中信号接收质量针对每个不同延迟时间的正常检测到的起始码的数量来确定。

该方法还可以包括接收从mipid-hy分离的lp信号并对接收到的分组的数目进行计数。

从多个延迟数据信号检测起始码可以包括执行(a)从多个延迟数据信号中选择信号并输出所选择的信号,其中所选择的信号是根据偏移控制信号延迟nδt的高速数据信号;(b)将输出的延迟了nδt的串行数据信号转换成并行数据,以及(c)接收并行数据并检测起始码,其中对于n从0到n(n是自然数)针对预定评价时间顺次重复步骤(a)、(b)和(c)。

从多个延迟数据信号中检测起始码可以包括在预定时间内重复执行以下步骤:接收多个延迟数据信号并将串行数据信号转换为并行数据信号;从转换的并行数据信号中检测起始码;并且增加与检测起始码的并行数据信号相对应的延迟时间的检测起始码的数量。

该方法还可以包括对于确定的偏移延迟时间获得的分组数据执行ecc(纠错码)或crc(循环冗余校验)验证。

效果

根据本公开文本,能够自动补偿mipid-phy接收系统中的数据信号和时钟信号之间的偏移。

附图说明

图1是用于说明mipid-phy中的信号模式的示意图。

图2是示出mipid-phy的模拟phy块的图。

图3是用于说明mipi分组格式的示意图。

图4是表示本公开文本的实施方式的自动偏移补偿装置的结构的框图。

图5是用于说明根据本公开文本的实施例的根据延迟时间顺序地获得信号接收质量的自动偏移补偿装置的框图。

图6是用于说明图5中所示的自动偏移补偿装置的操作的流程图。

图7是用于说明根据本公开文本的另一实施例的用于相对于每个延迟时间同时获得信号接收质量的自动偏移补偿装置的框图。

图8是用于说明图7中所示的自动偏移补偿装置的操作的流程图。

具体实施方式

此后,将参照附图详细描述本公开文本的实施例,使得本领域技术人员可以容易地执行本公开文本。

图3是用于说明mipi分组格式的示意图。

参考图3,mipi信号具有lps(低功率状态)和发送实际分组数据的lps之间的hs段。mipi分组可以分为两种:一个是由32位分组报头、分组数据、16位分组页脚组成的类型;另一个是由32位短分组组成的类型。在两种分组类型中,在hs段中具有起始码数据值的sot(发送开始)始终位于分组的起始位置,并以相同的数据值发送。因此,可以预测在相同位置已知的起始码数据值。

此外,基于lp段的状态能够准确地计数所发送的分组的数量。如图1所示,发送的mipi信号是与hs信号组合的lp信号的形式。如图2中所示,在mipid-phy的模拟phy中,mipi信号dp和dn被接收并分离为lp数据信号(lp_datap和lp_datan)和高速(hs)数据信号(hs_data)。

hs_data信号具有双数据速率传输方法,其在mipi时钟的一个时钟发送两个数据,其中mipi时钟在几百mhz或更高的频率下操作。

lp数据信号是以几mhz或更小的频率工作的信号,在图1的信号波形中,lp信号的状态被简单显示为lp-11、lp-01和lp-00重复的三种状态。

lp-11是lp段,即lp-11是不发送hs数据的段,lp_datap和lp_datan信号分别为“1”(高电平)。这也被称为停止(stop)状态。lp-01是从lp段通知hs段的条目,且lp_datap为“0”(低电平),且lp_datan为“1”(高电平)的状态。

lp-00是通知hs数据发送部的状态,且lp_datap和lp_datan信号分别为“0”(低电平)。在本节中,在发送一个数据分组之后,状态改变为lp-11(即,停止状态),使得可以准确地确定在特定时间内已经接收到多少个数据分组。

如上所述,根据本公开的自动偏移补偿装置可以通过利用基于mipi信号中位于分组的起始位置的lp段的状态和sot(起始码)能够被精确计数的传输分组的数量来自动补偿偏移。

下面,将更详细地描述根据本公开的自动偏移补偿装置。

图4是表示本公开的实施方式的自动偏移补偿装置的结构的框图。

参考图4,自动偏移补偿装置可以包括偏移调整部110、串行-并行转换部120、起始码计数部130、控制部140、低速信号接收部150、分组开始检测部160和分组计数部170。

对于每个延迟步骤,偏移调整部110可以输出从彼此具有不同的延迟时间的mipi信号分离的高速数据信号hs_data。因此,偏移调整部110可以包括用于将输入信号延迟预定时间δt并输出延迟信号的多个偏移延迟模块(未示出)。多个偏移延迟模块可以串联连接。高速数据信号hs_data顺序穿过多个偏移延迟模块,并且每当其经过偏移延迟模块时通过将延迟时间增加δt来输出。

例如,当偏移调整部110由串联连接的n个偏移延迟模块组成时,偏移调整部110接收高速数据信号hs_data,并延迟该信号,使得对于每个延迟步骤n(n=0,1,2,n-1,n),具有彼此不同延迟时间的(n+1)个延迟数据信号分别以延迟时间‘0',‘δt',‘2δt',...,‘(n-1)δt',和‘nδt’而输出。

串行-并行转换部120接收作为串行数据输入的延迟数据信号,将延迟数据信号以字节为单位转换为并行数据,并输出已转换的数据。由于mipi信号作为1位信号被串行发送,所以需要以字节(即8位)的单元对于数据进行处理。因此,根据本公开的串行-并行转换部120顺序地接收1位高速数据信号hs_data,并将其转换为1字节并行数据。

起始码计数部130可以从串行-并行转换部120输出的延迟数据信号中检测出起始码。起始码计数部130可以对于延迟时间“0”,“δt”,“2δt”,...,“(n-1)δt”,“nδt”中的每一个的检测起始码的数量进行计数。

例如,对于通常检测起始码的延迟数据信号的延迟时间(或对于与该延迟时间的延迟步骤),当从包括1字节单位并行数据的分组的报头部正常检测到与十六进制数“b8”相对应的起始码时,起始码计数部130增加检测起始码的数量。当然,当起始码值与系统中的“b8”不同地进行定义时,可以检测出这种不同定义的起始码值。当没有检测到起始码或者在除了分组的开始位置之外的部分中检测到起始码时,将起始码检测视为失败,并且不计数检测起始码的数量。

低速信号接收部150接收从mipi信号分离的低速数据信号(lp_datap和lp_datan),并将其传送到分组开始检测部160。

分组开始检测部160可以分析重复lp-11、lp-01和lp-00的低速数据信号(lp_datap和lp_datan)的三种状态之间的特定状态,并将分析出的状态发送到分组计数部170。

每当从分组开始检测部160传送三个状态lp-11、lp-01和lp-00的特定状态时,分组计数部170可以对于接收到的分组的数量进行计数并将其传送到控制部140。

例如,每当在低速数据信号中检测到lp-01状态时,分组开始检测部160可以将lp-01状态传送到分组计数部170,使得分组计数部170计数收到分组的数量。当然,另一个实施例也是可能的,其中在每次检测到lp-11或lp-00状态时都对接收到的分组的数量进行计数。

控制部140可以基于通过将检测起始码(s)的数量除以每个延迟步骤的接收分组数(p)而获得的起始码接收率(s/p)来评价信号接收质量。此外,控制部140可以基于与具有最高接收率的延迟步骤相对应的延迟时间(即,最佳信号接收质量)来确定偏移延迟时间。

或者,控制部140可以比较每个延迟步骤的检测起始码的数量,并且基于与检测到最大数量的起始码的延迟步骤相对应的延迟时间来确定偏移延迟时间。当然,在这种情况下,对于每个延迟步骤,在接收到的相同数量的分组时,比较检测起始码的计数数量。

根据本公开的实施例,通过使用纠错码(ecc)或循环冗余校验(crc)评价接收到的分组中存在或不存在错误,以及通过应用使用检测起始码的数量而确定的偏移延迟时间,也可以重新验证先前基于检测起始码的数量所确定的偏移延迟时间。

控制部140可以通过以最终确定的偏移延迟时间设置偏移调整部110来自动执行偏移补偿。

可以设想两种方法用于在自动偏移补偿装置中获得每个延迟步骤的信号接收质量的方法。

第一种方法是顺序获得每个延迟步骤的信号接收质量,第二种方法是对于每个延迟步骤同时获得信号接收质量。

图5是用于说明根据本公开的实施例的根据延迟时间顺序地获得信号接收质量的自动偏移补偿装置的框图。

参考图5,除了图4所示的组件之外,自动偏移补偿装置还可以包括信号选择部115。

偏移调整部110可以包括多个偏移延迟模块111_1,111_2,...,111_n-1和111_n。多个偏移延迟模块111_1,111_2,...,111_n-1和111_n可以串联连接。

除了没有延迟时间立即输出高速数据信号hs_data之外,偏移调整部110还输出高速数据信号hs_data由于顺序通过多个偏移延迟模块111_1,111_2,...,111_n-1和111_n而延迟的延迟数据信号。在该示例中,延迟数据信号还包括高速数据信号hs_data,其是立即输出而没有延迟时间'0'(即没有延迟时间)的信号。

信号选择部115选择从偏移调整部110输出的多个延迟数据信号中的一个。更具体地,信号选择部115选择与从控制部140输出的偏移控制信号对应的延迟步骤的延迟数据信号,并输出所选择的信号。例如,当输入与延迟步骤“0”相对应的偏移控制信号时,信号选择部115选择高速数据信号hs_data并输出所选择的信号。当输入与延迟步骤“n”相对应的偏移控制信号时,信号选择部115可以选择与高速数据信号hs_data相比延迟nδt从偏移延迟模块111_n输出的信号,并输出所选信号。

此后,将参考图6详细描述图5所示的自动偏移补偿装置的操作。

图6是用于说明图5中所示的自动偏移补偿装置的操作的流程图。

首先,在s605中,控制部140将自动偏移补偿装置设置为初始状态。接收分组数(p)、检测起始码数(s)和延迟步骤设置值(d)可以分别设置为“0”。同时,自动倾斜补偿装置可以具有针对每个延迟步骤预先设置的接收质量评价时间。在另一实施例中,可以设置接收质量评价分组的数量而不是接收质量评价时间。

当自动偏移补偿装置在s610接收到mipi信号时,分组计数部170在s615中基于从mipi信号分离的lp信号的状态对于接收到的分组数量进行计数。当在s615处lp信号状态为“lp-01”时,接收到的分组的数量(p)可以增加“1”。

同时,当偏移调整部110接收到从mipi信号分离的高速数据信号hs_data并输出彼此具有不同延迟时间的多个延迟数据信号(“0”,“δt”,“2δt”,...,“(n-1)δt”,“nδt”)时,信号选择部115选择具有与当前设置的延迟步骤设置值d对应的延迟时间的延迟数据信号,并在s617处输出所选择的信号。由于延迟步骤设置值d初始设置为“0”,所以选择并输出高速数据信号hs_data,每当延迟步骤设置值d增加1时,选择并输出与其对应的延迟数据信号。

接着,在s620处,串行-并行转换部120将从信号选择部115输出的延迟数据信号转换为并行数据。

在s625中,起始码计数部130然后从信号选择部115输出的延迟数据信号中检测起始码。

当在s625中正常地检测到起始码时(是),在s630起始码计数部130将起始码计数s增加“1”。

接下来,在s635,当lp信号的状态变为“lp-11”时,在s640控制部140确定是否已经经过每个延迟步骤的评价时间。在s640中,当没有经过延迟步骤的相应评价时间时(否),重复s610至s635的操作。例如,当评价时间设置为10μs时,对于相应的延迟步骤,检测起始码的数量和接收的分组的数量被计数10μs。每个延迟步骤的评价时间应被设置为能够接收到至少一个分组的持续时间。如果每个延迟步骤的评价时间设置得更长,则针对更多接收的分组检测起始码,因此可靠性变高,但评价时间变长。如果将每个延迟步骤的评价时间设置得较短,则存在可靠性降低的问题,而评价所需的总时间变短。因此,可以根据需要适当地设置每个延迟步骤的评价时间。同时,如下的实施例也是可行的:对于相应的延迟步骤计数检测起始码的数量直至接收到预定数量的分组。例如,当评价分组的数量被设置为10时,可以重复s610至s635的操作,直到对应的延迟步骤的接收分组数为10。

同时,在s640中,当已经过去相应的延迟步骤的评价时间时(是),在s645,控制部140可以针对相应的延迟步骤基于检测起始码的数量与接收到的分组数量的比率来计算信号接收质量评价值。

接下来,在s650中,当未完成整个延迟步骤的质量评价时(否),控制部140将延迟步骤设置值d增加“1”,并且在s655中,将检测起始码的数量(s)和接收到的分组数量(p)返回到“0”。

当通过重复s610至s655的操作在s650完成整个延迟步骤的质量评价时(是),在s660中,控制部140根据检测起始码的数量与接收到的分组的数量的比率来确定每个延迟步骤的通过信号接收质量评价的偏移延迟时间。

接下来,在s665,还可以通过二次评价基于在s660使用ecc(纠错码)或crc(循环冗余校验)等获得的分组数据中是否存在错误,来重新验证先前基于检测起始码的数量所确定的偏移延迟时间。

最后,在s670处,控制部140将通过ecc和/或crc等完成错误评价的偏移延迟时间应用于偏移补偿部110来接收mipi分组数据。

图7是用于说明根据本公开的另一实施例的用于相对于每个延迟时间同时获得信号接收质量的自动偏移补偿装置的框图。

参考图7所示,除了图4所示的部件之外,自动偏移补偿装置还可以包括信号选择部115。

偏移调整部110可以具有与图5所示的相同的配置。

串行-并行转换部120可以包括并行布置的多个并行到串行转换部121_0,121_1,121_2,...,121_n-1和121_n。

多个串行-并行转换部121_0,121_1,121_2,...,121_n-1和121_n被输入高速数据信号hs_data以及它通过多个偏移延迟模块111_1,111_2,...,111_n-1,111_n时延迟时间增加δt的延迟数据信号,并将接收到的信号转换为并行数据,并输出经转换的数据。

起始码计数部130可以包括并行布置的多个起始码计数器131_0,131_1,131_2,...,131_n-1,131_n。

当输出在多个串行-并行转换部121_0,121_1,121_2,...,121_n-1和121_n中被转换为并行数据的延迟数据信号时,多个起始码计数器131_0,131_1,131_2,...,131_n-1和131_n检测并计数来自延迟数据信号的起始码。

信号选择部115从控制部140接收偏移控制信号,并输出根据偏移延迟时间进行延迟的高速数据信号的偏移补偿数据信号。

图8是用于说明图7中所示的自动偏移补偿装置的操作的流程图。

参考图8所示,首先,在s805,控制部140将自动偏移补偿装置设置为初始状态。接收到的分组的数量(p)和每个延迟步骤的检测起始码的数量(sn)可以分别设置为“0”。同时,自动偏移补偿装置可以具有预先设置的接收质量评价时间。在另一实施例中,可以设置接收质量评价分组的数量而不是接收质量评价时间。

在s810中,当自动偏移补偿装置接收到mipi信号时,在s815,分组计数部170基于从mipi信号分离的lp信号的状态对于接收分组的数量进行计数。在s815处,当lp信号状态为“lp-01”时,接收到的分组的数量(p)可以增加“1”。

同时,偏移调整部110接收从mipi信号分离的高速数据信号hs_data,并在817,输出具有彼此不同延迟时间的多个延迟数据信号(“0”,“δt”,“2δt”,...,“(n-1)δt”,“nδt”)。

接着,多个串行-并行转换部121_0,121_1,121_2,...,121_n-1和121_n分别在s820将从偏移调整部110输出的多个延迟数据信号转换为并行数据。

在s825,对于每个延迟步骤,多个起始码计数器131_0,131_1,131_2,...,131_n-1和131_n分别检测从多个串行-并行转换部121_0,121_1,121_2,1输出的多个延迟数据信号的起始码。

在s830,当从与特定延迟步骤对应的延迟数据信号正常地检测到起始码时,与相应的延迟步骤对应的起始码计数器131_0,131_1,131_2,...,131_n-1,131_n将起始码计数增加'1',。

接着,在s835,当lp信号的状态变为“lp-11”时,在s640控制部140确定是否已经经过评价时间。在s840中,当没有经过评价时间时(否),重复s810至s835的操作。例如,当评价时间设置为10μs时,将s810至s835的操作重复10μs,其中对于每个延迟步骤对于检测起始码的数量进行计数。同时,在另一实施例中,可以对于每个延迟步骤计数检测起始码的数量直至接收到预定数量的分组。例如,当评价分组的数量被设置为10时,可以重复s810至s835的操作,直到接收分组数为10。

同时,在840,当经过评价时间时(是),在s845中控制部140根据每个延迟步骤的检测起始码的数量来确定通过信号接收质量评价的偏移延迟时间。

接着,在s850,还可以通过二次评价基于在s845使用ecc(纠错码)或crc(循环冗余校验)等获得的分组数据中是否存在错误,来重新验证先前基于检测起始码的数量所确定的偏移延迟时间。

最后,在s855处,将通过ecc和/或crc等完成错误评价的偏移延迟时间应用于偏移补偿部110,控制部140接收mipi分组数据。

本公开的实施例包括具有执行各种计算机实现的操作的程序指令的计算机可读介质。该介质记录用于执行上述偏移自动补偿方法的程序。介质可以单独地或组合地包括程序指令、数据文件、数据结构等。这种介质的实例包括:诸如硬盘、软盘和磁带的磁介质,诸如cd和dvd的光学记录介质,磁光介质和用于存储和执行程序指令的硬件设备,例如rom、ram、闪速存储器等。此外,这种介质可以是诸如光学或金属线、波导等的传输介质,包括传输用于指定程序指令、数据结构等的信号的载波。程序指令的示例不仅包括诸如编译器生成的机器语言代码,还包括可由使用解释器的计算机执行的高级语言代码等。

虽然已经参照本发明的示例性实施例具体示出和描述了本发明,但是应当理解,本发明不限于所公开的实施例,而是旨在覆盖包括在所附权利要求的精神和范围内的各种修改和等同布置。

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