• 検索結果がありません。

Bit Error Handling (ビットエラーの取り扱い)

ドキュメント内 CoaXPress Standard (ページ 59-62)

8 Link Protocol (リンクプロトコル)

8.2 Transport Layer (トランスポートレイヤ)

8.2.2 Bit Error Handling (ビットエラーの取り扱い)

The link protocol (i.e. packet structure, overall control) is designed to be immune to single bit errors by a combination of careful choice of packet coding, and sending key information multiple times.

Any errors in data transfer are detectable by a CRC, but this revision of the protocol does not support stream data resend.

リンクプロトコル(= パケット構造,コントロール全般)は,慎重に選択されたパケットコーディング体系,およびキー となる情報の複数回送信を組み合わせることにより,シングルビットエラーを回避するよう設計されている。

データ伝送における全てのエラーは CRC によって検出可能であるが,本リビジョンでのプロトコルはデータ再送 をサポートしていない。

Duplicated Characters (キャラクタの重複)

8.2.2.1

Many words duplicate the same value in P0, P1, P2 and P3. The receiver shall decode these multiple packets in a way that provides immunity to single bit errors.

Comment: In general information is sent four times rather than the usual three times. This is simply to maintain word alignment, and three of the characters are sufficient to “vote” and cope with single bit errors.

However having four duplicates may allow sophisticated receivers to decode the packet correctly in the

event of multiple bit errors, but that is a quality of implementation decision beyond the requirements of the specification.

多数のワードが P0/P1/P2/P3 において同じ値に重複する。レシーバはシングルビットエラーが発生しないようにこ れら複数のパケットのデコードを行うこと<SHALL>。

コメント: 基本的に情報はよくある 3 回ではなく,4 回繰り返して送られる。この方法ではワードアライメントも容易で,3 回出 現したキャラクタで多数決をとってシングルビットエラーを処理する。マルチビットエラー発生時でも同じ値が 4 回出 現するので洗練されたレシーバならパケットを正常にデコードする可能性はあるが,これは規格の要件というよりも 実装品質によって決まる。

8.2.2.2 CRC (CRC)

A CRC is used to protect stream data packets and control packets.

For control packets the receiver shall decode these CRCs and in the event of a CRC error shall send a negative acknowledgment indicating the error.

Comment: How this acknowledgment is handled is beyond the scope of this specification, but it is recommended that the command is resent up to three times, and if the third retry fails an error message would be passed up to the application to deal with.

CRC はストリームデータパケットおよびコントロールパケットを保護するために使用される。

コントロールパケットにおいてレシーバはこれらの CRC をデコードし<SHALL>,CRC エラー発生時にはエラーを 意味する NAK を送信すること<SHALL>

コメント: この NAK をどのように扱うかは本規格書の規定範囲外であるが,コマンドについては 3 回まで再送し,3 回目の リトライが失敗したら扱っているアプリケーションソフトウェアにエラーメッセージを投げるようにすることを推奨する。

For stream data packets the receiver shall decode these CRCs for error monitoring purposes.

Comment: How CRC errors are handled is beyond the scope of this specification, but typically an error message would be passed up to the application to deal with, either after every error, or after the number of errors exceeds a threshold.

ストリームデータパケットにおいてレシーバはエラー監視用にこれらの CRC をデコードすること<SHALL>。

コメント: この CRC エラーをどのように扱うか本規格書の規定範囲外であるが,一般的にはエラーが毎回起こるその都度か,

規定回数以上のエラーが発生した場合にエラーメッセージを扱っているアプリケーションソフトウェアに投げるように する。

All CRCs defined in the link protocol are 32 bit CRCs calculated over a specified block of data.

Polynomial: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 Seed: 0xFFFFFFFF

Comment: This is the CRC-32 defined by IEEE-802.3 (Ethernet).

リンクプロトコルにて定義されている全ての CRC は規定のデータブロック上で演算される 32bit の CRC である。

多項式: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 シード: 0xFFFFFFFF

コメント: これは IEEE-802.3(Ethernet)で定義されている CRC-32 である。

The CRC shall be calculated over the data using the following bit order:

 Data bit 0 (lsb) first within a character; bit 7 (msb) last.

 Character P0 first within a word; character P3 last.

 Word 0 first within a packet; word N-1 last, where N is the number of words over which the CRC needs to be calculated (see individual packet definitions).

CRC はデータに対し,以下のビット配列を用いて演算すること<SHALL>。

 1 キャラクタの最初がデータビット 0(LSB),最後が 7(MSB)。

 1 ワードの最初が P0,最後が P3。

 1 パケットの最初がワード 0,最後がワードN - 1。ここでのNは CRC 演算の対象となるワード数(各パケット定 義を参照)

The CRC shall not include idle words used to stretch data transmission. The K28.3 stream marker shall be treated as a D28.3 for CRC calculation, i.e. the K-Code flag is ignored.

CRC にはデータ伝送の伸長に使用したアイドルワードを含んではならない<SHALL NOT>。K28.3 のストリーム マーカは CRC 演算においては D28.3 として扱うこと<SHALL>(この場合,K コードのフラグは無視される)。

ドキュメント内 CoaXPress Standard (ページ 59-62)