CN109889306B - 一种用于高速光纤数字传输系统的编码极性计算方法 - Google Patents

一种用于高速光纤数字传输系统的编码极性计算方法 Download PDF

Info

Publication number
CN109889306B
CN109889306B CN201910040279.9A CN201910040279A CN109889306B CN 109889306 B CN109889306 B CN 109889306B CN 201910040279 A CN201910040279 A CN 201910040279A CN 109889306 B CN109889306 B CN 109889306B
Authority
CN
China
Prior art keywords
polarity
byte
value
data
positive
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
Application number
CN201910040279.9A
Other languages
English (en)
Other versions
CN109889306A (zh
Inventor
陈水忠
于柏森
董博宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luoyang Institute of Electro Optical Equipment AVIC
Original Assignee
Luoyang Institute of Electro Optical Equipment AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Luoyang Institute of Electro Optical Equipment AVIC filed Critical Luoyang Institute of Electro Optical Equipment AVIC
Priority to CN201910040279.9A priority Critical patent/CN109889306B/zh
Publication of CN109889306A publication Critical patent/CN109889306A/zh
Application granted granted Critical
Publication of CN109889306B publication Critical patent/CN109889306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Time-Division Multiplex Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本发明提供了一种用于高速光纤数字传输系统的编码极性计算方法,在一个时钟周期内,对于每个字节,分别以正负两种输入计算其极性,每个字节得到正负两种极性计算结果;根据原始极性值,对应选择最低位字节的两个极性计算结果中的一个为最低位极性值;再根据该最低位极性值,对应选择次低字节的两个极性计算结果中的一个为次低位极性值;以此类推,根据次高位字节极性值,选择最高位字节的两个极性计算结果中的一个为整个数据的极性值,上述的过程在一个时钟周期内即可完成,且将串行计算转换为并行计算,大大提高了编码极性计算方法的效率,可用于实现大数据量、高速率的数据交换任务。

Description

一种用于高速光纤数字传输系统的编码极性计算方法
技术领域
本发明属于数字通讯技术领域,特别涉及一种用于高速光纤数字传输系统的编码极性计算方法。
背景技术
随着数字通信技术的迅猛发展,数据传输的速率和数据量都得到了极大的提高,因此对数据传输的可靠性也提出了更高的要求。由于传输距离的增加和传输速率的提高,信号衰减变得十分严重,波形也容易发生畸变,从而导致数据可靠性明显下降。为了增加数据传输的可靠性和稳定性,需要对数字信号进行编码调制,使信号频谱与传输媒质相匹配,以实现对传输媒质的充分利用。
光纤数字传输系统相对于普通有线通信系统具有损耗低、带宽比较宽、电磁干扰小和安全性高等优点,越来越多地被应用到通信系统中,mB/nB调制码是最常用的一种编码,其本质是一种分组码,可以根据传输特性的要求预先设定一种编码速度和速率都比较高的映射规则,适于硬件实现。mB/nB调制码具有信号频谱特性较好、基线飘逸小、误码率低等优点。
比如,8B/10B编码是高速光纤数字传输系统中最常用的一种编码,其本质是一种分组码,可以根据传输特性的要求预先设定一种编码速度和效率都比较高的映射规则,适于硬件实现。
8B/10B编码的主要原理是把输入的二进制原始码流进行分组,每组有8个二进制码,记为8B,称为一个码字,然后把一个码字变换为10个二进制码,记为10B,并在同一个时隙内输出。
如图1所示,现有处理系统处理数据为32bit,应用8B/10B编码计算32位数据极性是以原始极性值RD(RD取值包括正、负两种情况)做为Data[7:0]8个bit的输入,计算之后得到极性值RD1;再将RD1做为Data[15:8]8个bit的输入,计算之后得到极性值RD2;将RD2做为Data[23:16]8个bit的输入,计算之后得到极性值RD3;最后将RD3做为Data[31:24]8个bit的输入,计算之后得到32位数据最终的极性值RD4,由于极性的计算依赖于上一次计算的结果,所以计算得出32位数据的极性值总计需要4个时钟周期,效率很低。
发明内容
本发明的目的在于提供一种用于高速光纤数字传输系统的编码极性计算方法,用于解决现有技术中数据传输过程中编码的计算方法效率低的问题。
为实现上述目的,本发明提供了一种用于高速光纤数字传输系统的编码极性计算方法,包括如下步骤:
在一个时钟周期内,对于每个字节,分别以正负两种输入计算其极性,每个字节得到正负两种极性计算结果;根据原始极性值,对应选择最低位字节的两个极性计算结果中的一个为最低位极性值;再根据该最低位极性值,对应选择次低字节的两个极性计算结果中的一个为次低位极性值;以此类推,根据次高位字节极性值,选择最高位字节的两个极性计算结果中的一个为整个数据的极性值。
数据传输过程中,对每个字节分别计算得到正负两种极性计算结果,根据原始极性值及正负极性计算结果确定各字节的极性值,根据各字节的极性值最终确定整个数据的极性值,上述的过程在一个时钟周期内即可完成,且将串行计算转换为并行计算,大大提高了编码极性计算方法的效率,可用于实现大数据量、高速率的数据交换任务。
进一步地,为了得到整个数据的极性值,若原始极性值为正,选择最低位字节的正极性计算结果为最低位极性值,若原始极性值为负,选择最低位字节的负极性计算结果为最低位极性值;若该最低位极性值为正,选择次低位字节的正极性计算结果为次低位极性值,若该最低位极性值为负,选择次低位字节的负极性计算结果为次低位极性值;以此类推,若次高位极性值为正,选择最高位字节的正极性计算结果为整个数据的极性值,若次高位极性值为负,选择最高位字节的负极性计算结果为整个数据的极性值。该计算过程简单易实现,能够直接得到整个数据的极性值。
为了提高传输效率,高速光纤数字传输系统采用基于FC-AE协议的传输系统。
附图说明
图1为现有技术的32bit数据计算RD时序图;
图2为本发明的32bit数据计算RD时序图;
图3为本发明的标准FC-AE协议规定的帧格式的示意图;
图4为本发明的数据传输流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的说明:
高速光纤通道基于FC-AE协议传输数据,可以应用于航电总线通信任务中,基于verilog语言实现数据帧的发送以及协议包的处理。为了增加数据传输的可靠性和稳定性,需要对数据进行编码调制,使信号频谱与传输媒质相匹配,以实现对传输媒质的充分利用。
基于FC-AE协议传输的数据为32bit,使用现有技术中的8B/10B编码技术在不提升系统时钟的情况下则会导致数据带宽降低仅为原始的1/4,无法满足32bit宽数据的要求。本实施例采用32B/40B编码方式,将32bit数据分为4个8bit数据,将每个8bit数据同时计算,依据正负极性输入得出两种极性结果(32bit数据一共有8种可能的结果),再根据上一个有效数据的极性使用组合逻辑直接给出32bit数据计算完成后的极性(RD)值,上述过程将现有技术的串行计算转换为并行计算,提高了极性值的计算效率。具体的处理过程,如图2所示,包括以下步骤:
1、将32bit数据划分为最低位字节Data[7:0]、次低位字节Data[15:8]、次高位字节Data[23:16]、最高位字节Data[31:24],每个字节包括正负两种输入,在第一个时钟上升沿分别以正负两种输入计算其极性,即对最低位字节Data[7:0]分别以正负两种输入计算其极性,得到的正极性计算结果为RD11,负极性计算结果RD12;对次低位字节Data[15:8]分别以正负两种输入计算其极性,得到的正极性计算结果为RD21,负极性计算结果为RD22;对次高位字节Data[23:16]分别以正负两种输入计算其极性,得到的正极性计算结果为RD31,负极性计算结果为RD32,对最高位字节Data[31:24]分别以正负两种输入计算其极性,得到的正极性计算结果为RD41,负极性计算结果为RD42。
2、若原始极性值RD为正,选择最低位字节Data[7:0]的正极性计算结果RD11为最低位极性值RD1,也就是说RD1=RD11;若原始极性值RD为负,选择最低位字节Data[7:0]的负极性计算结果RD12为最低位极性值RD1,也就是说RD1=RD12;
若该最低位极性值RD1为正,选择次低位字节Data[15:8]的正极性计算结果RD21为次低位极性值RD2,即RD2=RD21,若该最低位极性值RD1为负,选择次低位字节Data[15:8]的负极性计算结果为次低位极性值RD2,即RD2=RD22。
若该次低位极性值RD2为正,选择次高位字节Data[23:16]的正极性计算结果RD31为次低位极性值RD3,即RD3=RD31,若该次低位极性值RD1为负,选择次高位字节Data[23:16]的负极性计算结果为次高位极性值RD3,即RD3=RD32。
若次高位极性值RD3为正,选择最高位字节Data[31:24]的正极性计算结果RD41为整个数据的极性值,即RD4=RD41,若次高位极性值RD3为负,选择最高位字节Data[31:24]的负极性计算结果RD42为整个数据的极性值,即RD4=RD41。
综上,使用本发明的方法在一个时钟周期内就可以得到32位数据的极性值,该计算过程简单易实现,能够直接得到整个数据的极性值。
需要说明的是,上述方法可以类推应用到64位的数据中,64位数据只是比32位数据多了4个字节,其过程是基本一致的。当然,也可以应用到超过8个字节的情况,无论是应用到多少字节中,其极性值计算过程都与上述的计算过程一样,因此,在这里不再赘述。
利用上述方法对数据极性进行计算得到整个数据的编码极性值后,数据帧的发送过程如图3和图4所示,包括以下流程:
(1)软件部分
Step1:首先软件读取是否有发送任务在执行,若是则等待,否则进行Step2;
Step2:软件写相应的数据帧的相应信息至配置区,完成后进入到Step3;
Step3:软件通过直接内存存取(Direct Memory Access,DMA)将数据发送至数据存储区,直至数据发送完成进入Step1。
(2)逻辑部分
1)状态机检测到配置区有待发送数据后,进入到发送数据状态;
2)如果当前待发送数据长度大于2112byte(即大于一帧数据的长度),则需要进行拆包处理;
3)一帧数据切分完成后,需要判断数据存储区数据是否大于等于待发送数据帧的长度,若满足则可以进行组包处理,否则还需要等待(peripheral componentinterconnect express,PCIe)发送数据;
4)当数据存储区的数据满足一帧数据的发送条件后,进入到组包处理阶段;
5)该阶段会依据待发送数据的长度以及配置区相应的内容,插入帧起始标志(Start of Frame,SOF)、帧头信息、可选帧头(Optional Header,OPT HDR)payload(载荷)、并计算出CRC,再将依据上述方法计算得到的极性值插入相应类型的帧结束标志(End ofFrame,EOF),至此一帧数据包打包完成,并将其存入到TX_BUFF和TX_OUT中,待发送状态机空闲时将该帧数据通过光纤发送出去。

