(57)【要約】【課題】マイクロコンピュータのインターフェイスとしての通信制御装置において、外部接続装置からのデータ受信中に生じたエラー等の発生位置とエラー等の種類の判断を、ＣＰＵが容易に行なえるようにする。【解決手段】通信制御装置での受信データと、そのデータ受信中に生じたエラー情報等をセットにしてＤＭＡ転送し、メモリに格納する。【選択図】　図１
2004021505.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータの入出力インターフェイスとしての通信制御装置であって、ＤＭＡコントローラの制御の下に、前記通信制御装置の内部ステータス情報と受信データとをセットにして前記マイクロコンピュータのメモリにＤＭＡ転送することを特徴とする通信制御装置。
【請求項２】
請求項１に記載の通信制御装置と、
汎用演算処理装置として機能するＣＰＵと、
該ＣＰＵがデータの書込み及び読出しを行なうためのメモリと、
該メモリと前記通信制御装置との間のデータのＤＭＡ転送を制御するＤＭＡコントローラとを備えて構成されるマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータの入出力インターフェイスとしての通信制御装置の内部ステータス情報のＣＰＵへの転送技術に関する。更に本発明は、そのような技術を採用した通信制御装置を備えて構成されるマイクロコンピュータに関する。
【０００２】
【従来の技術】
マイクロコンピュータシステムにおいては、従来より外部接続装置あるいは外部通信網との間の情報交換に、通信制御装置が入出力インターフェイスの一つとして広く採用されている。この場合、通信制御装置とマイクロコンピュータシステムのＣＰＵとの間のデータ転送には、データの転送速度が速く、またＣＰＵの負荷が軽くて済むＤＭＡ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓの略）転送方式が用いられる。
【０００３】
図３は、シリアル通信を行う従来方式の通信制御装置の機能ブロック、及び同通信制御装置を備えるマイクロコンピュータの一構成例を示したものである。従来のマイクロコンピュータ１は、通信制御装置２とメモリ３と間のデータ転送にＤＭＡ転送方式を採用しており、そのためのＤＭＡコントローラ４を備えている。
【０００４】
本構成の下で、通信制御装置２で受信されたデータがメモリ３にＤＭＡ転送される動作及び、その間にエラー等が発生した場合における通信制御装置２の内部ステータス情報の従来の扱い方を説明する。
【０００５】
まずＣＰＵ５は、メモリ３内に通信制御装置２から転送されてくるデータを受け取るための書込領域を準備する。そして、その書込領域の先頭アドレスをＤＭＡコントローラ４内のアドレスカウンタ４ａに、転送データ数を転送回数カウンタ４ｂに、転送方向、転送元、転送許可等の転送制御情報を制御回路４ｃに設定する。次いでＣＰＵ５は、通信制御装置２に対して受信開始の許可信号をバス６を経由して送る。バス６は、データバス６ａ、アドレス線６ｂ、制御信号線６ｃで構成されている。
【０００６】
受信開始の許可信号を受け取った通信制御装置２は、図示しない外部接続装置からのデータ受信を開始する。シリアルな受信信号は、ビット検出回路２ａにおいて伝送符号形式に応じたビット検出が行なわれ、クロック信号に同期して受信シフトレジスタ２ｂに格納される。１データ分の受信が完了すると、受信データはパラレルデータに変換されて受信バッファ２ｃに転送される。
【０００７】
通信制御装置２は、ＤＭＡコントローラ４との間の制御信号線７を介して、受信したデータのメモリ３へのＤＭＡ転送を要求する。ＤＭＡコントローラ４は、ＣＰＵ５よりバス使用権を獲得し、アドレス線６ｂ、制御信号線６ｃ、制御信号線７を操作して受信バッファ２ｃ内にある受信データを、バスインターフェイス２ｄ、データバス６ａを経由してメモリ３内の書込領域に直接転送する。
【０００８】
通信制御装置２は、受信データを受信バッファ２ｃに転送した後、直ちに次のデータの受信を開始し、受信したデータを受信バッファ２ｃに転送して再びＤＭＡ転送をＤＭＡコントローラ４に要求する。こうした転送が転送回数カウンタ４ｂに設定された回数だけ繰り返され、設定回数分の受信データが、ＣＰＵ５を経由することなくメモリ３に直接転送される。
【０００９】
メモリ３に転送された受信データは、例えば図４のように格納される。図４は、１ワードが１６ビット、受信データサイズが８ビットで、各ワードの下８ビットに受信データが格納される場合を示している。
【００１０】
これらの受信動作と並行して、通信制御装置２は、エラー検出回路２ｅにおいて受信信号のエラーチェックを行なっている。受信の過程でエラーが検出された場合には、ステータスレジスタ２ｆ内にあるエラーの種類に対応したビットがアクティブにされ、発生したエラーの種類が記録される。このステータスレジスタ２ｆには、受信制御回路２ｇにて検出される受信終了などのステータス情報も記録される。また、図示してないが、送信時には送信制御回路２ｈのステータス情報も記録される。
【００１１】
ステータスレジスタ２ｆの内容は、割込み制御回路２ｉに入力されてチェックされ、何れかのビットがアクティブであるとＣＰＵ５に割込み信号が送られる。ＣＰＵ２は割込み信号を受けて、発生したエラー等の種類と発生位置を判断する。そのために、ＣＰＵ２はバス使用権を獲得してステータスレジスタ２ｆの内容を読み込む。ステータスレジスタ２ｆの内容は、バスインターフェイス２ｄ、データバス６ａを経由してＣＰＵ５内の演算レジスタに読み込まれる。ＣＰＵ５は、その内容からエラー等の種類を判断する。またＣＰＵ５は、ＤＭＡコントローラ４内の転送回数カウンタ４ｂの転送回数を読み込む。そして、その転送回数と、受信データの書込領域の先頭アドレスとから、エラー等が発生した際に受信したデータの位置（格納番地）を判断する。
【００１２】
このようにしてＣＰＵ５は、エラー等の種類と、その発生時のデータ位置を判断し、その結果に基づいて採るべき対策を決定し、適切な事後処理を行なう。
【００１３】
従来は、このような手順により受信中におけるエラー等の発生に対処していた。しかしながらこのような対処手順では、ＣＰＵ５は、ステータスレジスタ２ｆの読み込み、転送回数カウンタ４ｂの読み込みという２系統の情報の読み込みを必要とし、読み込んだ二つの情報から要因分析をしなければならない。またその際には、それぞれの情報のタイミングを考慮する必要がある。このため要因分析の処理ソフトが複雑化するという問題がある。更に、通信制御装置２内におけるエラー等の処理の仕方、ＣＰＵ５における割込み処理のタイミングによっては、割込み処理をする前にＤＭＡ転送が更に進行して、エラー等が発生した際のデータ位置を正確に把握することができなくなる場合も生じ得る。
【００１４】
【発明が解決しようとする課題】
本発明は、上記従来技術の問題点を解決するためになされたもので、データの受信中にエラーの発生、あるいは特殊な状態が発生した場合に、ＣＰＵがその要因と発生データ位置を簡単な処理で正確に把握できる、そのような機能を備えた通信制御装置、及びその通信制御装置を備えたマイクロコンピュータを提供することを目的としている。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載のマイクロコンピュータ用通信制御装置は、ＤＭＡコントローラの制御の下に、通信制御装置の内部ステータス情報と受信データとをセットにしてメモリにＤＭＡ転送するように構成したことを特徴とするものである。
【００１６】
これにより受信データと、そのデータを受信した時の通信制御装置の内部ステータス情報とが対応づけてメモリに格納されることから、エラー等の発生位置の把握が正確にできる。またエラー等の要因解析に必要な情報がメモリに一元的に集約されるので、後処理としてのデータ処理が容易になる効果がある。
【００１７】
請求項２に記載のマイクロコンピュータは、請求項１に記載の通信制御装置と、ＣＰＵと、メモリと、ＤＭＡコントローラとを備えて構成されることを特徴とするものである。
【００１８】
本マイクロコンピュータは、構成要素である通信制御装置が請求項１に記載の特徴を有するため、請求項１に記載の発明と同様、エラー等の発生位置を正確に把握でき、その後のソフトによる要因解析と後処理が容易になる効果が得られる。
【００１９】
【発明の実施の形態】
本発明の一実施の形態を図１、図２を参照して説明する。
図１は、本実施形態の通信制御装置の構成と、その通信制御装置を備えたマイクロコンピュータの構成をブロック図で示したものである。なお本実施形態の通信制御装置は、図３と同じくシリアル通信を行なうものであり、受信データはＤＭＡ転送によりメモリに直接転送される方式のものである。図中、図３と同じ構成要素には同一符号が付してある。
【００２０】
本実施形態のマイクロコンピュータ１は、ＣＰＵ５、メモリ３、ＤＭＡコントローラ４、通信制御装置２とを備えて構成されている。ＤＭＡコントローラ４は、アドレスカウンタ４ａ、転送回数カウンタ４ｂ、制御回路４ｃを有する。
【００２１】
通信制御装置２は、ビット検出回路２ａ、受信シフトレジスタ２ｂ、送信シフトレジスタ２ｊ、受信バッファ２ｃ、送信バッファ２ｋ、エラー検出回路２ｅ、ステータスレジスタ２ｆ、割込み制御回路２ｉ、受信制御回路２ｇ、送信制御回路２ｈ　バスインターフェイス２ｄ、ビット符号化回路２ｌ　を備える。
【００２２】
ＣＰＵ５、メモリ３、ＤＭＡコントローラ４、通信制御装置２は、バス６で接続されている。バス６は、データバス６ａ、アドレス線６ｂ及び制御信号線６ｃで構成されている。ＤＭＡコントローラ４と通信制御装置２とは、更に制御信号線７で接続されている。
【００２３】
ＣＰＵ５は、メモリ３に記憶されているプログラムを実行してＤＭＡコントローラ４、通信制御装置２に必要な指示を与える。ＣＰＵ５は、また、通信制御装置２にエラーが発生した場合には、エラー要因を解析して必要な処理を行なう。ＣＰＵ５は、更に、プログラムに従いその他の処理も行なう。
メモリ３は、ＣＰＵ５が実行するプログラムを記憶する他、通信装置２との間で転送するデータを格納する。
【００２４】
ＤＭＡコントローラ４は、ＣＰＵ５の指令に従い、バス６、制御信号線７を操作して通信制御装置２とメモリ３との間のデータのＤＭＡ転送を制御する。アドレスカウンタ４ａには、受信時は受信データの書き込まれるメモリ３内領域の先頭アドレスが、送信時には送信データが格納されているメモリ３内領域の先頭アドレスが、それぞれＣＰＵ５により書き込まれる。転送回数カウンタ４ｂには、ＤＭＡ転送する回数がＣＰＵ５により書き込まれる。制御回路４ｃは、転送方向、転送元、転送許可等の転送制御情報をＣＰＵ５から受けて、ＤＭＡコントローラ４の制御全般を行なう。
【００２５】
通信制御装置２内のビット検出回路２ａは、シリアルな受信信号を受けて伝送符号形式（例えば、ＮＲＺ、ＮＲＺＩなど）に応じたビット検出を行なう。受信シフトレジスタ２ｂは、検出されたシリアルな受信データを格納してパラレルデータに変換する。図は、受信データサイズが８ビットの場合を例示している。受信バッファ２ｃは、メモリ３の１ワードと同じビット数（１６ビットと仮定）構成のレジスタで、下８ビット部にパラレル変換された受信データが格納される。
【００２６】
エラー検出回路２ｅは、受信信号のエラーチェックを行なう。チェックされるエラーとしては、パリティチェックエラー、オーバーランエラー、受信フレーミングエラー等がある。受信制御回路２ｇは、データ受信時の制御全般を担う。受信制御回路２ｇは、また、受信終了などの状態信号を生成する。ステータスレジスタ２ｆは、検出されたエラーの種類、状態信号の種類を、対応するビットをアクティブにすることにより保持する。ステータスレジスタ２ｆの内容は、受信バッファ２ｃに送られ、上８ビット部に格納される。
【００２７】
割込み制御回路２ｉは、ステータスレジスタ２ｆの何れかのビットがアクティブになった時に、ＣＰＵ５に割込み信号を送って知らせる。バスインターフェイス２ｄは、バス６及び制御信号線７と、通信制御装置２内の受信バッファ２ｃ、送信バッファ２ｋ、受信制御回路２ｇ、送信制御回路２ｈとのインターフェイスの役割を果たす。
【００２８】
このような回路構成の下で、通信制御装置２が外部接続装置より受信したデータを、メモリ３にＤＭＡ転送する動作、及びその間にエラー等が発生した場合の通信制御装置２の内部ステータス情報の扱い方について説明する。
【００２９】
まずＣＰＵ５は、メモリ３内に転送データを受け取るための書込領域を準備する。そして、その書込領域の先頭アドレスをＤＭＡコントローラ４内のアドレスカウンタ４ａに、転送データ数を転送回数カウンタ４ｂに、更に転送方向、転送元、転送許可等の転送制御情報を制御回路４ｃに設定する。次いでＣＰＵ５は、通信制御装置２に対して受信開始の許可信号を制御信号線６ｃを経由して送る。
【００３０】
受信開始の許可信号を受け取った通信制御装置２は、図示しない外部接続装置からのデータ受信を開始する。シリアルな受信信号は、ビット検出回路２ａにおいてビット検出が行なわれ、クロック信号に同期して受信シフトレジスタ２ｂに格納される。１データ分の受信が完了すると、受信データはパラレルデータとして受信バッファ２ｃに転送される。
【００３１】
シリアルな受信信号が受信シフトレジスタ２ｂに格納されるのと並行して、受信信号のエラーチェックがエラーチェック回路２ｅで行なわれ、その結果がステータスレジスタ２ｆに格納される。同時に受信制御回路２ｇからの状態信号も格納される。そしてステータスレジスタ２ｆの内容は、受信バッファ２ｃの上位８ビット部に転送される。このように本実施形態では、受信データと、そのデータの受信時に発生したエラー等の内部ステータス情報とが、セットの形で受信バッファ２ｃに格納される。
【００３２】
受信バッファ２ｃへの情報の格納が完了すると、通信制御装置２は、ＤＭＡコントローラ４に受信したデータのＤＭＡ転送を要求する。要求は制御信号線７を介して伝えられる。ＤＭＡコントローラ４は、ＣＰＵ５よりバス使用権を獲得する。そして、制御信号線７とバス６を操作して、受信バッファ２ｃに保持されている受信データとステータス情報とがセットにされた情報を、バスインターフェイス２ｄ、バス６を経由してメモリ３内の書込領域に直接転送する。
【００３３】
通信制御装置２は、次のデータを受信して受信バッファ２ｃに転送し、再びＤＭＡ転送をＤＭＡコントローラ４に要求する。こうした転送が転送回数カウンタ４ｂに設定された回数だけ繰り返される。結果として、受信データとステータス情報がセットになった情報が設定回数個数だけ、ＣＰＵ５を経由することなくメモリ３に直接転送される。転送されたセットの情報は、メモリ３内に図２に示すように格納される。
【００３４】
次に、このようなシリアル信号の受信中に、エラー検出回路２ｅがエラーを検出した場合を説明する。エラー情報は、前述の場合と同様にステータスレジスタ２ｆを介して受信バッファ２ｃに格納される。そして、受信データとセットにされてＤＭＡ転送され、メモリ３内に図２のように格納される。
【００３５】
この転送動作と並行して、割込み制御回路２ｉにより割込み信号がＣＰＵ５に送られる。割込み信号を受けたＣＰＵ５は、ＤＭＡ転送が全て完了した時点、あるいはエラー情報がメモリ３に書き込まれた時点を見計らってＤＭＡ転送を停止させる。そしてＣＰＵ５は、図２の受信情報のステータス情報部分をチェックして、エラーの発生した位置と発生したエラーの種類を判断する。
【００３６】
このように、本実施形態によれば、エラー等のステータス情報と、それが発生した際の受信データとがセットの形でメモリ３内に格納される。従って、エラー等の発生時のデータ位置、及びエラー等発生時の受信データをＣＰＵが正確、且つ容易に判断することができる。また、エラー等の情報と受信データとが同じメモリ３上にセットの形で一元的に格納されているため、エラー等の種類や位置の判断、それに基づく後処理等が容易になる効果がある。
【００３７】
なお、本発明は上述した実施形態に限定されるものではなく、この発明の範囲内で種々変形可能である。例えば、受信制御装置はシリアル通信でなくパラレル通信を行なう通信制御装置であってもよい。また、通信制御装置ではなく、Ａ／Ｄ変換器、パラレル接点入力装置等であってもよい。これらの場合も、受信データあるいは入力データと共に、それらのデータの受信、入力時に発生したエラー情報、特殊な状態信号をセットの形でメモリにＤＭＡ転送されるようにすれば、本発明と同様の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の通信制御装置及びマイクロコンピュータの一実施形態を示すブロック図である。
【図２】メモリに格納された受信データ、ステータス情報の状態を示す図である。
【図３】従来技術を示す図１相当図である。
【図４】従来技術を示す図２相当図である。
【符号の説明】
図面中、１はマイクロコンピュータ、２は通信制御装置、３はメモリ、４はＤＭＡコントローラ、５はＣＰＵを示す。
【図１】
2004021505.tif 000003
【図２】
2004021505.tif 000004
【図３】
2004021505.tif 000005
【図４】
2004021505.tif 000006