一种并行数据变串行数据的传输方法与流程

文档序号:11864622阅读:2056来源:国知局
一种并行数据变串行数据的传输方法与流程

本发明涉及一种并行数据变串行数据的传输方法,属于全双工同步串行总线通信技术领域。



背景技术:

在开发BISS(Bidirectional Synchronous Serial,双向同步串行接口)-C协议接口板卡时,我们采用FPGA(Field Programmable Gate Array,现场可编程门阵列)进行五通道数据同步采集,这种五通道数据同步采集方式与传统的高速串行同步采集方法不同,传统的高速串行同步采集速度即使很快,每个通道间依然存在着一个通道的时间差。而这种五通道数据同步采集方式完全并行才是从根本上解决了同步问题,同时,五通道数据同步采集后将数据通过高速串行PCI-E(Peripheral Component Interconnect-Express,高速外设部件互联)总线上传到计算机程序内存的过程。现有技术是在传输过程中对五通道数据进行排序,但会导致先完成传输的通道等待后续通道,造成不必要的延迟,同时也违背了并行采集的初衷,而不进行排序又会导致通道间数据紊乱。



技术实现要素:

本发明提供了一种并行数据变串行数据的传输方法,以解决现有技术中数据延迟或数据紊乱的问题,为此本发明采用如下的技术方案:

一种并行数据变串行数据的传输方法,包括:

提取每个并行通道预定的参数信息,所述参数信息用于分区不同并行通道以及不同并行通道的数据传输时间;

将每个并行通道的数据与每个并行通道对应的所述预定的参数信息做成数据包传输;

将每个并行通道的数据包按照接收到的顺序进行串行传输。

本发明所述的并行数据变串行数据的传输方法通过将数据与参数信息打包传输避免了数据延迟和数据紊乱的情况,在保证时钟与数据一致性的前提下,提高了数据传输效率和传输的准确性。

附图说明

图1为本发明实施例所述的一种并行数据变串行数据的传输方法的流程图;

图2为本发明实施例所述的另一种并行数据变串行数据的传输方法的流程图;

图3为本发明实施例所述的一种并行数据变串行数据的传输方法的数据并行转串行的过程框图;

图4为本发明实施例所述的一种并行数据变串行数据的传输方法中打包后的64位数据。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本具体实施方式提供了一种并行数据变串行数据的传输方法,如图1所示,包括:

S110、提取每个并行通道预定的参数信息,所述参数信息用于分区不同并行通道以及不同并行通道的数据传输时间。

作为可选的,预定的参数信息可以但不限于包括:通道号、错误信息码和时间标记。其中,每个并行通道具有对应的编号,通道号即为并行通道的编号。错误信息码可以是传输过程出的传输差错,例如:CRC(Cyclic Redundancy Check,循环冗余校验)码等。具体地,所述参数信息一般为二进制数据。

作为可选的,时间标记可以是绝对式时间,即所述每个并行通道当前采集的数据的时间,即数据的采集时间。时间标记还可以是相对式时间,即所述每个并行通道当前采集的数据的时间与上一次采集的数据的时间差,即数据的采集时间差。由于绝对式时间很容易超过16位二进制数的表述极限(65536),故若采用绝对式时间的时间标记进行记录,则达到65536时需要复位,故在用户接收到时间标记复位后的数据包时,需将数据包中的时间标记转换为十进制数据后加上65536。

S120、将每个并行通道的数据与每个并行通道对应的所述预定的参数信息做成数据包传输。

进一步地,本发明实施例对打包方法不做具体限定,只要能实现将并行通道的数据与对应的预定的参数信息打包传输即可。

S130、将每个并行通道的数据包按照到达的顺序进行串行传输。

例如:并行通道1、并行通道2、并行通道3、并行通道4和并行通道5同步将采集的数据进行传输,若并行通道1的数据首先传输完毕,则先将并行通道1的数据包传输,若并行通道5的数据第二个传输完毕,则其次将并行通道5的数据包传输,以此类推,哪个并行通道传输完毕,将哪个并行通道的数据包传输,以实现将五个通道的并行通道数据转换为串行传输。

本具体实施方式提供的另一种并行数据变串行数据的传输方法,如图2所示,还可以进一步包括:

S210、接收串行传输的数据包。

S220、解码所述数据包,验证所述数据包中的错误信息码,若验证成功,则执行步骤S230;若验证失败,则执行步骤240。

进一步地,本发明是实施例对错误信息码的种类以及错误信息码的验证方法不做具体限定,只要能够实现对传输数据的纠错即可。

