串行数据解析方法和装置制造方法

文档序号:6549913阅读:174来源:国知局
串行数据解析方法和装置制造方法
【专利摘要】本发明公开了一种串行数据解析方法和装置,所述串行数据具有预定的帧长度,所述方法包括:获取串行数据中相邻同步帧头的最长连续电平之间或包结束标识之间的时钟脉冲数量;根据本地时钟频率、所述预定的帧长度和所述时钟脉冲数量获取所述串行数据的数据速率。通过寻找相邻同步帧头或包结束标识之间的时钟脉冲数量,根据所述时钟脉冲数量和本地时钟频率确定串行数据的数据速率。由此,可以提高解析速度,精确度高。
【专利说明】串行数据解析方法和装置
【技术领域】
[0001]本发明涉及数据传输技术,具体涉及一种串行数据解析方法和装置。
【背景技术】
[0002]串行通信(SerialCommunication)是指在计算机总线或其他数据通道上,每次传输一个位数据,并连续进行以上单次过程的通信方式。串行数据指基于串行通信协议传输的数据。
[0003]串行数据为实现发送端与接收端的时钟同步,通常具有固定的若干数据速率,并在编码时加入时钟信息或同步序列。例如,S0NY/PHLIPS数字接口格式(S0NY/PHLIPSDigital Interface Format, SPDIF)协议规定了 几种常用采样率,如 192k/96k/48k、176.4k/88.2k/44.1k,以及其他几种不常用采样率,不同的采样率对应不同的数据速率。
[0004]在串行数据传输中,接收端需要对串行数据解析以获得其数据速率和/或采样率。现有的串行数据解析方法通常采用锁相环硬件解析,通过调整锁相环频率遍历串行数据可能的数据速率和/或采样率,锁相环在与数据速率接近时锁定,由此可以解析获得串行数据的数据速率。锁相环的输出信号可以作为接收端接收串行数据的时钟信号。
[0005]但是,硬件解析方法复杂度高,成本较贵。而且,在可能的数据速率和采样率较多时,解析速度慢。

【发明内容】

