沼津高専 電子制御工学科
MIRS9904調査報告書
MIRS9904-0111
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 1999/12/21 桑名 小澤 初版


MPUボード

MPUボードはCPUボードとI/Oボードの2枚で構成されている。CPUボード(名称 VSCー1)にはRS232Cというコネクタを2つ搭載しおり、それにより外部とのデータをやり取りする。I/Oボード(名称 VIPC310)はロータリーエンコーダボードとIP-Digital48ボードを搭載している。IP-Digital48ボードにはMC68230 PARALLEL INTERFACE/TIMER(PI/T)(50ピンのコネクタ)を搭載していて、それで外部とのデータをやり取りを行う。

CPUボード

名称 VSBC-1 Single Board(68HC000) Computer Module for the VMEbus
CPU MC68HC000 クロック : 12.5MHz(16.7MHzに変更可能)
サイズ 100×160 (mm)
製造元 PEP Modular Computers
RAM SRAM 256KB×2
ROM EPROM 128KB
Serial I/O 68562DUSCC :ポートA,ポートBの2つのポートが使える。
Parallel I/O MC68230 :PI/Tを搭載する。16のパラレルI/Oライン(8bit×2ports)と4つのハンドシェークラインを持つ。そして24bitのタイマ/カウンターを持つ。これにより、ハードウェア割り込み、タイマ割り込みなどが行える。
Real-time Clock 12/24時間時計、曜日カウンター、アラーム、タイマ割り込みが行える。
VME-bus interface インターフェイス:A16:D16/D8 AMSTER コネクタ:DIN41612 C型 96pin P1コネクタ
Power ・通常DC5V(±5%),750mA 
・RS232C使用時 DC±12V 100mA 
・RAM,RTCバックアップようの電源リチウム電池 800mAh(on-boar Battery)
Temperature ranges (使用温度範囲) ・動作時 
    0℃から+70℃ (標準) 
   -25℃から+85℃ (拡張) *+85℃以上ではバッテリーをはずす。
   -55℃から+125℃ (軍事用) 
・保存時 
   -55℃から+85℃
Watchdog 400msecごとに信号が送られてこないと、異常が発生したとしてシステムリセットを行う。
Clock CPU クロック×1 システムクロック×1 RTCクロック×1 DUSCCクロック×1
Interrupt handler 7levelの割り込みが可能(IRQ1からIRQ7)。システムが設定しているオートベクタは下の表の通りである。

オートベクタ
Abort switch level7
ACFAIL level7
RTC/TICK level6
DUSCC level5
SYSFAIL level4
PI/T level3
SCSI level2


CPUボード    

I/Oボードの機能解説




特徴
 モトローラのMPU 68000は、特別な入出力命令を持たず、I/Oをメモリー空間に配置するメモリー・マップト方式を採用している。
 常に16Mバイトのメモリー空間を一様にアクセスすることができる。
 68000では、常にCLK入力の10クロック分のE信号を定期的に出力している。
 通常68000のデータ入出力 は、E信号と関係なく非同期に行われている。
 68000は16ビットCPUでありながら内部レジスタは、すべて32ビットになっている。
  又、レジスタは用途に関してあまり制限の少ない汎用レジスタ方式を採用しているので、
 レジスタ間のデータ転送などの回数を減らすことができる。                                             


1)レジスタ 
レジスタには 、
       アドレスレジスタ、
       データレジスタ、 
       ステータスレジスタSR、
       プログラムカウンタPC
 がある。
データレジスタ・アドレスレジスタのうち用途が決まっているのは、スーパバイザ用スタックポインタ(SSP)とユーザ用スタックポインタ(USP)の2本だけで後は、普通のレジスタとして使うことができる。SSP・USP共にA7割り当てられていて、どちらを使うかはSRの内容(Sビット)によって決まる。
  • アドレスレジスタ(A0〜A7)
    A0〜A6までがアドレスレジスタ、A7は裏表に分かれていて、それぞれスーパーバイザ用のスタックポインタ(SSP),
    ユーザ用のスタックポインタ(USP)として使用される。
  • データレジスタ(D0〜D7)
    データレジスタは、いわゆるアキュムレータとして使うのに便利にできていて、
    下から8ビット及び16ビットに切っても使える。(下の8ビットにデータをロードした時、上の24ビットは変化しない。)
  • プログラムカウンタ(PC)
    PCは32ビットである。しかし、使用できるのは下位24ビットなので、アドレス空間は16Mバイトである。
  • ステータスレジスタ(SR)
    SRは16ビット長で、上位半分はシステムバイト、下位半分はユーザバイトとなっている。
    システムバイトはシステムの状態を示し、ユーザステートのときはこ内容を書き換えられない。
    ユーザバイトはZ80のFレジスタのようなものである。


  • スーパバイザステートとユーザステート
    68000は、システムプログラムが資源管理などの操作をすることが出来るように、
    実行時の状態をスーパバイザステートとユーザステートに分けて、
    幾つかの命令はスーパバイザステートのときにしか実行できないようにしている。これらの命令は特権命令と呼ばれ、
    SRの変更や割り込み処理に関する命令群がこれに属する。




