ARCNET, CircLink

ARCNETは改良型トークンパッシング方式を使用したプロトコルの名称です。これを使用したARCNETは現在も高い評価を得ており、各種産業マーケットで活躍しています。またCircLinkは、日本市場の要求に応じて、更に改良された技術をベースにした技術です。

CircLink 製品概要

CircLinkは元々、車載用コミュニケーションを目的としてARCNETをベースに開発されたLSI です。以下のような特長と安定性のあるプロトコルにより、リアルタイム・コントロールや省配線化を必要とする組込み機器アプリケーションにも理想的なネットワーク・コントローラともなっています。

近年、自動車産業では、安全性、快適性、低公害、低コストを求め、様々な電子制御システムが開発されてきましたが、車に使用される電装部品(センサー、アクチュエータ)が飛躍的に増加し、電装部品が増えるたびに車内を引き回すハーネスが増え、車重が増加し燃費に悪影響を及ぼしてきました。また、制御を行うCPUの処理内容も増加するので、コスト高な高性能CPUを使用する必要に迫られています。

車載LANは、大きく分けてボディーコントロールとパワートレインコントロール系の通信です。ボディーコントロール用のLANは主にライトやドアーロックなどのスイッチのON/ OFF制御です。パワートレインコントロール用のLANは主にABS、エンジンコントロール、サスペンションコントロールなど複雑な制御です。また最近X-by-Wireという考えが広まりつつあります。これは、ステアリングやブレーキなどの制御を通信でコンロトールするという考えです。この様な、考えを実現するために、リアルタイム性に富み、安全に通信が出来る通信方式であるCircLinkを提案しています。

 

■ CSMA/ CD通信方式

自動車関係では、制御用LANとして、Control Area Network(CAN)、組み込み系関係ではEthernetの使用が多く見られます。これらの通信方式は、搬送波感知多重アクセス. 衝突検出(CSMA/ CD)方式を採用しています。

たとえば、CANの通信方式はバスが空いている時は、バスにつながるすべてのノードが送信を始めることができますが、同時に2つ以上のノードが送信を開始した場合、各メッセージのIDに対してビット単位で調停(アービトレーション)を行います。アービトレーションに勝った(1番高い優先順位をもつと判断された)ノードは、そのまま送信処理を行い、アービトレーションに負けたノードは、直ちに送信を中止します。この衝突検出型の通信方式は、各ノードの最大送信待ち時間を計算することができません。

つまり、データ送信が終了するまでの時間が確定できません。最悪、システムによっては全く送信出来ないノードが存在する可能性が出てきます。(図1)
CANのネットワーク上の2つのノードが同時に送信を開始した場合。
データ衝突を起こす。送信した各ノードは回線上のデータと自分のデータを比較し違いがあれば調停に負けたことを知る。
調停に勝った優先順位の高いノードのデータが送信され、低いノードは送信をやめ、回線が空くのを待ってデータの再送を行う。

図1 CANの調停

 

■ エンハンスド・トークン・パッシング(CircLink)通信方式

CSMA/ CD通信方式の衝突検出型では、最大送信待ち時間を計算することができません。エンハンスド・トークン・パッシングは、トークン・パッシング方式(ANSI878.1)をベースとしています。この方式では、各ノード間をトークンと言うネットワーク制御データが巡回し、トークンを持っているノードのみが送信することができます。そのため、トークンが巡回してくる時間が最大送信待ち時間となり、リアルタイム制御に必要なデータ転送制御スケジューリングが可能となります。(図2)

最大待ち時間は簡単な式で表すことが出来ます。(141.0 + 4.4 × B)× N × 2.5/ R(B:最大送信データサイズ、N:ノード数、R:伝送レート、141.0:送信前処理時間、4.4:1Byte送信時間、2.5:基転送速度)この計算式によって、システム全体のデータ送信の最大待ち時間が算出でき、リアルタイム制御が可能になります。(図3)