[0006]有鉴于此,提供一种串行数据解析方法和装置,解析速度快,成本低。
[0007]第一方面,提供一种串行数据解析方法,所述串行数据具有预定的帧长度,包括:
[0008]获取串行数据中相邻同步帧头的最长连续电平之间或包结束标识之间的实际时钟脉冲数量;
[0009]根据接收端本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率和/或采样率。
[0010]优选地,根据本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率包括根据如下公式计算所述数据速率:
[0011]数据速率=本地时钟频率*预定的帧长度/实际时钟脉冲数量。
[0012]优选地,根据本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的采样率包括根据如下公式计算所述采样率:
[0013]采样率=本地时钟频率/(实际时钟脉冲数量*编码数据与原始数据比例)。
[0014]优选地,所述串行数据具有有限个可能的数据速率和采样率;
[0015]所述根据本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率和/或采样率包括:
[0016]根据所述实际时钟脉冲数量获取对应的标准脉冲数量,每个所述标准脉冲数量对应于多个实际时钟脉冲数量;[0017]根据所述标准脉冲数量查询对应的串行数据数据速率和/或采样率;
[0018]所述标准脉冲数量与所述数据速率和/或采样率的对应关系根据所述本地时钟频率、所述预定的帧长度和串行数据的可能的数据速率和/或采样率预先计算获得。
[0019]优选地,每个所述标准脉冲数量对应于所有位于所述标准脉冲数量误差区间内的实际时钟脉冲数量。
[0020]优选地,获取串行数据相邻同步帧头的最长连续电平之间的实际时钟脉冲数量包括;
[0021]获取串行数据中最长连续电平长度;
[0022]根据所述最长连续电平长度在串行数据中查找第一最长连续电平;
[0023]查找与所述第一最长连续电平相邻的第二最长连续电平;
[0024]将所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
[0025]优选地,获取串行数据相邻同步帧头的最长连续电平之间的实际时钟脉冲数量包括:
[0026]获取串行数据中最长连续电平长度;
[0027]根据所述最长连续电平长度在串行数据中查找第一最长连续电平;
[0028]查找与所述第一最长连续电平相邻的第二最长连续电平;
[0029]在所述第一最长连续电平与所述第二最长连续电平的时钟脉冲数量大于预定阈值时,将所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量;
[0030]在所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量小于等于预定阈值时,查找与所述第二最长连续电平相邻的第三最长连续电平,将所述第一最长连续电平结束至所述第三最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
[0031]优选地,所述方法还包括:
[0032]在初次接收到所述串行数据或串行数据解析失败时,触发串行数据解析。
[0033]优选地,所述方法还包括:
[0034]根据所述数据速率和/或采样率以及本地时钟信号对所述串行数据采样,解析获得串行数据的比特位。
[0035]第二方面,提供一种串行数据解析装置,所述串行数据具有预定的帧长度,包括:
[0036]时钟脉冲数量获取单元,用于获取串行数据中相邻同步帧头的结束位之间或包结束标识之间的实际时钟脉冲数量;
[0037]属性获取单元,用于根据接收端本地时钟频率、预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率和/或采样率。
[0038]优选地,所述属性获取单元根据如下公式计算所述数据速率:
[0039]数据速率=本地时钟频率*帧长度/实际时钟脉冲数量。
[0040]优选地,所述属性获取单元根据如下公式计算所述采样率:
[0041]采样率=本地时钟频率/(实际时钟脉冲数量*编码数据与原始数据比例)。
[0042]优选地,所述串行数据具有有限个可能的数据速率和采样率;[0043]所述属性获取单元包括:
[0044]标准脉冲数量获取子单元,用于根据所述实际时钟脉冲数量获取对应的标准脉冲数量,每个所述标准脉冲数量对应于多个实际时钟脉冲数量;
[0045]查询子单元,用于根据所述标准脉冲数量查询对应的串行数据数据速率和/或采样率;
[0046]其中,所述标准脉冲数量与所述数据速率和/或采样率的对应关系基于本地时钟频率、预定的帧长度和串行数据可能的数据速率和/或采样率预先计算获得。
[0047]优选地,每个所述标准脉冲数量对应于所有位于所述标准脉冲数量误差区间内的实际时钟脉冲数量。
[0048]优选地,所述时钟脉冲数量获取单元包括:
[0049]最长连续电平长度获取子单元,用于获取串行数据中最长连续电平长度;
[0050]第一最长连续电平查找子单元,用于根据所述最长连续电平长度在串行数据中查找第一最长连续电平;
[0051]第二最长连续电平查找子单元,用于查找与所述第一最长连续电平相邻的第二最长连续电平;
[0052]时钟脉冲数量计算子单元,用于将所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
[0053]优选地,所述时钟脉冲数量获取单元包括:
[0054]最长连续电平长度获取子单元,用于获取串行数据中最长连续电平长度;
[0055]第一最长连续电平查找子单元,用于根据所述最长连续电平长度在串行数据中查找第一最长连续电平;
[0056]第二最长连续电平查找子单元,用于查找与所述第一最长连续电平相邻的第二最长连续电平;
[0057]第一时钟脉冲数量计算子单元,用于在所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量大于预定阈值时,所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量;
[0058]第二时钟脉冲数量计算子单元,用于在所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量小于等于预定阈值时,查找与所述第二最长连续电平相邻的第三最长连续电平,将所述第一最长连续电平结束至所述第三最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
[0059]优选地,所述装置还包括触发单元,用于在初次接收到所述串行数据或串行数据解析失败时,触发串行数据解析。
[0060]优选地,所述装置还包括采样解析单元,用于根据所述数据速率和/或采样率以及本地时钟信号对所述串行数据采样,解析获得串行数据的比特位。
[0061]通过寻找相邻同步帧头的最长连续电平或包结束标识之间的时钟脉冲数量,根据所述时钟脉冲数量和本地时钟频率确定串行数据的数据速率和/或采样率。由此,可以提高解析速度,精确度高。【专利附图】

