MPUボード はじめに、MPUボードはCPUボードとI/Oボードの2枚で構成されている。 CPUボード(名称 VSBCー1)にはRS232Cとゆうコネクタを2つ搭載していて、 それで外部とのデータをやり取りすることができる。I/Oボード(名称 VIPC310) はロータリーエンコーダボードとIP-Digital48ボードを搭載している。IP-Digital48ボード にはMC68230 PARALLEL INTERFACE/TIMER(PI/T)(50ピンのコネクタ)を搭載していて、 それで外部とのデータをやり取りする。 そのため、ここではCPUボードとI/Oボードとに分けて解説していく。 (1)MPUボードの機能解説 [1]CPUボードの機能解説 @特徴 モトローラのMPU 68000は、特別な入出力命令を持たず、I/Oをメモリー空間 に配置するメモリー・マップト方式を採用している。常に16Mバイトのメモリー空間を一様 にアクセスすることができる。68000では、常にCLK入力の10クロック分のE信号を定期的に 出力している。通常68000のデータ入出力 は、E信号と関係なく非同期に行われている。 68000は16ビットCPUでありながら内部レジスタは、すべて32ビットになっている。 又、レジスタは用途に関してあまり制限の少ない汎用レジスタ方式を採用しているので、 レジスタ間のデータ転送などの回数を減らすことができる。 Aレジスタ 68000のレジスタは、データレジスタ Dn(n:0〜7)、アドレスレジスタ An(n:0〜7)、 ステータスレジスタSR、プログラムカウンタPCがある。データレジスタ・アドレスレジスタ のうち用途が決まっているのは、スーパバイザ用スタックポインタ(SSP)とユーザ用 スタックポインタ(USP)の2本だけで後は、汎用レジスタとして使うことができる。 SSP・USP共にA7割り当てられていて、どちらを使うかはSRの内容(Sビット)によって決まる。 Bスーパバイザステートとユーザステート 68000は、システムプログラムが資源管理などの操作をすることができるよう に、実行時の状態をスーパバイザステートとユーザステートに分けて、幾つか の命令は、スーパバイザステートでしか実行できないようにしている。これら の命令は、特権命令と呼ばれSRの変更や割り込み処理に関する命令郡がこれ に属する。 C68000が扱えるデータ型 68000は、1、4、8、16、32ビット長のデータを取り扱うことができる。 これらの内容としては、ビットデータ、二進化十進数、バイトデータ、ワードデータ、 ロングバイトデータを持つことができる。データレジスタは、4種類のデータを保持 することができるが、アドレスレジスタは、16ビット、32ビットを単位として扱う。 D例外処理 例外処理VECTORは、CPUが例外処理ルーチンのアドレスを得る為に0〜 255番までの256種類が用意され、0番地から3FF番地までの1Kバイト に配置されている。このため必要とする応じた例外処理プログラムの先頭番地を VECTOR TABLEに書き込んでおかなければならない。 Eバスインターフェイス機能 68000のバスインターフェイスの大きな特徴は、非同期式インターフェイスである。 この非同期式インターフェイスは、バスクロックを持たない。そのかわりバスサイクルの 終了はI/O側からの応答信号(DTACKバー、Data Transfer Acknowledge)によって行われる。この方式は多少の回路の増大はあるものの、 システムの融通性が増すので、16ビットシステムとしては適切なものである。 68000は、更に同期式インターフェイスモードに切り替えて従来よりも開発されている。 8ビット周辺LSIをも接続できる。8ビット周辺LSIは16ビットシステムにおいても 重要なI/O機器を接続可能にする。 F 68000MPUの端子機能 1.アドレスバス(A1〜A23) A1〜A23の23本のアドレスバスがある。端子としては23本あるが、 後述のUDSバー,LDSバーの信号線と合わせて24ビットのアドレス信 号により16Mバイトのメモリ空間をアクセスすることができる。16進表 示で$000000番地から$FFFFFF番地となる。 2.データバス(D1〜D15) 16ビットの双方向性バスで一度に16ビットのデータを転送することが できる。場合によっては上位8ビット(D8〜D15)だけを使ったり、下 位8ビット(D0〜D7)だけを使うこともできる。32ビットのデータ転 送は16ビットずつ2回に分けて行われる。68000では32ビットデー タをロングワード、16ビットデータをワード、8ビットデータをバイトと 呼んでいる。 3.非同期制御信号(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 Transfar Acknowledge)は非 同期バスを代表する特徴的信号である。MPUはこの信号が外部から入力される までデータ転送のサイクルを終了しない。DTACKバーが早く入力されれば リード/ライトのサイクルは早く終わり、遅ければ遅く終わる。つまり外部デバイス (メモリや周辺LSI)のスピードに応じて早くも遅くも自由に調節でき効のよいデバイス を構成することが可能になる。設計者はこれらのことを考慮してDTACKバー発生の回路 を作成しなければならない。 4.68000周辺制御信号(E,VMAバー,VPAバー) 68000MPUを使ったシステムに、従来の8ビットMPU(6800や6 809)で使っていた周辺LSIを接続するための端子である。8ビットMPU 用の周辺LSIは同期式データ転送を行っている。そのためE,VMAバー,V PAバーを使って同期式データ転送ができるようになっている。 E(Enable)は同期式データ転送におけるクロックとして働き、Eの立 下がりに同期してデータ転送が行われる。6800のクロックΦ2信号、680 9のE信号に相当する。 VMAバー(Vaild Memory Adress)は68000が同期 式でデータ転送をしていることを示す信号で、周辺LSIはVMAバーがアサー トされている期間のEの立下がりを使わなければならない。6800のVMAに 相当する信号である。 VPAバー(Vaild Peripheral Adress)はMPUに 対して同期式データ転送を要求する信号である。したがって同期式データ転送が 必要なデバイスがアクセスされたとき、VPAバーをアサートしてやればよい。 MPUはメモリや周辺LSIをアクセスしたときには、そのデータが同期式であ るか非同期式であるかはわからない。DTACKバーが入力されれば非同期式であり、 VPAバーが入力されれば同期式である。 5.割り込み入力端子(IPL0バー〜IPL2バー) 68000は優先順位のついた七つの割り込み(レベル1〜レベル7)を使う ことができる。優先度はレベル1がもっとも低くレベル7がもっとも高い。また レベル7はNMI(Non Maskable Interrupt)として働 く。IPL0バー〜IPL2バーの3本を使って(000)2〜(111)2に コード化した割り込み信号を入力する。(000)2は割り込み要求のない状態である。 6.バスアービトレーション制御(BRバー、BGバー、BGACKバー) バスアービトレーションとはバスの配分であり、MPU以外にバスを使うデバイスがある場合、 バスを使う権利(バスマスタ権)のやりとりをするための信号 である。 BRバー(Bus Request)はMPU以外のデバイスがMPUに対してバスマスタ権 を要求する信号である。 BGバー(Bus Grant)はBRバーに対する対応信号であり、MPU は次のバスサイクルでバスマスタ権を放棄する。(つまり外部デバイスがバスマ スタとしてバスを使える)ことを意味する。 BGACKバーはBGバーを受けた外部デバイスが現在バスマスタとしてバス を占有していることをMPUと他の外部デバイスに知らせる信号である。これら 3本の制御信号を使うことにより効率のよいバスマスタ権の受渡しが行われる。 7.プロセッサステータス(FC0〜FC2) MPUがどのような状態で動作しているのかを知らせる信号である。スーパバ イザ状態かユーザ状態か、データのアクセスか命令のフェチか、また割り込み信 号を受付けた状態等を3ビットにコード化して出力している。 8.システムコントロール(BERRバー,RESバー,HALTバー) BERRバー(Bus Error)はデータ転送に異常があるMPUに知ら せる信号である。MPUはBERRバーがアサートされると現在のバスサイクル を中断し、バスエラー例外処理を実行する。 RESバー(Reset)は通常、入力端子として働きシステムリセットを行う。 ただしRESET命令を実行したときは出力端子として働きリセット端子に 接続された 外部デバイスのリセットを行う(MPUはリセットされない)。 HALTバー(Halt)は通常、入力端子として働きMPUのホールトに使われる。 HALTバー信号がアサートされるとMPUは現在のバスサイクルを終了後ホールトされる。 ホールト状態では、アドレスバス、データバスはスリース テート状態、R/Wバー, ASバー,UDSバー,LDSバーは”H”になる。 HALTバー端子が出力として動作する のは二重バス障害(ダブルバスフォールト)が発生したときである。二重バス障害とは バスエラーが続けて2回起こるこ とであり、MPUは自らホールト状態に入り、 リセット以外では回復できない。 9.その他の信号(CLK,Vcc,Vss) CLK(Clock)はMPUが動作する基本となるクロック状態であり、一定 の周期をもっていなければならない。またいかなる場合にも止まってはならない。 最高周波数はバージョンにより6.0,8.0,12.5MHzのものがある。 いずれのバージョンでも最低周波数は4.0MHzである。 Vcc(電源)、Vss(設置)は各2ピンある。これはLSIのチップ内での電位を 安定に保つためであり、2ピンとも接続しなければならない。 (2)I/Oボードの機能解説 @VIPC310の構造描写 VIPC310は、基準寸法のI/O構成成分の種のIPの一部である。IPキャリアとしてVIPC310は機械的な支援と、 電気的な接合を、2つのシングルハイトIPか、1つのダブルハイトIPに供給する。VIPC310の外観図は、 次ページ図1である。 インプット/アウトプット、メモリ、割り込みの働きを持つ。ボード上でのバッテリーによるバックップが可能である。 VIPC310は、3U(シングルハイト)の要素によってVMEbus Specification C.1(IEEEにより、P1014/D1.2または、 IEC821busとしても知られている。)と結合する。IPキャリアは、DMAボードや、68020処理装置を乗せると (6U(ダブルハイト)でも可)様々な機能を利 用できる。IPキャリアは、他の標準的なIndustrybusでの 利用もできる。 VIPC310は、IP Logicの接合方法に従う。IPは互いに、VIPC310の前面を通って50ピンのフラットケーブルに よって接合される。二つのIPは、"A"及び"B"と名付けられて いる。インタフェースの接合は、基準寸法で、 ケーブルでつながれたシステムであれば、IPキャリア 上にディレクトリを添え付けられる。接合ケーブルルは、 VMEのシャーシから、VIPC310を動か さずに、差し込み、引き抜きができる。IPは、I/Oからの信号に 依らずに、ON/OFF ができる。 どんなときでも、IPは、グリーンフロントパネルの指示器が点灯していれば、VMEbusから、アクセスされる。 二つの表示器があり、一つづつ、相互のIPに用いられる。どのア クセスに対しても、活動の指示を明確 にする為に、一つ又は複数の関係のあるLEDを 点灯させる(約三分の一秒間)。 ボード上のリチウムバッテリは、こういった機能を利用するIPの為のバックアップ用として用いられる。尚、 バッテリは、VMEbus+5 又は、STDBYラインかを選択して使用できる。 通常、バッテリの補佐作用は、 スティックRAMと、日時計に使用される。 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]の電源を LC piフィルタを通して、相互のIPに供給する。これは、精密なディジタル作用とともに、アナログの使用を 可能にしている。 AI/Oアドレスの設定法 VIPC310上のI/Oのアドレス設定法は、二つの要素により決まる。一つは、ボードのベースアドレスである。 二つめは、サブスペースに要求されるアクセスと、IPのオフセットである。 ベースアドレスの設定方法は、 以下で説明する様に、四つのサブスペースと、それらのオフセットによって決められる。 VIPC310は、VMEbusの"Short I/O又は、A16/D16空間中に、512バイトを占める。これは、 IP空間と、相互のIPのI/O間の16ビット*64ワードからなっている。ボードのベースアドレスは、 八個のシャント及び、ジャンパーによって設定される。このブロック配置の模様は、図3に示されている。 シャントは接合されると、アドレスラインに"0"を与える。シャントは開放されると、アドレスラインに"1"を与える。 例えば、7つのシャントの全てが接合された時には、$0000と言うベー スアドレスが創造される。7つのシャント の全てが開放された時には、$FE00と言うベースアドレスが創造される。アドレスラインに対するシャントの 位置の関係は、図2のチャートに示されている。 I/Oのベースアドレスのシャントは、メモリが使える状態であれば、VIPC310によってメモリーベースアドレスの選択も できる。例えば、I/Oのベースアドレスを$6000(A16空間中)とするなら、メモリーベースアドレスは、 $600000(A24空間中)となる。より多くの情報を得るために、"メモリーのアドレス設定法"と言う項目 を参照してください。 VIPC310では、次項図3に示される様に、I/Oベースアドレスに、$6000をセットしたものが送信される。 VIPC310がVMEbus空間のA16中に占める512バイトは、四つのサブスペースに分割される(図4参照)。 相互のIPは、128バイト(&H$80バイト)のI/O空間に一語16ビットの空間を64個持つ。大半のIPは、 ロウオーダーの時や奇数バイトでのみ使用される。これらのIPによってバイト は、$1,$3等のオフセットの 位置をアクセスする。このI/Oの奇数バイトは標準型のVMEbusと68000等の演算処理装置で与えられる。 大半のIPは、I/O空間に割り当てられた全 てのバイトを使用することはできない。 相互のIPは、使用していないバイトでデコードをすることが出来る場合もある。使用していない 空間へのアドレス指定は、回路的なCPUバスタイムアウトを侵害することからVMEbus BERRを起こすだろう。 もしこのCPUの機能を止めたいならば、使用していない空間へのアドレス指定をする時や、 IPの空間にに差し込まない時、VMEbusは"ハング"する。 図2 I/Oアドレスシャント割り振り I/Oのベースアドレスのシャントは、メモリが使える状態であれば、VIPC310によってメモリーベースア ドレスの 選択もできる。例えば、I/Oのベースアドレスを$6000(A16空間中)とするなら、メモリーベースアドレスは、 $600000(A24空間中)となる。 VIPC310では、図3に示される様に、I/Oベースアドレスに、$6000をセットしたものが送信される。 1つのIPは、そのI/O空間内に偶数バイトを使えるかどうかわからない。もし、使えないなら それは、偶数バイトのアクセスに反応するかできるかわからない。IPは、readとwrietで異なるマップ を持っている。CPUのバスタイムアウト機能の用途は、起こりうる無効なアクセスを試し、見つけ出す事 を委ねられる。相互のIPは、ID PROMを持つ必要がある。このIDPROMは、最少32バイトである。 それは、大きいだろう。ID PROMは、IPに関する決められた情報を与え、それは、IndustryPack Specific ationに定義されている。この情報は、IPのメーカー、モデルコード、改訂版レベルの製造に 含まれる。それには、ドライバの同じ物であると確認するコード、調整情報も含まれるだろう。 ID PROMの、左のオーバースペースは、エンドユーザー、システムの積算器のために情報を加える事で利用される。 図5 IDPROM要求情報 ID PROMは、代表的に自動構成、自動計測、改訂版保守の為のソフトウェアとして使われる。 加えて構成された機能は、使用できる。ID PROMは、アクセスされる事を要求したり、それらの 情報がホストソフトウェアで使われる事もない。しかし、ID PROMが臨界目 盛や、構成情報を 含んでいるとしたら、ソフトウェアの使用方は非常に促進される。 図5は、相互のID PROMの要求情報を示している。 (3)IP−digital48の機能 IP−digital48の主な機能を挙げる。 IP−Digital48には、MC68230PARALLEL INTE RFACE/TIMER(PI/T)が2個搭載されている。 MC68230には、入出力ポートA,B,Cがあり、A,Bは単方向または 双方向の8bitまたは16bitの入出力として使用できる。このポートはダ ブルバッファ内蔵である。ポートCは、DMA,タイマおよび割り込みの制御と しても使用される。 PI/Tは、その内部にTIMERを持っているが、このTIMERは24b itのダウンカウンタを含んでいる。このタイマの基本的な使い方として、 Periodic Interrupt Generator Square Wave Generator Device Watchdog 等がある。1は、設定周期毎のタイマ割り込みが可能であり、2は、設定周期の 方形波をTOUTより出力できる。3は、TINが立ち上がると、設定値からカ ウンタがダウンしていき、TINが立ち下がると止まる。また、underflowになると、 TOUTに一発パルスが発生する。 [2]MPUボードのスぺック @CPUボードのスぺック 名称 : VSBCー1 Single Board (68HC000) Computer for the VNEbus CPU/クロック : MC68HC000 / 12.5MHz サイズ : 100 X 160(mm) 製造元 : PEP Modular Computers RAM : 128〜1024kB ROM : 64〜512kB 必要な電源 :DC5V(±5%)、750mA(シリアルI/O非動作時) DC±12V ー シリアルI/Oを使用する時に必要な場合がる。 RSー232Cを使用する時は必要。 基板上の電源 : Li電池800mAh フロントパネルの幅 : 4TE (20.3mm) フロントパネルの機能 : Haltランプ、RESETボタン、Abortボタン、 15ピン サブDソケット x2 時計機能(RTC) : DP8573を搭載 タイマ割り込み、12/24時間時計、曜日カウンタ、アラーム クロック : CPU x1 System x1 RTC x1 DUSCC x1 割り込み : 7つのレベルの割り込みが可能(信号IRQ1〜IRQ7を利用) 割り込みマスクレジスタの設定が可能 設定されている割り込みベクタ レベル7 Abortスイッチ 7 ACFAIL信号 6 RTC/TICK 5 DUSCC (これはオートベクタではない) 4 SYSFAIL信号 3 PI/T 2 SCSI ハードウェア監視機能 : MAX691による。400ms(変更可)ごとに合図がないと、 異常が起きたとみなして、システムをリセットする。 タイムアウト機能 : 異常が発生して、データ転送が7μs停止した場合、信号を発生する。 ボード上のコネクタ: 50ピンSCSIコネクタ 40ピンPI/Tコネクタ シリアルI/O 2つのポートが使用可能 (68562DUSCCが提供) オプション: それぞれのシリアルポートに1つずつ必要 RS−232C 50〜 76800ポート RS−422 50〜307200ポート RS−485 50〜500000ポート 20mA C ループ 50〜9600ポート 光ファイバによる接続は最長1キロメートル(光ファイバコネクタを含む) パラレルI/O MC68230PI/T 8ビット × 2ポート ハンドシェークピン ×4 ハードウェア割り込み、タイマ割り込みが可能 光セントロニクスアダプタが使用可能 VMEbus 関係 インターフェイス: A24 D16/8,MASTER コネクタ : DIN41612 C 型 、96ピン、P1コネクタ 温度範囲 : 動作時 0〜 +70℃(標準) −25〜 +85℃(拡張) −55〜+125℃(軍事用 85℃以上ではバッテリーを外すこと) 保存時 −55〜 +85℃ 動作湿度 : 0〜95% Aメモリマップ BI/Oボードのスぺック 名称 :VIPC310 メモリサイズ : 0、128、256、512[KB] 1、2、4[MB] IPのメモリ配置 : A24/D16 搭載可能なIPの数 : シングルハイトサイズボードの場合 2枚 ダブルハイトサイズボードの場合 1枚 IPのI/O配置 : A16/D16 I/Oサイズ :512[Byte] VMEbusへの割り込み :IRQ1,2,4,5が使用可能 I/Oの接続 : 2つの50ピンコネクタ 長さ100インチまでのフラットケーブル 前面の指示器 : 2つのGreen LED ボードのバッテリ : 3.3[V]のリチウム電池 165[mA]ならば1時間流せる 電源要求事項 : +5[V] 460[mA] (標準) +12[V] 0[mA] −12[V] 0[mA] 追加電源はIPで消費 使用環境 : 温度0度〜70度 湿度5%〜95%(結露しない程度) サイズ : 縦172[mm] 横128.5[mm](含フロントパネル) 厚さ13.6[mm] 重さ 0.14[Kg]