首页> 中国专利> 一种光纤串行数据通信方法

一种光纤串行数据通信方法

摘要

本发明实施例提供一种光纤串行数据通信方法,通过在数据帧中添加标准发送时钟信号,该标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,在数据接收端接收到该数据帧时,数据接收端根据接收到的标准发送时钟信号确定采样时钟周期,由此生成对应的采样时钟信号;利用该采样时钟信号对数据帧的数据部分进行采样,以获取数据帧中对应的数据包。由于数据帧中包含有标准发送时钟信号,无论数据发送端以何种通信速率发送数据帧,数据接收端均能自适应的根据标准发送时钟信号生成对应的采样时钟信号实现对数据帧的接收,从而数据发送端可灵活的调整数据帧的通信速率,数据接收端可自适应的接收不同通信速率的数据帧。

著录项

  • 公开/公告号CN108631898A

    专利类型发明专利

  • 公开/公告日2018-10-09

    原文格式PDF

  • 申请/专利权人 武汉市星云综合能源技术有限公司;

    申请/专利号CN201810342409.X

  • 发明设计人 孙驰;何娜;

    申请日2018-04-17

  • 分类号H04J3/06(20060101);H04B10/278(20130101);G06F13/42(20060101);

  • 代理机构11002 北京路浩知识产权代理有限公司;

  • 代理人王莹;吴欢燕

  • 地址 430014 湖北省武汉市东湖新技术开发区理工园四路1号理工大学科技园研发基地G1栋1-3层G1室

  • 入库时间 2023-06-19 06:46:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-17

    专利权的转移 IPC(主分类):H04J3/06 登记生效日:20200629 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2020-05-29

    专利权的转移 IPC(主分类):H04J3/06 登记生效日:20200511 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2020-01-07

    专利权的转移 IPC(主分类):H04J3/06 登记生效日:20191218 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2019-10-22

    专利权的转移 IPC(主分类):H04J3/06 登记生效日:20190929 变更前: 变更后: 变更前:

    专利申请权、专利权的转移

  • 2019-09-06

    专利权的转移 IPC(主分类):H04J3/06 登记生效日:20190819 变更前: 变更后: 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2019-04-09

    授权

    授权

  • 2019-03-01

    专利申请权的转移 IPC(主分类):H04J3/06 登记生效日:20190212 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2019-02-19

    专利申请权的转移 IPC(主分类):H04J3/06 登记生效日:20190124 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2019-01-01

    专利申请权的转移 IPC(主分类):H04J3/06 登记生效日:20181212 变更前: 变更后: 申请日:20180417

    专利申请权、专利权的转移

  • 2018-11-02

    实质审查的生效 IPC(主分类):H04J3/06 申请日:20180417

    实质审查的生效

  • 2018-10-09

    公开

    公开

查看全部

说明书

技术领域

本发明实施例涉及通信技术领域,更具体地,涉及一种光纤串行数据通信方法。

背景技术

随着电力电子系统智能化进程的不断深化,多设备间的互联互通正逐步加强,对高性价比的数据通信方式产生了极大的需求。考虑电力电子设备内部强电磁干扰环境并尽可能降低互连线的复杂度,业界普遍采用光纤通信来实现设备间的数据可靠传输。结合电力电子系统所采用的定开关频率控制模式,设备间的数据通信也需以定开关频率进行传输,即数据通信需具备高实时性。通常,电力电子设备的开关频率从几百Hz到几十kHz变化,数据通信中电平变化周期最小仅为几十μs,对通信速率提出了挑战。

目前,基于控制板级开发的诸如UART、CAN、SPI等常规通信方式的速率还较低,无法满足短开关周期、大流量数据传输;对于诸如PROFIBUS、光纤环网等新型高速通信方式,由于其实现难度较大、软硬件成本高,对于大规模商用电力电子设备并不具优势。因此,结合电力电子控制系统中软硬件特点,开发具有功能相对单一、实现简单、高速可靠的光纤通信成为可行的技术路线。

电力电子控制系统软硬件的特点是在数据发送端可以通过灵活调整数据帧的编码发送时钟信号的频率,以满足不同通信速率的要求,该编码发送时钟信号的周期对应数据帧中一个编码码元的持续时间;而在数据接收端,需要通过与数据帧中每一编码码元周期相对应的采样时钟信号才能实现对数据帧的正确接收。目前的数据通信方法中,数据接收端以预先约定的采样时钟信号对数据帧进行接收,预先约定的采样时钟信号具有特定的采样时钟周期,在数据帧的编码周期发生变化或收发双方时钟频差较大时,数据接收端无法完成对数据帧的正确接收。

