同期式シリアルインタフェース

**同期式シリアルインターフェース**（どうきしきシリアルインターフェース、**S**ynchronized **S**erial **I**nterface, SSI)は、工業用途として使用されるマスター（たとえば、コントローラ）とスレーブ（たとえば、センサ）間のシリアルインターフェースの標準として広く使用されている。SSIはRS422を基本としており、センサ製造メーカ間で非常に信頼が厚く、各種のハードウエア間の実施に加えて高いプロトコール効率を持っている。SSIはアブソリュートエンコーダの位置情報を送信をするために1984年にMax Stegmann GMBHで初めて開発された。公式には、1990年に特許が切れたドイツ特許DE34 45617で網羅されていた。信頼性、堅牢差を要求される厳しい工業環境下で測定する機器の通信に優れている。

## はじめに
SSIはデジタルデータ通信用の同期、Point to Point（4線式全2重）、シリアル通信チャネルである。同期データ通信はクロック信号を使用して、受送信の終端で送信を同期させ、データを送信するものである。スタートとストップのビットが存在しないので、多くのメッセージビット通信バンド幅の使用を可能にし、全体の通信プロセスを簡単に簡素化できる。

一般的には、前述したように、マスタ（たとえば、PLC、μコントローラ）からスレーブ（たとえば、ロータリエンコーダ）のPoint to Point接続を考えるとよい。マスタはクロックシークエンスをコントロールし、スレーブはシフトレジスタを通して、そのときのデータ/値を送信する。マスタによって励起されたとき、データはシフトレジスタから排出され終了する。マスタとスレーブはコントローラのクロックによって同期している。

クロックとデータ信号はRS422に従って通信される。RS422はANSI/TIA/EIA-422としてよく知られており、平衡電圧デジタルインターフェース回路の電気特性を規定する技術標準でもある。データは平衡、または作動信号を使用して、送信される。また、クロックとデータ線は基本的にはツイストペア線が使用される。

入力はRS-422/485によって生じるガルバニック絶縁（詳細は「3」を参照下さい。）に対してOPTO-COUPLER http://www.posital.sg/sg/products/POSITAL/AbsoluteEncoders_Context/AbsoluteEncoders_Context_Technology_SSI_AppNote.pdf が使用される。センサからのデータ出力はRS422/485ラインドライバで行われる。差動信号は電磁域（EMI）に強く、それ故、厳しい外部環境、長距離伝送の使用に対し信頼性が高い。

## SSIの設計

インターフェースは上記の図に示すように、非常に簡単なデザインである。2対のペア線からなり、1対はマスタからのクロック信号を送信し、残りの1対はスレーブからのデータを送信する。クロックシークエンスが必要なときにはマスタからトリガーが発信される。相違するクロック周波数は100KHzから2MHzまでの範囲で使用できる。クロックパルスの数は送信されるデータビット数による。

最も簡単なSSIスレーブインタフェースはセンサの現在値に停止するため再取り込みのできる単安定マルチバイブレータ（monoflop）を使用する。スレーブの停止した現在値はシフトレジスタに保存され、これらの値はコントローラによって励起されたとき、排出されて終了する。この設計はインターフェースに使用されるμコントローラ、FPGA、ASICの向上により、現在も改善されている。

データフォーマットはデータの適切な通信を確保するため次のように設計されている。データ通信のプロトコールは3つのパート（Leading-”1"  Data-Bits  Trailing-"0"）から成り立っている。フォーマットの最重要点はインターフェースを適切に稼働させることであり、ハードウエア、またはソフトウエアのエラーから通信データを守ることである。

停止状態で、クロックはハイレベルにあり、センサ出力もまた、ハイレベルにある。それゆえ、電線の非接触状態を検知するのに使用される。これはインターフェスの適切な稼働状況を監視するのに役立つ。

nクロックパルス（立ち上がりエッジ）のあと、データは完全に送信される。次のクロックパルス（立ち上がりエッジ　n+1）でセンサ出力はケーブルの短絡検知を行うローレベルに移行する。n+1の後、ハイレベルであれば、次に、インターフェースが短絡状態はいる。

複数のスレーブ（最大3個まで）からの読みはクロックにスレーブを接続することにより同時にできる。しかしながら、グラウンドループと電気絶縁を避けるため、opto-coulperにより完全なガルバニック絶縁が必要となる。

## SSIのタイミングと通信

次のキーワードがSSIデータ通信手順を理解するのに必要となる。

*   'tm'は通信のタイムアウト（Monoflop time）を示す。データ通信が完全に行えるためのスレーブに要求
される時間。Tmのあと、データラインは停止し、スレーブはシフトレジスタにそのデータをアップロ
ードし始める。

*   'tp'はポーズ時間を示す。それは、マスタからの2連続のクロックシークエンス間の時間遅れである。

*   'tw'は繰り返し時間を示す。それは、同じデータの再送信間の最小経過時間である。常時、tmより小さ
い。

*   'T'はそれぞれのクロックパルスの幅を示す。連続のクロックシークエンスで2つの立ち上がりエッジ、ま
たは2つの立ち下がりエッジにかかる時間を示す。

*   MSB: Most significant bit　　ト
*   LSB: Least significant bit　　

## SSIインターフェースのシングル通信

ダイアグラムはSSIプロトコルを用いたシングルデータ通信を示したものである。

SSIは停止状態にあり、データとクロックラインの両方ともHighにあり、スレーブは現在のデータを最新に書き換えている。

マスタが一連のクロックパルスを出したとき、通信モードが稼働する。スレーブはクロック信号（1）の初めを受信したとき、現在のデータを自動的に停止する。クロックシークエンスの最初の立ち上がりエッジ（2）でセンサの値のMSBが送信される。連続的な立ち上がりエッジでビットは連続的に出力される。

完全なデータ言語の送信後（3）（たとえば、LSBが送信される）クロックの追加が立ち上がりエッジがHighに行くためにクロックラインをセットする。データラインはローにセットされ、送信タイムアウトを認識するため、時間'tm'をそのままにする。クロックシグナル（データ出力要求）が時間内に受信されたとき、以前と同じデータが再び送信される。（マルチプル送信）

時間'tm'内にクロックパルスが無ければ、スレーブはその値を最新に書き換える。データラインはHigh（停止モード）にセットされる。スレーブは時間'tp'クロック信号を受信する。（tp>=tm、次に、最新の位置値は停止され、値の送信が記述されたよりも早く始まる。）

## 複数の送信

LSB送信のあと、連続クロックの場合、同じデータの複数への送信は生じる。たとえば、クロックパルスが安定状態へ移行するべきmonolflopを認めない場合である。これは、下記に示す。

最初のシークエンスはシングル送信と同じである。停止状態で、クロックとデータラインはHighで、最初の立ち下がりエッジの到着で、送信モードは励起される、同じように、データビットはすべての立ち上がりエッジでMSBで連続して開始する。LSBの送信はデータの送信が完全であったという意味である。追加の立ち上がりエッジは特別なデータの送信の終了を示して、LOWにデータラインを移行させる。

しかし、つぎのあと、連続クロックパルスがあるなら、（例えば、次のクロックパルスが時間tw（<tm）でくる）スレーブの値は最新に書き換えられない。これはmonoflopがまだ、不安定でシフトレジスタの値が以前と同じ値であるからである。次の立ち上がりエッジで、n+1の立ち上がりエッジのあと、同じデータの送信がある、また、早いうちに送信されたデータのMSBはtwのあとに再送信される。

次に、同じデータの複数回の送信に関して、早期の送信と同じ手順で続く。スレーブの値が2つのクロックパルス間のタイミングが送信タイムアウトtmより大きいときのみに生じる。

複数の送信はデータの整合をチェックする必要がある。2つの受信した値を比較し、送信失敗が2つの値間の相違でわかる。

## 送信の中断

データの送信はマスタによってコントロールされる、送信はtmより長い時間、クロックシークエンスを止めることによりいつでも中断することができる。スレーブは自動的にタイムアウトを認識し、停止モードに移行する。