ANSI878.1規格のトークン・パッシング通信方式は、ネットワーク上に1つしか存在しないトークンが通信制御を司っています。このトークンが正常に巡回されない場合、それを検知し、ネットワークを再構築する処理時間が必要となります。この時間中は、各ノードは効率よい通信をすることができないのが、トークン・パッシングの欠点です。エンハンスド・トークン・パッシング方式は、トークン消失を極力抑え、リコンフィグレーション時間を極力短縮する様にトークン管理機能が拡張されており、トークン・パッシングの欠点を解決しています。大きな拡張機能は、トークンの巡回開始シーケンスの変更、トークンリトライ機能です。

- 例 -
最大送信データサイズ = 16Byte
ノード数 = 8ノード
伝送レート = 5Mbps
(141.0+4.4×16)×8×2.5/ 5= 845.6 [μS]
つまり各ノードは、必ず845.6 [μS] 後には、データ送信が終了している。
図3 計算式
ネットワーク上に1つのトークンがノード間を循環している
あるノードがトークンを受け取ると、送信権が与えられる。その他のノードは、ネットワークに対して送信出来ない
送信が終了すると、次のノードへトークンを渡す
図2 トークンパッシング方式

 

■ エンハンスド・トークン・パッシング(CircLink)通信方式(トークンの巡回開始シーケンス)

トークンの巡回開始シーケンスの変更は、トークン・パッシングの場合、ネットワーク上にトークンがないと判断したときから、各ノードはある時間経過後トークンを生成する処理に入ります。ノード番号が大きいほど早くタイムアウトする様に設定されているため、最大ノード番号がトークンを生成し、自分のノード番号から+1づつトークンを投げて、次に受け取るノードを探します。トークンを受け取ったノードは、次に受け取るノードを同様に探します。これらを繰り返してトークンを巡回させます。一度巡回されれば、各ノードは、次へトークンを渡すノードを覚えているため、ノードを探す処理は行いません。

エンハンスド・トークン・パッシングの場合は、ノード番号を割り振る際に1からシリアルにノードの番号を設定する条件をつけています。また、ネットワーク上の最大ノード番号を指定する条件もつけています。そのためネットワーク上にトークンがないと判断したときに、指定されている最大ノード番号を持つノードがすぐにトークンを生成し、0番ノードへトークンを投げます。次に1番ノードへトークンを渡します。ノード番号の割り振り条件からシリアルにノード番号が割り振られているので、トークンを受け取ったノードは、自分のノード番号+1へトークンを投げ、ノードを探す処理を行いません。このように、トークン消失からトークン生成までの時間と各ノードが次へトークンを渡すノードの検索処理時間を極端に短縮することが可能となっています。(図4、図5)
ネットワークにトークンが存在しないと各ノードが判断し、自分のノード番号を元にタイムアウト時間がスタートする。最大ノードが先にタイムアウトし、自ノード番号から+1づつのノードへTokenを渡して、次に受け取るのノード番号を探す。
図4 Token Passing方式
ネットワークにトークンが存在しないとし指定された最大ノード番号のノードは、ノード番号0 -> 1へトークンを渡して行き、その他のノードは自ノード+1のノードへトークンを渡す。
図5 Enhanced Token Passing方式

 

■ エンハンスド・トークン・パッシング(CircLink)通信方式(トークンリトライ機能)

トークンリトライ機能は、ネットワークの不通時間を減少させる機能です。トークン・パッシングの場合は、トークンが一度でも消失してしまえば、リコンフィグレーション処理が行われ、データ送信が出来ない時間が発生してしまいます。そのため、エンハンスド・トークン・パッシングでは、相手がトークンを受け取らなかった場合、もう一度、同じノードへトークンを再送します。この機能を有することで、一時的にノイズなどでトークンが壊れた場合は、トークンの再送が行われネットワークを正常に保つことができます。(図6)

一時的にノードがネットワーク上にノードが存在しなくなった場合は、再送しても相手がトークンを受け取らないため、自分のノード番号+2のノードへトークンを再送します。(図7)
ノイズなどによりTokenが破壊され、ノード2がトークンを受け取らなかった場合
ノード1はノード2に対してTokenを再送する。
図6 トークンリトライ機能1
ノード2が一時的にネットワークから離脱した場合
ノード1は、ノード2がトークンを再送しても受け取らないため次のノードであるノード3へトークンを再送する。
図7 トークンリトライ機能2

 

