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

Sanjay Rajput, Karl Lu, Bryon Moyer

tag: 組み込み 半導体

技術解説 2004年5月19日

● 物理層

 新しいプロトコルの開発では,電気的特性が重要になります.高速トランシーバを動作させるためには,高い技術力が必要です.そして世界中の多くのユーザが問題を指摘し,それを一つ一つ解決することにより信頼性が上がっていきます.既存の標準規格には,とてもたくさんのリソースが投じられています.このように,新しい電気的仕様の策定には高い障壁が存在します.そこで,すでに策定済みの規格に合わせることが肝要です.SerialLiteの電気的特性は,IEEE 802.3aeとして規格化されているXAUIを参考にしています.唯一の違いは,通信速度に拡張性を持たせていることです(XAUIの通信速度は固定).

 SerialLiteの物理層では,業界標準の8B/10B変換を利用しています.これは,8ビットのデータを伝送するために,10ビット・キャラクタに符号化する方式です.このエンコーダは,受信器において,受信データからクロックを再生できるように作られています.高速インターフェースでは一般的な方式であり,比較的シンプルな回路で実現できます.また,Altera社のStratix GXのようなFPGAであれば,8B/10Bのエンコーダとデコーダがあらかじめ内蔵されているので,実質的によけいなリソースを使いません.

 SerialLiteは,一つのクロックを使う同期系システムと,複数のクロックを持つシステムで,あるクロック・ドメインから別のクロック・ドメインへデータを送るようなシステムの両方に対応しています.後者の例では,クロックの誤差が300ppmあっても,データが失われない補償機能が提供されます.

 SerialLiteは,システム構成に合わせて最小の実装を選べる特徴があります.クロック補償を必要としないのであれば,そのためのオーバヘッドをなくすことができます.ほかの高速シリアル・プロトコルでは,このようなことは許容されていません.

 データ伝送が行われていない間もリンクが切れないように,アイドル伝送を行います.また,チャネルのアライメントを確かめるためのキャラクタなど,さまざまな制御キャラクタが送られます.

 リンクの使用前には初期化とトレーニングが必要です.すべてのレーンを最初に初期化しなくてはなりません.もし複数のレーンを使うのであれば,レーンをまとめ,デスキューを行う必要があります.この手順を図3に示します.

 初期化のしくみには注意深い考察がなされています.トレーニング・シーケンスを持たせたことで,シンプルで高速なスタートアップ・シーケンスを維持しながら,レーンの極性や順番を入れ替えることができます.100サイクル以内に複数のレーンのリンクが確定します.それ以外の複雑なネゴシエーションはありません.

f03_01.gif
図3 SerialLiteのリンク初期化手順

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日