• 検索結果がありません。

1.はじめに マイクロコンピュータ(マイコン)システムにおいて,

N/A
N/A
Protected

Academic year: 2021

シェア "1.はじめに マイクロコンピュータ(マイコン)システムにおいて,"

Copied!
5
0
0

読み込み中.... (全文を見る)

全文

(1)

NDC 548.2, 549.3

多様なマイコンシステム問でデータ交換するための

       汎用バスの開発

岡 田 正* 長 澤 克 美**

(平成2年8月23日受付)

Development of the General−purpose Bus for Data Exchange with a Variety of Microcomputer Systems

Tadashi OKADA* and Katsumi NAGASAWA* *

(Received August 23, 1990)

 We develop a general−purpose bus to link with a variety of microcomputer systems from one−board to personal com−

puters, The bus connects a single bus−master board and a number of bus−slave boards with an arbiter in a consolidated system. The bus−master board controls the arbitration and protocol of the communication, and exchanges all data to be transferred iR the system. We design the bus−master board and the arbiter to be add to each bus−slave board, and make certain of fundamental functions as designed.

1.はじめに

 マイクロコンピュータ(マイコン)システムにおいて,

共通信号を伝送するバスは重要な役目を果たしている。使 用するバスの性能によって,データ転送速度やメモリ拡張 容量といった,システムの重要な基本性能部分が決まる。

マイクロプロセッサとメモリのようなLSI間をつなぐ ボード内のバス,多様な機能のボードをつなぐ標準システ ムバス,マイコンシステムと周辺機器をつなぐ1/0バス など,種々のレベルのバスが使われている。

 一方,マイコンの応用が進むにつれて,多様な形態のマ イコンシステムが使われるようになってきた。例えば,我々 の研究室でも,ボードレベルからパーソナルコンピュータ.

(パソコシ)レベルまで,雑多なマイコンシステムが利用 されている。これらのシステムは,それぞれの目的に応じ て使われており,多様な資産が蓄えられている。もし,こ れらのシステムを簡単に結合できて,自由にデータ交換で きるようになれば,利用上の利便性が大幅に向上するであ

ろう。

 本論文は,システムレベルの異なる多様なマイコンを接 続する目的で開発した,汎用バスについて報告するもので

* 情報工学科

**電気工学科平成元年度卒業生,現在八重州無線㈱勤務

ある。特定マイクロプロセッサの特性に依存せず,標準シ ステムバスほど複雑でなく,少数の信号と簡単なデータ形 式でシステム間を結合できるバスについて,開発の意図と 仕様の概要を述べる。さらに,中心となるバスマスタボー ドの概要と,パソコンを使った動作確認についても報告す

る。

2.汎用バスの開発目的と基本構成  マイクロプロセッサ応用形態の多様化について,LSI

を組み合わせた機器組み込み用のボードを開発したり,パ ソコンをデータ処理やプログラム開発に利用するなど,シ ステムレベルの異なるマイコンが使用されるようになって いる。このような雑多なシステムの間で簡単な方法でデー タ交換ができれば,蓄積された資産の共有化により有効利 用が図れる。

 ここで報告する汎用バスは,研究室内のような近距離に 置かれた,ボードマイコンからパソコンまでのレベルの異 なるシステムを結合するものである。筆者の一人は,マイ コン間のデータ通信を行う同様なシステムを,以前,報告 したことがある1)。このシステムは,1/0ポートを通し て接続しており,結合の自由度が低いものであった。そこ で,バスレベルで結合することで,.より高度な応用に対応 できるシステムを構想した。

 今回開発する汎用バスの利用目的として,凍のような項

(2)

目を設定した。

①新しく開発するボードレベルのマイコンに対し,入出  力部分のハードウェア/ソフトウェアを共通化し,統合  開発環境を提供する。

②既存のパソコン等の多様なシステムを接続すること  で,蓄積された資源の共有化を図る。

③最終的には,多様なシステムの結合によって,異質な  処理間の連携が可能なマルチプロセッサシステムを構築  する。

 ①でいえば,ボードマイコンを開発する場合に機種非依 存部分を共通化することで,パソコン上の使いなれた環境 を直接利用することを考えている。この場合,新しいシス テムに固有なマイクmプロセッサやメモリ周辺回路は,必 ず設計しなければならない。一方,キLボードやディスプ レイのような入出力装置の機能は,パソコン等のi整備され たシステムを利用してよい。汎用バスの目的の一つは,こ の機種非依存機能を提供することで,開発作業量を低減す ることにあるQ

 ②の目的は,既存システムd:簡単なハードウェアとソフ トウェアを追加するだけで,容易にデータ交換可能になる 共通バスを提供することである。MultibusやVMEbusに 代表される標準システムバスは,高度な能力を持っている。