Claims (2)

1.一种用于高速光纤数字传输系统的编码极性计算方法,其特征在于,包括如下步骤:
在一个时钟周期内,对于每个字节,分别以正负两种输入计算其极性,每个字节得到正负两种极性计算结果;根据原始极性值,若原始极性值为正,选择最低位字节的正极性计算结果为最低位极性值,若原始极性值为负,选择最低位字节的负极性计算结果为最低位极性值;若该最低位极性值为正,选择次低位字节的正极性计算结果为次低位极性值,若该最低位极性值为负,选择次低位字节的负极性计算结果为次低位极性值;以此类推,若次高位极性值为正,选择最高位字节的正极性计算结果为整个数据的极性值,若次高位极性值为负,选择最高位字节的负极性计算结果为整个数据的极性值。
2.根据权利要求1所述的用于高速光纤数字传输系统的编码极性计算方法,其特征在于,高速光纤数字传输系统采用基于FC-AE协议的传输系统。
CN201910040279.9A 2019-01-16 2019-01-16 一种用于高速光纤数字传输系统的编码极性计算方法 Active CN109889306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910040279.9A CN109889306B (zh) 2019-01-16 2019-01-16 一种用于高速光纤数字传输系统的编码极性计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910040279.9A CN109889306B (zh) 2019-01-16 2019-01-16 一种用于高速光纤数字传输系统的编码极性计算方法

