CN102487307B - 一种用于fc协议的eof极性选择方法 - Google Patents
一种用于fc协议的eof极性选择方法 Download PDFInfo
- Publication number
- CN102487307B CN102487307B CN201010574614.2A CN201010574614A CN102487307B CN 102487307 B CN102487307 B CN 102487307B CN 201010574614 A CN201010574614 A CN 201010574614A CN 102487307 B CN102487307 B CN 102487307B
- Authority
- CN
- China
- Prior art keywords
- value
- polarity
- eof
- data
- data flow
- 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
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Communication Control (AREA)
Abstract
本发明涉及一种用于FC协议的帧结束定界符EOF极性选择方法,该方法包括以下步骤:1)定义起始参数的极性;2)根据起始参数的极性获取数据流中第一数据的实际RD值的极性;3)获取数据流中EOF的实际RD值的极性;4)根据数据流中EOF的实际RD值的极性对EOF极性进行选择。本发明提供了一种能够正确对FC协议的EOF极性进行选择的用于FC协议的EOF极性选择方法。
Description
技术领域
本发明属于计算机控制领域,涉及一种用于FC协议的帧结束定界符EOF极性选择方法。
背景技术
FC-FS-3协议规定,有极性为正、负两种编码的EOF帧结束定界符被定义,在输入到8B/10B编码器的数据中,选择合适的极性的EOF编码,这样可以使处理完有序集(Ordered Sets)的最后一个字符(最右边)之后,应该产生一个负的RD(running disparity)值。EOF编码极性选择,和RD值的初始化规则相结合,确保了在发射机上电,或者发射机退出诊断模式(diagnostic mode)时,可以使用负的开始RD值来发送EOF之后的第一个有序集。用于原语信号和原语序列的被定义的有序集(Ordered Sets)保持负的极性,确保了和SOF定界符、原语信号、原语序列相关的有序集被发送时,总是以负的RD值开始。结果,原语信号、原语序列、SOF定界符有序集只定义了开始RD值为负的情况。这样定义最主要的好处是,可以从编码后的位流中一次移除或者添加一个字的填充字,而不用改变被移除的填充字之后发送的字的开始RD极性。
为了实现FC-1层编解码相关协议的正确解析,需要在FC-1层协议处理电路中实现EOF极性选择电路,以确保在处理完EOF之后,下一个原语序列开始的RD值为负。
发明内容
为了解决背景技术中存在的上述技术问题,本发明提供了一种能够正确对FC协议的EOF极性进行选择的用于FC协议的EOF极性选择方法。
本发明的技术解决方案是:本发明提供了一种用于FC协议的EOF极性选择方法,其特殊之处在于:所述方法包括以下步骤:
1)定义起始参数的极性;
2)根据起始参数的极性获取数据流中第一数据的实际RD值的极性;
3)获取数据流中EOF的实际RD值的极性;
4)根据数据流中EOF的实际RD值的极性对EOF极性进行选择。
上述步骤1)中起始参数包括起始数据RD值的极性;所述起始数据RD值的极性为负。
上述数据流的极性和数据RD值的极性保持一致。
上述步骤2)的具体实现方式是:
2.1)获取起始数据RD值的极性;
2.2)获取数据流中第一数据的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
2.3)将步骤2.1)和步骤2.2)所得到的起始数据RD值的极性、高8位理论RD值以及低8位理论RD值进行异或运算,得到数据流中第一数据的实际RD值的极性。
上述步骤3)的具体实现方式是:
3.1)获取数据流中EOF前一个数据的实际RD值的极性;
3.2)获取数据流中EOF的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
3.3)将步骤3.1)和步骤3.2)所得到的数据流中EOF前一个数据的实际RD值的极性、高8位理论RD值以及低8位理论RD值进行异或运算,得到数据流中EOF的实际RD值的极性。
上步骤4)的具体实现方式是:
若数据流中EOF的实际RD值的极性是负,则数据流中EOF的极性为负保持不变;
若数据流中EOF的实际RD值的极性是正,则将数据流中EOF的极性更改为负。
上述步骤4)中将数据流中EOF的极性更改为负的具体实现方式是:
4.1)获取数据流中EOF前一个数据的实际RD值的极性;
4.2)获取数据流中EOF的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
4.3)将步骤4.2)所得到的低8位理论RD值的计算结果取反值;
4.4)将数据流中EOF前一个数据的实际RD值的极性、高8位理论RD值以及经步骤4.3)所得到的低8位理论RD值进行异或运算,得到数据流中EOF的实际RD值的极性。
本发明的优点是:
本发明所提供的用于FC协议的EOF极性选择方法将输入到EOF极性选择电路的所有EOF编码都选择负编码,在EOF极性选择电路模块中对EOF之前处理数据的极性进行计算,处理EOF时,起始RD值为负,此时的EOF编码也为负,可以满足EOF处理结束后RD值为负的要求,如果处理EOF时,起始RD为正,只需要将负EOF编码调整为正的EOF编码。使用以上EOF编码极性选择的方法,可以实现在FC-1层协议处理电路中,EOF帧结束定界符处理结束后,下一个原语8B/10B编码的起始RD值为负的要求。对输入FC-1层之前16bit数据的EOF编码极性进行选择,以确保FC-1层协议处理电路在对EOF进行8B/10编码之后,下一个原语序列8B/10B编码的起始RD值为负。
具体实施方式
FC-FS-3协议规定,在处理完每一种被定义的EOF定界符有序集最后一个字符(最右边)之后,应该产生一个负的RD值。这个规定和RD值的初始化规则相结合,确保了在发射机上电,或者发射机退出诊断模式(diagnostic mode)之后,应该使用负的开始RD值来发送EOF之后的第一个有序集。用于原语信号和原语序列的被定义的有序集保持负的极性,确保了和SOF定界符、原语信号、原语序列相关的有序集被发送时,总是以负的RD值开始。最终的结果是,原语信号、原语序列和SOF定界符有序集,只定义了开始RD值为负的情况。这样定义最主要的好处是,可以从编码后的位流中一次移除或者添加一个字的填充字,而不用改变被移除填充字之后发送字的开始RD极性(在时钟校正时,需要***或者移除IDLE原语)。
按照协议规定,本发明提供了一种用于FC协议的EOF极性选择方法,该方法包括以下步骤:
1)定义起始参数的极性,起始参数包括起始数据RD值的极性;所述起始数据RD值的极性为负;
2)根据起始参数的极性获取数据流中第一数据的实际RD值的极性:
2.1)获取起始数据RD值的极性;
2.2)获取数据流中第一数据的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
2.3)将步骤2.1)和步骤2.2)所得到的起始数据RD值的极性、高8位理论RD值以及低8位理论RD值进行异或运算,得到数据流中第一数据的实际RD值的极性。
3)获取数据流中EOF的实际RD值的极性:
3.1)获取数据流中EOF前一个数据的实际RD值的极性;
3.2)获取数据流中EOF的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
3.3)将步骤3.1)和步骤3.2)所得到的数据流中EOF前一个数据的实际RD值的极性、高8位理论RD值以及低8位理论RD值进行异或运算,得到数据流中EOF的实际RD值的极性。
4)根据数据流中EOF的实际RD值的极性对EOF极性进行选择;若数据流中EOF的实际RD值的极性是负,则数据流中EOF的极性为负保持不变;
若数据流中EOF的实际RD值的极性是正,则将数据流中EOF的极性更改为负:
4.1)获取数据流中EOF前一个数据的实际RD值的极性;
4.2)获取数据流中EOF的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
4.3)将步骤4.2)所得到的低8位理论RD值的计算结果取反值;
4.4)将数据流中EOF前一个数据的实际RD值的极性、高8位理论RD值以及经步骤4.3)所得到的低8位理论RD值进行异或运算,得到数据流中EOF的实际RD值的极性。
数据流的极性和数据RD值的极性保持一致。
EOF编码极性选择电路由8B数据极性计算模块Disp、16位数据RD计算电路以及EOF选择电路组成。
EOF编码极性选择的实现流程为:
1、将16位的输入数据分为高8位和第8位两路,输入DispLow和DispHigh模块,分别对RD值进行计算;
2、将以上每个8B数据计算的结果DispOutLow、DispOutHigh和保留的上一个16位数据的RD值OldDisp进行按位异或运算,得到当前处理的8B数据的起始RD值,RD为正,表示应该从8B/10B编码表的正列选取编码的数据;
3、输入数据不是EOF,对输入的数据流不做处理,将数据是寄存一拍后输出,保存当前处理数据的RD值到OldDisp;
4、当前输入数据是EOF时,将输入数据的bit5替换为计算出来的RD值CalcDisp,可以实现EOF由负编码极性调整为正编码极性,同时:
EOF之前一个数据处理结束时RD值为正,除将EOF的编码极性由负调整为正之外,也需要将保存到OldDisp的当前编码的RD值进行调整。EOF的起始RD值为负,保持EOF的编码极性不变,将调整后的EOF寄存输出,保存当前处理数据的RD值到OldDisp。
EOF编码极性选择电路的具体实现如下:
将输入EOF编码极性选择电路的16bit输入数据分为高8位和低8位两路,与输入数据高8位和低8位对应的两位K字符也分为高位和低位,分别输入到EOF编码极性选择电路高8位和低8位数据的RD值计算模块Disp中,对8B输入数据(包括特殊的K字符)对应的10bit编码的RD值进行计算。
FC-FS-3协议规定,在串行链路上发送的10bit串行数据,可以分成两个子模块。第一个6bit(adbcei)组成一个子模块,第二个4bit(fghj)组成另一个子模块,应该根据子模块计算发送字符的RD值。6位子模块开始的RD值是上一个发送字符结束时的RD值。4位子模块的开始RD值是6位子模块结束时的RD值。传输字符结束时的RD值是4位子模块结束时的RD值。
在上电时,发射机将当前的RD(Current RD)初始化为负。在发送任何传输字符时,发射机应该根据发送的字符内容和发送字符开始的RD值重新计算新的RD值。FC-FS-3定义的5B/6B、3B/4B子模块的RD计算规则是:
1、任何子模块的RD值在结束时是正的:如果子模块包含的1比0多;
1.1)如果在6bit的子模块结束时,6bit的子模块是’000111’b;
1.2)如果在4bit的子模块结束时,4bit的子模块是’0011’b;
2、任何子模块的RD值在结束时是负的:
2.1)如果子模块包含的0比1多;
2.2)如果在6bit的子模块结束时,6bit的子模块是’111000’b;
2.3)如果在4bit的子模块结束时,4bit的子模块是’1100’b;
根据FC协议,8B/10B编码规则将输入的8B数据从高位到低位依次定义为HGFEDCBA,分成3B的HGF和5B的EDCBA两个子模块,对3B码HGF进行3B/4B编码为fghj,5B码进行5B/6B编码为adbcei,最后将4B、6B编码组合来完成10B的编码。除此之外,特殊的输入K字符有专用的K字符编码表。所以,8B数据的10B编码输出数据RD值是否为0和3B/4B编码表,5B/6B编码表,以及K字符编码表定义的编码规则有关。
参照对高位HGF编码的3B/4B编码表,可以得到编码输出RD不为0的输入数据表达式:
参照对低5位EDCBA进行编码的5B/6B编码表,可以得到编码输出RD不为0的输入数据表达式:
参照FC-FS-3协议中有效的特殊字符编码表,对于特殊的K字符输入,得到编码后输出RD值为0的输入数据表达式(表示8B编码为K28.0、K28.4、K28.7、K23.7、K27.7、K29.7和K30.7的特殊字符):
将以上各部分的RD值计算的表达式组合起来可以得到8B输入数据编码后10B数据的RD是否为0的表达式:
上面公式中,k表示输入的8B数据为K字符。Disp等于1,表示10B输出数据的RD值为正。
将以上每个8B数据RD计算模块DispHigh和DispLow的RD计算出书结果DispOutLow、DispOutHigh,与保留的上一个16位数据的RD值OldDisp进行按位异或运算,得到当前处理的8B数据的起始RD值,RD为正,表示应该从8B/10B编码表的正列选取编码的数据;输入数据不是EOF,对输入的数据流不做处理,将数据是寄存一拍后输出,保存当前处理数据的RD值到OldDisp;当前输入数据是EOF时,将输入数据的bit5替换为计算出来的RD值CalcDisp,可以实现EOF由负编码极性调整为正编码极性,同时:EOF之前一个数据处理结束时RD值为正,除将EOF的编码极性由负调整为正之外,也需要将保存到OldDisp的当前编码的RD值进行调整。EOF的起始RD值为负,保持EOF的编码极性不变,将调整后的EOF寄存输出,保存当前处理数据的RD值到OldDisp。
Claims (2)
1.一种用于FC协议的EOF极性选择方法,其特征在于:所述方法包括以下步骤:
1)定义起始参数的极性;起始参数包括起始数据RD值的极性;所述起始数据RD值的极性为负;
2)根据起始参数的极性获取数据流中第一数据的实际RD值的极性:
2.1)获取起始数据RD值的极性;
2.2)获取数据流中第一数据的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
2.3)将步骤2.1)和步骤2.2)所得到的起始数据RD值的极性、高8位理论RD值以及低8位理论RD值进行异或运算,得到数据流中第一数据的实际RD值的极性;
3)获取数据流中EOF的实际RD值的极性:
3.1)获取数据流中EOF前一个数据的实际RD值的极性;
3.2)获取数据流中EOF的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
3.3)将步骤3.1)和步骤3.2)所得到的数据流中EOF前一个数据的实际RD值的极性、高8位理论RD值以及低8位理论RD值进行异或运算,得到数据流中EOF的实际RD值的极性;
4)根据数据流中EOF的实际RD值的极性对EOF极性进行选择:
若数据流中EOF的实际RD值的极性是负,则数据流中EOF的极性为负保持不变;
若数据流中EOF的实际RD值的极性是正,则将数据流中EOF的极性更改为负;
其中:将数据流中EOF的极性更改为负的具体实现方式是:
4.1)获取数据流中EOF前一个数据的实际RD值的极性;
4.2)获取数据流中EOF的理论RD值的极性,并将其拆分为高8位理论RD值和低8位理论RD值;
4.3)将步骤4.2)所得到的低8位理论RD值的计算结果取反值;
4.4)将数据流中EOF前一个数据的实际RD值的极性、高8位理论RD值以及经步骤4.3)所得到的低8位理论RD值进行异或运算,得到数据流中EOF的实际RD值的极性。
2.根据权利要求1所述的用于FC协议的EOF极性选择方法,其特征在于:所述数据流的极性和数据RD值的极性保持一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010574614.2A CN102487307B (zh) | 2010-12-06 | 2010-12-06 | 一种用于fc协议的eof极性选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010574614.2A CN102487307B (zh) | 2010-12-06 | 2010-12-06 | 一种用于fc协议的eof极性选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102487307A CN102487307A (zh) | 2012-06-06 |
CN102487307B true CN102487307B (zh) | 2014-05-28 |
Family
ID=46152764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010574614.2A Active CN102487307B (zh) | 2010-12-06 | 2010-12-06 | 一种用于fc协议的eof极性选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102487307B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103199869B (zh) * | 2012-01-06 | 2017-05-10 | 上海华虹集成电路有限责任公司 | 基于rd+的8b/10b解码电路 |
CN104734804A (zh) * | 2013-12-20 | 2015-06-24 | 中国航空工业集团公司第六三一研究所 | 一种32位crc计算及eof极性选择电路 |
CN109905199B (zh) * | 2017-12-08 | 2021-07-09 | 中国科学院上海高等研究院 | 一种非对称k码编解码的串行通信数据极性恢复方法 |
CN109889306B (zh) * | 2019-01-16 | 2021-12-17 | 中国航空工业集团公司洛阳电光设备研究所 | 一种用于高速光纤数字传输***的编码极性计算方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921445A (zh) * | 2005-08-26 | 2007-02-28 | 华为技术有限公司 | 传送fc帧的方法以及应用该方法的包交换网络及其节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8774215B2 (en) * | 2006-09-01 | 2014-07-08 | Emulex Corporation | Fibre channel over Ethernet |
US7849265B2 (en) * | 2007-12-18 | 2010-12-07 | Hitachi, Ltd. | Avoiding use of an inter-unit network in a storage system having multiple storage control units |
-
2010
- 2010-12-06 CN CN201010574614.2A patent/CN102487307B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921445A (zh) * | 2005-08-26 | 2007-02-28 | 华为技术有限公司 | 传送fc帧的方法以及应用该方法的包交换网络及其节点 |
Non-Patent Citations (4)
Title |
---|
American National Standard for Information Technology.Fibre Channel Framing and Signaling -3(FC-FS-3).《INCITS working draft Project T11/1861-D Rev 0.94》.2010, |
American National Standard for Information Technology.Fibre Channel Framing and Signaling-3(FC-FS-3).《INCITS working draft Project T11/1861-D Rev 0.94》.2010, * |
FC Encapsulation;R.Weber 等;《draft-ietf-ips-fcenapsulation-00.txt》;20011019;全文 * |
R.Weber 等.FC Encapsulation.《draft-ietf-ips-fcenapsulation-00.txt》.2001, |
Also Published As
Publication number | Publication date |
---|---|
CN102487307A (zh) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102487307B (zh) | 一种用于fc协议的eof极性选择方法 | |
US7260155B2 (en) | Method and apparatus for encoding and decoding digital communications data | |
EP2315357A3 (en) | Multi-stage code generator and decoder for communication systems | |
CN104426631A (zh) | 对数据进行处理的方法及装置 | |
KR100384098B1 (ko) | 통신 네트워크에서 레이트 매칭 알고리즘을 사용하는시스템 및 방법 | |
WO2007134196A3 (en) | Code generator and decoder using hybrid codes | |
WO2007098397A3 (en) | Multiple-field based code generator and decoder for communications systems | |
CN101702639B (zh) | 循环冗余校验的校验值计算方法及装置 | |
CN103797742A (zh) | 以太网中处理数据的方法、物理层芯片和以太网设备 | |
US20150078486A1 (en) | Code modulation and demodulation method and apparatus for high order modulation | |
CN103916217B (zh) | Xlgmii接口多通道降频dic机制的实现方法及装置 | |
WO2004013974A3 (en) | Parallel convolutional encoder | |
EP2421187A3 (en) | Method for transmitting control information in a wireless communication system and apparatus therefor | |
CN108183771A (zh) | 光网络***中的数据处理方法、设备及*** | |
CN103716115B (zh) | 时分复用的fec编码方法及装置 | |
CN101729198B (zh) | 一种编解码方法、装置及*** | |
WO2010008165A3 (ko) | 이동통신 시스템에서 ctc(convolutional turbo code) 인코더를 이용하여 데이터를 전송하기 위한 장치 및 그 방법. | |
WO2006032192A1 (fr) | Procede pour coder une signalisation de liaison montante amelioree dans un systeme wcdma | |
CN109327283A (zh) | 一种网络自适应的抗丢包方法、装置及终端设备 | |
CN104734815B (zh) | Otn***中高吞吐量fec编码器的硬件实现方法及*** | |
EP2421185A3 (en) | Method for transmitting control information in a wireless communication system and apparatus therefor | |
US9749237B2 (en) | Method and apparatus for aggregating and encoding received symbols including generation of a pointer for a control code | |
US8885664B1 (en) | Multi-rate media independent interface over a physical coding sublayer | |
CN107017962B (zh) | 动态功耗控制的编码方法及编解码器 | |
CN108462561A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221129 Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075 Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: 710068 No. 156 Taibai North Road, Shaanxi, Xi'an Patentee before: 631ST Research Institute OF AVIC |
|
TR01 | Transfer of patent right |