その反面,たくさんの信号を複雑な制御手順で処理しなけ ればならず,簡単な処理を目指した今回のバスには採用で きない。また,RS−232Cのような1/0バスを使うこと

も考えられるが,拡張性や結合の自由度の点で問題がある。

このため,③の目的も考慮して独自のバス規格を開発する ことになった。

 複数システムを結合してデータ交換する場合,まず,結 合方式を考えなければならない。一般に十数システムまで の結合では,拡張性・実現の容易さなどから,バス結合型 が向いている2)。ここでも,バス型の結合方式を採用する。

 次にバスマスタになりうるシステムが複数存在するの で,アービトレーション(調停)方式を決めなければなら ない。一般に集中型と分散型のアービトレーション方式が 考えられる。我々は,両者の特徴をともに取り入れた。す なわち,アービタは各ボードに分散して,調停時間の短縮 と拡張の容易さを図る。一方,管理はシステムに一つだけ 存在できるバスマスタにより,集中処理させる。これによ

り,各ボードの負担を小さくできるにもかかわらず,拡張 性の高い処理が容易に実現できる。

 これらのことから,今回開発した汎用バスをハードウェ ア的に見れば,図1のように,接続されるシステム各々が 分散アービタを持ち,バス型に結合されたものとなった。

しかし,システム全体は,唯一のバスマスタが管理してお り,論理的にはマスタ/スレーブ型のスター結合している と見える。これによって,接続されるシステムのハードウェ ア/ソフトウェアの負担を可能な限り低減し,あわせてジ ステムの自由な拡張を保証している。

バスマスタ

、有RAM

バススレーブ bPU爪一ド

バススレーブ fPUボード

バススレーブ

@パソコン等

CPU CPU CPU RAM RAM RAM

CPU ROM ROM ROM

RAM ンタフェー

ROM

アービタ アービタ アービタ

ヘー管〃iへ

制御バス

へ墨管〃1

データバス 共有剤分で点納♪

.々\

図1 汎用バスを使ったマイコンシステムの結合

3.汎用バスの規格

 2.で述べた目的と基本構成に基づいて,汎用バスの信 の種類と制御手順を決めなければならない。データ転送と アービトレーションを,できるだけ少ない信号線で実現す

ることを目標に,制御手順の検討を行った。この中心にな るのはア・一・一ビトレーションであり,最終的に決定したアー ビタ回路図は,図2のようになった。ここで使われている 信号は,表1のようになっており,8ビットデータ用と11 種類の制御信号からなっている。制御信号の内,4本は制

(3)

多様なマイコンシステム間でデータ交換するための汎用バスの開発  岡田・長澤

御バス(マスタとアービタ接続)用,7本はスレーブとアー ビタ接続用である。

 表1に示した信号によって,バス使用権の調停とデータ 転送を行う手順を簡単に設明する。バスは,①バスフリー,

②送信状態,③受信状態,④リセット状態を持つ。この間 をバスマスタの制御下で遷移しながら,バスマスタ経由で データ転送を行う。

 例えば,バスフリーから送信状態への遷移を考える。複 数のバススレーブから送信要求が捌せられるので,バスマ スタは要求を出しているバススレーブを確認しなければな らない。確認操作は,バスマスタがSTROBを監視しなが らデータバスの値を変化させ,要求を発しているボードの

うち最大のID番号(スレーブボード固有の値)を持つボー ドを検索することである。検索した最大ID番号のスレー ブに対して,送信要求を許可する。送信を許可されたバス スレーブは,STROBとBUSYを使ったハンドシェイクに より,バスマスタヘデータを送る。

 受信状態への遷移も上と同じように,マスタが使用権の 調停を行う。調停が完了すれば,データ転送に移る。この ような調停動作は,データバスを優先順位決定に流用する ことで,最小限の信号線で実現できている。しかし,ポー リングによりID番号を調査するため,決定までに時間が かかるという欠点がある。今回の汎用バスでは,前者の利 点の方を重視し,ブロック単位のデータ転送で効率を上げ