【附图说明】
[0062]通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
[0063]图1为SroiF数据采用双相符号编码(BMC)的编码数据示意图;
[0064]图2为根据本发明第一实施例的串行数据解析方法的流程图;
[0065]图3为根据本发明第一实施例一优选方案的流程图;
[0066]图4A为根据本发明第一实施例一优选方案的流程图;
[0067]图4B为根据本发明的一个示例的SroiF数据及对应的时钟脉冲;
[0068]图5为根据本发明第二实施例的串行数据解析方法的流程图;
[0069]图6为根据本发明第三实施例的串行数据解析装置的框图。
【具体实施方式】
[0070]以下将参照附图更详细地描述本发明的各种实施例。在各个附图中,相同的元件采用相同或类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。
[0071]为了方便数据同步,串行数据通常会为传输的帧或子帧设置同步帧头,以表示帧或子帧开始的位置,这类串行数据通常均具有预定的帧长度(为了描述方便,在为子帧设置同步帧头的情形中,帧长度指子帧长度)。例如,而在SPDIF协议中,其具有三种不同的同步帧头,其按照如下的表1设置。
[0072]
【权利要求】
1.一种串行数据解析方法,所述串行数据具有预定的帧长度,其特征在于,包括: 获取串行数据中相邻同步帧头的最长连续电平之间或包结束标识之间的实际时钟脉冲数量; 根据接收端本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率和/或 采样率。
2.根据权利要求1所述的串行数据解析方法,其特征在于,根据本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率包括根据如下公式计算所述数据速率: 数据速率=本地时钟频率*预定的帧长度/实际时钟脉冲数量。
3.根据权利要求1所述的串行数据解析方法,其特征在于,根据本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的采样率包括根据如下公式计算所述采样率: 采样率=本地时钟频率/(实际时钟脉冲数量*编码数据与原始数据比例)。
4.根据权利要求1所述的串行数据解析方法,其特征在于,所述串行数据具有有限个可能的数据速率和采样率; 所述根据本地时钟频率、所述预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率和/或采样率包括: 根据所述实际时钟脉冲数量获取对应的标准脉冲数量,每个所述标准脉冲数量对应于多个实际时钟脉冲数量; 根据所述标准脉冲数量查询对应的串行数据数据速率和/或采样率; 所述标准脉冲数量与所述数据速率和/或采样率的对应关系根据所述本地时钟频率、所述预定的帧长度和串行数据的可能的数据速率和/或采样率预先计算获得。
5.根据权利要求4所述的串行数据解析方法,其特征在于,每个所述标准脉冲数量对应于所有位于所述标准脉冲数量误差区间内的实际时钟脉冲数量。
6.根据权利要求1所述的串行数据解析方法,其特征在于,获取串行数据相邻同步帧头的最长连续电平之间的实际时钟脉冲数量包括; 获取串行数据中最长连续电平长度; 根据所述最长连续电平长度在串行数据中查找第一最长连续电平; 查找与所述第一最长连续电平相邻的第二最长连续电平; 将所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
7.根据权利要求1所述的串行数据解析方法,其特征在于,获取串行数据相邻同步帧头的最长连续电平之间的实际时钟脉冲数量包括: 获取串行数据中最长连续电平长度; 根据所述最长连续电平长度在串行数据中查找第一最长连续电平; 查找与所述第一最长连续电平相邻的第二最长连续电平; 在所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量大于预定阈值时,将所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量;在所述第一最长连续电平与所述第二最长连续电平的时钟脉冲数量小于等于预定阈值时,查找与所述第二最长连续电平相邻的第三最长连续电平,将所述第一最长连续电平结束至所述第三最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
8.根据权利要求1所述的串行数据解析方法,其特征在于,还包括: 在初次接收到所述串行数据或串行数据解析失败时,触发串行数据解析。
9.根据权利要求1所述的串行数据解析方法,其特征在于,还包括: 根据所述数据速率和/或采样率以及本地时钟信号对所述串行数据采样,解析获得串行数据的比特位。
10.一种串行数据解析装置,所述串行数据具有预定的帧长度,其特征在于,包括: 时钟脉冲数量获取单元,用于获取串行数据中相邻同步帧头的结束位之间或包结束标识之间的实际时钟脉冲数量; 属性获取单元,用于根据接收端本地时钟频率、预定的帧长度和所述实际时钟脉冲数量获取所述串行数据的数据速率和/或采样率。
11.根据权利要求10所述的串行数据解析装置,其特征在于,所述属性获取单元根据如下公式计算所述数据速率: 数据速率=本地时钟频 率*帧长度/实际时钟脉冲数量。
12.根据权利要求10所述的串行数据解析装置,其特征在于,所述属性获取单元根据如下公式计算所述采样率: 采样率=本地时钟频率/(实际时钟脉冲数量*编码数据与原始数据比例)。
13.根据权利要求10所述的串行数据解析装置,其特征在于,所述串行数据具有有限个可能的数据速率和采样率; 所述属性获取单元包括: 标准脉冲数量获取子单元,用于根据所述实际时钟脉冲数量获取对应的标准脉冲数量,每个所述标准脉冲数量对应于多个实际时钟脉冲数量; 查询子单元,用于根据所述标准脉冲数量查询对应的串行数据数据速率和/或采样率; 其中,所述标准脉冲数量与所述数据速率和/或采样率的对应关系基于本地时钟频率、预定的帧长度和串行数据可能的数据速率和/或采样率预先计算获得。
14.根据权利要求13所述的串行数据解析装置,其特征在于,每个所述标准脉冲数量对应于所有位于所述标准脉冲数量误差区间内的实际时钟脉冲数量。
15.根据权利要求10所述的串行数据解析装置,其特征在于,所述时钟脉冲数量获取单元包括: 最长连续电平长度获取子单元,用于获取串行数据中最长连续电平长度; 第一最长连续电平查找子单元,用于根据所述最长连续电平长度在串行数据中查找第一最长连续电平; 第二最长连续电平查找子单元,用于查找与所述第一最长连续电平相邻的第二最长连续电平; 时钟脉冲数量计算子单元,用于将所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
16.根据权利要求10所述的串行数据解析装置,其特征在于,所述时钟脉冲数量获取单元包括: 最长连续电平长度获取子单元,用于获取串行数据中最长连续电平长度; 第一最长连续电平查找子单元,用于根据所述最长连续电平长度在串行数据中查找第一最长连续电平; 第二最长连续电平查找子单元,用于查找与所述第一最长连续电平相邻的第二最长连续电平; 第一时钟脉冲数量计算子单元,用于在所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量大于预定阈值时,所述第一最长连续电平结束至所述第二最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量; 第二时钟脉冲数量计算子单元,用于在所述第一最长连续电平与所述第二最长连续电平的时钟脉冲数量小于等于预定阈值时,查找与所述第二最长连续电平相邻的第三最长连续电平,将所述第一最长连续电平结束至所述第三最长连续电平结束的时钟脉冲数量作为所述相邻同步帧头的最长连续电平之间的实际时钟脉冲数量。
17.根据权利要求10所述的串行数据解析装置,其特征在于,还包括触发单元,用于在初次接收到所述串行数据或串行数据解析失败时,触发串行数据解析。
18.根据权利要求10所述的串行数据解析装置,其特征在于,还包括采样解析单元,用于根据所述数据速率和/或采样率以及本地时钟信号对所述串行数据采样,解析获得串行数据的比特位。
【文档编号】G06F13/38GK104008080SQ201410270486
【公开日】2014年8月27日 申请日期:2014年6月17日 优先权日:2014年6月17日
【发明者】陈振杰, 金黄斌, 陈若愚 申请人:杭州士兰微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1