CN106126466B - 一种并行数据变串行数据的传输方法 - Google Patents
一种并行数据变串行数据的传输方法 Download PDFInfo
- Publication number
- CN106126466B CN106126466B CN201610480298.XA CN201610480298A CN106126466B CN 106126466 B CN106126466 B CN 106126466B CN 201610480298 A CN201610480298 A CN 201610480298A CN 106126466 B CN106126466 B CN 106126466B
- Authority
- CN
- China
- Prior art keywords
- data
- array
- time
- transmission
- currently received
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
一种并行数据变串行数据的传输方法,包括提取每个并行通道预定的参数信息,所述参数信息用于分区不同并行通道以及不同并行通道的数据传输时间;将每个并行通道采集的数据与每个并行通道对应的所述预定的参数信息做成数据包传输;将每个并行通道的数据包按照到达的顺序进行串行传输。本发明通过将数据与参数信息打包传输避免了数据延迟和数据紊乱的情况,在保证时钟与数据一致性的前提下,提高了数据传输效率和传输的准确性。
Description
技术领域
本发明涉及一种并行数据变串行数据的传输方法,属于全双工同步串行总线通信技术领域。
背景技术
在开发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位二进制数据11111100 1000,将其转换为十进制数据为4040,其以10ns为单位得到的位置数组为40.40μs。若时间标记为相对式时间,则将时间标记以10ns为单位将二进制的时间标记转换为十进制数,即可得到数据包中通道号对应的时间数组。例如;时间标记为一组16位二进制数据11111100 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 InterconnectExpress,高速外设部件互联标准)传输的时钟与板卡内部时钟为不同时钟源,故时间标记在数据包内部与PCIE传输时序互不干涉,从而提高了数据传输效率和传输的准确性。
本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1.一种并行数据变串行数据的传输方法,包括:
提取每个并行通道预定的参数信息,所述参数信息用于分区不同并行通道以及不同并行通道的数据传输时间;将每个并行通道采集的数据与每个并行通道对应的所述预定的参数信息做成数据包传输;将每个并行通道的数据包按照到达的顺序进行串行传输;
所述预定的参数信息包括:通道号、错误信息码和时间标记;
所述时间标记为所述每个并行通道当前采集的数据的时间;
所述参数信息为二进制数据;
其特征在于,还包括:
当时间数组为每个并行通道当前采集的数据的时间时,基于当前接收到的数据对应的位置数组和时间数组以及上一次接收到的数据对应的位置数组和时间数组计算当前接收到的数据对应的传输速度和加速度;或,
当时间数组为每个并行通道当前采集的数据的时间与上一次采集的数据的时间差时,基于当前接收到的数据对应的位置数组和时间数组以及上一次接收到的数据对应的位置数组计算当前接收到的数据对应的传输速度和加速度。
2.根据权利要求1所述的传输方法,其特征在于,还包括:
接收串行传输的数据包;若所述数据包中识别出的错误信息码验证所述数据可用,则将所述数据包中的数据赋值给数据包中通道号对应的位置数组,并将时间标记赋值对应的时间数组。
3.根据权利要求2所述的传输方法,其特征在于,所述将所述数据包中的数据赋值给数据包中通道号对应的位置数组的步骤包括:
将所述数据包中的数据转化为十进制数据,转换后的十进制数据除以226后乘以360得到数据包中通道号对应的位置数组。
4.根据权利要求3所述的传输方法,其特征在于,还包括:
若所述数据包中识别出的错误信息码验证所述数据不可用,则丢弃所述数据包。
5.根据权利要求4所述的传输方法,其特征在于,所述基于所述当前接收到的数据对应的位置数组和时间数组以及上一次接收到的数据对应的位置数组和时间数组计算当前接收到的数据对应的传输速度和加速度的步骤包括:
通过当前接收到的数据对应的位置数组与上一次接收到的数据对应的位置数组的差值除以两个位置数组对应的时间数组的差值得到当前接收到的数据对应的传输速度;将当前接收到的数据对应传输速度与上一次接收到的数据对应传输速度的差值除以两个位置数组对应的时间数组的差值得到当前接收到的数据对应的加速度。
6.根据权利要求5所述的传输方法,其特征在于,所述基于所述当前接收到的数据对应的位置数组和时间数组以及上一次接收到的数据对应的位置数组计算当前接收到的数据对应的传输速度和加速度的步骤包括:
通过当前接收到的数据对应的位置数组与上一次接收到的数据对应的位置数组的差值除以当前接收到的数据对应的位置数组对应的时间数组得到当前接收到的数据对应的传输速度;
将当前接收到的数据对应传输速度与上一次接收到的数据对应传输速度的差值除以当前接收到的数据对应的位置数组对应的时间数组得到当前接收到的数据对应的加速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610480298.XA CN106126466B (zh) | 2016-06-27 | 2016-06-27 | 一种并行数据变串行数据的传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610480298.XA CN106126466B (zh) | 2016-06-27 | 2016-06-27 | 一种并行数据变串行数据的传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106126466A CN106126466A (zh) | 2016-11-16 |
CN106126466B true CN106126466B (zh) | 2019-10-11 |
Family
ID=57267270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610480298.XA Active CN106126466B (zh) | 2016-06-27 | 2016-06-27 | 一种并行数据变串行数据的传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126466B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110456454B (zh) * | 2019-08-26 | 2020-07-17 | 光子算数(北京)科技有限责任公司 | 光子人工智能芯片互联装置及片间互联光子人工智能芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867452A (zh) * | 2010-06-10 | 2010-10-20 | 国网电力科学研究院 | 一种电力专用串行实时总线的通信方法 |
CN103797734A (zh) * | 2011-09-02 | 2014-05-14 | 纳派泰克股份公司 | 用于识别数据分组的接收时间点的***和方法 |
CN105379220A (zh) * | 2013-03-18 | 2016-03-02 | 吉林克斯公司 | 具有偏斜的多路通信链路中的时间戳修正 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7586925B2 (en) * | 2003-09-09 | 2009-09-08 | Sonus Networks, Inc. | Data adaptation protocol |
CN103269433B (zh) * | 2013-04-28 | 2016-06-29 | 广东威创视讯科技股份有限公司 | 视频数据传输方法和视频数据传输*** |
-
2016
- 2016-06-27 CN CN201610480298.XA patent/CN106126466B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867452A (zh) * | 2010-06-10 | 2010-10-20 | 国网电力科学研究院 | 一种电力专用串行实时总线的通信方法 |
CN103797734A (zh) * | 2011-09-02 | 2014-05-14 | 纳派泰克股份公司 | 用于识别数据分组的接收时间点的***和方法 |
CN105379220A (zh) * | 2013-03-18 | 2016-03-02 | 吉林克斯公司 | 具有偏斜的多路通信链路中的时间戳修正 |
Also Published As
Publication number | Publication date |
---|---|
CN106126466A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN103503382B (zh) | 具有灵活数据速率的控制器局域网 | |
US10396921B2 (en) | Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium | |
CN104008078B (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN105379220A (zh) | 具有偏斜的多路通信链路中的时间戳修正 | |
CN104052588B (zh) | 用于为利用fec编码器的***实现按ieee1588的精确时间戳的方法 | |
CN106126466B (zh) | 一种并行数据变串行数据的传输方法 | |
CN103200127B (zh) | 一种板间串行通信***及方法 | |
CN1677376B (zh) | 一种数据发生装置、数据接收装置以及图像数据处理装置 | |
CN102394655A (zh) | Mic总线上的曼码转换方法 | |
US20160036684A1 (en) | Method And Apparatus To Provide Both High Speed And Low Speed Signaling From The High Speed Transceivers On An Field Programmable Gate Array | |
CN108833321A (zh) | 基于差分相位波形匹配的编码cpm信号码块同步方法 | |
CN108650047B (zh) | 一种串行数据接收实时同步监测电路及监测方法 | |
CN106209307A (zh) | 多颗fpga片间互联方法与*** | |
CN104009823B (zh) | 一种SerDes技术中的错位检测与纠错电路 | |
CN116955262A (zh) | 一种基于fpga的8b/10b编解码的ip核 | |
CN102946293B (zh) | 一种基于ds编码的并行接收方法及其装置 | |
CN111026590B (zh) | 接口电路的数据验证方法及平台 | |
US8731073B1 (en) | In-band lane alignment for a multi-lane transceiver | |
EP3387540B1 (en) | Serial data multiplexing | |
CN111865341A (zh) | 一种基于jesd204b协议的发送端电路 | |
CN204244255U (zh) | 一种多路e1解帧器*** | |
CN204244256U (zh) | 一种多路e1解帧*** | |
CN104836754A (zh) | 利用高速Serdes实现背板自协商功能的方法及装置 | |
CN207677750U (zh) | 一种同步码检测*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |