一种数据传输方法和系统的制作方法

文档序号:7821797阅读:170来源:国知局
一种数据传输方法和系统的制作方法
【专利摘要】本发明公开了一种数据传输方法和系统,所述系统包括:时钟发生器、寄存器、编码器、时钟恢复单元、解码单元和输出数据缓存单元;其中,编码器用于依据时钟发生器输出的数据移位时钟,并根据预定的帧结构,将寄存器中存储的数据以及数据长度通过一个数据线进行发送;在发送过程中,以信号的跳变沿表示数据;解码单元用于根据时钟恢复单元产生的采样时钟采样数据线上的信号,并根据预定的帧结构解码出数据后输出;并在检测到的高电平或低电平时间超过2个采样时钟周期时,发送数据传输错误信息。应用本发明,可以保证数据传输的实时性;而且,在数据传输过程中以信号的跳变沿表示数据,支持传输出错的快速检测,提高了数据传输的可靠性和有效性。
【专利说明】一种数据传输方法和系统

【技术领域】
[0001]本发明涉及通讯【技术领域】,特别是指一种数据传输方法和系统。

【背景技术】
[0002]为了提高电网的输送能力,提高电网的可靠性,电网中使用了大量的可控补偿设备,如静止无功补偿器81:81:10 031111)6118511:010、可控高抗031?、可控串补!'030等。这些补偿设备大量使用了光纤或电缆来传递各种控制信息和信号。
[0003]传统的装置大部分都使用信号直接传送的方式。该方式使用信号的有无来代表信号的有效无效。但是,该方式有一个明显的缺点,即当信号路径中断时,信号的接收端将无法确定信号的状态,也就无法检测信号传输出错,信号传输可靠性较差。为了解决这一问题,传统的装置会将一些非常重要的信号使用频率编码的方式传输,用两种频率去代表信号的有效无效状态,其它频率或是无频率都认为是信号路径出错。然而,上述的信号传输方式下,一条路径都只能传递一个信号,从而使得整个装置需要使用大量的互连线实现信号的传递。
[0004]使用如总线一类的标准通讯总线的方式进行信号传输。使用廿01161^他切04,控制器局域网络)一类的标准数据总线虽然可以保证信号的有效到达,并能大幅缩减信号互连线。但是这类标准总线通常都有严格的物理总线标准,需要额外的0?11 (06111:1-81 ?1~00688111^ 1)1111:,中央处理器)或03? ((11 切1 81^1181 即006881118,数字信号处理)器介入。一方面,0^或03?的增加使信号传输系统的复杂性增加;另一方面,对一些时间要求特别严格的信号的传输,由于0^或者03?有可能需要处理紧急的任务,而无法保证在预先约定的时间内处理同样紧急的、来自信号传输系统的信息,从而无法保证数据传输的实时性。
[0005]此外,现有的信号传输方法通常以高电平或低电平表示数据;当数据出错时,可能会出现一直是高电平或低电平的情况,而接收装置可能会误以为一直接收0或1的数据,不易判断出信号出错,使得数据传输的可靠性不够高。
[0006]因此,在数据总线传输信号的基础上,如何保证数据传输的实时性并提高数据传输的可靠性,已成为本领域亟待解决的技术问题之一。


【发明内容】

[0007]有鉴于此,本发明的目的在于提出一种数据传输方法和系统,用以保证数据传输的实时性,并提高数据传输的可靠性。
[0008]基于上述目的本发明提供的数据传输系统,包括:
[0009]时钟发生器,用于输出数据移位时钟;
[0010]寄存器,用于寄存待发送的数据,以及所述数据的数据长度;
[0011]编码器,用于依据所述数据移位时钟并根据预定的帧结构,将所述寄存器中存储的数据,以及数据长度通过一个数据线进行发送;在发送过程中,以信号的跳变沿表示数据;
[0012]时钟恢复单元,用于根据本地参考时钟和从所述数据线上接收的数据产生解码所需的米样时钟;
[0013]解码单元,用于根据所述采样时钟采样所述数据线上的信号,并根据所述预定的帧结构解码出数据后输出;并在检测到停止位时,输出发送通知;并在检测到的高电平或低电平时间超过2个采样时钟周期时,发送数据传输错误信息;
[0014]输出数据缓存单元,用于缓存所述解码单元输出的数据,并在接收到所述发送通知时,将缓存的数据进行发送。
[0015]较佳地,所述时钟发生器、寄存器,以及编码器均设置于数据发送装置中;以及
[0016]所述数据发送装置还包括:
[0017]0^计算器,用于计算出所述数据的0^校验值;以及
[0018]所述编码器还用于在发送完所述数据后发送所述0^校验值。
[0019]较佳地,所述帧结构中具体依次包括:
[0020]一位起始位、设定字节的数据长度、数据长度X8位数据位、16位校验值、一位停止位;以及
[0021]所述编码器具体用于发送一位起始位,并向所述0^计算器发送初始化通知后,依次发送设定字节的数据长度、数据长度X 8位数据位,并每发送8位数据后向所述0^计算器发送计算通知;之后,从所述(:%计算器获取16位0^校验值进行发送,继而发送一位停止位;以及
[0022]所述0^计算器具体用于根据接收的初始化通知进行初始化,并在接收到计算通知后,根据所述编码器发送的数据进行0^校验值的计算并缓存。
[0023]较佳地,所述时钟恢复单元、解码单元,以及输出数据缓存单元设置于数据接收装置中。
[0024]进一步,所述数据接收装置还包括:
[0025]计算单元,用于在所述解码单元每输出8位数据时,计算一次校验值;并在确定所述解码单元输出的16位校验值与本单元计算的校验值相等时,输出校验正确信息;否则,输出校验错误信息。
[0026]较佳地,所述解码单元还用于检测到的高电平或低电平时间超过6个采样时钟周期时,发送数据线空闲信息。
[0027]基于上述目的本发明提供的数据传输方法,包括:
[0028]数据发送装置根据预定的帧结构,将寄存器中存储的数据,以及数据长度通过一个数据线进行发送;其中,在发送过程中以信号的跳变沿表示数据;
[0029]数据接收装置根据本地参考时钟和从所述数据线上接收的数据产生解码所需的采样时钟;并
[0030]根据所述采样时钟采样所述数据线上的信号,根据所述预定的帧结构解码出数据后输出;以及
[0031]所述数据接收装置检测到的高电平或低电平时间超过2个采样时钟周期时,发送数据传输错误信息。
[0032]较佳地,所述帧结构中具体依次包括:
[0033]—位起始位、设定字节的数据长度、数据长度X8位数据位、16位校验值、一位停止位。
[0034]较佳地,所述数据接收装置根据所述预定的帧结构解码出数据后,还包括:
[0035]所述数据接收装置根据接收的16位(:%校验值,对解码出的数据进行校验。
[0036]较佳地,所述数据接收装置检测到的高电平或低电平时间超过6个采样时钟周期时,发送数据线空闲信息。
[0037]从上面所述可以看出,本发明提供的数据传输方法和系统,通过使用一个预定的帧结构,将寄存器中的数据以及数据长度通过数据线进行发送,并在发送过程中,以信号的跳变沿表示数据。从而,避免了额外的0^/03?的介入,在无0^/03?的系统中也可实现数据的大容量实时传输,保证了数据传输的实时性;而且,以信号的跳变沿表示数据,支持传输出错的快速检测,提高了数据传输的可靠性和有效性。

【专利附图】

【附图说明】
[0038]图1为本发明实施例的数据传输系统的内部结构示意图;
[0039]图2为本发明实施例的数据传输方法的示意图;
[0040]图3为本发明实施例的一种预定的帧结构的示意图;
[0041]图4为本发明实施例的信号高电平和电平时间的示意图。

【具体实施方式】
[0042]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0043]本发明中,使用一个预定的帧结构,将寄存器中的数据以及数据长度通过数据线进行发送,并在发送过程中,以信号的跳变沿表示数据。从而,避免了额外的0^/03?的介入,在无0^/03?的系统中也可实现数据的大容量实时传输,保证了数据传输的实时性;而且,以信号的跳变沿表示数据,支持信号出错的快速检测,提高了数据传输的可靠性。
[0044]本发明实施例提供的数据传输系统的内部结构示意图,如图1所示,包括:时钟发生器111、寄存器112和编码器113。
[0045]时钟发生器111用于输出数据移位时钟。
[0046]寄存器112用于寄存待发送的数据以及待发送的数据的数据长度。
[0047]编码器113用于依据时钟发生器111输出的数据移位时钟,并根据预定的帧结构,将寄存器112中存储的数据、以及数据长度,通过一个数据线进行发送;在发送过程中,以信号的跳变沿表示数据。
[0048]时钟恢复单元121用于根据本地参考时钟、和从所述数据线上接收的数据,产生解码所需的采样时钟。
[0049]解码单元122用于根据时钟恢复单元121产生的采样时钟,采样所述数据线上的信号,并根据预定的帧结构解码出数据后输出;并在检测到停止位时,输出发送通知。较优地,解码单元122还用于在检测到的高电平或低电平时间超过2个采样时钟周期时,发送数据传输错误信息;在检测到的高电平或低电平时间超过6个采样时钟周期时,发送数据线空闲信息。
[0050]输出数据缓存单元123用于缓存解码单元122输出的数据,并在接收到解码单元122输出的发送通知时,将缓存的数据进行发送。
[0051]实际应用中,时钟发生器111、寄存器112以及编码器113可均设置于数据发送装置11中。时钟恢复单元121、解码单元122和输出数据缓存单元123可均设置于数据接收装置12中。
[0052]而且,数据发送装置11还可包括计算器114。
[0053]0^计算器114用于计算出寄存器112中存储的数据的0^校验值。相应地,编码器113还用于在发送完寄存器112中存储的数据后发送(:%计算器114计算出的0^校验值。
[0054]较优地,帧结构中具体可以依次包括:一位起始位、设定字节的数据长度、数据长度X 8位数据位、16位校验值、一位停止位;以及
[0055]相应地,编码器113具体用于发送一位起始位,并向0^计算器114发送初始化通知后,依次发送设定字节的数据长度、数据长度X8位数据位,并每发送8位数据后向(:%计算器114发送计算通知;之后,从(:%计算器114获取16位(:%校验值进行发送,继而发送一位停止位。(:%计算器114具体用于根据接收的初始化通知进行初始化,并在接收到计算通知后,根据编码器113发送的数据进行(:%校验值的计算并缓存。
[0056]较优地,数据接收装置12还包括计算单元124。
[0057]计算单元124用于在解码单元122每输出8位数据时,计算一次校验值;并在确定解码单元122输出的16位0^校验值与本单元计算的0^校验值相等时,输出校验正确信息;否则,输出校验错误信息。
[0058]如图2所示,本发明实施例提供的数据传输方法,具体包括数据传输系统中的数据发送装置11发送数据的步骤3201:
[0059]步骤3201:数据发送装置11根据预定的帧结构,将寄存器中存储的数据、以及数据长度,通过一个数据线进行发送。
[0060]其中,在发送过程中,以信号的跳变沿表示数据。例如,一种具体实现方式是,以信号的上跳沿表示数据0,以信号的下跳沿表示数据1。
[0061]事实上,预定的帧结构可以是由本领域技术人员根据需要进行设定的多种结构;参见图3,一种较优的帧结构中具体可以依次包括:一位起始位、设定字节的数据长度、数据长度X8位数据位、16位1^6(11111(181107 0164,循环冗余校验码)校验值、一位停止位。起始位和停止位可以均设定为0。由此,以信号的上跳沿表示数据0,以信号的下跳沿表示数据1时,基于上述帧结构的数据帧中每位数据的编码方式(位时序),可如图3所示。
[0062]较优地,数据发送装置11可每隔设定的时间,启动一次编码发送过程,将寄存器中的数据,经由光纤、电缆等有线网络发送出去。本发明可适应光纤、1^03等多种有线互连路径,可灵活的用作各种信号传输。
[0063]进一步,本发明实施例提供的数据传输方法,还包括数据传输系统中的数据接收装置12接收数据并解码输出的步骤3202和3203:
[0064]步骤3202:数据接收装置12根据本地参考时钟和从所述数据线上接收的数据,产生解码所需的采样时钟。
[0065]本步骤中,数据接收装置12产生采样时钟的具体方法,为本领域技术人员所熟知,此处不再赘述。
[0066]步骤S203:数据接收装置12根据产生的采样时钟,采样所述数据线上的信号,并根据预定的帧结构解码出数据后输出。
[0067]较优地,数据接收装置12可以根据接收的16位CRC校验值,对解码出的数据进行校验,具体校验方法在如前述所述。
[0068]图4示出了本地参考时钟和数据接收装置12产生的采样时钟的示意图;还示出了数据接收装置12对信号进行同步复位的示意图。
[0069]较优地,数据接收装置12在数据接收过程中,还可以根据检测到的高电平或低电平时间(高电平或低电平的持续时间),对数据传输是否出错、以及对数据线是否空闲进行检测。具体地,数据接收装置12检测到的高电平或低电平超过2个采样时钟周期时,发送数据传输错误信息;检测到的高电平或低电平时间超过6个采样时钟周期时,发送数据线空闲信息。图3示出了高电平或低电平时间的确定的示意图。
[0070]本发明中,以信号的跳变沿表示数据,在数据传输过程中,数据接收装置在检测到高电平或低电平时间超过2个采样时钟周期时,便可以说明数据传输出错。本发明可快速检测出错,从而提高了数据传输的可靠性。
[0071]实际应用中,数据的传输过程具体可以为:待发送的数据可由主控处理器通过总线写入FPGA(Field-Programmable GateArray,现场可编程逻辑阵列)内部的寄存器,而后FPGA内部实现的编码电路对写入寄存器的数据计算CRC值,加上帧头帧尾后编码发送;数据通过传输路径后送入FPGA的解码电路,经过解码、CRC校验后输出到FPGA内部的寄存器,同时向主控处理器发送中断通知。
[0072]在数据的发送端,数据先被送入数据发送装置11的输入寄存器,而后经装置内部的CRC计算和编码后发出;在数据的接收端,数据接收装置12从传输路径上接收下来的编码数据被送入数据接收装置,而后经数据接收装置12内部解码和CRC计算后输出到输出寄存器。
[0073]下面详细说明本发明的数据传输系统传输数据的方法。
[0074]如图1所示,在数据发送端,数据发送装置11包括寄存器112、CRC计算器114、时钟发生器111和编码器113组成。时钟发生器111产生编码器113所需要数据移位时钟SCLK和两倍于SCLK时钟的数据发送时钟;CRC计算器414每发送8位数据便计算一次新的CRC校验值;编码器113将需要发送的数据经编码(用上跳沿表示0,下跳沿表示I)后输出;待发送的数据先写入数据发送装置的寄存器112 (即输入寄存器)中,数据发送装置会每隔设定的时间启动一次编码发送过程,将数据发送出去。
[0075]具体地,数据发送装置基于前述的帧结构发送数据的过程可以如下:
[0076]第一步编码器113发送一位启始位,并初始化CRC计算器114 ;
[0077]第二步编码器113开始发送8位的数据长度,同时计算CRC ;
[0078]第三步编码器113开始发送数据,同时计算CRC,直至所有数据发送完成;
[0079]第四步编码器113发送16位的CRC校验码;
[0080]第五步编码器113发送I位停止位;
[0081]第六步编码器113返回初始态准备新的数据发送。
[0082]如图1所示,在数据接收端,数据接收装置12包括时钟恢复单元121、解码单元122、CRC计算单元124和输出数据缓存单元123。时钟恢复单元121根据本地参考时钟和接收到的数据,产生解码所需的数据采样时钟和1/2数据采样时钟的数据移位时钟;解码单元122使用数据采样时钟去采样接收到的数据信号,并根据与发送端同样的编码规则,从数据流中解码出需要的数据;CRC计算单元124每接收8位数据便计算一次新的CRC校验值;输出数据缓存单元123(即输出寄存器)会将新收到的数据写入数据缓冲区中。
[0083]具体地,数据接收装置接收数据并解码的过程可以如下:
[0084]第一步解码单元122 —直等待启始位的到来,接收到启始位后立即初始化内部时钟相位、初始化CRC计算单元124等单元;
[0085]第二步解码单元122开始接收8位的数据长度,并由此确定接下来的数据接收量;并在接收的同时开始CRC校验值计算;
[0086]第三步解码单元122开始数据接收操作,直到所有数据(由之前接收到的数据长度确定)接收完成;并在接收的同时开始CRC校验值计算;
[0087]第四步解码单元122接收16位的CRC校验值;
[0088]第五步解码单元122等待最后的停止位,完成后根据CRC计算单元输出的校验正确与否的信息,决定接收到的数据是否最终输出。其中,由CRC计算单元124比对本地计算的CRC校验值和接收到的CRC校验值是否一致,并在一致时输出校验正确信息,不一致时输入校验错误信息。
[0089]第六步返回初始态准备新的数据接收过程。
[0090]需要说明的是,在数据接收过程中,如果检测数据信号出错,数据接收装置会立即进入出错状态,并等待判断出数据线空闲状态后返回初始态,准备新的接收过程。
[0091]其中,数据同步和时钟的恢复方法可如图4所示:本地高速的参考时钟对输入信号进行不断的采样,一旦本次采样值与前一次的采样值不一致,则认为采集到了一次跳变,并以此生成图3所示的同步复位信号。在采集到跳变的同时,本地采样时钟信号清0,采样时钟分频计数器清O ;而后,采样时钟在固定的(根据理论上的数据传输速率决定)参考时钟周期后将发生翻转,并且在采样时钟的上升沿对输入信号进行采样,从而确保每次都能采集到正确的信号状态。
[0092]而且,为了保证信号实时有效送达和接收端的传输路径有效性,如果没有写入新的数据,数据发送装置会定时将旧的数据重新发送;其中,定时的时间可根据应用灵活通过寄存器设置;当数据信号空闲时间超时、连续多次CRC校验不通过时,数据接收装置会置位传输路径无效标志。空闲时间超时的时间和CRC校验不通过的次数可通过寄存器根据应用灵活配置。
[0093]需要说明的是,整个数据发送装置和数据接收装置都使用FPGA实现,可根据实际应用灵活调整数据传输速率、编码器和解码单元的数量。也就是本发明可增减编码器和解码单元的数目,灵活的满足各种需要。
[0094]综上所述,本发明通过使用一个预定的帧结构,将寄存器中的数据以及数据长度通过数据线进行发送,并在发送过程中,以信号的跳变沿表示数据。从而,避免了额外的CPU/DSP的介入,在无CPU/DSP的系统中也可实现数据的大容量实时传输,保证了数据传输的实时性;而且,以信号的跳变沿表示数据,支持传输出错的快速检测,提高了数据传输的可靠性和有效性。
[0095]进一步,本发明可保证多个传输信号的准时送达,保证数据的实时性,最高的数据传输率可以达到参考时钟的1/8 ;本发明可将多个传输信号编码合成一个信号流进行传输,可大量节约互连线;本发明可方便准确的检测出互连线的好坏,方便故障诊断。
[0096]所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据传输系统,其特征在于,包括: 时钟发生器,用于输出数据移位时钟; 寄存器,用于寄存待发送的数据,以及所述数据的数据长度; 编码器,用于依据所述数据移位时钟并根据预定的帧结构,将所述寄存器中存储的数据,以及数据长度通过一个数据线进行发送;在发送过程中,以信号的跳变沿表示数据; 时钟恢复单元,用于根据本地参考时钟和从所述数据线上接收的数据产生解码所需的采样时钟; 解码单元,用于根据所述采样时钟采样所述数据线上的信号,并根据所述预定的帧结构解码出数据后输出;并在检测到停止位时,输出发送通知;并在检测到的高电平或低电平时间超过2个采样时钟周期时,发送数据传输错误信息; 输出数据缓存单元,用于缓存所述解码单元输出的数据,并在接收到所述发送通知时,将缓存的数据进行发送。
2.根据权利要求1所述的系统,其特征在于,所述时钟发生器、寄存器,以及编码器均设置于数据发送装置中;以及 所述数据发送装置还包括: CRC计算器,用于计算出所述数据的CRC校验值;以及 所述编码器还用于在发送完所述数据后发送所述CRC校验值。
3.根据权利要求1所述的系统,其特征在于,所述帧结构中具体依次包括: 一位起始位、设定字节的数据长度、数据长度X 8位数据位、16位CRC校验值、一位停止位;以及 所述编码器具体用于发送一位起始位,并向所述CRC计算器发送初始化通知后,依次发送设定字节的数据长度、数据长度X 8位数据位,并每发送8位数据后向所述CRC计算器发送计算通知;之后,从所述CRC计算器获取16位CRC校验值进行发送,继而发送一位停止位;以及 所述CRC计算器具体用于根据接收的初始化通知进行初始化,并在接收到计算通知后,根据所述编码器发送的数据进行CRC校验值的计算并缓存。
4.根据权利要求3所述的系统,其特征在于,所述时钟恢复单元、解码单元,以及输出数据缓存单元设置于数据接收装置中。
5.根据权利要求4所述的系统,其特征在于,所述数据接收装置还包括: CRC计算单元,用于在所述解码单元每输出8位数据时,计算一次CRC校验值;并在确定所述解码单元输出的16位CRC校验值与本单元计算的CRC校验值相等时,输出校验正确信息;否则,输出校验错误信息。
6.根据权利要求1至5任一项所述的系统,其特征在于, 所述解码单元还用于检测到的高电平或低电平时间超过6个采样时钟周期时,发送数据线空闲信息。
7.一种数据传输方法,其特征在于,包括: 数据发送装置根据预定的帧结构,将寄存器中存储的数据,以及数据长度通过一个数据线进行发送;其中,在发送过程中以信号的跳变沿表示数据; 数据接收装置根据本地参考时钟和从所述数据线上接收的数据产生解码所需的采样时钟;并 根据所述采样时钟采样所述数据线上的信号,根据所述预定的帧结构解码出数据后输出;以及 所述数据接收装置检测到的高电平或低电平时间超过2个采样时钟周期时,发送数据传输错误信息。
8.根据权利要求7所述的方法,其特征在于,所述帧结构中具体依次包括: 一位起始位、设定字节的数据长度、数据长度X 8位数据位、16位CRC校验值、一位停止位。
9.根据权利要求8所述的方法,其特征在于,所述数据接收装置根据所述预定的帧结构解码出数据后,还包括: 所述数据接收装置根据接收的16位CRC校验值,对解码出的数据进行校验。
10.根据权利要求3所述的方法,其特征在于,还包括: 所述数据接收装置检测到的高电平或低电平时间超过6个采样时钟周期时,发送数据线空闲信息。
【文档编号】H04L1/00GK104468042SQ201410725404
【公开日】2015年3月25日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】牟联树, 李子鸥 申请人:中电博瑞技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1