Publications (2)

Publication Number Publication Date
CN109889306A CN109889306A (zh) 2019-06-14
CN109889306B true CN109889306B (zh) 2021-12-17

Family

ID=66926161

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910040279.9A Active CN109889306B (zh) 2019-01-16 2019-01-16 一种用于高速光纤数字传输系统的编码极性计算方法

Country Status (1)

Country Link
CN (1) CN109889306B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363131B (zh) * 2022-01-17 2024-05-10 中国人民解放军国防科技大学 用于多模式信道的物理编码子层极性推断与自动翻转方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674089A (zh) * 2009-10-19 2010-03-17 中国科学院声学研究所 一种高速8b/10b编码器和解码器及其对错误输入的处理方法
CN101764617A (zh) * 2009-12-22 2010-06-30 清华大学 一种9b/10b码的编码方法
JP2011019198A (ja) * 2009-07-10 2011-01-27 Nippon Telegr & Teleph Corp <Ntt> 光符号分割多重用送信回路及び光符号分割多重用受信回路
CN102487307A (zh) * 2010-12-06 2012-06-06 中国航空工业集团公司第六三一研究所 一种用于fc协议的eof极性选择方法
CN102957433A (zh) * 2011-08-19 2013-03-06 上海华虹集成电路有限责任公司 基于rd+的8b/10b编码电路
CN104579583A (zh) * 2015-02-09 2015-04-29 浪潮电子信息产业股份有限公司 一种对8b/10b编码方式的改进方法
CN106533613A (zh) * 2015-09-10 2017-03-22 安徽大学 新型高速8b/10b编码电路技术
CN107395539A (zh) * 2017-08-31 2017-11-24 华南理工大学 一种适用于jesd204b协议中的8b10b编码器设计方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011019198A (ja) * 2009-07-10 2011-01-27 Nippon Telegr & Teleph Corp <Ntt> 光符号分割多重用送信回路及び光符号分割多重用受信回路
CN101674089A (zh) * 2009-10-19 2010-03-17 中国科学院声学研究所 一种高速8b/10b编码器和解码器及其对错误输入的处理方法
CN101764617A (zh) * 2009-12-22 2010-06-30 清华大学 一种9b/10b码的编码方法
CN102487307A (zh) * 2010-12-06 2012-06-06 中国航空工业集团公司第六三一研究所 一种用于fc协议的eof极性选择方法
CN102957433A (zh) * 2011-08-19 2013-03-06 上海华虹集成电路有限责任公司 基于rd+的8b/10b编码电路
CN104579583A (zh) * 2015-02-09 2015-04-29 浪潮电子信息产业股份有限公司 一种对8b/10b编码方式的改进方法
CN106533613A (zh) * 2015-09-10 2017-03-22 安徽大学 新型高速8b/10b编码电路技术
CN107395539A (zh) * 2017-08-31 2017-11-24 华南理工大学 一种适用于jesd204b协议中的8b10b编码器设计方法

