L−kit 16用IEEE−488インターフェース
(昭和56年8月31日受理)橋口住久
矢野雅仁
藤森利典
土橋友彦
IEEE-488 Interface for L-kit 16 Microcomputer
SumihisaHASHIGUCHI MasahiroYANO ToshinoriFUJIMORI TomohikoDOBASHI Abstract IEEE−488 interface ciruit is designed for the data transfer amang L−kit 16 microcom・ puter working as the data recoder, HP 3582 A spectrum analyzer as the processor, and PC−8001 microcomputer as the output termina1. Interface hardware is made to be as simple as possible as possible and most of control function depends on the software onレkit 16 microcomputer・
1.はじめに
超低周波信号のスペクトルを分析するために試作し た装置1)においては,記録されているデータをスペ クトル分析器に送る際にD/A変換器でアナログ信号 に変換する必要があった。この信号伝達をディジタル のまま行えば精度の向上が可能である。 ここでは,スペクトル分析器に用意されているディ ジタルデー一一タのインターフェース(IEEE−std−488− 1975)2)を利用して,データをディジタルのまま伝送 するためのインターフェースとコントローラを設計, 製作した。図一1に従来のシステムと今回製作したシ ステムのブロック図を示す。 2.IEEE・488バスの特徴 IEEE−488バスは, GP−IB, HP−IBとも呼ぼれ, 計測器相互間および計測器とコンピュータ等を接続す る標準インターフェースバスである。これは,8本の データ・バス・ライン,3本のリンドシェーク・ライ ン,5本の管理バスの合計16本の信号線から構成さ れ,24ピンのコネクタを用いている。 これに接続されている装置は,すべて並列に接続さ れるため,バス上に出力されたデータは,すべての受 信機能のある装置で受信することができる。しかし, 同時に二つ以上の装置がデータを送信することはでき ない。A/D Sub Channel@ Ada tor D/A 口。。。
レkit 16 @・高撃モ窒潤曹盾高垂浮狽? HP 3582A 唐垂?モ狽窒浮高 nalyzer riginal SyStem EEE−488 bus ub Channel
Adaptor
−kit 16 icrocomputer・・。〔コ
P3582A pectrum nalyzer PC−8001 microcomputer *IEEE−488 interface improved system 一1 超低周波信号のスペクトル分析のための システム i9.1 Spectrum analysis system for very low frequencyセ§罰 Sub Channel Adaptor address preset switch 9日 ずny OBR:Output Buffer Register IBR :Input Buffer Register CMR:Command Register DSR:Device Status Register IEEE−488 interface llEEE−488 bus 図一2 インターフェースの構成 Fig.2 Construction of the interface このため,IEEE−488バスには,コントローラと呼 ぼれるインターフェース機能があり,バスに接続され ているすべてのインターフェース機能は,コントロー ラによって制御される。 バスに接続できるインターフェースの数は15まで, ケーブルの長さは合計で20メートル以内と決められて いる。 3.インターフェースの構成 本インターフェースは,バッファ,ラッチ,アドレ スデコーダなどの簡単なリードウェアのみで構成さ (My Address) ys
w
:open collector output UN. (unlisten command) Talk Listen DSR 8 7 6 5 4 3 2 1 M,B、IZ[iz[IZ口ココココ 十5V LSBTalk Listen 図一3 アドレス・デコーダ部 Fig.3 Address decorder switch on−1 switch off−O れ,複雑な諸シーケンスは,ソフトウェアによって実現している。 、 ヒ
図一2は,本インターフェースのハードウェアの構 成図である。本インターフェースは,マイクロ・コン ピュータL−kit 16の汎用インターフェースであるサ ブ・チャンネル・アダプタ(以下S.C.A.と略す)に 接続し,S・C・A・の内部レジスタの内容により制御さ れる。 本機はマイ・リス’ン・アドレス(以下MLAと略 す),およびマイ・ト『一ク・アドレス(以下MTAと 略す)の検出をハードウェアで行っている。その回路 が図一3と図一4である。 図一3には5ビットのスイッ チにより,マイ・アドレス・(MA)が自由に設定でき る回路と,LISTEN, TALK, UN−LISTENの各信 号の検出回路が示されている。これらで合成した信号MTA
other ADR&TALK
iA&
LISTEN
血
ATN
(attention)DAV
(data va迫d) CLEAR 図一4 MTA, MLA合成回路 Fi9.4 MTA(My Talk Address)and MLA (My Listen Address)decorder表1CMRの値と動作モード
Table l cMR and interface mode ・bSR bit D remote モ ド 制御信号出力モード データ出力モード 制御信号入力モ・一’・ド データ入力モード CMRの値(16進数) 080C O80B OOOO OOOO E F: S.C.ADSR
bit O 1 2 3 4 5 6 7 8MTA
MLA
9ABCDEF
CMR の ピヅト名 bit 4, bit C bit D bit E, bit F ビットの値MSB
[[[[ll]r[m o
LSB 0 1 S.C.A入力モード S.C.A出力モード 制御信号不出力モード 制御信号出力モードデータ不出力モード データ出力モード
と,制御信号バスのATN, DAVを図一4の回路でデコードし,MTAおよびMLAを得ている。
S.C.A.には四つの16ビットレジスタがある。 CMR は表一1に示したように,本機の動作モードを決定している。図一5のように,DSRはMTAとMLA信
号が接続され,その値を読み込むことができる。IBR はIEEE−488バス上の情報を読み込むレジスタである。一方OBRは,信号をIEEE−488バス上に出力
するときに使用するレジスタである。 各レジスタの読み書きの方法を表一2に示す。各レ ジスタと本機との関係を図一6に示す。レジスタ内は, IEEE−488バス上とは論理が反転している。 制御信号を制御バス上へ出力するには,表一2の方 法によって,まず,OBRの上位8ビットへ上位より・ EOI, SRQ, REN, IFC, ATN, NDAC, NRFD, ADV の各信号を書き込む。次にCMRへ16進数080 Cを書き込む。データバス上へ出力するには・OBRの
下位8ビットヘデータを書き込み,CMRへ16進数
080Bを書き込む。バス上の値を知りたいときには,CMRヘユ6進数0000を書き込む。ここでIBRの値
CMR
bit 4 図一5 Fig.5…E{1罐LA
…D{1蒜TTA
トーカ,リス十情報の読み込み MTA and MLA informations to DSR C D E F remote 1 表2S.C.A.内のレジスタの操作法 Table 2 Registor operations ④input control ㊤)data bus Iatch C。ntrol(↑) ◎data latch C・ntrol(↑) ⑪data・utput ・BR@ i 一一ノ⑬・・n…
1 EOI 1 SRQ 1 REN IFC control b浮唐 atch TN DAC RFD AVl D8 7 6 5 atab浮唐撃 tch Bbi 狽n P Q R S T U V W X ` a b c d eIB qbi 煤@O P Q R S T U VW
D
『 1 1◎ir
v≡④
1
I ll @l Q 【 , N I C ¶ , onda N AC 11 @1 FD l ’ B 〟@ ` a fC c de
D
V l l ll 1 l l l B S.C.A 一_一一一」IE dE−488 bus interface ntrol s ta s ntrol bus スタよりRへ書き込む
Rよりレジス
読み出す
Rよりレジス読み出す
スタよりRへ書き込む
ジスタにCMRへ書き込みた
を入れる.次にWTR1,
t50tを実行する R1, X/511を実行するにIBRの内容が得られる
R1, X’52’を実行するにIBRの内容が得られる
ジスタにOBRへ書き込みた
を入れる.次にWTR1,
’53tを実行する ta bus 一6 入出力制御のハードゥェア g.6 Hardware of the I/O controlbitO123456789ABCDEF
C糠SB・… 1・・・… …・1
bitO123456789ABCDEF
OLSB
OBR
MSB一Z口Z辺Z図LSB
OBR X_コ bit 34
5
6
7 1・△
CMR【三コ4
D E FSTP
DRSTL
S.C,A.・ } IEEE・・488 interface 図一7 イスターフェース起動 Fig.7 Triggering of the interface 十5VTALK
SET NDAC AND mRFD LOW OUTPUT DATA BYTELOW
NRFD
bHECK
@ HIGH SET DAV LOWLOW
NDAC
bHECK
@ HIGH SET DAV HIGHRETURN
LISTEN SET NDAC AND mRFD LOW SET NRFD HIGH HIGH DAVbHECK
@ LOW
SET NRFD LOW ACCEPT DATA BYTE 一 rET NDAC HIGHLOW
bHECK
DAV
@ HIGH SET NDAC LOW
RETURN
図一8 ハンドシェーク Fi9.8 Flow chart of the handshake を読めば,上位8ビットにEOI, SRΩ, REN, IFC, ATN, NDAC, NRFD, DAVの順に得られる。ま た,下位8ビットにはデータバスの内容が得られる。 初期状態において,本機はIEEE−488バスより論 理的に切り離されている。これを接続するには,OBRへ16進数1700を書き込み,続いてCMRへ16進数
080Aを書き込む。これをハードウェア的に書いた図 が図一7であり,そのアセンブラ・プログラミング例 を付録1に示す。 4.基本的ソフトウェア基本的なサブルーチンとしてTALKルーチンと
LISTENルーチンを取り上げる。図一8が両者のフロ ーチャートである。 TAI」Kルーチン ROの下位8ビットにデータバス上に出力したい値 を入れて,サブルーチン・コールする形である。この アセンブラ・プログラミング例を付録2に示す。R1 をCMRのバッファに, R2を制御信号のバッファ に使用している。LISTENルーチン
このルーチンをコールすると,ROにIEEE−488
バス上のデータを入力して戻ってくる。このアセンブ ラ・プPグラミング例を付録3に示す。 メイン・ルーチンについて TALK, LISTEN,起動の他に,インターフェー ス制御バスの各信号線に対応するルーチン(ATN, IFC, RENの送出ルーチン, SRΩに対するポーリン グ・ルーチン等)や,連続データ転送のためのルー プ,エラーチェック,キーボードよりの入力,ディス プレイなどの機能を備えたメイン・ルーチンを用意す ると良いが,メイン・ルーチンはシステムの目的によ り,全く異なった構成となるため,ここでは省略す る。 5.他のマイクロ・コンピュータへの対応 本機のハードウェアは,マイクロ・コンピュータを 他の物に変更してもそのままで使用できるが,S.C.A. の変わりに,6800系のシステムではMC6821,8080 系のシステムでは8255Aなどのパラレル・インター フェースLSIを利用して,インターフェースを設計 する必要がある。 6800系であれぽ,ソフトウェアの改造は16ビット から8ビットへの変更と,1/0関係の命令の変更です む。しかし8080系ではソフトウェアを作り直す必要 がある。6.おわりに
本インターフェースを用いることによって,D/A 変換によって生じる誤差をおさえることができた。ま たPC−8001マイクロコンピュータヘデータを転送 し,各種の処理をすることも可能となった。 なお最近では,IEEE−488バス用のインターフェー ス機能を内臓したワンチップLSI(モトローラ社のMC 68488など)が発表されており,ソフトウェアも 簡単であるので,新たに設計する場合にはこれを用い る方が有利であろう。