■ CircLink特殊機能

CircLinkはネットワーク・スタンダード・タイム機能、CMI符号機能、スタンドアロンモード機能、メモリーミラー機能など特徴ある機能が追加されています。これらの機能を使用することで、各ノード間でリアルタイム処理が可能となり、分散処理システムの構築が容易に行えます。

ネットワーク時間

ネットワーク・スタンダード・タイム機能は、ネットワーク全体の処理を同期させるために必要な機能です。各ノードは、16ビットのフリーランカウンターをもち、設定したクロックマスターノードからのパケットを受信するごとに時刻を補正します。この補正方法は、ダイレクトに時間データを変更せずに、自ノードのカウント速度を早くしたり、遅くしたりします。このことにより、各ノードがもつ時刻が突然戻ったり、進んだりするタイムトラベル現象を発生させません。各ノードは、以下の手順にて、ネットワーク・スタンダード・タイムを調整します。
1. ノードは、パワーオンからカウンターを開始する。
2. マスタークロックから最初に時間データを受け取るとダイレクトにその値をカウンターに設定する。
3. 2回目からの時間データを受け取ると時刻同期方式に切り替わり、各ノードのカウントスピードを調整する。
時間データは、マスタークロックノードから送られてくるデータパケットに含まれています。

CMI 符号(Coded Mark Inversion Codes)

CMI 符号機能を使用することでデータ補正をより高度に行えます。データをCMI 符号化しているため、状態遷移によりビットエラー検出と自動訂正を行います。また、パルストランスで絶縁した伝送路を使用した場合、CMI符合はパルストランスの磁気飽和を防止することができるため高品質通信が可能となります。CANの場合はRZ(Return Zero)を使用し、最大4ビットの連続同一データを(1111や0000)生成しますが、CMI符号は、最大1.5ビットの連続同一データしか生成しません。(図8、図9)
図8
図9

スタンドアロンモード


スタンドアロンモード機能は、CPUの介在無しに、16ビット/ 8ビットデータの送受信が自動的に行われます。この機能を使用することで、システム全体を1つのCPUで制御することができます。また、各ノード(スタンドアロンモード)にCPUやその周辺チップ(メモリー、F-ROM等)を搭載する必要がなく、またソフトウェアも開発する必要がないため、システム全体のコストダウンはもとより、システムを単純化でき、開発コストも大幅に削減することができます。以下の図の様にCircLinkのネットワーク上の周辺機器を1つのCPUによってコントロールすることができる、リモートコントロールが可能となります。(図10)
図10

メモリーミラー

メモリーミラー機能は、ネットワークに接続している全てのCircLink の内部メモリーが同じデータイメージを持ちます。つまり、あるCircLink の内部メモリーのデータを更新した場合、ネットワークに接続されている全てのノードの内部メモリーのデータが自動的に更新されます。各ノードのソフトウェアは、この内部メモリーをシステム全体のシェアードメモリやプロセス間通信用のメモリーとして使用することが可能となります。

たとえば、あるノードに接続されているセンサー値をリモートでモニタリングする場合、センサーが接続されているノードは、センサー値を内部メモリーに書き込む処理だけをし、モニタリングするノードは、内部メモリーの値を随時読み込めばモニタリングができます。各ノードのソフトウェアは送信処理をする必要がなく、通信のためのオーバーヘッドがなくなります。(図11)
図11
CircLink は、自動車分野以外でも応用が可能であり、特に組み込み系システムに威力を発揮します。現在提供しているLSIは、5Mbps 5Vですが、省電力高速版(10Mbps 3.3V)の開発も検討しています。また、多くの通信トランシーバのサポートも検討しています。自動車分野を含めた全ての組み込み系分野の使用環境にマッチした製品群をそろえ、幅広く応用されることが見込まれているコミュニケーションLSIです。

製品のお問い合わせ

製品の購入や仕様等に関するお問い合わせはこちらから。

お問い合わせ