Also Published As

Publication number Publication date
CN109889306A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN109218154B (zh) 一种基于fpga的千兆以太网到slip的转换系统
CN110224789B (zh) 一种基于fpga的多模式hdlc控制器
CN112948295B (zh) 一种基于axi4总线的fpga与ddr高速数据包传输系统及方法
CN109698824B (zh) 一种fc-ae-1553协议转换多协议多通道数据记录系统
CN106598889A (zh) 一种基于fpga夹层板的sata主控器
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
CN109889306B (zh) 一种用于高速光纤数字传输系统的编码极性计算方法
CN111930666A (zh) 一种高速可配置工业协议转换器
CN105446699A (zh) 数据帧队列管理方法
CN110474692B (zh) 一种光通信设备、光通信系统、数据传输方法及存储介质
CN113722250B (zh) 基于Aurora协议的双路冗余数据交换方法及系统
CN115866081A (zh) 一种基于soc的工业以太网协议转换方法
CN108614792B (zh) 1394事务层数据包存储管理方法及电路
CN109800195A (zh) 一种基于fpga的光纤通道适配器及数据传输方法
CN101228698A (zh) 4电平逻辑解码器
CN115004587B (zh) 用于数据传输的位反转
CN101540656A (zh) 用于ctcs点式应答器的解码装置和解码方法
CN112699070B (zh) 基于zynq的dma数据传输方法
CN112147918B (zh) 基于arm+fpga+dsp架构的异步数据交互方法及系统
CN105227544A (zh) 实现不同协议报文转换的装置及方法
CN113490080A (zh) 一种多端口fc交换主机及交换方法
CN202331445U (zh) 高速数据传输装置
CN114201436B (zh) 一种基于axi总线的Lvds数据通信实现方法及通信装置
CN114124718B (zh) 强实时EtherCAT实现系统
CN118227542B (zh) 一种基于AXI总线的Interlaken接口转换方法及桥接系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant