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) |
![]() 図4 Token Passing方式
![]() 図5 Enhanced Token Passing方式
|
■ エンハンスド・トークン・パッシング(CircLink)通信方式(トークンリトライ機能) |
|||
トークンリトライ機能は、ネットワークの不通時間を減少させる機能です。トークン・パッシングの場合は、トークンが一度でも消失してしまえば、リコンフィグレーション処理が行われ、データ送信が出来ない時間が発生してしまいます。そのため、エンハンスド・トークン・パッシングでは、相手がトークンを受け取らなかった場合、もう一度、同じノードへトークンを再送します。この機能を有することで、一時的にノイズなどでトークンが壊れた場合は、トークンの再送が行われネットワークを正常に保つことができます。(図6) 一時的にノードがネットワーク上にノードが存在しなくなった場合は、再送しても相手がトークンを受け取らないため、自分のノード番号+2のノードへトークンを再送します。(図7) |
|||
|
|
■ CircLink特殊機能CircLinkはネットワーク・スタンダード・タイム機能、CMI符号機能、スタンドアロンモード機能、メモリーミラー機能など特徴ある機能が追加されています。これらの機能を使用することで、各ノード間でリアルタイム処理が可能となり、分散処理システムの構築が容易に行えます。 |
||||
|
||||
|
||||
|
||||
|