S230、将所述数据包中的数据赋值给数据包中通道号对应的位置数组,并将时间标记赋值对应的时间数组。

具体地,将所述数据包中的数据转化为十进制数据,将转换后的十进制数据除以226后乘以360得到数据包中通道号对应的位置数组。若时间标记为绝对式时间,则将时间标记以10ns为单位将二进制的时间标记转换为十进制数,复位后的绝对式时间需加上65536,即可得到数据包中通道号对应的时间数组。例如;时间标记为一组16位二进制数据1111 1100 1000,将其转换为十进制数据为4040,其以10ns为单位得到的位置数组为40.40μs。若时间标记为相对式时间,则将时间标记以10ns为单位将二进制的时间标记转换为十进制数,即可得到数据包中通道号对应的时间数组。例如;时间标记为一组16位二进制数据1111 1100 1000,将其转换为十进制数据为4040,其以10ns为单位得到的位置数组为40.40μs。

S240、丢弃所述数据包。

作为可选的,基于所述位置数组和时间数组计算当前接收到的数据对应的传输速度和加速度。

进一步地,当时间标记为绝对式时间时,即所述时间数组为每个并行通道当前采集的数据的时间,则基于所述当前接收到的数据对应的位置数组和时间数组以及上一次接收到的数据对应的位置数组和时间数组计算当前接收到的数据对应的传输速度和加速度。

具体地,通过当前接收到的数据对应的位置数组与上一次接收到的数据对应的位置数组的差值除以两个位置数组对应的时间数组的差值得到当前接收到的数据对应的传输速度;将当前接收到的数据对应传输速度与上一次接收到的数据对应传输速度的差值除以两个位置数组对应的时间数组的差值得到当前接收到的数据对应的加速度。例如:假设上一次接收到的数据对应的位置数组为P1,时间数组为T1(绝对时间),速度为V1;当前接收到的数据对应的位置数组为P2,时间数组为T2(绝对时间),则当前接收到的数据的速度为:V2=(P2-P1)/(T2-T1),加速度为(V2-V1)/(T2-T1)。

进一步地,当时间标记为相对式时间时,即所述时间数组为每个并行通道当前采集的数据的时间与上一次采集的数据的时间差,则基于所述当前接收到的数据对应的位置数组和时间数组以及上一次接收到的数据对应的位置数组计算当前接收到的数据对应的传输速度和加速度。例如:假设上一次接收到的数据对应的位置数组为P1,速度为V1;当前接收到的数据对应的位置数组为P2,时间数组为T(相对时间),则当前接收到的数据的速度为:V2=(P2-P1)/T,加速度为(V2-V1)/T。

具体地,通过当前接收到的数据对应的位置数组与上一次接收到的数据对应的位置数组的差值除以当前接收到的数据对应的位置数组对应的时间数组得到当前接收到的数据对应的传输速度;将当前接收到的数据对应传输速度与上一次接收到的数据对应传输速度的差值除以当前接收到的数据对应的位置数组对应的时间数组得到当前接收到的数据对应的加速度。

本具体实施方式提供的一种并行数据变串行数据的传输方法的数据并行转串行的过程框图可以如图3所示,数据打包过程均在并行信道的BISS模块内实现,接收到数据包的顺序依次为数据包2、数据包3、数据包5、数据包4和数据包1,故通过先进先出(fifo,first in first out)进行数据的串行传输。

以打包后的64位数据如图4所示为例,实际从BISS总线读到的数据只有图中标注的“26位数据位”,该26位数据为实际采集到的数据,即位置数组对应的二进制数据。该64位数据中第一行中32位只包含26位数据位,其他6位数据位无实际含义;第二行中32位分别表示:最高四位表述的通道号,低16位表述是时间标记,其可以为绝对式时间数据或相对式时间数据。标注中CRC、WAR、ERR各占一位,其分别表示:

CRC:该采样点的BISS数据是否通过CRC校验;

WAR:BISS传感器是否传来警告信息;

ERR:BISS传感器是否发来错误信息。

本发明实施例通过将数据与参数信息打包传输避免了数据延迟和数据紊乱的情况,将收到的原始数据加入时间标记和通道标记,使其在将并行采集到的数据变为串行传输的过程不需要排序和管控。同时,由于PCIE(Peripheral Component Interconnect Express,高速外设部件互联标准)传输的时钟与板卡内部时钟为不同时钟源,故时间标记在数据包内部与PCIE传输时序互不干涉,从而提高了数据传输效率和传输的准确性。

本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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