高速シリアル通信プロトコルSerialLite ――オープン・ソースでコンパクトなプロトコル

Sanjay Rajput, Karl Lu, Bryon Moyer

tag: 組み込み 半導体

技術解説 2004年5月19日


 データ・パケットとプライオリティ・パケットは,ヘッダ・バイトが異なります.機能上,これらは以下の方法で区別されます.

(1)データ・パケット
  • 受信と同時にデータを送るcut-throughデータ・フローが実装されている.
  • パケットの大きさに制限はない.
  • 256チャネルまでのデータを多重化できる.
  • エラーのリトライはできない.
(2)プライオリティ・パケット
  • すべてのデータを受信するまでいかなるデータも送らないstore-and-forwardデータ・フローが実装されている.
  • パケットは最大256バイト.
  • 16チャネルまでのデータを多重化できる.
  • エラーのリトライはオプション.

 データ・パケットのほうが柔軟性があり,cut-throughフローによる低いレイテンシを提供します.また,少ないメモリで実装できます.プライオリティ・パケットは,store-and-forwardバッファのため,より多くのメモリを必要とします.全体のパケットが届くまでデータ送信を開始できないので,レイテンシも高くなりますが,パケットが短いため,レイテンシをきちんと管理できます.プライオリティ・パケットは,データと同じ手段でシステム・メッセージを送りたいときに使われます.高速な伝送を確実にするため,これらのパケットは図5のように自動的に挿入,もしくはデータ・パケット内にネスティングされます.

 パケットはCRC(cyclic redundancy check,CRC-16かCRC-32のどちらか)によって,データの信頼性を確保することができます.CRCを使うかどうかはオプションであり,システム要求と使用可能なリソースをもとに選択します.CRCはデータ・パケットとプライオリティ・パケットのそれぞれについて個別に設定することができます.

 図6に示すように,CRC保護は,データ,PADバイト,ヘッダの第2バイト(多重通信とエラー・リトライのために必要な情報)をカバーします.

f05_01.gif
図5 パケットのネスティング

f06_01.gif
図6 CRCのカバー範囲

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日