沼津高専 電子制御工学科
VMEbusの調査報告書
MIRS9905-TECH-0010
改訂記録
版数 作成日 作成者 承認 改訂内容 提出先
A01 2000.01.17 保坂 八窪 初版

 


VMEbusとは


VME busのVMEとはモトローラ社が68000CPU用に開発した VERSA bus をベースにプリント回路基盤の規格であるEurocardのモジュールサイズに準拠させたもので、VMEとはVERSAbus Module Europcard の頭文字に由来しています。

 


VMEbusについて

VMEbusは、主にコンピュータシステムで使用されており、計測用としての応用も見られますが、現在その数は、まだ限られております。モジュールのサイズとして、Aサイズ(4H×6Dインチ)とBサイズ(9H×6Dインチ)の2種類があります。(MIRSではAサイズを使用。)Aサイズのモジュールは、96ピンのP1コネクター、Bサイズは、P1およびP2コネクターから構成されております。VMEbusで最低限必要なものは、ハンドシェイク、アービットレーションおよび割込といった機能をもったP1のみです。P2は、システムを32ビットのアドレスおよびデータ(A32/D32)に拡張するとき、さらにモジュール間をスロット0の介在無しに直接インターフェース接続してデータ等のやりとりをしたい時に使用します。P1は、16ビットおよび24ビットのアドレス指定(A16/A24)、および8ビットと16ビットのデータバス(D8/D16)をサポートします。A32とD32に必要な拡張ラインは、P2の3列の中央に配列されており、その他の列は、ユーザ側で定義できます。
 VMEバスの使用では、ラックについて材質や寸法に関する仕様が決められています。ボードを挿入する位置のことをスロットと呼び、20スロットまたは9スロットのラックについて寸法が決まっています。VMEではコネクタが複数個並んだマザー・ボードのことをバックプレーンと呼び、材質や寸法について仕様が決められています。20スロット用バックプレーンの前面図と後面図を下の図1に示します。
 VMEバス仕様では、1スロットを専有するプリント基板のことをボード、ボード上である一つの機能をもった回路のことをモジュールと呼びます。したがって、一つのボード上に複数のモジュールが存在する場合もあります。


 
 


VMEbusの特徴


1、データ転送は非同期式インターロック方式で行われる。
 マスタ側とスレーブ側との間のデータのやりとりは、システム・クロックに同期して行われるのではなく、スレーブ側からのDTACK*信号によって行われます。つまり図のようにスレーブ側からDTACK*(確認信号)を返さないかぎり、マスタ側はデータ転送サイクルを 終了しません(インターロック)。同一バス上にアクセス・タイム(応答時間)の異なるスレーブが混在する場合、この機能は大変有効です。また、スレーブ・モジュールを設計するうえでも、モジュール側のタイミングにデータ転送のタイミングをあわせることができるので、設計しやすくなります。もちろん、インターロックがかかってしまって、マスタ側が永遠に待っていることがないよう、バス・タイムアウト機能が用意されています。メモリモジュールの実装されていないアドレスへマスタがアクセスを行った場合などはDTACK*が返ってきませんので、一定時間後(10〜100μs程度)タイムアウト・エラーとなって転送サイクルが終了します。

2、バス上に最大20までマスタが存在してよい。
 VMEバスではバス・アービトレーション(調停)に関して厳密に仕様が決められているの、複数のバス・マスタおよびCPUボードで構成される高性能なシステムを作成できます。また、VMEバスではデータ転送のマスタだけではなく、割り込み応答処理機能をもつマスタ(割込みハンドラ)も複数個存在することができます。割込みハンドラ間のアービトレーションや優先順位に関しても、細かく仕様が定められています。

*その他詳しくはVMEbusのマニュアル等を参照してください。*


MIRSで使用するにおいて

 MIRSで使用するVMEラックのスロット数は5スロットです。挿入するボードはCPUボード、MMIボード、I/Oボード、I/Osubボードの4枚(1スロット余る)ですが実際VMEバスで接続されているのはCPUボードとI/Oボードだけです(I/Osubボードは電源とCLOCK、MMIボードは電源の供給をそれぞれ受けています)。挿入する順番は基本的に優先順位順ですがMMIボードはCPUボードに、I/OsubボードはI/Oボードにそれぞれバスを介さずに直接つながるためそれぞれの隣に挿入します。よってCPUボード、MMIボード、I/Oボード、I/Osubボードの順に挿入します。

MIRSではアービトレーションは使わず割り込み応答信号線とデージチェーンを使用し割り込み処理を行います。その動作の流れは次の通りです。
@ あるボード(複数も可)から割り込み要求信号が出て、これがCPUボードに伝わる。
A CPUボードから割り込み応答信号が出て優先順位順に各ボード(VMEバスに接続されているものだけ)を伝わってくる。
B 割り込み要求信号を出したボードに割り込み応答信号が伝わるとそこで割り込み処理を行う。処理が行われなければ以降のボードに割り込み応答信号は届かない。