## 配線－RS422標準

SSIはRS422を基本としている。適切なケーブルをクロック長さとクロック周波数の範囲内で選択する必要がある。

クロック長さとクロック周波数の関係は次の公式を参照。これは、伝統的なガイドである。このカーブは100Ω抵抗を終端に接続し、52.5pF/meterの分路静電容量を持つのGW24　銅線　シールドなしのツイストペア電話線を使用した実験によるデータを示している。

Highデータレートが使用されるとき、機器は短いケーブルに限定される。Lowデータレートが使用されるとき、長いケーブルを使用することも可能である。ケーブルのDC抵抗はケーブルの増加による電圧降下と同じようにノイズも増加させることによりlowデータレートに対して、ケーブル長が決まる。ケーブルのAC効果は信号の効果に限定される、Highデータレートが使用されるとき、短距離にケーブルが限定される。データレートとケーブル長の例はRS422の場合、1.2kmで90kbpsから5mで10Mbps変化する。

ツイストペア24AWG,52.5pF/meter（16pF/foot）から違った特性を持つケーブルは上記で述べた特性内にいる必要がある。最初に、図から希望のデータ信号に関係するケーブル長さをもつ24AWGの絶対ループ抵抗値と静電容量値ケーブルを決める、次に、実際に使用するケーブルの同等長さに変換する。例えば、長い距離は19AWGを使用すると可能になり、一方、短い距離では28AWGが使用される。

マスタとスレーブを接続する最大許容ケーブル長はデータ信号レートの機能である、また、許容シグナル歪み、マスタとスレーブの回路間に生じる電位差と水平カップルノイズの合計にも影響される。使用されるケーブルのタイプと長さは機器に対して必要とされる信号品質を確保できなければならない。さらに、ケーブルのバランスは発電、受電ともで、許容クロストークレベルを維持できなければならない。

## 派生のプロトコール
数社の製造会社と組織は基本的なSSIプロトコールに付加情報を加えている。適切なデータ送信を行うためになされている。通信を守るため、データ通信CRCビット、またはパリティビットの終了を指示するために加えられている。簡単な言葉で言うと、バイトが正確に中断、受信されるかどうかを認識するために使用される。この場合、同じデータの2つの連続した送信が行われ、送信でエラーと比較される。しかしながら、パラレルデータ通信と比較して、50%プロトコールの効率が減じている。

## 利点
* シリアルデータ通信は電線数を減じることができる。これは最小の部品数を用いるSSIデザインの簡単さに加えて、コスト低減、およびメッセージビットにたいするおおきな通信バンド幅を生み出している。
* RS422標準に起因する高い電磁界のインターフェレンスイミュニティと差動信号によるデータ送信の高い信頼性。
* 最善のガルバニック絶縁
* 送信ビットの数に対するプロトコールの完全な自由性。言葉の制限がない、メッセージサイズの任意の選択。
* スレーブはマスタのクロックを使用し、正確なオシレータを必要としない。
* SSIは通常のクロックで最大3個までスレーブに繋ぐことができる。それゆえ、複数個のセンサの値を得ることが可能となる。

このインタフェースは工業自動化では自由度が広いが、SSIは短通信距離（最大1.2Km）のみに限定される。また、1個のマスタデバイスのみでサポールされる。しかし、1.2Kmは自動化工業標準の通信としてはむしろより良い距離である。フィールドバス、エーサネットのような進んだ通信システムと比較したとき、SSIはマスタ・スレーブの構成に限定されるが、マスタ・スレーブ間の点と点（Point to Point)の簡単な通信である。別の欠点はスレーブを認識できないと言うことである。（例えば、通信を通してスレーブの検知）

## 注釈
* POSITAL SSI 同期式シリアルインタフェース  マイクロコントローラとデバイスの接続 SSI Application Note
* National Instruments, "What is Serial Synchronous Interface (SSI)?"
* Texas Instruments, "SSI and SPI as interchangeable terms"
* SSI (in German), "Synchron-Serielle Schnittstelle"

## 出典