ISO 15765-2
PCIフィールドタイプの一覧

| Type | Code | Description |
| --- | --- | --- |
| Single Frame (SF) | 0 | 転送されるSFには、最大7バイト（Normal Addressing）または6バイト（Extended Addressing）の完全なペイロードが含まれる。メタデータの上位4bitは0で、下位4bitにはデータ長（SF_DL）が記述されている。 |
| First Frame (FF) | 1 | SFでの送信可能ペイロード長（Normal Addressingなら7バイト、Extended Addressingなら6バイト）を超えるデータを通信する場合に使用される、マルチフレームメッセージパケットの最初のフレーム。FFには、ペイロードデータだけでなく、完全なメッセージの長さ（FF_DL）が含まれている。 |
| Consecutive Frame (CF) | 2 | マルチフレームパケットの後続データを含むフレーム。 |
| Flow Control Frame (FC) | 3 | マルチフレーム受信者からの応答。FFセグメントに対する確認応答。続きのCFを送信するためのパラメータを設定する。 |
|  | 4..15 | 予約済み |

| ビットポジション | 7 > . 4 (byte 0) | 3 > . 0 (byte 0) | 15 > . 8 (byte 1) | 23> .16 (byte 2) | > ... |
| --- | --- | --- | --- | --- | --- |
| Single | 0 | size (0..7) | Data A | Data B | Data C |
| First | 1 | size (8..4095) | size (8..4095) | Data A | Data B |
| Consecutive | 2 | index (0..15) | Data A | Data B | Data C |
| Flow | 3 | FC flag (0,1,2) | Block size | ST |  |
A message of seven bytes or less is sent in a single frame, with the initial byte containing the type (0) and payload length (1-7 bytes). With the 0 in the type field, this can also pass as a simpler protocol with a length-data format and is often misinterpreted as such.
A message longer than 7 bytes requires segmenting the message packet over multiple frames.  A segmented transfer starts with a First Frame.  The PCI is two bytes in this case, with the first 4 bit field the type (type 1) and the following 12 bits the message length (excluding the type and length bytes).  The recipient confirms the transfer with a flow control frame. The flow control frame has three PCI bytes specifying the interval between subsequent frames and how many consecutive frames may be sent (Block Size).
| Bit offset | 7 > . 4 | 3 > . 0 | 15 > . 8 | 23> .16 |
| --- | --- | --- | --- | --- |
| Description | type | if the transfer is allowed | Block Size | Separation Time (ST), minimum delay time between frames (end of one frame and the beginning of the other) |
| Single | type = 3 | (0 = Continue To Send, 1 = Wait, 2 = Overflow/abort) | 0 = remaining "frames" to be sent without flow control or delay | <= 127, separation time in milliseconds. |
| Single | type = 3 | (0 = Continue To Send, 1 = Wait, 2 = Overflow/abort) | > 0 send number of "frames" before waiting for the next flow control frame | 0xF1 to 0xF9 UF, 100 to 900 microseconds. |
最初のバイトには、最初の4ビットにタイプ(タイプ=3)が含まれ、次の4ビットには転送が許可されているかどうかを示すフラグ(0=送信可能、1=待機、2=オーバーフロー/中止)が含まれます。次のバイトはブロックサイズで、次のフロー制御フレームを待つ前に送信されるフレームの数です。値が0の場合、残りのフレームはフロー制御や遅延なしで送信されます。
3番目のバイトは、フレーム間の最小遅延時間である分離時間(ST)です。127 (0x7F)までのST値は、フレーム間の遅延の最小値をミリ秒単位で指定します。241 (0ｘF1)から249 (0ｘF9)までの値は、100から900マイクロ秒に増加する遅延を指定します。分離時間は、あるフレームの終わりから次のフレームの始めまでの最小時間として定義されることに注意してください。頑強な実装は、これをフレーム繰り返し率、すなわちフレームの始まりからフレームの始まりへと誤って解釈する送信者からフレームを受け入れる準備ができているべきである。慎重な実装でさえ、物理層におけるビットスタッフィングのマイナーな影響を説明できないかもしれません。
送信者は連続フレームを使用してメッセージの残りを送信する。各連続フレームは, 4ビットタイプ(タイプ=2)の後に4ビットシーケンス番号が続く1バイトPCIを有する。シーケンス番号は1から始まり、フレームが送信されるたびに増加します(1, 2,...。, 15, 0, 1,...。)。失われたフレームまたは破棄されたフレームを検出できます。連続する各フレームは0から始まり、最初のフレームの最初のデータ・セットは0番目のデータと見なされます。したがって、CFの最初のセット(連続するフレーム)は「1個」から始まります。その後、「15個」に達すると、「0個」から開始されます。12ビット長フィールド(FFで)は、セグメント化されたメッセージにおいて4095バイトまでのユーザデータを許容するが、実際には、受信バッファまたはハードウェアの制限のために、典型的なアプリケーション固有の制限はかなり低い。