109〔1,な) 109(1/.21

GLREQ

 PR i  O j  QbLR

 ひR i  Q

j  QbLR GしAC

BUSY

lCO

撃b1 1

PC2 PC3 P6

QCO Qc1QC2 QC3 yÒB

        RST

hCの型番は、ア4シリーズTTLで示した。

 2Y

P53

DAo

@IAO  BO

DB.

cB1 D鬼 DB2

c馬 cA司 c薦

DB3

STRO

cAo−7 cBo−7

clR ARBIT

│  WE

@−

@ R巳

@ 一@R/W

A4 DB凋DB5

lCO

撃b1 1

PC2 PC3 P0 QCO QCi 2 Qc2QC3

Q信̀B   D掘﹂︑

Al BlA2  B2

̀3  B3

@  図

̀5  B5 s6  臼6

@  B7 cIR

@ 645

7 A7 DB7

π

153

DBL

2

STAT D馬 DB3

4 5

PO QoI Q o2 Qo3 Q o4 Qo5 Q

o6 QP7 Q

@P;Q@P>Q

D廿G

  ID設定

G

Dん^

D鬼 DB7

DB 684

図2 バスアービタの回路(推奨回路図)

(4)

表1 汎用バスの信号

記  号 名  称 信号の方向 意味・役目

DAo〜DA7

@ARBIT

@STROB

@ −@R/W

@BUSY

 データバス

@ 調停

@ストローブ 梶[ド/ライト

@ ビジー

マスタ⇔アービタ }スタ→アービタ }スタ←アービタ }スタ→アービタ }スタ→アービタ

3状態双方向、転送データ・ID番号 oス調停中

]送データの要求またはバス使用権要求 ]送中の方向

]送中の遅延または調停中 DBo−DB7

@GLREQ fLACK

@DIR

│ WE

@酉

データバス oス要求 oス取得 ]送方向

@送信

@受信 oス状況

潟Zット

スレーブ曾アービタ Xレーブ→アービタ Xレーブ←アービタ Xレーブ←アービタ Xレーブ→アービタ Xレーブ→アービタ Xレーブ→アービタ Xレーブ←アービタ

3状態の双方向バス oス使用権の要求 oス使用権の取得確認 ]送方向

Xレーブのデータ出力 Xレーブのデータ入力

STAT qST

GLACK(Do)とDIR(D1)の出力 Xレーブの初期化

るようにしている。

 これらデータ転送以外に,バスマスタによって,スレー ブボードのリセットができるようになっている。開発中の ボードで,バグが含まれている場合にも,システム全体の 動作を保証するためである。リセットされるボードは,デー

タバスを通してID番号で指定される。

 バスの状態とデータバス・制御信号の関係を,表2にま とめて示す。調停と転送で同じ信号線を,異なった目的で 使っているので注意する必要がある。これによって,信号 線の数を減らすことができる。また,スレーブ側の制御は,

マイクロプロセッサのバスにつないで直接行ってもよい し,周辺LSIを通して1/Oとして扱ってもよい。

 次に,デーータ転送を行う場合の,データ形式について述 べる。データはすべてバスマスタを通して転送され,この 意味でバスマスタを共有RAMと呼んでいる。使用権を得 たスレーブは,図3に示す形式を持ったフレームでデータ を送る。フレームは,次の5種類のフィールドしら成って

SiZE H幽しN蓋)LE FUNCT置0暦 置NF【〕観ATIO潤 ECS

図3 転送データの書式(フレーム)

いる。

①SIZEフィールドは2バイト長で, INFORMATION

 フィールドの長さをバイト数で表す。

②HANDLEフィールドは2バイト長で,フレームの転

 送先を示す。

③FUNCTIONフィールドは1バイト長で,フレームの

 機能を表す。

④INFORMATIONフィールドはSIZEフィールドで示さ  れる長さを持ち,FUNCTIONフィールドで示される意  味の情報を持つ。

⑤ECSフィールドは,フレームの誤り検出用で,フレー  ム全体のバイト単位の総和を取り最下位8ビットが0に  なるようにする。

表2 制御信号とバス状態一覧

R/W STROB BUSY ARBIT DAo−DA7 意   味

要求信号 L ID番号 要求中のバススレーブを検索

L ID番号 バススレーブ選択

H 80(16) 要求の発生を許可する

L L

H 送信データ 送信(スレーブからマスタへ)

H L

H 受信データ 受信(マスタからスレーブへ)

L L H 転送不可

H L ID番号 個別のスレーブをリセット

H L 00(16) 全てのスレーブをリセット

(注)Hは高電圧レベルを、Lは低電圧レベルを,↑は立ち上がりを,それぞれ示す。

(5)

多様なマイコンシステム間でデータ交換するための汎用バスの開発  岡田・長澤

 送信されたデータは,一時的に共有RAMに蓄えられ,