2)データ型
1ビット(ビットデータ)、4ビット(BCDデータ)、8ビット(バイトデータ)、16ビット(ワードデータ)、32ビット(ロングワードデータ)のデータを取り扱うことができる。データレジスタは、4種類のデータを保持することができるが、アドレスレジスタは、16ビット、32ビットを単位として扱う。


3)例外処理 
例外処理VECTORは、CPUが例外処理ルーチンのアドレスを得る為に0〜255番までの256種類が用意され、0番地から3FF番地までの1Kバイにに配置されている。このため必要とする応じた例外処理プログラムの先頭番地をVECTOR TABLEに書き込んでおかなければならない。
   例外処理には、MPUが異常と判断することにより発生するものがあるが、リセットや割り込み、さらにトラップ命令に対しての処理も例外処理として分類されている。
    どの場合にも例外処理は定められたベクタをフェッチし、
    ベクタに書かれたアドレスから命令を実行することにより開始する。

4)割り込み入力端子(IPL0バー〜IPL2バー)  
68000は優先順位のついた七つの割り込み(レベル1〜レベル7)を使うことができる。優先度はレベル1がもっとも低くレベル7がもっとも高い。またレベル7はNMI(Non Maskable Interrupt)として働く。IPL0バー〜IPL2バーの3本を使って(000)2〜(111)2にコード化した割り込み信号を入力する。(000)2は割り込み要求のない状態である。
 

5)非同期制御信号(ASバー,R/Wバー,UDSバー,LDSバー,DTACKバー)
  メモリとの接続やデータ転送において最も基本的な信号であり、DTACKバーを除く信号は同期式のデータ転送にも使われる。
  ASバー(Adress Strobe)はアドレスバス上に有効なアドレスが確定していることを示し、
  同時にMPUがメモリ(あるいは周辺LSI)をアクセスしていることも示している。
  R/Wバー(Read/Write)はデータ転送の方向を示しており、Hで リード、Lでライトである。
  UDSバー,LDSバー(Upper Data Strobe,Lower Data Strobe)はデータ転送をワードサイズで行うか、バイトサイズで行うかを示す。
  UDSバーは上位8ビット、LDSバーは下位8ビットに対応している。両方の信号がアサートされればワードデータ、
  UDSバーとLDSバーが単独でアサートされればそれぞれ上位8ビットのみ、下位8ビットのみとなる。
   DTACKバー(Data Transfer Acknowledge)は非同期バスを代表する特徴的信号である。
  MPUはこの信号が外部から入力されるまでデータ転送のサイクルを終了しない。
  DTACKバーが早く入力されればリード/ライトのサイクルは早く終わり、遅ければ遅く終わる。
  つまり外部デバイス(メモリや周辺LSI)のスピードに応じて早くも遅くも自由に調節でき効率のよいデバイスを構成することが可能になる。
  設計者はこれらのことを考慮してDTACKバー発生の回路を作成しなければならない。

6)68000周辺制御信号(E、VMAバー、VPAバー)
 
 68000MPUを使ったシステムに、従来の8ビットMPU(6800や6809)で使っていた周辺LSIを接続するための端子である。
  8ビットMPU用の周辺LSIは同期式データ転送を行っている。
  そのためE、VMAバー、VPAバーを使って同期式データ転送が出来るようになっている。

  E(Enable)は同期式データ転送におけるクロックとして働き、Eの立ち下がりに同期して、データ転送が行われる。
  68000のクロックΦ2信号、6809のE信号に相当する。

  VMAバー(Vaild Memory Address)は68000が同期式でデータを転送していることを示す信号で、
  周辺LSIはVMAバーがアサートされている期間のEの立ち下がりを使わなければならない。6800のVMAに相当する信号である。

  VPAバー(Vaild Peripheral Address)はMPUに対して同期式データ転送を要求する信号である。
  したがって同期式データ転送が必要なデバイスがアクセスされた時、VPAバーをアサートしてやればよい。
  MPUはメモリや周辺LSIをアクセスした時には、そのデータが同期式であるか非同期式であるかはわからない。
  DTACKバーが入力されれば非同期式であり、VPAバーが入力されれば同期式である。

7)割り込み入力端子(IPL0バー〜IPL2バー)
  68000は優先順位のついた7つの割り込み(レベル1〜レベル7)を使うことができる。
  優先度はレベル1がもっとも低くレベル7がもっとも高い。またレベル7はNMI(Non Maskable Interrupt)として働く。
  IPL0バーからIPL2バーの3本を使って(000)2〜(111)2にコード化した割り込み信号を入力する。
  (000)2は割り込み要求のない状態である。

