(57)【要約】【課題】  無効データの破棄に係る処理において、ＣＰＵの負荷を軽減しメモリサイズの増大を抑えることができる半導体装置を提供する。【解決手段】  外部デバイス２と全２重方式でシリアル通信可能に構成され、マスタ機能を備えた半導体装置１であって、外部デバイス２とのシリアル通信の制御を行う通信制御回路１３と、送信データを保持可能な送信側バッファ回路１１と、受信データを保持可能な受信側バッファ回路１２と、シリアル通信において、送信側バッファ回路１１への送信データの入力と受信側バッファ回路１２からの受信データの受け付けに加え、送信データのデータ種別に応じて、受信データが有効か無効かを示す識別データの生成を行う制御回路１０と、識別データに基づいて、通信制御回路１３が受け付けた受信データが有効か無効かを判定し、無効であると判定した場合に、受信側バッファ回路１２への入力を禁止する受信データ制御回路１４を備える。【選択図】        図１
2008310717.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の外部デバイスと全２重方式のシリアル通信を実施可能に構成され、前記外部デバイスを制御するためのマスタ機能を備えた半導体装置であって、
前記外部デバイスとのシリアル通信の制御を行う通信制御回路と、
前記外部デバイスに送信する送信データを保持可能な記憶領域を備えた送信側バッファ回路と、
前記外部デバイスから受信した受信データを保持可能な記憶領域を備えた受信側バッファ回路と、
前記外部デバイスとの前記シリアル通信において、前記送信側バッファ回路への前記送信データの入力と前記受信側バッファ回路からの前記受信データの受け付けを行うと共に、前記送信データのデータ種別に応じて、前記受信データが有効か無効かを示す識別データの生成を行う制御回路と、
前記識別データに基づいて、前記通信制御回路が受け付けた前記受信データが有効か無効かを判定し、無効であると判定した場合に、前記受信データの前記受信側バッファ回路への入力を禁止する受信データ制御回路を備えることを特徴とする半導体装置。
【請求項２】
前記送信側バッファ回路が、前記識別データを記憶可能に構成されていることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記識別データが、前記外部デバイスへの出力を禁止されていることを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記制御回路は、前記送信データが、前記外部デバイスに対するコマンドである場合、及び、前記外部デバイスへの出力データである場合に、前記受信データが無効であることを示す前記識別データを生成し、
前記送信データが、前記外部デバイスに対する読み出しコマンドに続いて送信されるダミーデータである場合に、前記受信データが有効であることを示す前記識別データを生成することを特徴とする請求項１〜３の何れか１項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、特に、全２重方式のシリアル通信機能と、外部デバイスを制御するマスタ機能を備えた半導体装置に関する。
【背景技術】
【０００２】
従来、半導体デバイスの接続方式の１つとして、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）がある。ＳＰＩは、一般的に、マスタ／スレーブ（ターゲット）方式で通信制御を行う場合に採用されている。マスタ／スレーブ方式では、スレーブ機能を有するスレーブデバイスは、マスタ機能を有するマスタデバイスからのコマンドに応じてデータ通信を行う。また、ＳＰＩは、一般的に、４線式インターフェース（バス）であり、データ通信を行うスレーブデバイスを選択にするためのチップセレクト信号、ＳＰＩを用いたシリアル通信（ＳＰＩ通信）用のシリアルクロック、マスタデバイスからスレーブデバイスへの送信データ、スレーブデバイスからマスタデバイスへの受信データを夫々伝送する４つの信号線を備えて構成されている。尚、ＳＰＩは、例えば、マスタデバイスとしてのマイコンと、スレーブデバイスとしてのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の不揮発性メモリ等を相互に接続する場合に広く採用されている。
【０００３】
以下、従来のＳＰＩの接続構成、及び、マスタデバイスの構成について、図４を基に簡単に説明する。尚、図４では、説明のために、データ通信機能に係る部分についてのみ示している。
【０００４】
図４に示すように、マスタデバイス１００は、スレーブデバイス２へのコマンドの発行等を行うＣＰＵ１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、スレーブデバイス２に送信する送信データを保持可能な記憶領域を備えた送信側ＦＩＦＯ１１（Ｆｉｒｓｔ−Ｉｎ、Ｆｉｒｓｔ−Ｏｕｔ）、スレーブデバイス２から受信した受信データを保持可能な記憶領域を備えた受信側ＦＩＦＯ１２、スレーブデバイス２の１または複数との全２重方式のシリアル通信を制御する通信制御回路１３を備えて構成されている。また、上述したように、マスタデバイス１００は、チップセレクト信号、シリアルクロック、送信データ及び受信データの夫々を伝送する４つの信号線によってスレーブデバイス２と接続されている。
【０００５】
尚、一般的に、マスタデバイス１００の動作クロックとＳＰＩ通信におけるシリアルクロックでは、周波数等が異なるため、ＣＰＵ１０から直接的に通信制御回路１３を介してＳＰＩ通信を行うことは困難である。従って、マスタデバイス１００とスレーブデバイス２間で伝送されるデータの容量に応じた記憶容量を持つ送信側ＦＩＦＯ１１及び受信側ＦＩＦＯ１２設けることにより、データ送信及びデータ受信のタイミングを調整している。これにより、例えば、周波数の早い側から遅い側へデータを伝送する場合におけるデータの混雑の緩和や、周波数の遅い側から早い側へデータを伝送する場合に、データをより途切れなく伝送して、データ全体での伝送時間の改善を図ることが可能になる。
【０００６】
より具体的には、通常は、マスタデバイス１００の動作クロックより、ＳＰＩ通信で用いるシリアルクロックの周波数の方が遅い。送信側ＦＩＦＯ１１を設けることにより、ＣＰＵ１０は、送信データをある程度まとめて処理することが可能になるので、ＳＰＩ通信のための制御回数等を低減することが可能になる。また、受信側ＦＩＦＯ１２を受信データがある程度ストックされてからＣＰＵ１０に出力するように構成することで、ＣＰＵ１０は、ある程度まとまった受信データを得ることが可能になり、受信データの取得等に係る制御回数等を低減することが可能になる。
【０００７】
次に、従来のＳＰＩによるマスタデバイス１００とスレーブデバイス２の動作について、図５及び図６を基に簡単に説明する。ここでは、スレーブデバイス２がＥＥＰＲＯＭやフラッシュメモリ等であり、マスタデバイス１００により、スレーブデバイス２に対するデータの書き込み処理や読み出し処理の要求を行う場合について説明する。
【０００８】
ここで、図５は、スレーブデバイス２に対して書き込み処理の要求を行う場合において、マスタデバイス１００からスレーブデバイス２に伝送される送信データ及びスレーブデバイス２からマスタデバイス１００に伝送される受信データの構成を示している。
【０００９】
マスタデバイス１００は、スレーブデバイス２へのデータの書き込みにおいて、先ず、データの書き込みを行う書き込み対象のスレーブデバイス２のチップセレクト信号をアクティブ状態にする。
【００１０】
続いて、ＣＰＵ１０が、書き込み対象のスレーブデバイス２の持つプロトコルに応じて、複数ビット構成のライト（書き込み）コマンドを生成し、生成したライトコマンドを送信データとして送信側ＦＩＦＯ１１に入力する。通信制御回路１３は、シリアルクロックに同期して、送信側ＦＩＦＯ１１に入力されたライトコマンドをスレーブデバイス２に出力し、同時に、ダミーデータ（無効データ）を受信して受信側ＦＩＦＯ１２に入力する（コマンド発行期間）。ＣＰＵ１０は、受信側ＦＩＦＯ１２から受信データを取得し、ソフトウェア処理により、データが有効であるか無効であるかを判定する。ここでは、受信データがダミーデータであることから、データを破棄する。
【００１１】
引き続き、ＣＰＵ１０は、書き込み対象のスレーブデバイス２に出力する書き込みデータを送信側ＦＩＦＯ１１に入力する。通信制御回路１３は、シリアルクロックに同期して、送信側ＦＩＦＯ１１に入力された書き込みデータをスレーブデバイス２に出力し、同時に、ダミーデータ（無効データ）を受信して受信側ＦＩＦＯ１２に入力する（データ転送期間）。
【００１２】
図６は、スレーブデバイス２に対して読み出し処理の要求を行う場合における送信データ及び受信データの構成を示している。
【００１３】
マスタデバイス１００は、スレーブデバイス２からのデータの読み出しにおいて、先ず、データの読み出しを行う読み出し対象のスレーブデバイス２のチップセレクト信号をアクティブ状態にする。
【００１４】
続いて、ＣＰＵ１０が、読み出し対象のスレーブデバイス２の持つプロトコルに応じて、複数ビット構成のリード（読み出し）コマンドを生成し、生成したリードコマンドを送信データとして送信側ＦＩＦＯ１１に入力する。通信制御回路１３は、シリアルクロックに同期して、送信側ＦＩＦＯ１１に入力されたリードコマンドをスレーブデバイス２に出力し、同時に、ダミーデータ（無効データ）を受信する（コマンド発行期間）。
【００１５】
リードコマンドの入力後、ＣＰＵ１０は、スレーブデバイス２が読み出した読み出しデータを受信するために、読み出しデータと同じデータ容量のダミーデータを送信側ＦＩＦＯ１１に入力する。通信制御回路１３は、シリアルクロックに同期して、送信側ＦＩＦＯ１１から出力されるダミーデータをスレーブデバイス２に対して出力し、同時に、リードコマンドを受信した読み出し対象のスレーブデバイス２から出力される読み出しデータを受信して受信側ＦＩＦＯ１２に入力する（データ転送期間）。ＣＰＵ１０は、受信側ＦＩＦＯ１２から読み出しデータを取得し、ソフトウェア処理により、データが有効であるか無効であるかを判定する。ここでは、受信データが読み出しデータであることから、データは破棄されない。
【００１６】
【特許文献１】特開２００１−９２８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、上述したように、従来のＳＰＩ通信を行うマスタデバイス１００では、図５及び図６に示す受信データを受け付けた後、ＣＰＵ１０が、ソフトウェア処理により、受信データが有効か無効かを判別する判別処理、及び、無効と判定した受信データを破棄する読み捨て処理を実行していたため、ＣＰＵ１０に相当な負荷がかかっていた。このため、従来、判別処理及び読み捨て処理を実行するマスタデバイスでは、判別処理及び読み捨て処理を実行可能な性能を有するＣＰＵ１０を搭載する必要があった。
【００１８】
また、上述した従来の半導体装置では、無効データの読み捨て処理に係るソフトウェアを搭載するため、ソフトウェア用のメモリのサイズが大きくなるという問題があった。
【００１９】
本発明は上記の問題に鑑みてなされたものであり、その目的は、無効データの破棄に係る処理において、ＣＰＵにかかる負荷を軽減しメモリサイズの増大を抑えることができる半導体装置を提供する点にある。
【課題を解決するための手段】
【００２０】
上記目的を達成するための本発明に係る半導体装置は、１または複数の外部デバイスと全２重方式のシリアル通信を実施可能に構成され、前記外部デバイスを制御するためのマスタ機能を備えた半導体装置であって、前記外部デバイスとのシリアル通信の制御を行う通信制御回路と、前記外部デバイスに送信する送信データを保持可能な記憶領域を備えた送信側バッファ回路と、前記外部デバイスから受信した受信データを保持可能な記憶領域を備えた受信側バッファ回路と、前記外部デバイスとの前記シリアル通信において、前記送信側バッファ回路への前記送信データの入力と前記受信側バッファ回路からの前記受信データの受け付けを行うと共に、前記送信データのデータ種別に応じて、前記受信データが有効か無効かを示す識別データの生成を行う制御回路と、前記識別データに基づいて、前記通信制御回路が受け付けた前記受信データが有効か無効かを判定し、無効であると判定した場合に、前記受信データの前記受信側バッファ回路への入力を禁止する受信データ制御回路を備えることを第１の特徴とする。
【００２１】
上記特徴の本発明に係る半導体装置は、前記送信側バッファ回路が、前記識別データを記憶可能に構成されていることを第２の特徴とする。
【００２２】
上記第１の特徴の本発明に係る半導体装置は、前記識別データが、前記外部デバイスへの出力を禁止されていることを第３の特徴とする。
【００２３】
上記何れかの特徴の本発明に係る半導体装置は、前記制御回路は、前記送信データが、前記外部デバイスに対するコマンドである場合、及び、前記外部デバイスへの出力データである場合に、前記受信データが無効であることを示す前記識別データを生成し、前記送信データが、前記外部デバイスに対する読み出しコマンドに続いて送信されるダミーデータである場合に、前記受信データが有効であることを示す前記識別データを生成することを第４の特徴とする。
【発明の効果】
【００２４】
上記特徴の半導体装置によれば、マスタ機能を備える半導体装置において、制御回路（ＣＰＵ）が生成した識別データに基づいて受信データの有効無効を判定し、無効と判定した受信データについては制御回路に入力される前に破棄する受信データ制御回路を設けたので、従来技術のように、受信データが有効か否かを判別する判別処理及び無効と判定された受信データを破棄する読み捨て処理を制御回路側でソフトウェア処理する必要がなくなり、制御回路に係る負荷を軽減することが可能になる。
【００２５】
尚、従来技術の場合、判別処理及び読み捨て処理のために高性能の制御回路を設けていたが、上記特徴の半導体装置では、受信データの判別処理及び読み捨て処理に係る制御回路の負荷を軽減できるので、従来技術の場合より低性能の制御回路を利用することが可能になり、本発明に係る半導体装置の製造コストの観点から有用である。
【００２６】
また、上記特徴の半導体装置では、判別処理及び読み捨て処理を行う受信データ制御回路を設けたので、制御回路による読み捨て処理のためのソフトウェアを搭載する必要がなくなり、これに伴って、該ソフトウェア用のメモリ領域を確保する必要がなくなる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明に係る半導体装置（以下、適宜「本発明装置」と称する）の実施形態を図面に基づいて説明する。
【００２８】
先ず、本発明装置の構成について図１を基に説明する。ここで、図１は、本発明装置１の一概略構成例と、本発明装置１と外部デバイスの接続関係の一例を示している。
【００２９】
本発明装置１は、図１に示すように、スレーブデバイス２（外部デバイスに相当）と全２重方式のシリアル通信を実施可能に構成され、スレーブデバイス２を制御するためのマスタ機能を備えたマスタデバイスに適用されている。尚、本発明装置１は、従来技術の場合と同様に、一般的なＳＰＩ方式を採用し、スレーブデバイス２と４線式インターフェースで接続されている。具体的には、マスタデバイスとスレーブデバイス２は、スレーブデバイス２を選択状態にするためのチップセレクト信号、ＳＰＩ通信用のシリアルクロック、マスタデバイスからスレーブデバイス２への送信データ、スレーブデバイス２からマスタデバイスへの受信データを夫々伝送する４つの信号線を用いて接続されている。
【００３０】
更に、本発明装置１は、本発明に係る機能として、図１に示すように、スレーブデバイス２とのシリアル通信の制御を行う通信制御回路１３と、スレーブデバイス２に送信する送信データを保持可能な記憶領域を備えた送信側ＦＩＦＯ１１（送信側バッファ回路に相当）と、スレーブデバイス２から受信した受信データを保持可能な記憶領域を備えた受信側ＦＩＦＯ１２（受信側バッファ回路に相当）と、スレーブデバイス２とのシリアル通信において、送信側ＦＩＦＯ１１への送信データの入力と受信側ＦＩＦＯ１２からの受信データの受け付けを行うと共に、送信データのデータ種別に応じて、受信データが有効か無効かを示す識別データの生成を行うＣＰＵ１０（制御回路に相当）と、ＣＰＵ１０が生成した識別データに基づいて、通信制御回路１３が受け付けた受信データが有効か無効かを判定し、無効であると判定された場合に、受信データの受信側ＦＩＦＯ１２への入力を禁止する受信データ制御回路１４を備える。
【００３１】
尚、本実施形態では、スレーブデバイス２として、フラッシュメモリを想定しており、マスタデバイスからのコマンドに応じて、書き込み処理や読み出し処理等を実行するように構成されている。また、受信側ＦＩＦＯ１２、及び、通信制御回路１３の構成は、従来技術の場合と同じである。更に、本実施形態では、識別データは、受信データの有効無効を設定する１ビット構成の識別フラグで構成されている。
【００３２】
送信側ＦＩＦＯ１１は、本実施形態では、制御回路から受け付けた送信データを記憶する送信データ記憶領域１１ａと、ＣＰＵ１０が生成した識別フラグを記憶するための識別フラグ記憶領域１１ｂを備えて構成されており、識別フラグを送信データと対応付けて記憶するように構成されている。また、ここでの送信側ＦＩＦＯ１１は、ＳＰＩ通信用のシリアルクロックに応じて、送信データのみを通信制御回路１３に、識別フラグのみを受信データ制御回路１４に出力する。
【００３３】
より詳細には、送信側ＦＩＦＯ１１は、送信データ記憶領域１１ａが、単位ワード（例えば、８ビット）を記憶する単位ワード領域の複数で構成され、識別フラグ記憶領域１１ｂが、単位ワード領域毎に、単位ワード領域の夫々と対応付けされた１ビットのフラグ領域で構成されている。送信側ＦＩＦＯ１１は、後述するＣＰＵ１０から入力されたデータの内、単位ワード毎に、単位ワードの先頭に付加された１ビットの識別フラグを識別フラグ記憶領域１１ｂに、続く１単位ワード分のデータを送信データ記憶領域１１ａに記憶する。識別フラグ記憶領域１１ｂは、送信データ記憶領域１１ａに記憶された単位ワードを出力するための最初のシリアルクロックでのみ動作するように構成されている。
【００３４】
ＣＰＵ１０は、ＳＰＩ通信用のシリアルクロックとは別のシステムクロックに同期して動作し、マスタデバイスの用途に応じて各種機能を制御する。具体的には、ＣＰＵ１０は、スレーブデバイス２に対し、書き込み処理及び読み出し処理等を要求可能に構成されており、書き込み処理の要求を行う場合は、ライト（書き込み）コマンドを生成し、ライトコマンドと書き込みデータを送信側ＦＩＦＯ１１に入力する。また、スレーブデバイス２に対し、読み出し処理の要求を行う場合は、リード（読み出し）コマンドを生成し、リードコマンドを送信側ＦＩＦＯ１１に入力する。
【００３５】
ＣＰＵ１０は、本実施形態では、スレーブデバイス２とのＳＰＩ通信を行うときに、送信データが、スレーブデバイス２に対するコマンド（例えば、ライトコマンド、リードコマンド）である場合、及び、スレーブデバイス２への出力データ（例えば、書き込みデータ）である場合に、受信データが無効であることを示す識別フラグを生成する。また、ＣＰＵ１０は、送信データが、スレーブデバイス２に対するリードコマンドに続いて送信されるダミーデータである場合に、受信データが有効であることを示す識別データを生成する。更に、本実施形態では、ＣＰＵ１０は、コマンドや送信データ（例えば、書き込みデータ、ダミーデータ）を、単位ワード毎に、該単位ワードの先頭に１ビットの識別フラグを付加して送信側ＦＩＦＯ１１に入力する。
【００３６】
尚、本発明装置１は、マスタ／スレーブ方式で通信を行うため、スレーブデバイス２は、マスタデバイスが発行したコマンドを受け取ったときのみデータ通信を行うので、マスタデバイスから送信データとしてコマンドが出力されている期間、及び、ライトコマンドに続く書き込みデータが送信データとして出力されている期間は、受信データ用の信号線は使用されておらず、マスタデバイスが受け付ける受信データはＣＰＵ１０で利用されない無効データとなる。これに対し、リードコマンドに続くダミーデータが送信データとして出力されている期間は、スレーブデバイス２から読み出しデータが受信データ用の信号線に出力されている期間であり、該読み出しデータはＣＰＵ１０で利用される有効データである。
【００３７】
受信データ制御回路１４は、本実施形態では、通信制御回路１３と受信側ＦＩＦＯ１２の間の受信データ用の通信経路に設けられており、送信側ＦＩＦＯ１１から出力される識別フラグに基づいて、受信データの受信側ＦＩＦＯ１２への伝送の可否を設定する。
【００３８】
次に、本発明装置１の動作手順の一例について図２及び図３を基に説明する。
【００３９】
先ず、本発明装置１がスレーブデバイス２に対して書き込み処理の要求を行う場合について図２を基に説明する。ここで、図２は、書き込み処理の要求における送信データ（送信側ＦＩＦＯ１１の出力）、識別フラグ（送信側ＦＩＦＯ１１の出力）、通信制御回路１３が受け付ける受信データ、受信側ＦＩＦＯ１２に入力される受信データの概略構成を示している。尚、図２に示す送信データ及び識別フラグは、夫々、送信側ＦＩＦＯ１１の出力状態を示しており、送信データ記憶領域１１ａに記憶されたコマンドデータの内の１単位ワード分が出力されているときに、識別フラグ記憶領域１１ｂに該単位ワードに対応付けされて記憶された１ビット分の識別フラグが出力される。
【００４０】
本発明装置１のＣＰＵ１０は、スレーブデバイス２へのデータの書き込み処理の要求において、先ず、データの書き込みを行う書き込み対象のスレーブデバイス２のチップセレクト信号をアクティブ状態にする。
【００４１】
続いて、ＣＰＵ１０が、スレーブデバイス２に対して書き込み処理の要求を行うために、書き込み対象のスレーブデバイス２の持つプロトコルに応じて、書き込み処理を指示する複数ビット構成のライトコマンドを生成する。更に、ＣＰＵ１０は、ライトコマンドと共に、識別フラグを生成する。ここでは、ＣＰＵ１０は、送信データがライトコマンドであるため、識別フラグとして、受信データが無効であることを示す無効フラグを生成する。そして、ＣＰＵ１０は、送信側ＦＩＦＯ１１の送信データ記憶領域１１ａにライトコマンドを入力し、該ライトコマンドと対応付けて送信側ＦＩＦＯ１１の識別フラグ記憶領域１１ｂに識別フラグを入力する。
【００４２】
送信側ＦＩＦＯ１１は、通信制御回路１３へのライトコマンドの出力と同時に、受信データ制御回路１４に対して無効フラグを出力する。通信制御回路１３は、送信側ＦＩＦＯ１１に入力されたライトコマンドを、シリアルクロックに同期してスレーブデバイス２に出力し、同時に、ダミーデータを受信する（コマンド発行期間）。このとき、受信データ制御回路１４は、送信側ＦＩＦＯ１１から無効フラグが出力されていることから、通信制御回路１３が受け付けた受信データを受信側ＦＩＦＯ１２に入力せずに破棄する。
【００４３】
ライトコマンドの入力後、ＣＰＵ１０は、スレーブデバイス２に書き込む書き込みデータを送信側ＦＩＦＯ１１に入力し、同時に、識別フラグを生成して書き込みデータと対応付けて送信側ＦＩＦＯ１１に入力する。ここでは、ＣＰＵ１０は、送信データが、スレーブデバイス２への出力である書き込みデータであるため、識別フラグとして、受信データが無効であることを示す無効フラグを生成する。
【００４４】
送信側ＦＩＦＯ１１は、通信制御回路１３への書き込みデータの出力と同時に、受信データ制御回路１４に対して無効フラグを出力する。通信制御回路１３は、シリアルクロックに同期して、送信側ＦＩＦＯ１１に入力された書き込みデータをスレーブデバイス２に出力し、同時に、ダミーデータを受信する（データ転送期間）。このとき、受信データ制御回路１４は、送信側ＦＩＦＯ１１から無効フラグが出力されていることから、通信制御回路１３が受け付けた受信データを受信側ＦＩＦＯ１２に入力せずに破棄する。
【００４５】
次に、本発明装置１がスレーブデバイス２に対して読み出し処理の要求を行う場合について図３を基に説明する。ここで、図３は、読み出し処理の要求における送信データ（送信側ＦＩＦＯ１１の出力）、識別フラグ（送信側ＦＩＦＯ１１の出力）、通信制御回路１３が受け付ける受信データ、受信側ＦＩＦＯ１２に入力される受信データの概略構成を示している。尚、図２の場合と同様に、図３に示す送信データ及び識別フラグは、夫々、送信側ＦＩＦＯ１１の出力状態を示しており、送信データ記憶領域１１ａに記憶されたコマンドデータの内の１単位ワード分が出力されているときに、識別フラグ記憶領域１１ｂに該単位ワードに対応付けされて記憶された１ビット分の識別フラグが出力される。
【００４６】
本発明装置１のＣＰＵ１０は、スレーブデバイス２からのデータの読み出し処理の要求において、先ず、データの読み出しを行う読み出し対象のスレーブデバイス２のチップセレクト信号をアクティブ状態にする。
【００４７】
続いて、ＣＰＵ１０が、スレーブデバイス２に対して読み出し処理の要求を行うために、読み出し対象のスレーブデバイス２の持つプロトコルに応じて、読み出し処理を指示する複数ビット構成のリードコマンドを生成する。更に、ＣＰＵ１０は、リードコマンドと共に、識別フラグを生成する。ここでは、ＣＰＵ１０は、送信データがリードコマンドであるため、識別フラグとして、受信データが無効であることを示す無効フラグを生成する。そして、ＣＰＵ１０は、送信側ＦＩＦＯ１１の送信データ記憶領域１１ａにリードコマンドを入力し、該リードコマンドと対応付けて送信側ＦＩＦＯ１１の識別フラグ記憶領域１１ｂに識別フラグを入力する。
【００４８】
送信側ＦＩＦＯ１１は、通信制御回路１３へのリードコマンドの出力と同時に、受信データ制御回路１４に対して無効フラグを出力する。通信制御回路１３は、送信側ＦＩＦＯ１１に入力されたリードコマンドを、シリアルクロックに同期してスレーブデバイス２に出力し、同時に、ダミーデータを受信する（コマンド発行期間）。このとき、受信データ制御回路１４は、送信側ＦＩＦＯ１１から無効フラグが出力されていることから、通信制御回路１３が受け付けた受信データを受信側ＦＩＦＯ１２に入力せずに破棄する。
【００４９】
リードコマンドの入力後、ＣＰＵ１０は、スレーブデバイス２が読み出した読み出しデータを受信するために、読み出しデータと同じデータ容量のダミーデータを生成し、更に、識別フラグを生成する。ここでは、ＣＰＵ１０は、送信データが、スレーブデバイス２からの読み出しデータを受信するために、リードコマンドに続いて送信されるダミーデータであるため、識別フラグとして、受信データが有効であることを示す有効フラグを生成する。そして、ＣＰＵ１０は、送信側ＦＩＦＯ１１の送信データ記憶領域１１ａにダミーデータを入力し、該ダミーデータと対応付けて送信側ＦＩＦＯ１１の識別フラグ記憶領域１１ｂに識別フラグを入力する。
【００５０】
送信側ＦＩＦＯ１１は、通信制御回路１３へのダミーデータの出力と同時に、受信データ制御回路１４に対して有効フラグを出力する。通信制御回路１３は、シリアルクロックに同期して、送信側ＦＩＦＯ１１から出力されるダミーデータをスレーブデバイス２に対して出力し、同時に、リードコマンドを受信した読み出し対象のスレーブデバイス２から出力される読み出しデータを受信する（データ転送期間）。このとき、受信データ制御回路１４は、送信側ＦＩＦＯ１１から有効フラグが出力されていることから、通信制御回路１３から出力された受信データを受信側ＦＩＦＯ１２に入力する。
【００５１】
このように構成することにより、本発明装置１の受信側ＦＩＦＯ１２には、読み出しデータ等の有効データのみが入力されることになり、ＣＰＵ１０が、有効データのみを受け取ることが可能になる。これによって、ＣＰＵ１０における受信データの有効無効の判別処理や無効と判定された無効データの読み捨て処理に係る負荷を軽減することが可能になる。
【００５２】
〈別実施形態〉
〈１〉上記実施形態では、説明のために、マスタデバイスが１つのスレーブデバイス２と接続する場合について説明したが、これに限るものではなく、１つのマスタデバイスに複数のスレーブデバイス２が接続する構成であっても良い。
【００５３】
〈２〉上記実施形態では、スレーブデバイス２がフラッシュメモリである場合について説明したが、これに限るものではない。ＥＥＰＲＯＭ等の他の不揮発性メモリ等であっても良く、スレーブ機能を備える装置であれば良い。
【図面の簡単な説明】
【００５４】
【図１】本発明に係る半導体装置（マスタ）の概略部分構成例、及び、外部デバイス（スレーブ）との概略接続構成例を示す概略ブロック図
【図２】本発明に係る半導体装置における書き込み要求時の送信データ及び受信データの概略構成例を示すタイミングチャート
【図３】本発明に係る半導体装置における読み出し要求時の送信データ及び受信データの概略構成例を示すタイミングチャート
【図４】従来技術に係る半導体装置（マスタ）と外部デバイス（スレーブ）の接続構成例を示す概略ブロック図
【図５】従来技術に係る半導体装置における書き込み要求時の送信データ及び受信データの概略構成例を示すタイミングチャート
【図６】従来技術に係る半導体装置における読み出し要求時の送信データ及び受信データの概略構成例を示すタイミングチャート
【符号の説明】
【００５５】
１      本発明に係る半導体装置（マスタデバイス）
２      スレーブデバイス
１０    ＣＰＵ
１１    送信側ＦＩＦＯ（送信側バッファ回路）
１１ａ  送信データ記憶領域
１１ｂ  識別フラグ記憶領域
１２    受信側ＦＩＦＯ（受信側バッファ回路）
１３    通信制御回路
１４    受信データ制御回路
【図１】
2008310717.tif 000003
【図２】
2008310717.tif 000004
【図３】
2008310717.tif 000005
【図４】
2008310717.tif 000006
【図５】
2008310717.tif 000007
【図６】
2008310717.tif 000008