別のスレーブに転送される。このとき,データ送受信を誤 りなく行うために,共有RAM内にFIFOバッファの転 送経路(パイプライン)を作るようにした。パイプライン は,スレーブが宣言したタグ同士を連結することで形成さ れる。ここでタグは,名前・正負の極性・3種類の階層を 持つ。同じ名前の逆極性のタグのみを,階層で制限を付け ながら連結することで,多様な形式のデータであっても,

正常に転送できるようにしている。

 なお,ここで概略を述べた汎用バスの規格は,別に仕様 書として詳細に規定してある。

4.共有RA.Mボードと動作確認

 これまでに述べた機能を実現し動作を確認するために,

ハードウェアとソフトウェアの製作を行った。汎用バスを 制御するバスマスタ(共有RAMボード)の製作,バス制 御用ソフトウェアの製作,バススレーブの動作のシミュ

レーションによるバス動作の確認が主な内容である。

 共有RAMボードを設計す、るにあたり, CPUの選択に 次の条件を与えた。

①大容量のメモリを接続できること。

②ボードの製作に対して特殊な部品が必要ないこと。

③ソフトウェアの開発に特殊な知識が必要ないこと。

 これらの条件から,使用するCPUは, Z80と上位互換 の641803)に決定した。その他の主な仕様は,

○○○○○ メモリの容量:32Kバイトから256Kバイトまで可能 クロック:6.144MHz

外部インタフェース:RS−232C

プログラム;容量と速度の面からアセンブラで記述 ROM:バス制御プログラムのみ

となっている。

 共有RAMボードの設計製作に続いて,バス制御のため のプログラムを開発した。2.で述べたデータ送受信の制 御プログラムを,アセンブリ言語で記述してある。さらに,

ボードレベルのマイコン開発環境のために,デバッガ機能 を持った「リモートモニタ」を製作した。リモートモニタ は,C(Lattice C 4))で記述されていて,拡張・修正・移 植が容易である。

 リモートモニタは,共有RAMボードの機能を拡張する ためのものである。共有RAMボードのRS−232Cを通し てPC−9801に接続し, PC−9801上から開発中のボードを 操作することができる。主な特徴として,次のものが挙げ

られる。

○ 共有RAMボード自体のデバッグを行うことができ

 る。

○ バススレーブのデバッグを行うことができる。

O MS−DOSのファイル管理機構を利用し,豊富な  PC−9801の周辺機器の環境を提供する。

 開発した汎用バスの動作を確認するため,P C 一98elの 並列入出力ボードをバスアービタに接続し,本システムの バスと結合した。パソコンからバススレーブ動作をシミュ レーションしたところ,バスの動作と共有RAMボードの 動作を確認した。これにより,設計した汎用バスが正常に 動作することだけでなく,マルチプロセッサシステムの要 素の一部として,パソコンを利用するシステムの動作も可 能であることがわかった。

5.あ と が き

 システムレベルの異なるシステムが容易に結合できる汎 用バスを開発した。これによってボードマイコンの開発支 援環境を整えたり,多様なシステムを結合したマルチプロ セッサシステム構成の基礎部分を設計した。さらに,汎用 バスを制御するバスマスタ(共有RAMボード)の製作と,

パソコンを使ったバススレーブ動作のマルチプロセッサシ ステムシミュレーションを行い,設計通りの動作を確認し

た。

 今回開発した汎用バスの機能によって,スレーブ間の基 本的な通信手段は実現できた。今後,開発援助機能の充実 と,本格的なマルチプロセッサシステム構築に向けての検 検討を行わなければならない。種々のCPUを搭載した

ボードを製作し,開発援助ソフトウェアの拡充を図りなが ら,タスクの自動割り振りのようなマルチプロセッサ動作 の検討を進めていきたい。

1)岡田・古林・山田:津山高専紀要,21(1983)41.

2)天野:日経エレクトロニクス,475(1989−6−12)328.

3) Zilog : Z64180 8−BIT HIGH INTEGRATION CMOS  MPU (1986−12).

4)Lattice, Inc.,ライフボート:Lattince C COMPILER  VER, 4 Reference Mannual (1988−7) .

参照

関連したドキュメント

問についてだが︑この間いに直接に答える前に確認しなけれ

「エピステーメー」 ( )にある。これはコンテキストに依存しない「正

暑熱環境を的確に評価することは、発熱のある屋内の作業環境はいう

テューリングは、数学者が紙と鉛筆を用いて計算を行う過程を極限まで抽象化することに よりテューリング機械の定義に到達した。

※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

注)○のあるものを使用すること。

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3