一种基于光纤传输的数据正反相位编码方法及数据传输方法

文档序号:9352797阅读:770来源:国知局
一种基于光纤传输的数据正反相位编码方法及数据传输方法
【技术领域】
[0001]本发明涉及属于电力工程的继电保护自动化领域,具体涉及数字传输系统中的一种基于光纤传输的数据正反相位编码方法及数据传输方法。
技术背景
[0002]当前光纤通信在智能变电站数字传输系统中应用越来越广泛,光纤通信具有重量轻、体积小、容量大、传输频带宽、损耗低、不易串音、抗电干扰等优点。光纤通信中的核心器件是光模块,由光模块完成对相关数据进行发送和接收。光模块是完成光/电转换和电/光转换的器件,由于光模块的器件特性,连续的长“O”和连续的长“1”,都可能会提高光通信的误码率。在光纤通信系统中,为了消除信号中的连续的长“O”和连续长“1”,往往需要对发送的数据进行某种编码转换,如曼彻斯特编码、8B/10B编码或者使用专门的编码芯片,而这些编码或实现复杂,或限制数据的传输带宽。
[0003]如曼彻斯特的码元中携带时钟信息,需要在解码端用高频的本地时钟对输入信号进行采样,从曼彻斯特的码元中分离出传输数据和传输时钟,然后再将“10”解码为“0”,将“01”解码为“ I ”。曼彻斯特编码缺点是因需要高频时钟对码元采样分离时钟,也就限制了曼彻斯特编码的传输速率。8B/10B编码广泛使用在高速串行传输数据中,其编码原理先将8B数据分为低5位和高3位,再分别进行5B/6B编码和3B/4B编码,最终产生1B数据。8B/10B编码的缺点是,无论是5B/6B编码还是3B/4B编码实现都比较复杂。而使用专用芯片实现编解码成本太高,且传输速率也受限制,不能灵活满足多种速率数据传输,也会占用日益紧张的电路板的布线空间。

【发明内容】

[0004]本发明提供了一种基于光纤传输的数据正反相位编码方法及数据传输方法,以解决现有技术中编码方法在消除信号中的连续的长“O”和连续长“I”现象时编码复杂、成本高、传输速率受限的问题。
[0005]为解决上述技术问题,本发明的基于光纤传输的数据正反相位编码方法包括:以字节为单位,依次选取待传输的有效数据,对选取的一字节有效数据按位取反,得到反相数据,将反相数据与选取的有效数据组成用于光纤传输的有效数据,重复上述步骤直至所有待传输的有效数据编码完成。
[0006]本发明的数据传输方法,其特征在于,该方法包括如下步骤:
[0007]I)将待传输的数据封装成帧;
[0008]2)以字节为单位,从封装好的一帧数据中取有效数据即正相数据进行存储,同时对该有效数据按位取反得到反相数据进行存储;
[0009]3)当发送时刻到来,按照预先制定好的发送规则,将正、反相数据发送出去;
[0010]4)重复步骤2)?3),直至该帧数据的有效数据全部发送出去,完成该帧数据发送。
[0011]所述步骤3)中预先制定好的发送规则为:先将正相数据发送出去,待正相数据发送完成后,再将反相数据发送出去。
[0012]步骤I)中封装好的一帧数据包括帧起始字段、帧长字段、帧类型字段、有效数据和CRC校验字段。
[0013]步骤3)中当没有有效数据发送时,发送空闲字节。
[0014]所述待传输的数据为非归零码。
[0015]本发明的编码方法对设定长度数据的正反相位交替编码,避免出现连续长“ I ”和连续长“O”的现象,实现了传输中的数据DC平衡,减少了光纤通信的误码率。本发明的编码方式简单,易于实现,不会影响数据传输速率,成本低,实用性强。
[0016]由于是传输报文的所有有效数据的都是正反相交替传输的,相当于同时传输两帧一样的数据的报文,当正相位报文发生误码时,可选择使用反相位报文,增强了数据传输的抗干扰能力,提高了数字传输系统的可靠性。
[0017]本发明通过帧封装单元实现数据的报文封装,以报文的形式传输给对端,并实现对报文数据信息CRC校验,解码端通过CRC校验码验证传输数据的有效性,提高数据传输的安全性。
【附图说明】
[0018]图1为本实施例非归零码正反相位编码方法结构框图;
[0019]图2为本实施例非归零码传输报文帧格式;
[0020]图3为本实施例非归零码正反相编码示意图。
【具体实施方式】
[0021 ] 下面结合附图,对本发明的技术方案进行详细说明。
[0022]基于光纤传输的数据正反相位编码方法的实施例
[0023]本实施例的编码方法为:以字节为单位,依次选取待传输的有效数据,对选取的一字节有效数据按位取反,得到反相数据,将反相数据与选取的有效数据组成用于光纤传输的有效数据,重复上述步骤直至所有待传输的有效数据编码完成。
[0024]以数据0x04为例进行说明,取一个字节数据即8为00000100,按位取反得到8为反相数据 11111011,后将“00000100”与 “11111011”组成新的数据即 “0000010011111011”,完成该数据0x04的编码。
[0025]数据传输方法实施例
[0026]本实施例是一种基于上述编码方法的数据传输方法,具体步骤如下:
[0027]I)将待传输的数据封装成帧;
[0028]2)以字节为单位,从封装好的一帧数据中取有效数据即正相数据进行存储,同时对该有效数据按位取反得到反相数据进行存储;
[0029]3)当发送时刻到来,按照预先制定好的发送规则,将正、反相数据发送出去;
[0030]4)重复步骤2)?3),直至该帧数据的有效数据全部发送出去,完成该帧数据发送。
[0031]下面对上述步骤进行详细阐述:
[0032]对于步骤I),将要传输的数据加上帧信息封装成一帧报文,并对传输的数据做CRC校验,提高了数据传输的可靠性。封装后的帧格式应该包含:帧起始字段、帧长字段、帧类型字段、有效数据和CRC校验字段,其报文帧格式如图2所示。
[0033]帧起始字段为了标识一帧数据的开始,提示接收端设备做好接收通信数据的准备,解码端检测到该字段时开始接收数据,设计帧起始字段为两个字节的数据:0x04,0x56。帧长字段是标识本帧报文的长度,随该报文的长短变化,单位为字节,其长度计算包括帧类型字段、有效数据和CRC校验字段字节的总和。帧类型字段用来标识传输数据的类型,用两个字节表示,如本实施例传输的数据为采集的模拟量数据,设计为0x5A和0x01。有效数据是该帧报文传输的有效数据,为模拟量采集数据,一个模拟量通道数据用两个字节表示,有效数据字段的长度为:模拟量通道个数x2。CRC校验字段是对报文中的有效数据位进行CRC-16校验后的校验结果,除帧起始字段外,帧长字段、帧类型字段、有效数据都参与CRC-16 校验。
[0034]对于步骤2),对封装好的一帧报文进行正反相编码,以字节为单位,先取一字节的该帧报文的有效数据,将该数据存放正相数据寄存器REG_P0SITIVE中,同时对该字节数据取反存放在反相数据寄存器REG_NEGATIVE中。
[0035]作为其他实施方式,正、反相数据还可以分别位于缓存中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1