8)バスアービトレーション制御(BRバー、BGバー、BGACKバー)
  バスアービトレーションとはバスの配分であり、MPU以外にバスを使うデバイスがある場合バスを使う権利
  (バスマスタ権)のやりとりをするための信号である。

  BRバー(Bus Request)はMPU以外のデバイスがMPUに対してバスマスタ権を要求する信号である。  

  BGバー(Bus Grant)はBRバーに対する対応信号であり、MPUは次のバスサイクルでバスマスタ権を放棄する。
  (つまり外部デバイスがバスマスタとしてバスを使える)ことを意味する。

  BGACKバーはBGバーを受けた外部デバイスが現在バスマスタとしてバスを占有していることを
  MPUと他の外部デバイスに知らせる信号である。これら3本の制御信号を使うことにより効率のよいバスマスタ権の受渡しが行われる。

9)プロセッサステータス(FC0〜FC2)
  
MPUがどのような状態で作動しているのかを知らせる信号である。
  スーパバイザ状態かユーザ状態か、データのアクセスか命令のフェッチか、
  また割り込み信号を受けた状態等を3ビットにコード化して出力している。

10)システムコントロール(BERRバー、RESバー、HALTバー)
   
BERRバー(Bus Error)はデータ転送に異常があることをMPUに知らせる信号である。
   MPUはBERRバーがアサートされると現在のバスサイクルを中断しバスエラー例外処理を実行する。

   RESバー(Reset)は通常入力端子として働きシステムリセットを行う。ただし、リセット命令を実行したときは
   出力端子として働きリセット端子に接続された外部デバイスのリセットを行う。(MPUはリセットされない)

   HALTバー(Halt)は通常入力端子として働きMPUのホールトに使われる。
   HALTバー信号がアサートされるとMPUは現在のバスサイクルを終了後ホールトされる。
   ホールト状態ではアドレスバス、データバスはスリーステート状態、R/Wバー、ASバー、UDSバー、LDSバーは'H'になる。
   HALTバー端子が出力として動作するのは二重バス障害(ダブルバスフォールト)が発生したときである。
   二重バス障害とはバスエラーが続けて2回起こることであり、MPUは自らホールト状態に入り、リセット以外では回復できない。


、I/Oボードの機能解説

特徴

 インプット/アウトプット、メモリ、割り込みの働きを持って、ボード゙上でのバッテリーによるバックアップが可能である。
 
 
VIPC310は、3U(シングルハイト)の要素によって、
 VMEbus SpecificationC.1(IEEEにより、P1014/D1.2または、IEC821busとしても知られている。)と結合する。
 IPキャリアは、DMAボードや、68020処理装置を乗せると(6U(ダブルハイト)でも可)様々な機能を利用でき、
 また他の標準的なIndustrybusでの利用もできる。
 VIPC310は、IP Logicの接合方法に従う。IPは互いに、VIPC310の前面を通って50ピンの    
 フラットケーブルによって接合される。
 このとき二つのIPは、"A"及び"B"と名付けられている。
 
 インタフェースの接合は、基準寸法で、ケーブルでつながれたシステムであれば、IPキャリア上にディレクトリを添え付けられる。
 接合ケーブルは、VMEのシャーシから、VIPC310を動かさずに、差し込み、引き抜きを行なえる。
 IPは、I/Oからの信号に依らずに、ON/OFFができて、どんなときでも、グリーンフロントパネルの指示器が点灯していれば、VMEbusからアクセスされる。
二つの表示器があり、一つづつ、相互のIPに用いられて、どのアクセスに対しても、活動の指示を明確にする為に、
 一つ又は複数の関係のあるLEDを点灯させる(約三分の一秒間)。
 
 ボード上のリチウムバッテリは、こういった機能を利用するIPの為のバックアップ用として用いられる。
 また、バッテリは、VMEbus+5、又は、STDBYラインかを選択して使用できる。

 IPのI/Oは、VMEbusA16/D16空間中に位置する。
 相互のIP上にあるI/O空間は、IPの詳細書によって、16ビットのワードが64個と決められており、
 相互のIPが、64語を占有するPROMを搭載することができる。
こうして、二つのIPのA及びBは、ShortI/O空間のVMEbusシステムの64[KB]中、512バイトを占有する。

 割り込みは、全面的に指示を受ける。相互のIPは、二つに分割された割り込み要求により動作を行う。
  VIPC310は、VMEbusのIRQ1,3,4,6の支援をする。
 
 割込み要求を受けた相互のIPは、自身に8ビットのVECTORを供給しなければならない。このVECTORは、VMEbusに受け取りを知らせる。
 サイクルで、割込みバス間に供給される。
 
 VIPC310は、VMEbusBERRの操作を受けない。
 
 ソフトウェア上の、意味の無いアクセスは、動作していないCPUボード上の停止回路バスによって、停止される。

 パワーアップ、パワーダウン、バスリセット関数は、全面的にサポートされている。
 
 VIPC310は、5,12,-12[v]の電源をLCpiフィルタを通して、相互のIPに供給する。これは、精密なディジタル作用とともに、アナログの使用を可能にしている