(57)【特許請求の範囲】
【請求項１】
制御用のマイクロコンピュータに接続され、該マイクロコンピュータとの間で送受信されるデータが蓄積されるシフトレジスタを含む通信ブロックと、そのシリアル通信ブロックと内部バスを介して接続されたデジタル入力とデジタル出力とがＩＣの１チップ上に構成されており、
前記デジタル出力に与える出力データを該マイクロコンピュータから前記シリアル通信ブロックの前記シフトレジスタにシリアルデータとして受信し、このシリアルデータの１ビットずつの受信に同期して、前記デジタル入力から前記内部バスを介して得て前記シリアル通信ブロックの前記シフトレジスタにセットされていた入力データを前記シフトレジスタを介して前記マイクロコンピュータへシリアルデータとして送信する通信手段を有し、
前記シリアル通信ブロックは、前記マイクロコンピュータからのデータを受け取り終えると前記シフトレジスタのデータを前記デジタル出力に前記内部バスを介して転送することを特徴とする入出力処理ＩＣ。
【請求項２】
制御用のマイクロコンピュータに接続され、該マイクロコンピュータとの間で送受信されるデータが蓄積されるシフトレジスタを含む通信ブロックと、そのシリアル通信ブロックと内部バスを介して接続されたＡ／Ｄ変換器とデジタル出力とがＩＣの１チップ上に構成されており、
指令データと出力データを該マイクロコンピュータから前記シリアル通信ブロックの前記シフトレジスタにシリアルデータとして受信する通信手段を有し、
前記指令データが前記Ａ／Ｄ変換器に対するコマンドである時は、前記出力データは、選択すべきＡ／Ｄチャンネルのデータビットと前記デジタル出力へ出力するデータビットで構成されていることを特徴とする入出力処理ＩＣ。
【請求項３】
前記ＩＣの１チップ上には、さらに入力バッファ回路を有し、
前記通信手段は、前記指令データが該マイクロコンピュータから受信された段階で、入出力関係のコマンドと判定された場合に、該マイクロコンピュータへ送出すべきデータ列を、Ａ／Ｄ変換データと入力バッファ回路に入力された入力データを含んだデータ列から、入力データのみのデータ列に切り換えて該マイクロコンピュータへシフト出力する手段を有することを特徴とする請求項２に記載の入出力処理ＩＣ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、制御用等のコンピュータに接続される入出力処理ＩＣに関し、特に複数の入出力機能をもつ入出力処理ＩＣに関する。
【０００２】
【従来の技術】
従来例として図８に示されるような構成で、Ａ／Ｄ変換器、デジタル入力、デジタル出力等のマイクロコンピュータ（以下マイコン）の周辺ＩＣは、個別の素子として形成され、それぞれマイコンのＣＰＵの周辺の基板上に信号線が引き回されて接続されていた。これは各ＩＣは個別に設計、製造されることが多く、その間の信号ラインのノイズ対策の必要性から付加的な部品を必要とし、また、目的によって構成を変えたりする場合に自由度があるため、周辺ＩＣを含めて形成することはなかった。
【０００３】
またこのような構成であるので、データ取り込みには高速で入出力を繰り返すことが難しい。例えばＡ／Ｄ変換は一般に１０ビット逐次比較型で、Ａ／Ｄ変換に要する時間は、逐次比較型で0.2ms 〜 0.3msを要する。そのために、所定時間に決まった回数の変換データを入力する際、その他の割込処理が入って、その割込を処理する間にもう次のデータをサンプリングしなくてはならなくなり、所定時間内に目標通りのデータを収集することが阻害される場合もあった。
【０００４】
【発明が解決しようとする課題】
個々に素子が形成されているとそれぞれのＩＣに対する信号線が必要となり、部品の占める面積ばかりでなく、配線面積もかなりの範囲を取り、さらに配線が多いのでマイコン側に多くの端子を必要とし、プログラムもそれぞれ必要となって煩雑であるという問題がある。さらにまた、個別のプログラムの処理が遅れて、必要とされる制御に影響を生じるという問題がある。
【０００５】
【課題を解決するための手段】
上記の課題を解決するため第一発明の構成は、制御用のマイクロコンピュータに接続され、該マイクロコンピュータとの間で送受信されるデータが蓄積されるシフトレジスタを含む通信ブロックと、そのシリアル通信ブロックと内部バスを介して接続されたデジタル入力とデジタル出力とがＩＣの１チップ上に構成されており、前記デジタル出力に与える出力データを該マイクロコンピュータから前記シリアル通信ブロックの前記シフトレジスタにシリアルデータとして受信し、このシリアルデータの１ビットずつの受信に同期して、前記デジタル入力から前記内部バスを介して得て前記シリアル通信ブロックの前記シフトレジスタにセットされていた入力データを前記シフトレジスタを介して前記マイクロコンピュータへシリアルデータとして送信する通信手段を有し、前記シリアル通信ブロックは、前記マイクロコンピュータからのデータを受け取り終えると前記シフトレジスタのデータを前記デジタル出力に前記内部バスを介して転送する。
【０００６】
第二発明の構成は、制御用のマイクロコンピュータに接続され、該マイクロコンピュータとの間で送受信されるデータが蓄積されるシフトレジスタを含む通信ブロックと、そのシリアル通信ブロックと内部バスを介して接続されたＡ／Ｄ変換器とデジタル出力とがＩＣの１チップ上に構成されており、指令データと出力データを該マイクロコンピュータから前記シリアル通信ブロックの前記シフトレジスタにシリアルデータとして受信する通信手段を有し、前記指令データが前記Ａ／Ｄ変換器に対するコマンドである時は、前記出力データは、選択すべきＡ／Ｄチャンネルのデータビットと前記デジタル出力へ出力するデータビットで構成されている。
【０００７】
第二発明の関連発明の構成は、前記ＩＣの１チップ上には、さらに入力バッファ回路を有し、前記通信手段は、前記指令データが該マイクロコンピュータから受信された段階で、入出力関係のコマンドと判定された場合に、該マイクロコンピュータへ送出すべきデータ列を、Ａ／Ｄ変換データと入力バッファ回路に入力された入力データを含んだデータ列から、入力データのみのデータ列に切り換えて該マイクロコンピュータへシフト出力する手段を有する。
【０００８】
【作用】
デジタル入出力、Ａ／Ｄ変換など各機能のＩＣからのパラレルデータが、内部バスを通じて、シリアル通信ブロックにより、シリアルデータとして、わずかな信号ラインでマイコンとやりとりされ、マイコン側からの指令と、周辺ＩＣからのデータとが同時に交換される。１チップ構成であるので、マイコン側は、単一のルーチンでコマンドを切り換えて、短いプログラムでデータ通信を行うことができる。
【０００９】
【発明の効果】
周辺ＩＣがひとまとめになり、信号ラインが減少するので、基板のスペースが不要となり、装置がコンパクトになる。また多種のデータをわずかなシリアルラインでマイコン側と通信でき、装置の一部として組み込むことが容易になる。またＣＰＵの設計にも余裕がとれる。またＣＰＵのプログラムを短くできて、処理が短時間で実行できるので、無駄な実行時間が省け、制御等に有効に利用できるようになる。
【００１０】
【実施例】
以下、本発明を具体的な実施例に基づいて説明する。
図１は、周辺ＩＣとしてＡ／Ｄ変換器１０２、デジタル入力１０４、デジタル出力１０６の個別のＩＣであった機能素子を一つのチップにまとめた車載用の制御機器に使用される入出力処理ＩＣ１００で、各機能素子に相当するブロックは内部バス１１０で接続されている。マイコン２００とSin,Sout,CLK,LD/LATCH の４信号ラインが接続され、各機能素子のパラレルデータをシリアル通信ブロック１０８でマイコン２００側とシリアル通信を行う。この実施例では車両のエンジン制御に対するもので示してあり、Ａ／Ｄ変換１０２の入力端子には、水温、気温、吸気負圧等のセンサー信号が入力され、デジタル入力１０４の端子には、アイドルスイッチ、スタータスイッチ、エアコンスイッチ等が、デジタル出力１０６としてはウォーニングランプ信号、ヒーター信号、アイドルスピードコントロール信号等が接続されている。
【００１１】
このような構成で、デジタル入力のパラレルデータを同時にマイコン側と受渡しするには、以下のような手順で行うことができる。すなわち図２のように、入出力処理ＩＣ側とマイコン側にそれぞれシフトレジスタＡ、Ｂを用意し、データの上位ビットのシフト先を相手のシフトレジスタのＬＳＢ（下位ビット）とするループ回路のようにする。このような構成であると、それぞれシリアルデータ入力と出力とで各々二つのレジスタを用意しなくてもよく、同時に指令データの送信と入力データの受信とを同時に行うことができる。つまり図３に示すタイミングチャート図のように、マイコンが出力データを用意出来た時点で LD/LATCH ラインをLoからHiにし、このタイミング（図３のｃ）で入出力処理ＩＣ１００は入力データを固定してシリアル通信ブロック内のシフトレジスタＡに転送し、次のクロックから、SoutよりデータをシリアルデータとしてマイコンのSin のシフトレジスタＢに送信する。と同時にマイコン側からも同一のクロックに従ってマイコン側のシフトレジスタＢよりSoutから入出力処理ＩＣ１００の SinのシフトレジスタＡに出力データをシリアル化して送信する。レジスタのビット長だけ（ここでは８ビット）通信が完了した時点で LD/LATCH ラインをHiからLoにし、このタイミング（図３のｄ）で、入出力処理ＩＣ１００で受信された出力データがシフトレジスタＡからデジタル出力ブロック１０６へ転送され、新たな出力となって１回のシリアル通信が完了する。
【００１２】
以上の処理動作をシフトレジスタに注目して表示したものが図４で、入出力処理ＩＣ１００のシリアル通信ブロック内のシフトレジスタＡにデジタル入力バッファに用意されている入力データが図３のｃのタイミングで取り込まれ、そしてクロック信号に従ってビット単位でシフトされてシリアル通信され、入力データはマイコン側のシフトレジスタＢへ送出されて、代わりにＬＳＢ側から出力データ等が通信ラインｂによってセットされる。通信が完了したら、図３のｄのタイミングでシフトレジスタＡにセットされている出力データをデジタル出力１０６のバッファへ送出する。
【００１３】
また、Ａ／Ｄ変換の場合は、データの精度を保つためにデジタイズのビット数をある桁数必要とすることが多い。ここで図５に示すように、Ａ／Ｄ変換データを１０ビットとした場合で説明する。この場合、シフトレジスタはそれぞれ１６ビットとしてある。図５(a) はマイコン側の指令データとして最初の３ビットにＡ／Ｄ変換のコマンドがセットされ、続く５ビットにＡ／Ｄチャンネルが指定されている（５ビット＝３２ｃｈ分）。残りの８ビットはデジタル出力データがセットされる。Ａ／Ｄ変換に対しては、指定したチャンネルの変換の指令をマイコンから送ってから変換することになるので、その指令で得られる変換データは次のステップでマイコン側へ送信されることになる。またそのため、送信されてくるデータの先頭にＡ／Ｄ変換を指示するコマンドと続いてチャンネルを指定するビットが用意される。
【００１４】
送付されてくるコマンドがＡ／Ｄ変換なのか入力指示なのかは、送られてきた最初の３ビットのコマンドビットで判定できるので、予めシフトレジスタＡにはＡ／Ｄ変換データと入力データ６つをセットしておき（図５(b))、通信を開始する。そしてコマンドがシフトされてきて入力コマンドと判定した時点（図５(c))で、Ａ／Ｄ変換データは不要なので、途中で入力データに置き換えることができる。この場合、予めセットされたデータは６ビット分マイコン側に送信した後にＡ／Ｄ変換データを入力データと置き換える（図５(d))。このため付加される入力データは１０ビット分であり、最初から送付される６ビットと合わせて１６ビットの入力データが送付される。この場合、最初の６ビットはどのコマンドにおいても必ず送信されるので、そのビットには必要度の高い入力データを優先的に配置しておくことで効率的な利用ができる。このような方式でコマンドの違いにより、必要とする入力点数の切換えを自由に設定できる。
【００１５】
このＡ／Ｄ変換の場合のＣＰＵ側のルーチンは図６(b) のようなフローチャートで処理される。この入出力処理は定期的に行う必要があり、例えば２msごとにタイマールーチン化されている。図６(a) は従来の図８の様な個々の入出力ＩＣの場合で、入力と出力の処理はそれぞれのコントロール信号（ＬＤ／ＬＡＴＣＨ）を指示するステップ６０２、６０６、６０８、６１２があり、この一連の処理の前にまず前回に指示したＡ／Ｄ変換のデータを読み取り、それからシリアル通信の処理を行い、最後に次のＡ／Ｄ変換の指示を行っておく、というフローチャート構成であった。このためプログラムも行数が増え、処理速度もかかっていた。それに対し、本発明の構成では図６(b) の様にコントロール信号は一度の処理（ステップ７００、７０４）でシリアル処理の中で入出力処理を一括して行ってしまうため、ステップ７０２ひとつで済み、処理時間も短縮できる。このため処理ステップが短くて済むため、プログラムの実行においてオーバータイムとなるような可能性が減少し、確実な動作を保証する。
【００１６】
入出力処理ＩＣの側での処理について、ＣＰＵからの指令データのコマンドにＡ／Ｄ変換が含まれている場合の処理のフローチャートを図７に示す。ステップ８００で最初の３ビットがＡ／Ｄ変換か入出力かの判定を行い、Ａ／Ｄ変換なら、そのままステップ８０２でコマンドをＡ／Ｄ変換器へ送付し、ステップ８０４でＡ／Ｄ変換データを送信し、つぎのＡ／Ｄ変換の処理準備をする。図５のシフトレジスタ構成の例では、Ａ／Ｄ変換コマンドが３ビットと指定チャンネルが５ビット分であるので、８ビット分送信された時点でデータサンプリングが可能となる。同時に送出する入力済みのデータも既に８ビット分送付されているため、Ａ／Ｄ変換データが１０ビットであることから、２ビット分既にＡ／Ｄ変換データが送付されてしまっている。そのため送付されるＡ／Ｄ変換データは一つ前の指示によるデータである。送付された３ビットのコマンドが入力指示であれば、ステップ８０６に移り、ステップ８０６でコマンドを入力バッファへ送付し、ステップ８１０で、ステップ８０４と同様入出力処理を処理する。なお、このフローチャートはソフト的にはチップ内にＲＯＭを形成することで実現でき、ハード的にはロジックを組んで形成することで実現できる。
【００１７】
以上のように、本発明の入出力処理ＩＣによって、入出力処理は非常にスマートな処理が実現でき、ハードウエア的にもすっきりとした構成となるため、装置も非常にコンパクトにできる。ＣＰＵにとっても必要となる信号ラインが少なくて済むため、設計段階でいままで専有していたピンを他の機能に割り当てることができ、ＣＰＵの性能向上にも役立てることができる。
【図面の簡単な説明】
【図１】  本発明の入出力処理ＩＣのブロック構成図。
【図２】  シリアル通信部分のシフトレジスタの関係図。
【図３】  シリアル通信のタイミングチャート図。
【図４】  シリアル通信ブロックのシフトレジスタの処理の流れ図。
【図５】  シフトレジスタのシリアル通信によるデータ交換の関係図。
【図６】  ＣＰＵの通信処理の 2msごとのタイマールーチンを示すフローチャート図。
【図７】  Ａ／Ｄ変換器がある場合のタイマールーチンを示すフローチャート図。
【図８】  従来の入出力処理装置のブロック構成図。
【符号の説明】
１００  入出力処理ＩＣ（集積回路）
１０２  Ａ／Ｄ変換器
１０４  デジタル入力（パラレルシリアル入力バッファ）
１０６  デジタル出力（シリアルパラレル出力バッファ）
１０８  シリアル通信ブロック
１１０  内部バス
２００  マイクロコンピュータ（ＣＰＵ）
【図１】
0003818675.tif 000002
【図２】
0003818675.tif 000003
【図３】
0003818675.tif 000004
【図４】
0003818675.tif 000005
【図５】
0003818675.tif 000006
【図６】
0003818675.tif 000007
【図７】
0003818675.tif 000008
【図８】
0003818675.tif 000009