发明内容

为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种光纤串行数据通信方法。

本发明实施例提供一种光纤串行数据通信方法,该方法为数据发送端方法,包括:根据自定义帧格式生成数据帧,数据帧包括标准发送时钟信号,标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,且每一高电平信号和/或低电平信号持续的时长相等,标准发送时钟信号位于数据帧的帧头之后,且标准发送时钟信号位于数据帧的数据部分之前;将数据帧发送至数据接收端,以供数据接收端根据标准发送时钟信号确定采样时钟周期,并根据采样时钟周期生成采样时钟信号,再通过采样时钟信号对数据帧的数据部分进行采样,以获取数据帧的数据部分对应的数据包。

本发明实施例提供一种光纤串行数据通信方法,该方法为数据接收端方法,包括:接收数据发送端发送的数据帧,根据数据帧的标准发送时钟信号确定采样时钟周期,标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,且每一高电平信号和/或低电平信号持续的时长相等;根据采样时钟周期生成采样时钟信号,通过采样时钟信号对数据帧的数据部分进行采样,并解码获取数据帧中的数据部分对应的数据包。

本发明实施例提供的一种光纤串行数据通信方法,通过在数据帧中添加标准发送时钟信号,该标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,在数据接收端接收到该数据帧时,数据接收端根据标准发送时钟信号确定采样时钟周期,由此生成对应的采样时钟信号;利用该采样时钟信号对数据帧的数据部分进行采样,以获取数据帧中的数据部分对应的数据包。由于数据帧中包含有标准发送时钟信号,无论数据发送端以何种通信速率发送数据帧,数据接收端均能自适应的根据标准发送时钟信号生成对应的采样时钟信号实现对数据帧的接收,从而数据发送端可灵活的调整数据帧的通信速率,数据接收端可自适应的接收不同通信速率的数据帧。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本发明实施例的光纤串行数据通信方法的数据发送端方法的流程图;

图2为根据本发明实施例的帧格式的示意图;

图3为根据本发明实施例的光纤串行数据通信方法的数据接收端方法的流程图;

图4为根据本发明实施例的生成采样时钟信号的示意图;

图5为根据本发明实施例的对采样时钟信号进行调整的示意图;

图6为根据本发明实施例的对数据帧中电平进行采样的示意图。

具体实施方式

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

本发明实施例提供一种光纤串行数据通信方法,参考图1,该方法为数据发送端方法,包括:S11,根据自定义帧格式生成数据帧,数据帧包括标准发送时钟信号,标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,且每一高电平信号和/或低电平信号持续的时长相等,标准发送时钟信号位于数据帧的帧头之后,且标准发送时钟信号位于数据帧的数据部分之前;S12,将数据帧发送至数据接收端,以供数据接收端根据标准发送时钟信号确定采样时钟周期,并根据采样时钟周期生成采样时钟信号,再通过采样时钟信号对数据帧的数据部分进行采样,以获取数据帧的数据部分对应的数据包。

需要说明的是,本发明实施例的执行主体为数据发送端。

具体地,本实施例中,在自定义帧格式中规定标准发送时钟信号区域,如图2所示,该标准发送时钟信号区域位于帧头区域之后,且位于数据部分区域之前。基于该自定义帧格式,生成数据帧,从而数据帧中包括标准发送时钟信号,该标准发送时钟信号由预设数量个高电平信号和/或低电平信号组成。为了便于数据接收端识别该标准发送时钟信号,可根据帧头的电平的特点来设置该标准发送时钟信号的电平,例如,数据帧的帧头为8bit的高电平,则将标准发送时钟信号的第一个电平设置为低电平,即帧头的最后一个电平与标准发送时钟信号的第一个电平的高低电平相反,这样,在数据接收端识别到帧头后,可快速确定标准发送时钟信号的开始位置。

本实施例中,数据帧可包括帧头、标准发送时钟信号、地址信号、数据个数信号、数据字、校验字和帧尾,如图2所示。

帧头为预设headnum个编码发送时钟信号的周期的高电平信号和/或低电平信号,以表示一个数据帧的开始。

标准发送时钟信号为clknum个预设的高电平信号和/或低电平信号,且每一高电平信号和/或低电平信号持续的时长相等,以便于数据接收端对标准发送时钟信号进行准确计数,其中,帧头的最后一个电平与标准发送时钟信号的第一个电平的高低电平相反;以供数据接收端确定采样时钟周期、合成采样时钟信号。

地址信息包含发送源地址和接收目的地址两部分,源地址和目的地址的位宽相同,均为addbus。源地址表征数据发送端所处通信系统的地址识别码,目的地址表征数据接收端所处系统的地址识别码。地址位段的添加用以区分多通信节点系统内的特定节点间的数据传输。

数据个数信息为数据帧每次实际发送的数据字个数num,用以数据接收端获取数据字的个数,以控制对数据字的接收。数据个数的位宽numbus可根据系统单次最大发送数据字个数num,并由收发双方统一确定,其值应大于零。

数据字为数据通信的有效数据,以16bit字为基本单位进行传输,每次通信的数据字个数为num。

校验字为串行数据格式中的地址、数据个数和各数据字采用16位CRC校验准则生成的16位校验数据字,用以接收端对数据传输和接收的正确性进行检验。地址和数据个数的位宽不满16位时,高位添零处理。

帧尾为预设tailnum个编码发送时钟信号的周期的高电平信号和/或低电平信号,以表示一个数据帧的结束。

数据发送端将数据帧的帧头、标准发送时钟信号、地址信号、数据个数信号、数据字、校验字和帧尾按照所定义的数据格式,逐位发送到光纤链路上。数据接收端从光纤链路上接收到数据帧时,根据标准发送时钟信号确定采样时钟周期,例如计算标准发送时钟信号的区间的持续时间,通过该持续时间和预设数量便可获得采样时钟周期。根据采样时钟周期生成采样时钟信号,再通过采样时钟信号对数据帧的数据部分进行采样,将采样的结果转换成二进制码,以获取数据帧的数据部分对应的数据包。

本实施例的通信传输过程中,将空闲状态的电平设置为低电平,帧头可设置为预设bit的高电平,以便于数据接收端识别帧头。也可将空闲状态的电平设置为高电平,帧头设置为预设bit的低电平,本实施例对此不做限制。

本实施例通过在数据帧中添加标准发送时钟信号,该标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,在数据接收端接收到该数据帧时,数据接收端根据标准发送时钟信号确定采样时钟周期,由此生成对应的采样时钟信号;利用该采样时钟信号对数据帧的数据部分进行采样,以获取数据帧中的数据部分对应的数据包。由于数据帧中包含有标准发送时钟信号,无论数据发送端以何种通信速率发送数据帧,数据接收端均能自适应的根据标准发送时钟信号生成对应的采样时钟信号实现对数据帧的接收,从而数据发送端可灵活的调整数据帧的通信速率,数据接收端可自适应的接收不同通信速率的数据帧。

基于以上实施例,根据自定义帧格式生成数据帧,包括:根据本地系统时钟信号生成编码发送时钟信号编码发送时钟信号包括周期性的编码跳变沿;根据自定义帧格式获取串行码元序列,串行码元序列包括数据帧的帧头、标准发送时钟信号和数据部分分别对应的二进制码;根据串行码元序列,在编码发送时钟信号中的每一编码跳变沿生成相对应的高电平或者低电平,并发送到光纤链路,以生成数据帧。

其中,根据本地系统时钟信号生成编码发送时钟信号,包括:获取数据帧的预通信速率;将本地系统时钟信号进行分频和/或倍频处理,以获得编码发送时钟信号,并使编码发送时钟信号中编码跳变沿对应的频率与预通信速率保持相对应的一致。

具体地,本实施例可根据通信速率的需求确定用于编码的编码发送时钟信号中编码跳变沿的频率,再利用本地系统时钟信号生成具有该频率的编码发送时钟信号。

同时,按照自定义帧格式获取数据帧对应的二进制码,再基于预设编码规则将二进制码在编码发送时钟信号中的每一编码跳变沿生成对应的高低电平,并发送到光纤链路。例如,采用NRZ码编码规则,在二进制码为“1”时,在编码跳变沿时刻生成高电平,在二进制码为“0”时,在编码跳变沿时刻生成低电平。

本实施例中,基于FPGA编程实现上述方法,采用可编程逻辑器件FPGA编程实现数据帧格式定义、数据帧发送和数据帧接收,硬件层面上不需要额外的收发专用芯片,硬件结构简单、成本低。软件层面,通过修改程序即可实现数据帧格式和通信速率的修改,通信配置灵活、开发简洁高效。并且采用FPGA编程实现数据通信功能,通信系统不存在“跑飞”现象。也可通过其它方式实现上述方法,本实施在此不做限制。

本实施例通过本地系统时钟信号生成用于编码的周期信号,从而可以实现实时的灵活调整通信速率的目的。

本发明实施例还提供一种光纤串行数据通信方法,参考图3,该方法为数据接收端方法,包括:S31,接收数据发送端发送的数据帧,根据数据帧的标准发送时钟信号确定采样时钟周期,标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,且每一高电平信号和/或低电平信号持续的时长相等;S32,根据采样时钟周期生成采样时钟信号,通过采样时钟信号对数据帧的数据部分进行采样,并解码获取数据帧中的数据部分对应的数据包。

需要说明的是,本发明实施例的执行主体为数据接收端;本实施例的光纤串行数据通信方法在上述实施例中已有详细描述,在此不再赘述。

本实施例通过在数据帧中添加标准发送时钟信号,该标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,在数据接收端接收到该数据帧时,数据接收端根据标准发送时钟信号确定采样时钟周期,由此生成对应的采样时钟信号;利用该采样时钟信号对数据帧的数据部分进行采样,以获取数据帧中的数据部分对应的数据包。由于数据帧中包含有标准发送时钟信号,无论数据发送端以何种通信速率发送数据帧,数据接收端均能自适应的根据标准发送时钟信号生成对应的采样时钟信号实现对数据帧的接收,从而数据发送端可灵活的调整数据帧的通信速率,数据接收端可自适应的接收不同通信速率的数据帧。

基于以上实施例,根据数据帧的标准发送时钟信号确定采样时钟周期,包括:通过本地系统时钟信号对标准发送时钟信号的区间进行采样计数,获取标准发送时钟信号的区间包含的本地系统时钟信号的计数值;获取标准发送时钟信号的区间包含的本地系统时钟信号的计数值与预设数量之间的比例值;根据本地系统时钟信号的周期与比例值确定采样时钟周期。

具体地,如图4所示,数据接收端识别到数据帧的帧头,将帧头的结束时刻确定为帧头识别标志,从帧头识别标志所在的时刻开始,利用本地系统时钟信号开始对标准发送时钟信号进行采样计数,直至标准发送时钟信号的区间结束,获得计数值,该计数值即为标准发送时钟信号的区间包含的本地系统时钟信号的数量。由此获得标准发送时钟信号的区间包含的本地系统时钟信号的数量与预设数量之间的比例值,通过本地系统时钟信号的周期与比例值确定所接收到的数据帧的采样时钟周期。为了提高所获得的采样时钟周期的有效性,将计数值加1后与预设数量的比值取整数值作为最终的比例值。

通过上述方法,能保证数据接收端的采样时钟信号的周期与数据发送端的用于编码的周期信号的周期保持一致,以保证对数据帧中串行数据电平的正确采样。

例如,本地系统时钟信号的频率为100MHz,数据发送端的用于编码的周期信号的频率为20MHz,预设数量为4,则理论上的计数值应该为20,比例值(计数值)为5,最后计算获得的数据接收端的采样时钟信号的频率为20MHz,与数据发送端的用于编码的编码发送时钟信号的频率相同(即周期相同)。

基于以上实施例,根据采样时钟周期生成采样时钟信号,包括:在每一采样时钟周期的前第一预设时段产生并保持高电平,在每一采样时钟周期的后第二预设时段产生并保持底电平,以生成在每一采样时钟周期内具有电平跳变沿的第一周期信号;或者,在每一采样时钟周期的前第三预设时段产生并保持低电平,在每一采样时钟周期的后第四预设时段产生并保持高电平,以生成在每一采样时钟周期内具有电平跳变沿的第二周期信号;将第一周期信号或者第二周期信号作为采样时钟信号。

具体地,本地系统时钟信号具有频率高的特点,在每一采样时钟周期内,包含多个的本地系统时钟信号,例如本地系统时钟信号的频率为100MHz,采样时钟信号的频率为20MHz,则每一采样时钟周期可包含5个本地系统时钟信号。对于每一采样时钟周期,可利用本地系统时钟信号将采样时钟周期的时段分成两部分,前一部分包含第一数量个本地系统时钟信号,后一部分包含第二数量个本地系统时钟信号;具体实施时,在前第一数量个本地系统时钟信号的时间段内产生并保持低电平或者高电平,在后第二数量个本地系统时钟信号的时间段内产生并保持对应的高电平或者低电平,以使在每一采样时钟周期的区间内产生一个跳变沿,将在每一采样时钟周期的区间内具有一个电平跳变沿的周期信号作为采样时钟信号。数据接收端实时对数据帧中电平的采样,要经过一个将采样时钟信号与数据帧中高低电平对齐的过程,如果每一采样时钟周期内的电平跳变沿在采样时钟周期的边缘,在该边缘时刻正好时数据帧中高低电平的跳变时刻,导致无法准确的采样数据,将每一采样时钟周期的电平跳变沿设置于采样时钟周期的区间内,优选的将每一采样时钟周期的电平跳变沿设置于采样时钟周期的中间时刻,可避免这种情况。

本实施例通过生成在每一采样时钟周期的区间内具有一个电平跳变沿的周期信号作为采样时钟信号,从而在利用电平跳变沿对数据帧进行采样时,能避免电平跳变沿在每一采样时钟周期的边缘时可能导致无法准确采样数据的情况。

基于以上实施例,根据采样时钟周期生成采样时钟信号之后,还包括:提取数据部分的电平跳变沿信号;根据数据部分的电平跳变沿信号,调整采样时钟信号,以消除对采样时钟信号造成的频差累计误差和/或干扰累计误差。

具体地,由于数据帧中不包含定时信息,在无法同步的情况下,如图5所示,由于数据发送端和数据接收端的系统时钟之间固有的频率误差或光线链路干扰误差,随着串行数据收发的的进行,频差累积误差或干扰累积误差逐渐增大,误差过大时可能导致数据接收端无法正确采样。

本实施例中,可提取数据帧中数据部分电平信号的跳变沿,在数据帧中电平信号的跳变沿时刻,同步采样时钟信号,在出现负累计误差的情况下将采样时钟信号中对应的采样时钟周期前移,在出现正累计误差的情况下将采样时钟信号中对应的采样时钟周期后移,以上过程可通过异步复位合成时钟计数器来完成。

本实施例通过数据帧中电平信号的跳变沿来调整采样时钟信号,保证了数据接收端对数据帧中电平的正确采样,进而提高通信的可靠性。

基于以上实施例,如图6所示,通过采样时钟信号对数据帧的数据部分进行采样,包括:在采样时钟信号中每一采样时钟周期内的电平跳变沿时刻采样数据部分的电平。

基于上述实施例,本实施例还包括对数据通信的正确性校验,分为两步进行:1、数据接收端对采样还原得到的地址信号、数据个数信号和所有数据字采用16位CRC校验算法,计算得出校验值。2、数据接收端将计算得出的校验值和直接从数据帧中采样得到的校验字进行比对,若两者相同,则数据通信和接收正确,更新输出数据;若两者不相等,则数据传输或接收过程中出现误码错误,舍弃本次接收到的数据。另外,当接收到的目的地址和本节点地址不匹配时,也同样舍弃接收到的数据。收发双方的CRC校验算法采用相同的校验多项式。

本发明实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机程序,该计算机程序使该计算机执行上述各数据发送端方法实施例所提供的方法,例如包括:根据自定义帧格式生成数据帧,数据帧包括标准发送时钟信号,标准发送时钟信号包括预设数量个高电平信号和/或低电平信号,标准发送时钟信号位于数据帧的帧头之后,且标准发送时钟信号位于数据帧的数据部分之前;将数据帧发送至数据接收端,以供数据接收端根据标准发送时钟信号确定采样时钟周期,并根据采样时钟周期生成采样时钟信号,再通过采样时钟信号对数据帧的数据部分进行采样,以获取数据帧的数据部分对应的数据包。

本发明实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机程序,该计算机程序使该计算机执行上述各数据接收端方法实施例所提供的方法,例如包括:接收数据发送端发送的数据帧,根据数据帧的标准发送时钟信号确定采样时钟周期,标准发送时钟信号包括预设数量个高电平信号和/或低电平信号;根据采样时钟周期生成采样时钟信号,通过采样时钟信号对数据帧的数据部分进行采样,并解码获取数据帧中的数据部分对应的数据包。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过计算机程序指令相关的硬件来完成,前述的计算机程序可以存储于一计算机可读取存储介质中,该计算机程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号