JP3479623B2 - マイクロコンピュータ装置 - Google Patents

マイクロコンピュータ装置

Info

Publication number
JP3479623B2
JP3479623B2 JP37484099A JP37484099A JP3479623B2 JP 3479623 B2 JP3479623 B2 JP 3479623B2 JP 37484099 A JP37484099 A JP 37484099A JP 37484099 A JP37484099 A JP 37484099A JP 3479623 B2 JP3479623 B2 JP 3479623B2
Authority
JP
Japan
Prior art keywords
cpu
information
shared memory
buffer
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP37484099A
Other languages
English (en)
Other versions
JP2001188744A (ja
Inventor
昭義 才木
高▲廣▼ 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Motors Ltd
Original Assignee
Kawasaki Jukogyo KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Jukogyo KK filed Critical Kawasaki Jukogyo KK
Priority to JP37484099A priority Critical patent/JP3479623B2/ja
Publication of JP2001188744A publication Critical patent/JP2001188744A/ja
Application granted granted Critical
Publication of JP3479623B2 publication Critical patent/JP3479623B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、各種産業用機械な
どの制御のために用いられるマイクロコンピュータ装置
に関する。
【0002】
【従来の技術】マイクロコンピュータ装置は、パーソナ
ルコンピュータなどに組込まれて、キーボードやマウス
などに基づく入力と、ディスプレイやプリンタなどによ
る出力とを用いるマンマシンインターフェイス(MM
I)を介しての情報処理などに用いられるばかりではな
く、制御用CPUボードのような形態で、広く産業用の
各種制御にも用いられている。制御用CPUボードで
は、使用目的に応じて作成されるプログラムを不揮発性
のROMやPROMなどのプログラムメモリに格納して
おいて、格納されたプログラムを読出しながら制御処理
などが行われる。
【0003】一般に、プログラムなどのソフトウエア
は、ごく短くて簡単な場合を除き、最初に作成した状態
のままでは完成しない。プログラムの複雑性が増すと、
検討が不充分な箇所が判明したり、予期しない条件の組
合わせで不具合が発生したりする可能性が高いからであ
る。さらに、各種制御用の用途では、制御対象となる機
械装置側からの制約条件も加わるので、プログラムが最
初から最適な条件で動作する可能性は極めて小さい。し
たがって、制御用CPUボードなどの開発の過程では、
一旦プログラムを作成した後、実際に動作させながらプ
ログラムを改良していく必要がある。
【0004】従来、制御装置では専用の制御用CPUボ
ードを用いて制御用のプログラムを実行していたが、パ
ーソナルコンピュータの普及に伴い、パーソナルコンピ
ュータの優れたマンマシンインターフェイスや拡張性
と、制御用CPUボードの実時間とを組合せて制御シス
テムを構築することが一般的になってきている。
【0005】制御用CPUボードは、一般的に、シリア
ルポートを介して動作状態を示す内部情報をホストコン
ピュータ装置に入出力するモニタの機能を備えている。
パーソナルコンピュータに制御用CPUボードを装着し
た構成の制御装置でも、パーソナルコンピュータのシリ
アルポートと制御用CPUボードのシリアルポートを接
続することで、制御用CPUボードの内部状態をパーソ
ナルコンピュータでモニタすることができる。
【0006】一方で、制御用CPUボードは、パーソナ
ルコンピュータの拡張バスを介して情報交換が可能であ
り、拡張バス経由で制御用CPUボードの内部状態をモ
ニタできる仕組みがあれば、パーソナルコンピュータの
シリアルポートも制御用CPUボードのシリアルポート
も使用する必要がなくなる。
【0007】しかしながら、制御用CPUボードは、ボ
ード単体の動作確認時には、シリアルポートを介しての
デバッグ作業が必要であり、シリアルポートを備えてお
く必要がある。
【0008】シリアルインターフェイスを備えて、動作
モニタが可能な制御用CPUボードでは、制御の複雑さ
を避け、かつ動作が安定するように、ホストコンピュー
タ装置の拡張バススロットのコネクタに装着可能であっ
ても、ホストコンピュータ装置とシリアルインターフェ
イスを介して接続し、シリアルインターフェイスから動
作モニタ用の指令を受けるように構成される。
【0009】図6は、制御用CPUボード1を、パーソ
ナルコンピュータ(以下、「パソコン」と略称する)2
をホストコンピュータ装置として接続し、動作のモニタ
などを行う一般的な構成を示す。パソコン2は、シリア
ルポート3や拡張バススロット4を備え、制御用CPU
ボード1は拡張バススロット4に装着される。制御用C
PUボード1は、シリアルポート5を備え、シリアルケ
ーブル6を介してパソコン2のシリアルポート3と接続
することによって、制御用CPUボード1の単体での動
作確認、パソコン2のソフトウエアが起動していない状
態での制御用CPUボード1の内部状態のモニタなどを
行うことができる。また、制御用CPUボード1は、パ
ソコン2の拡張バススロット4から離れた状態で、シリ
アルポート5を介しての動作モニタも可能である。
【0010】
【発明が解決しようとする課題】図6に示すようにパソ
コン2の拡張バススロット4に装着しての動作モニタな
どが可能な制御用CPUボード1は、パソコン2の周辺
機器の1つとして動作し、制御用CPUボード1とパソ
コン2との間の情報交換のために、制御用CPUボード
1の基板上には共有メモリが備えられ、制御用CPUボ
ード1内部のCPUと、パソコン2のCPUとからアク
セスが可能なように構成されていることが多い。共有メ
モリが備えられているときには、共有メモリ経由で制御
用CPUボード1とパソコン2との間の通信を行えば、
シリアルポート3,5およびシリアルケーブル6を介す
る通信は不要となる。特に、パソコン2の拡張バススロ
ット4に装着した状態で最終目的に使用するような場合
には、制御用CPUボード1にはシリアルポート5を設
けないようにする方が、コスト低減とともに、パソコン
2のシリアルポート3を他の用途のために空けておくこ
とができ、またシリアルケーブル6を介して接続する手
間も省くことができる。
【0011】ただし、制御用CPUボード1からシリア
ルポート5を省くことに伴って、プログラムの変更の必
要があるとすれば、プログラムの変更に伴って予期しな
い動作の不具合が発生する可能性がある。このため、制
御用CPUボード1単体での動作確認などのためには、
シリアルポート3,5およびシリアルケーブル6を経由
しての通信手段も残しておく必要がある。シリアルポー
トが除去された後でデバッグなどを行うのは非常に困難
となるからである。共有メモリを備える制御用CPUボ
ード1がホストコンピュータ装置としてのパソコン2と
通信するためにシリアルポート経由で行うか共有メモリ
経由で行うかは、制御用CPUボード1の使用状況に依
存するために、制御用CPUボード1側での通信用のソ
フトウエアを全く変更することなく、どちらにも対応可
能にすることが望まれる。
【0012】本発明の目的は、シリアルポートなどの外
部入出力ポートを用いる入出力処理と、共有メモリを介
する入出力処理とを、同一のプログラムによって実行す
ることができるマイクロコンピュータ装置を提供するこ
とである。
【0013】
【課題を解決するための手段】本発明は、シリアルポー
トを用いる入出力処理と、共有メモリを介する入出力と
を、同等に行うことが可能なマイクロコンピュータ装置
であって、プログラムを実行しながら、割込み処理でシ
リアルポートを介する入出力処理が可能なCPUと、該
CPUが実行するプログラムが、該割込み処理、および
該共有メモリを介する入出力による他のCPUとの通信
処理を含めて、予め作成されて格納されているプログラ
ムメモリとを含み、共有メモリには、該CPUおよび該
他のCPUからアクセス可能であり、プログラムメモリ
に格納される該他のCPUとの通信処理のプログラムで
通信の対象となる情報を蓄積するバッファ、および情報
の蓄積状態を管理するポインタが設けられ、該CPU
は、該共有メモリのバッファを、割込み処理時に、シリ
アルポートを介する入出力処理の対象となる情報を蓄積
するバッファとしても使用し、該CPUは、割込み処理
で、シリアルポートを介する入出力処理に伴う該共有メ
モリのバッファでの情報の蓄積状態の変化を、該共有メ
モリに設けられるポインタに反映させることを特徴とす
るマイクロコンピュータ装置である。
【0014】 本発明に従えば、マイクロコンピュータ
装置は、CPUとプログラムメモリと共有メモリとを含
む。CPUは、プログラムメモリに予め作成されて格納
されているプログラムを実行しながら、割込み処理でシ
リアルポートを用いる入出力が可能である。CPUは他
のCPUとの通信処理で通信の対象となる情報を共有メ
モリに設けられるバッファに蓄積してポインタで蓄積状
態を示す処理と、バッファへの情報の蓄積状態に基づい
て情報についての処理を割込み可能な状態で実行する。
割込みの入出力に基づいてバッファに情報が蓄積されて
も、情報の蓄積状態がポインタに反映されるので、共有
メモリへのアクセスでバッファに情報が蓄積されても、
蓄積された情報の処理については同様に行うことができ
る。共有メモリ経由の通信と割込みに基づくシリアルポ
ートを用いる入出力とを同等に行うことができるので、
プログラムの開発時には割込みに基づく入出力機能を用
い、プログラムの完成時には共有メモリを介する通信を
行うようにすれば、途中でのプログラムの変更なく割込
みに基づく入出力機能のハードウエアを削除し、コスト
低減を図ることもできる。
【0015】また本発明で前記CPU、前記プログラム
メモリおよび前記共有メモリは、ホストコンピュータ装
置の拡張バススロット用のコネクタに着脱可能な回路基
板上に実装され、前記他のCPUとして、ホストコンピ
ュータ装置のCPUが該拡張バススロット用のコネクタ
を介して、該共有メモリにアクセス可能であることを特
徴とする。
【0016】本発明に従えば、ホストコンピュータ装置
の拡張バススロット用のコネクタに回路基板を装着すれ
ば、ホストコンピュータ装置のCPUが拡張バススロッ
ト用のコネクタを介して共有メモリに対する読出しや書
込みが可能となり、CPUは共有メモリ上のバッファに
書込まれる情報に基づいて処理を行うことができる。
【0017】また本発明で前記CPUと前記他のCPU
とは、同一の回路基板上に実装されてマルチCPUシス
テムを構成することを特徴とする。
【0018】本発明に従えば、複数のCPUでマルチC
PUシステムを構成する場合に、各CPU毎に入出力用
のポートを設ける必要がなく、入出力用のポートは複数
のCPU間で共有し、CPU間での情報は共有メモリを
介して伝達して、プログラムを変えることなく外部入出
力用のポートを減らして低価格化を図ることができる。
【0019】 また本発明で前記バッファは、前記共有
メモリ上の予め定めるアドレス範囲に設定され、前記C
PUの前記割込み処理および前記他のCPUへの通信処
理で共用されるリングバッファであり、前記共有メモリ
に設けられるポインタは、リングバッファへの情報の書
込み後、次に情報の書込みを開始すべきアドレスが設定
され、情報を読出すCPUからは設定内容の参照のみが
可能な書込ポインタと、該情報を読出すCPUが、該リ
ングバッファに蓄積された情報を読出した後、次に情報
の読出しを開始すべきアドレスを設定し、該情報を書込
んだCPUからは設定内容の参照のみが可能な読出ポイ
ンタとを含み、前記割込み処理によるシリアルポートを
用いる入出力処理で送信する情報を読出すべきアドレス
が該割込み処理で更新され、該情報の蓄積を行う送信処
理の際には設定内容の参照のみが可能な読出ポインタと
して、該共有メモリに設けられる読出ポインタとは異な
る読出ポインタをさらに含むことを特徴とする。
【0020】 本発明に従えば、共有メモリ上の予め定
めるアドレス範囲に送信用と受信用とに分けて設定され
るリングバッファには、書込ポインタと読出ポインタと
が備えられる。書込ポインタには、情報の書込みを行う
CPUによるリングバッファへの書込によって情報を蓄
積する際に、情報を蓄積するCPUから次に情報の書込
みを開始すべきアドレスが設定され、その情報を読出す
他のCPUからは設定内容の参照のみが可能となる。読
出ポインタには、他のCPUがリングバッファから蓄積
された情報を読出した後に、次に情報の読出しを開始す
べきアドレスが設定される。リングバッファへの情報の
書込みと情報の読出しとは、書込ポインタおよび読出ポ
インタを用いての情報の書込みと読出しとで、共有メモ
リを用いる通信を円滑かつ確実に行うことができる。さ
らに、1つのリングバッファに対して、プログラム処理
用と割込処理用との2つの読出ポインタを設けることに
よって、共有メモリへのアクセスによる入出力と割込み
によるシリアルポートを用いる入出力とを、円滑に並行
して行うことができる。
【0021】
【発明の実施の形態】図1は、本発明の実施の一形態と
しての制御用CPUボード11の概略的な構成を示す。
図1(a)は、制御用CPUボード11をパソコン12
に装着している場合の概略的な電気的構成を示し、図1
(b)は制御用CPUボード11とパソコン12との通
信に関連する機能的な構成を示す。図1(a)に示すよ
うに、制御用CPUボード11は、パソコン12からも
アクセス可能な共有メモリ13を備える。共有メモリ1
3を備える制御用CPUボード11は、パソコン12の
拡張バススロット14に装着して動作させることができ
る。制御用CPUボード11上には、CPU15やプロ
グラムメモリ16も設けられ、CPU15はプログラム
メモリ16に予め格納されているプログラムに従って各
種制御動作を行う。パソコン12側にも、CPU17が
設けられ、大容量のメインメモリ18やシリアルポート
19を備えている。共有メモリ13上には、制御用CP
Uボード11側のCPU15と、パソコン12側のCP
Uとの間の通信用のバッファ20が設けられる。
【0022】図1(b)に示すように、バッファ20と
しては、送信用リングバッファ21および受信用リング
バッファ22が設けられる。送信用リングバッファ21
は、制御用CPUボード11からパソコン12側への通
信に用いられ、受信用リングバッファ22はパソコン1
2から制御用CPUボード11側への通信に用いられ
る。送信用リングバッファ21に蓄積される情報へのア
クセスは、送信バッファ書込ポインタ23および送信バ
ッファ読出ポインタ24,24aにそれぞれ設定される
ポインタの示すアドレスに基づいて行われる。本実施形
態では、1つの送信用リングバッファ21が2つの送信
バッファ読出ポインタ24,24aを有する。受信用リ
ングバッファ22への情報の蓄積のために、受信バッフ
ァ書込ポインタ25および受信バッファ読出ポインタ2
6も設けられる。送信用リングバッファ21、受信用リ
ングバッファ22とともに、送信バッファ書込ポインタ
23、送信バッファ読出ポインタ24a、受信バッファ
読出ポインタ26も、共有メモリ13上に設定され、制
御用CPUボード11側からは勿論パソコン12側から
もアクセス可能である。ただし、送信バッファ読出ポイ
ンタ24は、共有メモリ13に設ける必要はない。
【0023】制御用CPUボード11上のCPU15
は、プログラムメモリ16に予め格納されているプログ
ラムに従って、割込み処理27、送信処理28および受
信処理29を行う。割込み処理27は、RS−232C
などに適合するシリアル通信ハードウエア30を介する
入出力処理を制御する。送信処理28および受信処理2
9は、送信用リングバッファ21または受信用リングバ
ッファ22の情報の蓄積状態に応じて行われる。情報の
蓄積状態は、送信バッファ書込ポインタ23、送信バッ
ファ読出ポインタ24,24a、受信バッファ書込ポイ
ンタ25および受信バッファ読出ポインタ26に基づい
て判断される。パソコン12側のCPU17も、メイン
メモリ18の一部に展開されているプログラムに従っ
て、送信処理31および受信処理32を行う。ただし、
割込処理27は送信バッファ読出ポインタ24を使用
し、受信処理32は送信バッファ読出ポインタ24aを
使用する。これによって円滑な入出力処理が可能とな
る。
【0024】図2は、図1(b)に示すような送信用リ
ングバッファ21や受信用リングバッファ22と同様な
リングバッファ40の一般的な動作原理を示す。リング
バッファ40は、1次元のデータ配列として、そのサイ
ズをNとすると、buf[i]のような配列の形式で表
現することができる。ここでiは0≦i<Nである。こ
の範囲のiの値を指定してアクセスすれば、リングバッ
ファ40の内容にアクセスすることができる。リングバ
ッファ40にはバッファ書込ポインタ41およびバッフ
ァ読出ポインタ42が備えられる。バッファ書込ポイン
タ41およびバッファ読出ポインタ42は、共に0〜N
−1の範囲の整数値でリングバッファ40内のデータの
位置を示すインデックスとなる。バッファ書込ポインタ
41のポインタ値をPI、バッファ読出ポインタ42の
ポインタ値をPOとすると、リングバッファ40への書
込みおよび読出しの手順は以下のようになる。ただし、
初期状態では、PI=0およびPO=0である。
【0025】バッファへの書込処理43では、PO+1
=PI、あるいはPO+1=PI+Nのときには、リン
グバッファ40にはまだ読出されていないデータが全体
にわたって書込まれているバッファフルの状態なので、
書込みを行うことができない。ただし、リングバッファ
40がバッファフルになる前に読出処理が行われること
が保障されるなら、バッファフルの状態の確認は不要と
なる。書込みが可能であれば、buf[PO]にデータ
を書込む。データの書込サイズを、aとすると、書込み
後バッファ書込ポインタ41の値は、PO=PO+a+
1となる。ただし、PO≧Nとなるときには、POの値
を1つずつ増加させながらバッファへのデータの書込み
を続け、PO=NとなるときにPO=0として、さらに
POの値を1つずつ増加させながらリングバッファ40
への書込みを続ける。
【0026】バッファからの読出処理44では、バッフ
ァ読出ポインタ42の値PIとバッファ書込ポインタ4
1の値のPOとが等しければ、リングバッファ40は蓄
積される情報がない空の状態であるので、何もしない。
リングバッファ40が空でなければ、buf[PI]の
内容を読出し、データとする。複数のデータ、たとえば
bのデータを読出すときには、1つのデータの読出し後
にPIの値を1つだけ増加させ、その結果がPI=Nと
なれば、PI=0とする。
【0027】図3は、図1に示すように送信用リングバ
ッファ21および受信用リングバッファ22を用いて、
シリアル通信ハードウエア30を介する双方向通信を行
う構成を示す。シリアル通信ハードウエア30にデータ
が受信されると、割込処理27が起動され、受信用リン
グバッファ22に受信データが蓄積され、受信バッファ
書込ポインタ25が更新される。割込処理27が終了し
て受信処理29に移ると、受信バッファ読出ポインタ2
5に基づいて受信用リングバッファ22からデータが読
出され、受信バッファ読出ポインタ26の値が更新され
る。送信処理28では、送信データを送信用リングバッ
ファ21に蓄積し、送信バッファ書込ポインタ23の値
を更新する。シリアル通信ハードウエア30は、シリア
ルケーブルが接続される端末などで受信可能な状態にな
れば、割込処理27を起動し、送信用リングバッファ2
1から送信データを読出してシリアル通信ハードウエア
30から送信させる。この際に送信バッファ読出ポイン
タ24が更新される。受信処理29では、受信バッファ
書込ポインタ25の値を参照して受信データの読出しを
行う。割込処理27では、送信バッファ書込ポインタ2
3の値を参照して送信データの読出しを行う。
【0028】図4は、図1の実施形態で、制御用CPU
ボード11の動作のモニタをシリアルポート割込と他の
CPUからの共有メモリへのアクセスとでプログラムを
変更することなく同等に行う処理手順を示す。図4
(a)は、シリアルポート割込による動作モニタのコマ
ンド入力手順を示す。ステップa1で、シリアル通信ハ
ードウエア30を介してのデータ入力が行われ、制御用
CPUボード11上のCPU15に対して割込みがかか
る。ステップa2では、割込処理でコマンド入力を行
う。ステップa3では、受信バッファ書込ポインタ25
の値を読出し、ステップa4で受信バッファ読出ポイン
タ26の値を参照し、バッファフル状態でないことを確
認してから、ステップa5で受信用リングバッファ22
へのコマンドデータの書込みを行う。ステップa6で
は、受信バッファ書込ポインタ25の更新を行い、ステ
ップa7で割込処理を終了して元のプログラムに戻る。
【0029】図4(b)は、他のCPUから共有メモリ
13上の受信用リングバッファ22にコマンドを書込む
手順を示す。ステップb1から手順が開始され、ステッ
プb2では受信用書込ポインタ25の値が読出される。
ステップb3では、受信用読出ポインタ26の値が参照
され、受信用リングバッファ22がバッファフル状態で
ないことが確認される。ステップb4では、コマンドを
受信用リングバッファ22に書込む。ステップb5では
受信バッファ書込ポインタ25が更新され、ステップb
6で次の処理に移る。
【0030】図4(c)は、制御用CPUボード11の
CPU15が、受信処理29として受信用リングバッフ
ァ22からコマンドを読出して動作モニタ用のコマンド
として実行する手順を示す。ステップc1からのCPU
のメインルーチン中で、ステップc2では、初期化を行
い、ステップc3で受信バッファ読出ポインタ26の値
を読出す。ステップc4では受信バッファ書込ポインタ
25の値を参照し、ステップc5で、受信用リングバッ
ファ22内に情報が存在しているか否かを判断する。受
信用リングバッファ22に情報が有って空でなければ、
ステップc6で、受信用リングバッファ22からデータ
を読出し、ステップc7で受信バッファ読出ポインタ2
6の更新を行う。ステップc8では、読出されたコマン
ドに基づく処理を行う。
【0031】ステップc5で、受信用リングバッファ2
2に情報がないと判断されるときには、ステップc9の
他の処理に移る。ステップc8のコマンド処理が終了し
た後も、ステップc9で、メインルーチン内の他の処理
に移る。ステップc9の他の処理が終了すれば、ステッ
プc3に戻る。
【0032】図5は、本発明の実施のさらに他の形態と
しての制御用CPUボード51の概略的な構成を示す。
図5(a)は量産前の開発中の概略的な電気的構成を示
し、図5(b)は量産時の構成を示す。制御用CPUボ
ード51は、マスタCPU52とスレーブCPU53と
を有するマルチCPUシステムであり、マスタCPU5
2とスレーブCPU53との間には、共有メモリ54が
設けられている。マスタCPU52およびスレーブCP
U53は、共有メモリ54を介して通信を行う場合の他
は、それぞれ独立のプログラム動作を行う。プログラム
開発時の動作モニタのために、マスタCPU52および
スレーブCPU53には、それぞれシリアルポート5
5,56を介しての外部との通信が可能なように構成さ
れている。
【0033】本実施形態では、スレーブCPU53側
で、シリアルポート56を介する入出力処理を割込処理
で行い、共有メモリ54上にバッファ領域を設けること
によって、量産時には図5(b)に示すように、スレー
ブCPU53側のシリアルポートを削除することが可能
になる。スレーブCPU53側のプログラムを、図1の
実施形態の制御用CPUボード11のCPU15のプロ
グラムと同様に構成しておけば、スレーブCPU53側
のソフトウエアを全く変更することなく、スレーブCP
U53の動作モニタを共有メモリ54経由またはシリア
ルポート56経由のいずれでも同様に行うことができ
る。
【0034】以上のように、図1に示す制御用CPUボ
ード11では、制御用CPUボード11側のCPU15
での送信処理28および受信処理29のためのソフトウ
エアを変更する必要はなく、共有メモリ13経由と、シ
リアル通信ハードウエア30によるシリアルポート経由
の両方での動作モニタが可能となる。共有メモリ13経
由での通信では、パソコン12側のソフトウエアが正常
に動作していることが前提となるけれども、パソコン1
2側のソフトウエアが誤動作して、ハングアップなどが
生じるような場合であっても、シリアル通信ハードウエ
ア30に別の端末を接続することによって、制御用CP
Uボード11の動作モニタが可能になる。また、シリア
ル通信ハードウエア30を介する通信に加えて、共有メ
モリ13を介する通信を行うことができるので、シリア
ル通信ハードウエア30を使用しなくてもホストコンピ
ュータ装置と通信可能となり、シリアルインターフェイ
ス用の配線も不要となる。またパソコン12が備えるシ
リアルポート19を占有しないので、パソコン12のシ
リアルポート19を他の用途に使用することができる。
【0035】制御用CPUボード11の単体でのデバッ
グ作業が必要なボード開発段階では、シリアルポートを
実装しておき、量産時にはシリアルポートを非実装とし
て、ホストコンピュータ装置との通信は共有メモリ13
経由のみとすることによって、ハードウエアコストの削
減が可能となる。
【0036】図5に示すような2つのCPUが共有メモ
リ53を介して結合されているようなマルチCPUシス
テムを構成する制御用CPUボード51では、ボード開
発時にはスレーブCPU53用のシリアルポート56を
実装しておき、量産時にはシリアルポート56を非実装
として、スレーブCPU53の動作モニタは、共有メモ
リ54およびマスタCPU52経由で行うことによっ
て、ハードウエアコストの削減が可能となる。
【0037】なお、制御用CPUボード11,51は、
RS−232Cなどのシリアルポートを介してホストコ
ンピュータ装置と通信を行うようにしているけれども、
光ファイバや赤外線などの光を通じて通信を行ったり、
パラレルインタフェイスを介して通信を行う場合にも本
発明を同様に適用することができる。
【0038】
【発明の効果】以上のように本発明によれば、割込みに
よるシリアルポートを用いる通信に使用する情報の入出
力処理と、共有メモリを介して他のCPUと通信するた
めに蓄積する情報の入出力処理とを、同等に行うことが
でき、同一のプログラムで実行させることができる。割
込みによる入出力を用いないときには、割込み処理のプ
ログラムは不要となるけれども、割込み処理では入出力
の対象となる情報を共有メモリ上に設定されるバッファ
に蓄積するだけであるので、プログラムサイズを大きく
することなく、シリアルポートを用いる情報の入出力機
能を実現することができる。これによって、マイクロコ
ンピュータ装置がシリアルインターフェイスなどの割込
みを伴う入出力機能を備えることができ、プログラムの
開発やデバッグなどで割込みを伴う入出力機能を利用し
て、効率よく作業を進めることができる。プログラムな
どがほぼ完成して、共有メモリ経由の通信を安定して行
うことができるようになれば、シリアルポートなどの割
込みによる入出力機能のハードウエアを除去して、マイ
クロコンピュータ装置の製造コストを低減することがで
きる。
【0039】また本発明によれば、パソコンなどのホス
トコンピュータ装置の拡張バススロット用のコネクタに
回路基板を装着して、回路基板上のCPUとホストコン
ピュータ装置のCPUとで共有メモリにアクセスし、回
路基板上のCPUに対して通信を行うことができる。回
路基板上とホストコンピュータとの間では、シリアルイ
ンターフェイスなどを介する入出力を行う必要がないの
で、制御用CPUボードなどの回路基板上からシリアル
ポートなどを削除して、コスト低減を図ることができ
る。
【0040】また本発明によれば、複数のCPUでマル
チCPUシステムを構成する際に、外部との通信用の入
出力機能を集約して、コスト低減を図ることができる。
【0041】また本発明によれば、共有メモリ上にリン
グバッファを設けて、共有メモリを介する通信を確実に
行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態の制御用CPUボード1
1の概略的な電気的構成およびパソコン12との通信の
ための機能的構成を示すブロック図である。
【図2】リングバッファの動作原理を示す図である。
【図3】2つのリングバッファを用いて送受信のシリア
ル通信を行う際の機能的構成を示すブロック図である。
【図4】図1の制御用CPUボード11で、動作モニタ
を行う際の処理手順を示すフローチャートである。
【図5】本発明の実施の他の形態として、マルチCPU
を有する制御用CPUボード51の概略的な構成を示す
ブロック図である。
【図6】従来からの制御用CPUボードとパソコンとの
組合わせ状態を示す図である。
【符号の説明】
11,51 制御用CPUボード 12 パソコン 13,54 共有メモリ 14 拡張バススロット 15,17 CPU 16 プログラムメモリ 19,55,56 シリアルポート 20 バッファ 21 送信用リングバッファ 22 受信用リングバッファ 23 送信バッファ書込ポインタ 24,24a 送信バッファ読出ポインタ 25 受信バッファ書込ポインタ 26 受信バッファ読出ポインタ 27 割込処理 28,31 送信処理 29,32 受信処理 30 シリアル通信ハードウエア 52 マスタCPU 53 スレーブCPU
フロントページの続き (56)参考文献 特開 平7−64897(JP,A) 特開 平6−110796(JP,A) 特開 平6−68040(JP,A) 特開 平5−303530(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 13/10 330 G06F 13/24 310 G06F 13/38 310 H04L 13/08

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 シリアルポートを用いる入出力処理と、
    共有メモリを介する入出力とを、同等に行うことが可能
    なマイクロコンピュータ装置であって、 プログラムを実行しながら、割込み処理でシリアルポー
    トを介する入出力処理が可能なCPUと、 該CPUが実行するプログラムが、該割込み処理、およ
    び該共有メモリを介する入出力による他のCPUとの通
    信処理を含めて、予め作成されて格納されているプログ
    ラムメモリとを含み、 共有メモリには、該CPUおよび該他のCPUからアク
    セス可能であり、プログラムメモリに格納される該他の
    CPUとの通信処理のプログラムで通信の対象となる情
    報を蓄積するバッファ、および情報の蓄積状態を管理す
    るポインタが設けられ、 該CPUは、該共有メモリのバッファを、割込み処理時
    に、シリアルポートを介する入出力処理の対象となる情
    報を蓄積するバッファとしても使用し、 該CPUは、割込み処理で、シリアルポートを介する入
    出力処理に伴う該共有メモリのバッファでの情報の蓄積
    状態の変化を、該共有メモリに設けられるポインタに反
    映させることを特徴とするマイクロコンピュータ装置。
  2. 【請求項2】 前記CPU、前記プログラムメモリおよ
    び前記共有メモリは、ホストコンピュータ装置の拡張バ
    ススロット用のコネクタに着脱可能な回路基板上に実装
    され、 前記他のCPUとして、ホストコンピュータ装置のCP
    Uが該拡張バススロット用のコネクタを介して、該共有
    メモリにアクセス可能であることを特徴とする請求項1
    記載のマイクロコンピュータ装置。
  3. 【請求項3】 前記CPUと前記他のCPUとは、同一
    の回路基板上に実装されてマルチCPUシステムを構成
    することを特徴とする請求項1記載のマイクロコンピュ
    ータ装置。
  4. 【請求項4】 前記バッファは、 前記共有メモリ上の予め定めるアドレス範囲に設定さ
    れ、前記CPUの前記割込み処理および前記他のCPU
    への通信処理で共用されるリングバッファであり、 前記共有メモリに設けられるポインタは、 リングバッファへの情報の書込み後、次に情報の書込み
    を開始すべきアドレスが設定され、情報を読出すCPU
    からは設定内容の参照のみが可能な書込ポインタと、 該情報を読出すCPUが、該リングバッファに蓄積され
    た情報を読出した後、次に情報の読出しを開始すべきア
    ドレスを設定し、該情報を書込んだCPUからは設定内
    容の参照のみが可能な読出ポインタとを含み、 前記割込み処理によるシリアルポートを用いる入出力処
    理で送信する情報を読出すべきアドレスが該割込み処理
    で更新され、該情報の蓄積を行う送信処理の際には設定
    内容の参照のみが可能な読出ポインタとして、該共有メ
    モリに設けられる読出ポインタとは異なる読出ポインタ
    をさらに含むことを特徴とする請求項1〜3のいずれか
    に記載のマイクロコンピュータ装置。
JP37484099A 1999-12-28 1999-12-28 マイクロコンピュータ装置 Expired - Fee Related JP3479623B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37484099A JP3479623B2 (ja) 1999-12-28 1999-12-28 マイクロコンピュータ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37484099A JP3479623B2 (ja) 1999-12-28 1999-12-28 マイクロコンピュータ装置

Publications (2)

Publication Number Publication Date
JP2001188744A JP2001188744A (ja) 2001-07-10
JP3479623B2 true JP3479623B2 (ja) 2003-12-15

Family

ID=18504524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37484099A Expired - Fee Related JP3479623B2 (ja) 1999-12-28 1999-12-28 マイクロコンピュータ装置

Country Status (1)

Country Link
JP (1) JP3479623B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419916B1 (ko) * 2001-12-05 2004-02-25 휴쳐인터넷주식회사 다중 포트 단문 메시지 전송 및 콜링 서비스 방법 및 시스템
JP5228552B2 (ja) * 2008-03-18 2013-07-03 富士通セミコンダクター株式会社 プロセス間通信機構

Also Published As

Publication number Publication date
JP2001188744A (ja) 2001-07-10

Similar Documents

Publication Publication Date Title
US5911084A (en) System and method for accessing peripheral devices on a non-functional controller
US4792896A (en) Storage controller emulator providing transparent resource sharing in a computer system
KR100262677B1 (ko) Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드
US6912621B2 (en) Method and apparatus for updating data in mass storage subsystem using emulated shared memory
US7882206B2 (en) Storage device system and storage device system activating method
JPH0283601A (ja) プログラマブル・コントローラ
US5420985A (en) Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode
JPH06337820A (ja) マルチプル・バス・システムにおけるエラー検知及び回復機構とその方法
JP2963426B2 (ja) バスブリッジ装置及びトランザクションフォワード方法
US7536694B2 (en) Exception handling in a multiprocessor system
US20080046711A1 (en) Computer system and boot code accessing method thereof
JP3052857B2 (ja) クラスタ間共有メモリアクセス方式
JP3479623B2 (ja) マイクロコンピュータ装置
JP3380827B2 (ja) エミュレータ装置
JPH11163970A (ja) 装置内基盤制御システム
US5974477A (en) Image forming apparatus capable of receiving data in high speed in accordance with high speed data transmission interface
US6907454B1 (en) Data processing system with master and slave processors
US6112259A (en) Integrated circuit for direct memory access
KR950009576B1 (ko) 버스 인터페이스 장치
JP2002006910A (ja) 更新機能付きプログラマブルコントローラおよびプログラマブルコントローラの機能拡張ユニットの機能更新方法
EP4373038A1 (en) Processing system, related integrated circuit, device and method
US7702859B2 (en) Detachable direct memory access arrangement
KR100405598B1 (ko) 컴팩트 피씨아이 시스템에서의 보드 이중화 구조
US5680646A (en) Input/output control system
JPH04359350A (ja) ワークステーション統合手段用のレジスタ制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees