(57)【要約】【課題】マスタ装置と複数のスレーブ装置とがシリアル通信を行うシリアル通信システムの構成を簡素化して、マスタ装置の通信処理負荷を低減する。【解決手段】マスタ装置としてのマスタＣＰＵ１０と、スレーブ装置としての各ＩＣ１１〜１４とが、相互に同期式シリアル通信を行うよう構成されたものであり、マスタＣＰＵ１０と各ＩＣ１１〜１４とは、共通の信号ラインＬ１〜Ｌ４にて相互にバス接続されている。マスタＣＰＵ１０は、いずれかのＩＣを通信対象としてシリアル通信を行う場合、送信すべきコマンドにその通信対象ＩＣを示す送信先ＩＣ情報を付加したマスタ信号ＳＴＸＤ（コマンドフレーム）を、コマンドラインＬ３上へ出力する。各ＩＣは、マスタＣＰＵ１０からのマスタ信号ＳＴＸＤに含まれている送信先ＩＣ情報をみて、それが自身宛のものであれば、出力ポートを開いてマスタＣＰＵ１０とのシリアル通信を開始する。【選択図】  図１
2004362067.tif 000002
【特許請求の範囲】
【請求項１】
マスタ装置と複数のスレーブ装置とが、前記マスタ装置から前記複数のスレーブ装置へコマンドを送信するための共通の第１通信ライン及び前記複数のスレーブ装置の各々から前記マスタ装置へ前記コマンドに対する応答データを送信するための共通の第２通信ラインによってそれぞれバス接続されることにより、該各通信ラインを介して相互に同期式シリアル通信を行うよう構成され、
前記マスタ装置は、通信対象の前記スレーブ装置に対して前記コマンドを送信する際、送信すべきコマンドにその通信対象のスレーブ装置を示すスレーブ識別子を送信先スレーブ情報として付加したコマンドフレームを前記第１通信ラインに出力し、
前記スレーブ装置は、前記第１通信ラインを介して前記マスタ装置からの前記コマンドフレームを受信した時、そのコマンドフレームに含まれている前記送信先スレーブ情報に基づいてそのコマンドフレームが自身宛のものか否か判断し、自身宛のものであった場合にそのコマンドフレーム内の前記コマンドに基づく処理を行う
ことを特徴とするシリアル通信システム。
【請求項２】
前記複数のスレーブ装置のうち少なくとも２つは、同じ前記スレーブ識別子に対応した同一構成のスレーブ装置であると共に、外部から相互に区別できるようにするための異なる補助識別子がそれぞれ設定され、前記マスタ装置からの前記コマンドフレームの受信時にそのコマンドフレーム中の前記送信先スレーブ情報として含まれている前記スレーブ識別子及び前記補助識別子に基づいてそのコマンドフレームが自身宛のものか否か判断するよう構成されており、
前記マスタ装置は、前記同一構成のスレーブ装置のいずれかを通信対象として前記コマンドフレームを出力する際、前記送信先スレーブ情報として、その通信対象のスレーブ装置に対応した前記スレーブ識別子及び前記補助識別子を付加する
ことを特徴とする請求項１記載のシリアル通信システム。
【請求項３】
前記同一構成のスレーブ装置はいずれも、
外部から任意の値の電圧を印加可能な１又は複数の識別端子と、
該識別端子が所定電圧にプルアップされたハイレベル状態若しくはグランドレベルにプルダウンされたロウレベル状態のいずれにあるかを判断するレベル判断手段と、
該レベル判断手段による判断結果に応じた前記補助識別子を設定する設定手段と、
を備え、
該同一構成の各スレーブ装置が備える前記識別端子を相互に異なる状態にすることにより、該スレーブ装置相互間で異なる前記補助識別子が設定されている
ことを特徴とする請求項２記載のシリアル通信システム。
【請求項４】
前記同一構成のスレーブ装置は２つであって、いずれも前記識別端子を複数備えており、
その２つのスレーブ装置のうち一方のスレーブ装置が備える前記各識別端子の前記プルアップ若しくはプルダウンの組み合わせに対し、他方のスレーブ装置が備える前記各識別端子の前記プルアップ若しくはプルダウンの組み合わせを全て逆とする
ことを特徴とする請求項３記載のシリアル通信システム。
【請求項５】
前記マスタ装置は、前記送信先スレーブ情報を、前記コマンドフレームにおけるＭＳＢ側又はＬＳＢ側のうち、前記第１通信ラインに先に出力する側に配置する
ことを特徴とする請求項１〜４いずれかに記載のシリアル通信システム。
【請求項６】
前記マスタ装置は、通信対象の前記スレーブ装置に送信すべき複数の前記コマンドフレームを前記第１通信ラインへ順次出力する際、最初に出力するコマンドフレームにのみ前記送信先スレーブ情報を付加するようにし、
前記スレーブ装置は、自身を示す前記送信先スレーブ情報が付加された前記コマンドフレームを前記第１通信ラインを介して受信したとき、その後に受信する、前記送信先スレーブ情報が付加されていないコマンドフレームについても、自身宛のものとして扱う
ことを特徴とする請求項１〜５いずれかに記載のシリアル通信システム。
【請求項７】
前記マスタ装置は、通信対象の前記スレーブ装置に送信すべき１又は複数の前記コマンドフレームを前記第１通信ラインへ順次出力する際、最初に出力するコマンドフレームに、そのコマンドフレームを含む前記順次出力するコマンドフレームの総数を示す送信フレーム数データを付加し、
前記スレーブ装置は、前記送信フレーム数データが付加されたコマンドフレームであって自身宛のものを前記第１通信ラインを介して受信したとき、そのコマンドフレームを含みその後順次受信するコマンドフレームのうち前記送信フレーム数データが示す数のコマンドフレームについては、全て自身宛のものとして扱う
ことを特徴とする請求項６記載のシリアル通信システム。
【請求項８】
前記マスタ装置は、通信対象の前記スレーブ装置を切り替える際、切り替え前の通信対象のスレーブ装置に対する最後の前記コマンドフレームの出力後、そのスレーブ装置との通信が終了したことを示す通信終了コマンドを含むコマンドフレームを前記第１通信ラインに出力して、その出力後に切り替え先のスレーブ装置との通信を開始するよう構成され、
前記スレーブ装置は、前記マスタ装置との通信中に前記通信終了コマンドを受信したとき、少なくともその次に受信する前記コマンドフレームについては、自身宛のものではないと判断する
ことを特徴とする請求項１〜６いずれかに記載のシリアル通信システム。
【請求項９】
前記スレーブ装置は、前記マスタ装置からの前記コマンドフレームに対する前記応答データを前記応答フレームにて前記第２通信ラインへ出力する際、少なくとも、前記送信先スレーブ情報を含むコマンドフレームに対して出力する応答フレームは、前記応答データに自身を示す応答元識別子を付加した構成とし、
前記マスタ装置は、通信対象の前記スレーブ装置へ送信した前記コマンドに対して該スレーブ装置から送信される前記応答フレーム中の前記応答元識別子に基づいて、該通信対象のスレーブ装置が正常か否か判断する
ことを特徴とする請求項１〜８いずれかに記載のシリアル通信システム。
【請求項１０】
前記スレーブ装置は、前記マスタ装置から自身宛に送信されてくるデータを書き込むための記憶手段を備えると共に、その記憶手段における記憶領域の少なくとも一部は、前記マスタ装置から自身宛のプロテクト解除コマンドを受けた場合にデータの書き込みが可能であってそれ以外は記憶内容が保持されるプロテクト領域として構成されており、
前記マスタ装置は、通信対象の前記スレーブ装置における前記プロテクト領域に書き込むべきデータを含む前記コマンドフレームを前記第１通信ラインへ出力する際、そのコマンドフレームの出力に先立って、その通信対象のスレーブ装置に対する前記プロテクト解除コマンドを含むコマンドフレームを出力する
ことを特徴とする請求項１〜９いずれかに記載のシリアル通信システム。
【請求項１１】
前記スレーブ装置は、前記マスタ装置からの前記コマンドフレームの受信時、そのコマンドフレームに含まれている前記送信先スレーブ情報が自身以外の他のスレーブ装置に対応するものであった場合は、その送信先スレーブ情報に対応したスレーブ装置が前記第２通信ラインへ出力する、前記コマンドフレームに対する前記マスタ装置への前記応答フレームを、該第２通信ラインを介して受信できるよう構成されている
ことを特徴とする請求項１〜１０いずれかに記載のシリアル通信システム。
【請求項１２】
前記複数のスレーブ装置はいずれも、同一の第１スレーブセレクトラインによって前記マスタ装置とバス接続されると共に、前記マスタ装置から前記第１スレーブセレクトラインへアクティブ信号が出力されたときにシリアル通信可能状態となるよう構成されており、
更に、前記複数のスレーブ装置とは別のスレーブ装置である他系統スレーブ装置が、前記マスタ装置と相互にシリアル通信可能となるよう前記各通信ラインと接続されると共に第２スレーブセレクトラインによって前記マスタ装置と接続され、前記マスタ装置から前記第２スレーブセレクトラインへアクティブ信号が出力されたときにシリアル通信可能状態となるよう構成されており、
前記マスタ装置は、前記他系統スレーブ装置とシリアル通信を行う際、前記第１スレーブセレクトラインへの前記アクティブ信号出力を停止すると共に前記第２スレーブセレクトラインへ前記アクティブ信号を出力する
ことを特徴とする請求項１〜１１いずれかに記載のシリアル通信システム。
【請求項１３】
前記各スレーブ装置の少なくとも２つは、各々半導体基板上に形成され、且つ、同一の半導体素子収納用パッケージ内に収められて構成されている
ことを特徴とする請求項１〜１２いずれかに記載のシリアル通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マスタ装置と複数のスレーブ装置とがシリアル通信を行うシリアル通信システムに関する。
【０００２】
【従来の技術】
マスタ装置と複数のスレーブ装置との間で相互にシリアル通信可能に接続する場合、図２６に示すように、マスタ装置と各スレーブ装置とを各々独立した信号伝送ラインで接続する構成が一般的である。
【０００３】
図２６のシリアル通信システムは、マスタ装置であるマスタＣＰＵ１１０が、スレーブ装置である４つの集積回路（ＩＣ−Ａ１２１，ＩＣ−Ｂ１２２，ＩＣ−Ｃ１２３及びＩＣ−Ｄ１２４；以下これらを単に「ＩＣ」ともいう）のそれぞれに対して個々に接続されて構成されている。
【０００４】
例えばマスタＣＰＵ１１０とＩＣ−Ｄ１２４との間では、ＩＣ−Ｄ１２４をアクティブ状態（つまりシリアル通信可能状態）にするためにマスタＣＰＵ１１０からＩＣ−Ｄ１２４へ送信されるチップセレクト信号ＣＳと、データ同期用にマスタＣＰＵ１１０からＩＣ−Ｄ１２４へ送信されるクロック信号ＳＣＬＫと、マスタＣＰＵ１１０からＩＣ−Ｄ１２４へ送信されるシリアル通信用のマスタ信号ＳＴＸＤと、そのマスタ信号ＳＴＸＤに応答してＩＣ−Ｄ１２４がマスタＣＰＵ１１０へ送信するスレーブ信号ＳＲＸＤとが、相互に伝送される。他の各ＩＣ１２１〜１２３とマスタＣＰＵ１１０との間も同様である。
【０００５】
尚、以下の説明において、マスタ信号ＳＴＸＤ及びスレーブ信号ＳＲＸＤの各伝送ラインをまとめてシリアル通信ライン、クロック信号ＳＣＬＫの伝送ラインをクロックライン、チップセレクト信号ＣＳの伝送ラインをＣＳラインという。
上記構成のシリアル通信システムでは、マスタＣＰＵ１１０が各ＩＣ１２１〜１２４とそれぞれ個々に接続されているため、マスタＣＰＵ１１０と接続するＩＣ毎に独立したシリアル通信ライン等の各種信号伝送ラインが必要となるのはもちろん、ＩＣ毎にマスタＣＰＵ１１０のシリアルポート（シリアル通信ラインが接続されるポート）も必要となる。そのため、マスタＣＰＵ１１０に接続するＩＣが多いほど、その分、シリアル通信ラインが多系統必要になると共にマスタＣＰＵ１１０の構成が複雑化し、且つ、複数のシリアルポートにそれぞれ入・出力するデータを処理するための通信処理負荷も増大する。
【０００６】
そこで、こういった問題を解決するための一手法として、複数個のマイコンをシリアル通信ラインでリング状に接続することにより各マイコンが前後のマイコンと相互にシリアル通信可能に構成された通信システムにおいて、各マイコンが前後それぞれのマイコンへ出力するデータを共通の出力ポートから出力するようにすると共に、出力するデータに出力先のマイコンを示す識別ラベルを付加することにより、出力先のマイコン側では２つの入力ポート（前後マイコンからの入力に対応して各々設置）に入力されるデータそれぞれについてその識別ラベルをみて、自分宛のデータである場合のみ受信処理を行うようにしたものが知られている（例えば、特許文献１参照。）。
【０００７】
上記技術によれば、出力データに識別ラベルを付加することにより一つの出力ポートを利用して前後のマイコンにデータ送信できるため、マイコンにおけるシリアル出力ポートを削減でき、マイコン構成の簡素化を図ることができる。
【０００８】
【特許文献１】
実開平５−５９５４０号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、上記技術は、出力ポートを一つに共通化できるという効果は得られるものの、シリアル通信ラインをリング状に接続しているため、リングの前後にあるマイコンとしかデータ通信をすることができない。また、リングの前後にあるマイコンからそれぞれデータを受信するために入力ポートが２つ必要となる。仮に前後以外のマイコンからもデータを受信できるようにしようとすると、その分さらに入力ポートが必要となる。
【００１０】
また、リング状に接続した構成であるため、既存のシステムに対して新規にマイコンを追加しようとすると、リング状のどこかに挿入・接続することになり、そのマイコンもやはり前後のマイコンとしかデータ通信を行うことができない。前後以外のマイコンとデータ通信するためには、その分入・出力ポートを増やしたり、前後のマイコンを経由させるといった方法を採らざるをえず、いずれにしてもマイコン構成の複雑化、延いてはシリアル通信システム全体の複雑化を招いてしまう。
【００１１】
本発明は上記課題に鑑みなされたものであり、マスタ装置と複数のスレーブ装置とがシリアル通信を行うシリアル通信システムにおいて、システムの構成を簡素化してマスタ装置の通信処理負荷を低減することを目的とする。
【００１２】
【課題を解決するための手段及び発明の効果】
上記課題を解決するためになされた請求項１記載のシリアル通信システムは、マスタ装置と複数のスレーブ装置とが、マスタ装置から複数のスレーブ装置へコマンドを送信するための共通の第１通信ライン及び複数のスレーブ装置の各々からマスタ装置へ上記コマンドに対する応答データを送信するための共通の第２通信ラインによってそれぞれバス接続されることにより、該各通信ラインを介して相互に同期式シリアル通信を行うよう構成されている。
【００１３】
そしてマスタ装置は、通信対象のスレーブ装置に対してコマンドを送信する際、送信すべきコマンドにその通信対象のスレーブ装置を示すスレーブ識別子を送信先スレーブ情報として付加したコマンドフレームを第１通信ラインに出力し、スレーブ装置は、第１通信ラインを介してマスタ装置からのコマンドフレームを受信した時、そのコマンドフレームに含まれている送信先スレーブ情報に基づいてそのコマンドフレームが自身宛のものか否か判断し、自身宛のものであった場合にそのコマンドフレーム内のコマンドに基づく処理を行う。
【００１４】
マスタ装置が第１通信ラインに出力するコマンドフレームは、ある特定のスレーブ装置に対するものであるが、そのコマンドフレームは第１通信ラインに接続されている全てのスレーブ装置が受信可能である。そのため、各スレーブ装置は、受信したコマンドフレームが自身宛のものであるか否かを、それに含まれる送信先スレーブ情報に基づいて判断する。つまり、送信先スレーブ情報としてのスレーブ識別子が自身を示すものであれば自身宛のものと判断するのである。
【００１５】
従って、上記構成のシリアル通信システムによれば、マスタ装置と複数のスレーブ装置とが共通の通信ライン（第１及び第２通信ライン）でバス接続されているため、図２６で説明した従来のシステムのようにマスタ装置が各スレーブ装置毎に個々にシリアルポートを備える必要がなくなり、システムの構成を簡素化する事が可能になると共に、従来のような、マスタ装置が各スレーブ装置毎にシリアルポートを区別して通信処理を行うといった複雑な処理が不要となり、マスタ装置における通信処理負荷の軽減も可能となる。
【００１６】
尚、マスタ装置からのコマンドは、通信対象のスレーブ装置に対する各種指示内容を示すデータである。例えば、通信対象のスレーブ装置が備える機能を実行させる指示、マスタ装置が持っている所定のデータを書き込ませる指示、或いはスレーブ装置が持っている所定のデータをマスタ装置へ送信させる指示など、種々のものが考えられる。
【００１７】
上記構成のシリアル通信システムにおいては、同一構成（同じ機能・動作）のスレーブ装置、つまり同じスレーブ識別子を有するスレーブ装置を複数使用する場合も考えられるが、その際は、例えば請求項２に記載のように、同一構成のスレーブ装置相互の区別を補助識別子によって行うようにするとよい。
【００１８】
即ち、請求項２記載のシリアル通信システムは、複数のスレーブ装置のうち少なくとも２つが、同じスレーブ識別子に対応した同一構成のスレーブ装置であると共に、外部から相互に区別できるようにするための異なる補助識別子がそれぞれ設定され、マスタ装置からのコマンドフレームの受信時にそのコマンドフレーム中に送信先スレーブ情報として含まれているスレーブ識別子及び補助識別子に基づいてそのコマンドフレームが自身宛のものか否か判断するよう構成されている。そして、マスタ装置は、上記同一構成のスレーブ装置のいずれかを通信対象としてコマンドフレームを出力する際、送信先スレーブ情報として、その通信対象のスレーブ装置に対応したスレーブ識別子及び補助識別子を付加する。
【００１９】
上記構成のシリアル通信システムによれば、同一構成のスレーブ装置を複数用いる場合であっても、マスタ装置はそれらを別々に区別（選択）してシリアル通信を行うことができるため、システムをよりフレキシブルに構築することが可能となる。
【００２０】
補助識別子の設定の具体例としては、例えば請求項３に記載のように、スレーブ装置における所定の端子をプルアップするかプルダウンするかによって設定するようにしてもよい。
即ち、請求項３記載のシリアル通信システムは、上記同一構成のスレーブ装置がいずれも、外部から任意の値の電圧を印加可能な１又は複数の識別端子と、その識別端子が所定電圧にプルアップされたハイレベル状態若しくはグランドレベルにプルダウンされたロウレベル状態のいずれにあるかを判断するレベル判断手段と、そのレベル判断手段による判断結果に応じた補助識別子を設定する設定手段と、を備えており、当該システムを構成する同一構成の各スレーブ装置が備える識別端子が相互に異なる状態にされることによって、その同一構成のスレーブ装置相互間で異なる補助識別子が設定されている。
【００２１】
例えば識別端子が一つであれば、必然的に同一構成のスレーブ装置を２つ備えることができ、この場合、一方をハイレベル状態、他方をロウレベル状態とすればよい。また例えば、識別端子が２つであれば、この２つの識別端子の状態の組み合わせにより、同一構成のスレーブ装置を最大４つまで備えることができる。更に識別端子が多ければ、同一構成のスレーブ装置をより多く用いることができる。
【００２２】
このように、識別端子の状態（ハイレベル又はロウレベル）に基づいて補助識別子を設定できるようにすることにより、補助識別子設定のための構成を簡素化でき、且つ、設定のための操作（プルアップ又はプルダウン）も容易になる。
そしてこの場合、特に、同一構成のスレーブ装置を２つ備えて相互に異なる補助識別子を設定する場合は、例えば請求項４に記載のように、その２つのスレーブ装置を、いずれも識別端子を複数備えたものとして構成すると共に、一方のスレーブ装置が備える各識別端子のプルアップ若しくはプルダウンの組み合わせに対し、他方のスレーブ装置が備える各識別端子のプルアップ若しくはプルダウンの組み合わせを全て逆にするとよい。つまり、一方のスレーブ装置における各識別端子のレベルに対し、他方のスレーブ装置における各識別端子のレベルを全て逆にするのである。
【００２３】
このようにすれば、例えばいずれか一方のスレーブ装置において、ある識別端子の状態が反転（ハイレベルからロウレベルへ転換、又はその逆）しても、識別端子全体としては他方のスレーブ装置と同じ状態にはならない。つまり、一方のスレーブ装置の識別端子の状態が何らかの原因によって他方のスレーブ装置と全く同じ状態になってしまう可能性を低く抑えることができ、マスタ装置からのコマンドに対してこれら２つの同一構成のスレーブ装置が同時に応答してその出力（応答フレーム）が第２通信ライン上で衝突してしまう可能性を低減することができる。
【００２４】
ここで、コマンドフレームに含まれる送信先スレーブ情報は、コマンドフレームにおける任意の位置に配置できるが、シリアル通信の同期クロックが速くなると、スレーブ装置が自身宛のコマンドを受けてからそれに対する応答データを送信するまでの時間も短くなる。そのためスレーブ装置は、自身を対象とするコマンドフレームを受信した場合はなるべく早めに応答のための準備をする（例えば第２通信ラインへの応答フレーム出力が可能な状態、つまり例えば出力ポートを開いて出力可能状態にする）必要がある。
【００２５】
そこで例えば請求項５記載のように、マスタ装置は、送信先スレーブ情報を、コマンドフレームにおけるＭＳＢ側又はＬＳＢ側のうち第１通信ラインに先に出力する側に配置するよう構成するとよい。マスタ装置をこのように構成すれば、スレーブ装置は、コマンドフレームを受信したときにそのコマンドフレームに含まれている送信先スレーブ情報をより早く得ることができる（換言すれば、より早いタイミングで自身宛のものか否か判断できる）ため、自身宛であった場合に迅速に応答のための準備をすることができる。
【００２６】
ところで、マスタ装置は、ある通信対象のスレーブ装置に対して複数のコマンドフレームを順次送信（第１通信ラインへ出力）する場合、出力する全てのコマンドフレームに送信先スレーブ情報を付加するようにしてもよいが、より効率的に通信を行うためには、例えば請求項６に記載のように、最初に出力するコマンドフレームにのみ送信先スレーブ情報を付加するようにするとよい。
【００２７】
この場合、スレーブ装置は、自身を示す送信先スレーブ情報が付加されたコマンドフレームを第１通信ラインを介して受信したとき、その後に受信する、送信先スレーブ情報が付加されていないコマンドフレームについても、自身宛のものとして扱う。
【００２８】
上記構成のシリアル通信システムによれば、マスタ装置は、順次送信するコマンドフレームにおいて２番目以降に送信するコマンドフレームには送信先スレーブ情報を付加する必要がないため、その分、他のデータ（コマンド又は各種データ等）の領域として利用することができ、より効率的なシリアル通信が可能となる。
【００２９】
そしてこの場合、例えば請求項７に記載のように、マスタ装置は、通信対象のスレーブ装置に送信すべき１又は複数のコマンドフレームを第１通信ラインへ順次出力する際、最初に出力するコマンドフレームに、そのコマンドフレームを含む順次出力するコマンドフレームの総数を示す送信フレーム数データを付加し、スレーブ装置は、送信フレーム数データが付加されたコマンドフレームであって自身宛のものを第１通信ラインを介して受信したとき、そのコマンドフレームを含みその後順次受信するコマンドフレームのうち送信フレーム数データが示す数のコマンドフレームについては、全て自身宛のものとして扱うよう構成してもよい。
【００３０】
上記構成のシリアル通信システムによれば、送信フレーム数データによって、自身宛に順次送信されてくるコマンドフレームの総数が予めわかるため、その数のコマンドフレームを受信してそれらに対する応答フレームの出力を終えたら、即、第２通信ラインへの応答フレーム出力が可能な応答可能状態を解除（例えば応答フレームの出力ポートを高インピーダンス化）でき、通信対象の切り替え前後の各スレーブ装置からの出力が第２通信ライン上で衝突するといった事態を防ぐことができる。
【００３１】
また例えば、請求項８に記載のように、マスタ装置は、通信対象のスレーブ装置を切り替える際、切り替え前の通信対象のスレーブ装置に対する最後のコマンドフレームの出力後、そのスレーブ装置との通信が終了したことを示す通信終了コマンドを含むコマンドフレームを第１通信ラインに出力して、その出力後に切り替え先のスレーブ装置との通信を開始するよう構成され、スレーブ装置は、マスタ装置との通信中に通信終了コマンドを受信したとき、少なくともその次に受信するコマンドフレームについては、自身宛のものではないと判断するよう構成されたものであってもよい。
【００３２】
このようにすれば、ある通信対象のスレーブ装置とシリアル通信中に通信終了コマンドを受信すれば、マスタ装置へ送信すべき応答フレームを全て出力した後、即、上記（請求項７）の場合と同様に応答可能状態を解除できるため、通信対象の切り替え前後の各スレーブ装置からの出力が第２通信ライン上で衝突するといった事態を防ぐことができる。
【００３３】
請求項１〜８いずれかに記載のシリアル通信システムは更に、例えば請求項９に記載のように構成してもよい。即ち、スレーブ装置は、マスタ装置からのコマンドフレームに対する応答データを応答フレームにて第２通信ラインへ出力する際、少なくとも、送信先スレーブ情報を含むコマンドフレームに対して出力する応答フレームは、応答データに自身を示す応答元識別子を付加した構成とし、マスタ装置は、通信対象のスレーブ装置へ送信したコマンドフレームに対して該スレーブ装置から送信される応答フレーム中の応答元識別子に基づいて、該通信対象のスレーブ装置が正常か否か判断する。
【００３４】
応答元識別子は、例えばマスタ装置からのコマンドフレームに含まれる送信先スレーブ情報をそのまま応答元識別子としてもいいし、別途、マスタ装置が識別可能な識別子を付加するようにしてもよい。
マスタ装置における具体的判断手法としては、例えば、本来応答元識別子が付加されているはずの応答データに何ら付加されていなかったり、通信対象のスレーブ装置を示す応答元識別子とは異なる識別子が付加されていたりしたら異常と判断できる。また、コマンドフレームに対して応答フレーム自体が送信されてこなかった場合も、応答元識別子が返答されないことになり、やはり異常と判断することができる。
【００３５】
従って、シリアル通信システムを上記のように構成すれば、マスタ装置は通信対象のスレーブ装置から正常に応答されるか否かを監視するため、スレーブ装置の異常を検出することが可能となる。
更に、例えば請求項１０記載のように、スレーブ装置は、マスタ装置から自身宛に送信されてくるデータを書き込むための記憶手段を備えると共に、その記憶手段における記憶領域の少なくとも一部は、マスタ装置から自身宛のプロテクト解除コマンドを受けた場合にデータの書き込みが可能であってそれ以外は記憶内容が保持されるプロテクト領域として構成され、マスタ装置は、通信対象のスレーブ装置におけるプロテクト領域に書き込むべきデータを含むコマンドフレームを第１通信ラインへ出力する際、そのコマンドフレームの出力に先立って、その通信対象のスレーブ装置に対するプロテクト解除コマンドを含むコマンドフレームを出力するよう構成してもよい。
【００３６】
上記構成のシリアル通信システムによれば、プロテクト領域の記憶内容は通常は保持されて外部から書き換えられるおそれがないため、例えばその記憶内容を定期的にリフレッシュするといった操作が不要となり、通信負荷を軽減することが可能となる。また、プロテクト解除コマンドを送信しない限りその記憶内容は保持されるため、プロテクト領域のデータが誤って書き換えられてしまう（或いはプロテクト領域へ誤ってデータが書き込まれてしまう）のを防止できる。
【００３７】
ところで、スレーブ装置の機能・構成によっては、他のスレーブ装置がマスタ装置へ送信する応答データを必要とする場合も考えられる。しかし、当該シリアル通信システムにおいては、マスタ装置と各スレーブ装置とで１対１の通信が行われるため、スレーブ装置が他のスレーブ装置からの応答データをもらうためには、一旦マスタ装置へ応答されたデータを、マスタ装置が折り返しその必要としているスレーブ装置へ送信しなければならない。
【００３８】
そこで、例えば請求項１１に記載のように、スレーブ装置を、マスタ装置からのコマンドフレームの受信時、そのコマンドフレームに含まれている送信先スレーブ情報が自身以外の他のスレーブ装置に対応するものであった場合は、その送信先スレーブ情報に対応したスレーブ装置が第２通信ラインへ出力する、上記コマンドフレームに対するマスタ装置への応答フレームを、該第２通信ラインを介して受信できるよう構成するとよい。
【００３９】
このように構成されたシリアル通信システムによれば、スレーブ装置は、他のスレーブ装置からマスタ装置へ送信される応答データを、マスタ装置を介さずに直接取得することができるため、通信負荷を増大させることなく他のスレーブからの応答データを取得することが可能となる。
【００４０】
次に、請求項１２記載の発明は、請求項１〜１１いずれかに記載のシリアル通信システムにおいて、上記複数のスレーブ装置はいずれも、同一の第１スレーブセレクトラインによってマスタ装置とバス接続されると共に、マスタ装置からその第１スレーブセレクトラインへアクティブ信号が出力されたときにシリアル通信可能状態となるよう構成されており、更に、上記複数のスレーブ装置とは別のスレーブ装置である他系統スレーブ装置が、マスタ装置と相互にシリアル通信可能となるよう各通信ラインと接続されると共に第２スレーブセレクトラインによってマスタ装置と接続され、マスタ装置から第２スレーブセレクトラインへアクティブ信号が出力されたときにシリアル通信可能状態となるよう構成されている。そして、マスタ装置は、他系統スレーブ装置とシリアル通信を行う際は、第１スレーブセレクトラインへのアクティブ信号出力を停止すると共に第２スレーブセレクトラインへアクティブ信号を出力するよう構成されている。
【００４１】
上記構成のシリアル通信システムによれば、第１スレーブセレクトラインによってシリアル通信可能状態にされる上記複数のスレーブ装置以外にも更にスレーブ装置を追加することができ、マスタ装置はより多くのスレーブ装置とシリアル通信を行うことが可能となる。また、第２スレーブセレクトラインを複数用いれば、更に多くのスレーブ装置とシリアル通信することが可能となる。つまり、第２スレーブセレクトラインの使用数や、第１スレーブセレクトラインと第２スレーブセレクトラインにそれぞれ接続するスレーブ装置の組み合わせ等によって、多種多様な接続形態のシリアル通信システムを構築できる。
【００４２】
尚、複数の他系統スレーブ装置を備えると共に各他系統スレーブ装置を個々に第２スレーブセレクトラインにてマスタ装置と接続し、マスタ装置がいずれかの他系統スレーブ装置とシリアル通信を行う際には、その通信対象の他系統スレーブ装置に対応した第２スレーブセレクトラインにのみアクティブ信号を出力するようにすればよい。
【００４３】
また、同一の第２スレーブセレクトラインに複数の他系統スレーブ装置を接続するようにしてもよい。この場合、マスタ装置は、第２スレーブセレクトラインに接続された各他系統スレーブ装置についても、第１スレーブセレクトラインに接続された各スレーブ装置と同様、別途送信先スレーブ情報を用いることによって通信対象の他系統スレーブ装置を指定することができる。
【００４４】
上記各構成のシリアル通信システムはまた、例えば請求項１３に記載のように、各スレーブ装置（他系統スレーブ装置を含む）の少なくとも２つが、各々半導体基板上に形成され、且つ、同一の半導体素子収納用パッケージ内に収められて構成されたものであってもよい。このように構成すれば、当該シリアル通信システムの構成を簡素化でき、コストダウンも可能となる。
【００４５】
【発明の実施の形態】
以下に、本発明の好適な実施形態を図面に基づいて説明する。
［第１実施形態］
図１は、本実施形態のシリアル通信システムの概略構成を示す説明図である。図１に示す如く、本実施形態のシリアル通信システムは、マスタ装置としてのマスタＣＰＵ１０と、スレーブ装置としてのＩＣ−Ａ１１，ＩＣ−Ｂ１２，ＩＣ−Ｃａ１３，ＩＣ−Ｃｂ１４とが、相互に同期式シリアル通信を行うよう構成されたものであり、マスタＣＰＵ１０と各ＩＣ１１〜１４とは、マスタＣＰＵ１０がデータ同期用のクロック信号ＳＣＬＫを各ＩＣ１１〜１４へ送信するためのクロックラインＬ１と、各ＩＣ１１〜１４をアクティブ状態にするチップセレクト信号ＣＳをマスタＣＰＵ１０が各ＩＣ１１〜１４へ送信するためのＣＳラインＬ２と、マスタＣＰＵ１０から各ＩＣ１１〜１４へ各種通信コマンド等を含むマスタ信号ＳＴＸＤを送信するためのコマンドラインＬ３と、及びそのマスタ信号ＳＴＸＤに対する応答として通信対象のＩＣがマスタＣＰＵ１０へスレーブ信号ＳＲＸＤを送信するための応答ラインＬ４と、によって相互にバス接続された構成となっている。
【００４６】
尚、本実施形態のシリアル通信システムは、例えば車両内に設けられるものである。そして、マスタＣＰＵ１０は、例えば車両のエンジン制御（燃料噴射制御・点火時期制御等）を担うものであり、各ＩＣ１１〜１４はそれぞれ、例えばトランスミッションの変速切換制御やエンジンのトルク制御、或いはリニアソレノイドの駆動制御といった各種機能を備えたものである。
【００４７】
また本実施形態では、各ＩＣ１１〜１４はいずれも、外部から個別に選択できるようにするためのＩＣ選択データがそれぞれ設定されており、後述するように、各ＩＣ１１〜１４はマスタＣＰＵ１０からのマスタ信号ＳＴＸＤ（図５のコマンドフレーム）が自身宛のものであるか否かを、マスタ信号ＳＴＸＤに含まれるＩＣ選択データに基づいてハード的に判別できるよう構成されている。
【００４８】
即ち、図５に示すように、ＩＣ選択データが「００１」のＩＣはＩＣ−Ａ、ＩＣ選択データが「０１０」のＩＣはＩＣ−Ｂ、ＩＣ選択データが「０１１」のＩＣはＩＣ−Ｃ、というふうに、ＩＣ−Ａ〜ＩＣ−Ｆの６種類のＩＣがＩＣ選択データによって予め決められているのである。
【００４９】
このようにスレーブ装置としてのＩＣを予め決めておく（ＩＣ選択データによって判別できるようにしておく）のは、車両によってＩＣ−Ａ〜ＩＣ−Ｆを使用する組合せが異なるためである。例えば、ＩＣ−ＡとＩＣ−Ｄのみを使用する車種もあれば、ＩＣ−Ａ〜ＩＣ−Ｆの全てを使用する車種もある。そのため、上記のようにＩＣ−Ａ〜ＩＣ−Ｆを予め決めておくことにより、マスタＣＰＵ１０の通信制御プログラムを共通化できるという利点がある。
【００５０】
ＩＣ−Ｃａ１３及びＩＣ−Ｃｂ１４は、同一機能・構成を有する同じＩＣである。つまり、いずれも同じＩＣ選択データ「０１１」が設定されたＩＣ−Ｃとして分類されるものである。ＩＣ−ＣにはＩＣ識別端子が設けられており、これを所定電圧にプルアップしてハイレベル（以下「Ｈレベル」という）状態にするか或いはグランド電位にプルダウンしてロウレベル（以下「Ｌレベル」という）状態にするかによって、同じ２つのＩＣ−Ｃを外部から区別することができる。
【００５１】
本実施形態では、２つのＩＣ−Ｃのうち、一方のＩＣ−Ｃａ１３のＩＣ識別端子１３ａを所定電圧Ｖｃにプルアップし、他方のＩＣ−Ｃｂ１４のＩＣ識別端子１４ａをグランドにプルダウンして、両者を区別している。これにより、ＩＣ−Ｃａ１３には、ＩＣ選択データ「０１１」とは別に、ＩＣ番号データとして「１」が設定される。同様に、ＩＣ−Ｃｂ１４にも、ＩＣ選択データとは別にＩＣ番号データとして「０」が設定される。この設定の詳細については後述する。
【００５２】
このように同一構成のＩＣを複数（本例では２つ）使用する場合としては、例えば各種制御においてリニアソレノイドを駆動するためのＩＣを複数用いる場合が考えられる。例えばＥＣＴ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌｌｅｄ  Ｔｒａｎｓｍｉｓｓｉｏｎ；電子制御自動変速機）用に用いられるリニアソレノイドの本数は、車種・グレード等によって異なるため、リニアソレノイドの本数によっては一つのＩＣだけでは足りない場合もある。例えばＩＣ−Ｃが４本のリニアソレノイドを駆動できるよう構成されたものである場合に、ＥＣＴで用いられるリニアソレノイドが５〜８本ならば、ＩＣ−Ｃが２つ必要となる。
【００５３】
本システムにおいて行われるシリアル通信は、マスタＣＰＵ１０が常に通信の主導権を持ち、各ＩＣ１１〜１４とシリアル通信を行う際は、まずチップセレクト信号ＣＳをアクティブ（本実施形態ではＬレベル）にして各ＩＣ１１〜１４をアクティブ状態（シリアル通信可能状態）にすると共に、各ＩＣ１１〜１４へクロック信号ＳＣＬＫを出力する。
【００５４】
そして、通信対象のＩＣに対してマスタ信号ＳＴＸＤを出力し、それを受信したＩＣ（通信対象）が、そのマスタ信号ＳＴＸＤに含まれる各種コマンドに応じたスレーブ信号ＳＲＸＤ（応答フレーム）にて返信する。各ＩＣ１１〜１４は、チップセレクト信号ＣＳがアクティブになっていなければシリアル通信を行うことができない。
【００５５】
尚、各ＩＣ１１〜１４は、実際には、図２に示すようにそれぞれ半導体基板上に形成されたチップ２１〜２４としてＢＧＡ（Ｂａｌｌ  Ｇｒｉｄ  Ａｒｒａｙ  ）パッケージ２０内に収納されている。即ち、ＩＣ−Ａ１１はチップＡ２１、ＩＣ−Ｂ１２はチップＢ２２、ＩＣ−Ｃａ１３はチップＣａ２３、ＩＣ−Ｃｂ１４はチップＣｂ２４として、全てＢＧＡのインターポーザ基板上に搭載され、一つのＢＧＡパッケージ２０に収納されている。そのため、以下の説明においてＩＣ−Ａ１１，ＩＣ−Ｂ１２，ＩＣ−Ｃａ１３，ＩＣ−Ｃｂ１４とは、それぞれＢＧＡパッケージ２０内に収納されたチップＡ２１，チップＢ２２，チップＣａ２３，チップＣｂ２４を示しているものとする。
【００５６】
図５に、本実施形態のシリアル通信システムにおけるマスタＣＰＵ１０から各ＩＣ１１〜１４へのマスタ信号ＳＴＸＤの構成を示す。マスタ信号ＳＴＸＤは、図示の如く３２ビットのフレーム（コマンドフレーム）にて構成されている。尚、以下の説明では、ＬＳＢをｂｉｔ０とし、ＭＳＢ側へ順にｂｉｔ１，ｂｉｔ２・・・というものとする（ＭＳＢはｂｉｔ３１）。
【００５７】
コマンドフレームは、ＭＳＢにＲ／Ｗデータが配置され、ｂｉｔ３０〜２８にＩＣ選択データが配置され、ｂｉｔ２７にＩＣ番号データが配置されている。そして、ｂｉｔ２６〜０には、各種コマンドやデータ、アドレス（通信対象ＩＣにおけるメモリやレジスタなどのアドレス）等が配置される。Ｒ／Ｗデータは、通信対象のＩＣに対してデータの書き込み又は読み出しを指示するものであり、通信対象ＩＣが持つデータを読み出したい場合はリード命令として「０」に設定し、通信対象ＩＣへデータを書き込みたい場合はライト命令として「１」に設定する。
【００５８】
ＩＣ選択データは、本実施形態では３ビット構成であり、理論的には最大８通りのデータを設定（つまり最大８種類のＩＣを選択）できるが、「０００」と「１１１」は未使用としている。これは、シリアル通信ラインがグランドショート或いは電源側（電圧Ｖｃ）にショートした場合に誤って「０００」（又は「１１１」）にデータ化けする可能性があるからである。そのため、図示のように、「０００」と「１１１」を除く６種類のＩＣ選択データを設定できるようにしている。
【００５９】
ＩＣ番号データについては既に説明した通りであり、ＩＣ識別端子１３ａがプルアップされたＩＣ−Ｃａ１３を通信対象にする場合は「１」とし、ＩＣ識別端子１４ａがプルダウンされたＩＣ−Ｃｂ１４を通信対象にする場合は「０」とすればよい。ｂｉｔ２６〜０に含まれるコマンドは、例えば通信対象のＩＣが備える機能を実行させるための命令など、通信対象のＩＣに対する各種命令内容を示すデータである。
【００６０】
次に、各ＩＣ１１〜１４の内部構成について、図３に基づいて説明する。図３は、各ＩＣ１１〜１４においてシリアル通信に関係する部分のみを抽出したものであり、各ＩＣ１１〜１４が共通して備えているものである。ＣＰＵ３０は、当該ＩＣにおいて行われる制御全体を担うものであり、図示しないＲＯＭに格納された各種制御プログラムに従ってＩＣ内の各部を制御する。マスタＣＰＵ１０からのクロック信号ＳＣＬＫは、クロックゲーティング回路４３を介して受信用シフトレジスタ３３や送信用シフトレジスタ４２などの各種回路等へ供給される。
【００６１】
クロックゲーティング回路４３には、チップセレクト信号ＣＳも入力されており、このチップセレクト信号ＣＳがアクティブ（Ｌレベル）のときにのみクロック信号ＳＣＬＫが出力され、当該ＩＣがシリアル通信可能状態となるように構成されている。逆に、チップセレクト信号ＣＳが非アクティブ（Ｈレベル）の場合はこのクロックゲーティング回路４３からＩＣ内部へクロック信号ＳＣＬＫが供給されず、ＩＣはシリアル通信できない状態となる。
【００６２】
マスタＣＰＵ１０からのマスタ信号ＳＴＸＤ（コマンドフレーム）は、受信用シフトレジスタ３３へ入力され、受信レジスタ３４を介してシリアル制御回路３２へ転送される。また、このコマンドフレームはシリアル制御回路３２を介してＩＣ情報抽出部３６が備えるデコーダ４６へも送出され、このデコーダ４６にて、コマンドフレーム中のｂｉｔ３０〜２７に配置されているＩＣ選択データ及びＩＣ番号データ（以下これらをまとめて「送信先ＩＣ情報」ともいう）が抽出（デコード）される。
【００６３】
ＩＣ識別端子１３ａ（１４ａ）は、図１に示すようにプルアップ又はプルダウンされることによりＨレベル又はＬレベルいずれかの状態にされるが、この状態はレベル判別部３５によって判別され、その判別結果がＩＣ番号データとしてＩＣ情報レジスタ３６ａに格納される。
【００６４】
ＩＣ−Ｃａ１３の場合、ＩＣ識別端子１３ａがプルアップされていることにより、レベル判別部３５がＨレベルであると判別する。この判別結果に基づいてＩＣ情報レジスタ３６ａにＩＣ番号「１」を格納する。ＩＣ−Ｃｂ１４の場合は、ＩＣ識別端子１４ａがプルダウンされていることにより、レベル判別部３５がＬレベルであると判別する。この判別結果に基づいて、ＩＣ情報レジスタ３６ａにＩＣ番号「０」を格納する。
【００６５】
また、当該ＩＣ固有のＩＣ選択データは、ＩＣ情報レジスタ３６ａ内に予め記憶されている（或いは、ＣＰＵ３０にて、データバスを介してＩＣ情報レジスタ３６ａのＩＣ選択データに書き込むようにしてもよい）。つまり、ＩＣ情報レジスタ３６ａには、当該ＩＣ固有の送信先ＩＣ情報が格納されていることになる。
【００６６】
比較器３８は、デコーダ４６にてデコードされた送信先ＩＣ情報と、ＩＣ情報レジスタ３６ａに格納されているデータとを比較し、両者が一致していれば、マスタＣＰＵ１０からのコマンドフレームは自身宛のものであると判断して、出力回路４０へＬレベルの出力許可信号を出力する。またこれにより、シリアル制御回路３２は、受信したコマンドフレームに含まれる各種コマンドを解析し、それに応じた各種処理を行って、その応答データを生成・出力する。
【００６７】
ＲＡＭ３１は、ＣＰＵ３０が各種演算処理を実行する際のワークエリアや、各種制御パラメータ・データ等が格納されるエリアを備えているが、本実施形態では、大きく分けて、特に制限無くＣＰＵ３０の指示によって各種データ等を書き込み（書き換えも含む）可能な通常ＲＡＭ領域３１ａと、通常は書き込み不可能であってその内容が保護され、マスタＣＰＵ１０からプロテクト解除コマンドを受けた場合にのみ書き込み可能なプロテクトＲＡＭ領域３１ｂとにより構成されている。
【００６８】
即ち、マスタＣＰＵ１０からコマンドフレームを受信すると、それに含まれるコマンドがシリアル制御回路３２からコマンド判定ロジック３７に出力される。コマンド判定ロジック３７は、そのコマンドがプロテクト解除コマンドであるか否かを判断し、プロテクト解除コマンドであれば、その旨を示すプロテクト解除データをプロテクト解除レジスタ３９に格納する。プロテクト解除レジスタ３９には、通常は非解除データが格納されている。そのため、このプロテクト解除レジスタ３９内のデータが非解除データであれば、プロテクトＲＡＭ領域３１ｂは書き込みできない保護状態となり、プロテクト解除データであれば、プロテクトＲＡＭ領域３１ｂは書き込み可能な状態となる。
【００６９】
このようにプロテクトＲＡＭ領域３１ｂを設けるのは、シリアル通信の通信負荷を低減すると共に、誤ってデータが書き込まれるのを防止するためである。シリアル通信においては、例えば、マスタＣＰＵ１０が一度書き込むだけで後はＩＣ側でそのデータを使用し続ければよい場合や、或いは、通常はＩＣ側に最初から設定されている初期値データをそのまま使えば問題なく、ある特別な場合にのみその値を書き換えればよい場合などがある。具体的には、例えばリニアソレノイドの制御用に用いるゲインや、ＰＷＭ制御におけるＰＷＭ周期（デューティ）など、種々のものが考えられる。
【００７０】
そういったデータを、プロテクトＲＡＭ領域３１ｂに記憶して通常時はマスタＣＰＵ１０から書き込みできないようにしておき、プロテクト解除コマンドを受信した場合にのみ、書き込み可能な状態にするのである。但し、チップセレクト信号ＣＳを非アクティブにすることで再び書き込み不可能な状態になる。
【００７１】
マスタＣＰＵ１０からのコマンドフレームに対する応答データは、図８に示すようなフレーム（応答フレーム）にてマスタＣＰＵ１０へ送信される（詳細は後述）。シリアル制御回路３２が、コマンドフレームに対する応答フレームを生成して送信レジスタ４１へ出力すると、その応答フレームは更に送信用シフトレジスタ４２へ転送される。そして、この送信用シフトレジスタ４２に格納されたコマンドフレームが、出力回路４０を介してマスタＣＰＵ１０へ送信（応答ラインＬ４へ出力）されることになる。
【００７２】
図４に、出力回路４０の内部構成を示す。図４に示す如く、本実施形態の出力回路４０は、出力許可信号を反転させるインバータ５１と、応答フレーム及びインバータ５１にて反転された出力許可信号が入力されるＮＡＮＤ回路５２と、出力許可信号及び応答フレームが入力されるＮＯＲ回路５３と、ＮＡＮＤ回路５２の出力がゲートに入力され、ドレインが電圧Ｖｃに接続され、ソースが出力端子５４に接続されたＭＯＳ型トランジスタ（以下単に「トランジスタ」という）Ｔ１と、ＮＯＲ回路５３の出力がゲートに入力され、ドレインが出力端子５４に接続され、ソースがグランドに接続されたトランジスタＴ２と、により構成される。
【００７３】
そして、当該ＩＣがマスタＣＰＵ１０の通信対象となっていない間は、出力許可信号がＨレベルであるため、各トランジスタＴ１，Ｔ２はいずれもオフとなり、出力端子５４は高インピーダンス状態（以下「Ｈｉ−Ｚ」という）となる。つまり、送信用シフトレジスタ４２内の応答フレームが出力されない状態（出力ポートが閉じた状態）となる。
【００７４】
一方、マスタＣＰＵ１０の通信対象となって、当該ＩＣに対応した送信先ＩＣ情報を含むコマンドフレームを受信すると、比較器３８による比較結果が一致することになり、Ｌレベルの出力許可信号が出力回路４０へ出力される。これにより、出力ポートが開かれる（出力可能状態となる）ことになる。具体的には、出力許可信号がＬレベルになると、トランジスタＴ２のゲートには、応答フレームを構成する各ビットデータを反転したレベルの電圧が印加される。
【００７５】
即ち、応答フレームとして入力されるビットデータがＬレベルの場合は、トランジスタＴ２のゲートにＨレベルの電圧が印加され、トランジスタＴ２がオンする。トランジスタＴ１は、ゲートに常時Ｈレベル電圧が印加されるため、常時オフとなる。このため、出力端子５４はＬレベルとなる。
【００７６】
一方、応答フレームとして入力されるビットデータがＨレベルの場合は、トランジスタＴ２のゲートにＬレベルの電圧が印加され、トランジスタＴ２がオフする。トランジスタＴ１は、ゲートにＬレベル電圧が印加されるため、オンとなる。このため、出力端子５４はＨレベルとなる。
【００７７】
つまり、出力許可信号がＬレベルとなって出力ポートが開かれた状態においては、送信用シフトレジスタ４２からの応答フレームがそのまま出力端子５４に反映され、応答ラインＬ４へ出力されることになる。
尚、これまでの説明では、同一構成のＩＣ−Ｃａ１３及びＩＣ−Ｃｂ１４にそれぞれＩＣ識別端子１３ａ（１４ａ）が備えられているものとしたが、ＩＣ−Ａ１１及びＩＣ−Ｂ１２にも、図示は省略したもののＩＣ識別端子が備えられ、これらを２つ用いた場合に相互に区別できるようにされている。ただし本実施形態では、ＩＣ−Ａ及びＩＣ−Ｂはいずれも一つだけであるが、これらが備えるＩＣ識別端子は、プルアップ又はプルダウンに固定しておく。この場合、マスタＣＰＵ１０は、ＩＣ−Ａ１１及びＩＣ−Ｂ１２のＩＣ識別端子のレベルに対応するＩＣ番号データを付加したコマンドを送信する。
【００７８】
また本実施形態では、図５に示したように、通信対象のＩＣを示す送信先ＩＣ情報が、全３２ビットのコマンドフレームにおけるＭＳＢ側に配置されている。そして、マスタＣＰＵ１０がコマンドフレームをコマンドラインＬ３に出力する際は、そのＭＳＢ側から出力するよう構成されている。つまり、コマンドフレームを受信した各ＩＣ１１〜１４が、それが自身宛のものであるか否かを早く判断できるように、先に送出されるＭＳＢ側に送信先ＩＣ情報を配置するようにしているのである。
【００７９】
以上説明した本実施形態のシリアル通信システムでは、マスタＣＰＵ１０がいずれかのＩＣを通信対象としてシリアル通信を行う場合、まずチップセレクト信号ＣＳをアクティブ（Ｌレベル）にして、各ＩＣ１１〜１４をシリアル通信可能状態にすると共に、同期用のクロック信号ＳＣＬＫを出力する。そして、通信対象のＩＣを示す送信先ＩＣ情報を含むコマンドフレーム（マスタ信号ＳＴＸＤ）をコマンドラインＬ３へ出力する。
【００８０】
各ＩＣ１１〜１４は、マスタＣＰＵ１０からコマンドラインＬ３に出力されたコマンドフレームを受信すると、そのコマンドフレームに含まれる送信先ＩＣ情報に基づき、自身宛のコマンドフレームであるか否か判断する。既述の通り、各ＩＣ１１〜１４には、ＩＣ情報レジスタ３６ａにＩＣ選択データ及びＩＣ番号データが格納されている。この格納されている値と、受信したコマンドフレームに含まれている送信先ＩＣ情報とを比較器３８で比較し、一致した場合は、自身宛のコマンドフレームであると判断して、出力ポートを開く（Ｌレベルの出力許可信号を出力する）。そして、そのコマンドフレームに含まれているＲ／Ｗデータや各種コマンド、データ等に基づく処理を行い、その処理結果を応答フレームとして応答ラインＬ４へ出力する。
【００８１】
図６に、本実施形態のシリアル通信システムにおけるシリアル通信の一例を示す。時刻ｔ１で、マスタＣＰＵ１０はチップセレクト信号ＣＳをＬレベルにすると共にクロック信号ＳＣＬＫを出力する。そして、通信対象をＩＣ−Ｃａ１３としたコマンドフレームを順次出力する。これに対してＩＣ−Ｃａ１３も、自身宛に順次送信されてくるコマンドフレームに対してそれぞれスレーブ信号ＳＲＸＤ（応答フレーム）を出力する。そして時刻ｔ２で、チップセレクト信号ＣＳをＨレベルにして各ＩＣ１１〜１４を非アクティブ状態にすると共にクロック信号ＳＣＬＫの出力も停止し、ＩＣ−Ｃａ１３とのシリアル通信を一旦終了する。以後、図示のように、ＩＣ−Ｃｂ１４、ＩＣ−Ａ１１、ＩＣ−Ｂ１２、ＩＣ−Ｃａ１３・・・と通信対象を切り替えていく。つまり本実施形態では、通信対象のＩＣを切り替える際は、必ずチップセレクト信号ＣＳを非アクティブ（Ｈレベル）として一旦各ＩＣ１１〜１４の出力ポートを閉じ、その後再びチップセレクト信号ＣＳをアクティブとして所望のＩＣとの通信を開始する。
【００８２】
図６のタイムチャートにおける、チップセレクト信号ＣＳがアクティブ状態になってから再び非アクティブになるまでの間（例えば時刻ｔ１〜ｔ２間）の通信の詳細について、図７に基づいて説明する。図７に示す如く、マスタＣＰＵ１０が順次送信するコマンドフレーム（マスタ信号ＳＴＸＤ）に対し、選択されたＩＣ、つまりそのコマンドフレーム中の送信先ＩＣ情報に対応した通信対象のＩＣは、２フレーム分遅れて応答フレーム（スレーブ信号ＳＲＸＤ）を出力する。
【００８３】
但し、出力ポートの状態は、応答フレームの出力より早い段階（例えば最初のコマンドフレーム３２ビットを全て受信したとき）に開かれる。即ち、最初のコマンドフレームを受信してそれが自身宛のものであることを判別すると、既述の通り出力回路４０にＬレベルの出力許可信号を出力して、応答フレームの出力が可能な状態とするのである。
【００８４】
そしてマスタＣＰＵ１０は、送信すべき所定の数のコマンドフレームを送信した後、最後に送信したコマンドフレームに対する応答フレームを受信し終えるまでの２フレーム分は、ＮＯＰ（ノーオペレーション）コマンドを送信する。つまり、通信対象のＩＣに対して、所定の応答フレーム送信後は何ら応答しないよう命令する。
【００８５】
尚、図７において、各コマンドフレームに記載されている「選択」とは、ＩＣ選択データ及びＩＣ番号（つまり送信先ＩＣ情報）を示し、「ＣＭＤ」とは、通信対象のＩＣに対するコマンドを示す。つまり、「選択＋ＣＭＤ」は、そのコマンドフレームに少なくとも送信先ＩＣ情報とコマンドが含まれていることを表している。また、各応答フレームに記載されている「不定」とは、応答フレームは送信せず出力ポートからの出力状態が不定であることを示し、「ＡＮＳ」とは、応答フレーム中の応答データを示す。後述する各実施形態においても同様とする。
【００８６】
図８に、通信対象のＩＣからマスタＣＰＵ１０へ出力される応答フレームの構成を示す。図８に示す如く、各ＩＣ１１〜１４は、マスタＣＰＵ１０へ応答データを送信する際、その応答データに、自身を示すデータとしてＩＣ情報レジスタ３６ａに格納されているＩＣ選択データ及びＩＣ番号データを付加して送信する。
【００８７】
この応答フレームを受信したマスタＣＰＵ１０は、応答フレームに含まれているＩＣ選択データ及びＩＣ番号に基づき、通信対象のＩＣから正しく応答されているか、延いては通信対象のＩＣが正常であるか否かをチェックする。具体的には、図９に示すＩＣチェック処理を実行する。図９は、マスタＣＰＵ１０が実行するＩＣチェック処理を示すフローチャートである。このＩＣチェック処理は、マスタＣＰＵ１０がチップセレクト信号ＣＳをアクティブにする毎に実行されるものである。
【００８８】
チップセレクト信号ＣＳをアクティブにすることによりこの処理が開始されると、ステップ（以下「Ｓ」と略す）１１０にて、チップセレクト信号ＣＳの立ち下がりから立ち上がりまでの１回の通信が完了したか否かが判断される。これは言い換えれば、チップセレクト信号ＣＳが非アクティブになったか否かの判断である。チップセレクト信号ＣＳがアクティブの間はこのＳ１１０で否定判定され続け、その間、通信対象のＩＣから受信した応答フレームに含まれるＩＣ選択データ及びＩＣ番号データをメモリ等に一時保存しておく。
【００８９】
そして、チップセレクト信号ＣＳが非アクティブになればＳ１２０に進み、アクティブ期間に受信した応答フレーム中のＩＣ選択データ及びＩＣ番号データが正しいものであるか否か、即ち、通信対象のＩＣを示すものであるか否かを判断する。
【００９０】
そして、正しいと判断された場合はＳ１３０に進み、そのＩＣ（つまりチップセレクト信号ＣＳが非アクティブになる前の通信対象のＩＣ）は正常と判断して一旦この処理を終了する。一方、正しいと判断されなかった場合は、そのＩＣは異常であると判断して、所定のフェイルセーフ処理を行う。このフェイルセーフ処理は、例えば、車両の運転者に異常を警告するようなランプを点灯させたり、車両のオーバーラン等を防止するためにリンプホーム運転（縮退運転）等を行わせたりするなどの処理である。
【００９１】
また、既述の通り、各ＩＣ１１〜１４のＲＡＭ３１には、プロテクトＲＡＭ領域３１ｂが設定されており、通信中にこのプロテクトＲＡＭ領域３１ｂへデータを書き込むためにはプロテクト解除コマンドを送信する必要がある。図１０は、チップセレクト信号ＣＳのアクティブ期間中において、プロテクトＲＡＭ領域に対するデータ書き込みに関する通信のみを抽出して示したタイムチャートである。
【００９２】
図１０に示す如く、チップセレクト信号ＣＳをアクティブとして通信を開始しても、通信対象ＩＣのプロテクトＲＡＭ領域３１ｂに対するデータ書き込みはできないが、プロテクト解除コマンドを含むコマンドフレームを送信することにより、プロテクトＲＡＭ領域３１ｂは書き込みが許可された状態となる。
【００９３】
そのため、プロテクト解除コマンド以後に、プロテクトＲＡＭ領域３１ｂへデータを書き込ませるためのコマンドフレーム（図１０では「プロテクト領域ＷＲＩＴＥ１」、「プロテクト領域ＷＲＩＴＥ２」）を送信すると、そのコマンドフレーム中のコマンドに応じてデータが書き込まれることになる。そして、チップセレクト信号ＣＳを非アクティブにすることにより、プロテクトＲＡＭ領域３１ｂは再び書き込み不可能な状態にされる。
【００９４】
以上詳述した本実施形態のシリアル通信システムによれば、マスタＣＰＵ１０と各ＩＣ１１〜１４とが共通のシリアル通信ライン（コマンドラインＬ３，応答ラインＬ４）でバス接続されているため、図２６で説明した従来のシステムのようにマスタＣＰＵ１０が各ＩＣ１１〜１４毎に個々にシリアルポートを備える必要がなくなり、システムの構成を簡素化する事が可能になると共に、従来のような、マスタＣＰＵが各ＩＣ毎にシリアルポートを区別して通信処理を行うといった複雑な処理も不要となり、マスタＣＰＵ１０の通信処理負荷が軽減されたシステムの提供も可能となる。
【００９５】
また、同一構成の２つのＩＣ−Ｃについては、ＩＣ識別端子をプルアップ又はプルダウンすることによってそれぞれＩＣ−Ｃａ１３及びＩＣ−Ｃｂ１４として区別できるようにしているため、マスタＣＰＵ１０はＩＣ−Ｃａ１３又はＩＣ−Ｃｂのいずれか一方を、ＩＣ番号データにより区別して選択することができる。そのため、同一構成のＩＣを複数用いることが可能となり、シリアル通信システムをよりフレキシブルに構築することが可能となる。
【００９６】
更に、マスタＣＰＵ１０からのコマンドフレームにおいて、送信先ＩＣ情報はそのＭＳＢ側、つまり先にコマンドラインＬ３へ出力される側に配置されているため、各ＩＣ１１〜１４は、コマンドフレームを受信したときにそのコマンドフレームに含まれている送信先ＩＣ情報をより早く得ることができ、より早いタイミングで自身宛のものか否か判断できるため、自身宛であった場合に迅速に応答のための準備をすることができる。
【００９７】
更にまた、各ＩＣ１１〜１４は、マスタＣＰＵへ応答フレームを送信する際に、自身を示すデータ（自身のＩＣ選択データ及びＩＣ番号データ）を含めて送信し、マスタＣＰＵ１０はそれを元に通信対象ＩＣが正常であるか否かを判断するようにしているため、ＩＣの異常を迅速に検出することも可能である。
【００９８】
また、プロテクトＲＡＭ領域３１ｂの記憶内容は、通常は保持されて外部から書き換えられるおそれがないため、例えばその記憶内容を定期的にリフレッシュするといった操作が不要となり、通信負荷が軽減されたシステムの実現が可能となる。また、プロテクト解除コマンドを送信しない限りその記憶内容は保持されるため、プロテクトＲＡＭ領域３１ｂ内のデータが誤って書き換えられてしまうのを防止できる。
【００９９】
更に、各ＩＣ１１〜１４はいずれも、ＢＧＡパッケージ２０内に収められて構成されているため、各ＩＣ１１〜１４が個々単独で存在する場合に比べて配線の簡素化やパッケージのピン数低減が実現でき、より簡素化された構成であって且つコストが低減されたシリアル通信システムの提供が可能となる
ここで、本実施形態の構成要素と本発明の構成要素の対応関係を明らかにする。本実施形態において、ＩＣ選択データは本発明のスレーブ識別子に相当し、ＩＣ番号データは本発明の補助識別子に相当し、ＣＳラインＬ２は本発明の第１スレーブセレクトラインに相当し、コマンドラインＬ３は本発明の第１通信ラインに相当し、応答ラインＬ４は本発明の第２通信ラインに相当し、ＲＡＭ３１は本発明の記憶手段に相当し、このうち特にプロテクトＲＡＭ領域３１ｂは本発明のプロテクト領域に相当する。
【０１００】
また、ＩＣ識別端子１３ａ，１４ａはいずれも本発明の識別端子に相当し、レベル判別部３５は本発明のレベル判断手段及び設定手段に相当し、ＢＧＡパッケージ２０は本発明の半導体素子収納用パッケージに相当し、図８に示したスレーブＩＣからの応答フレームに含まれるＩＣ選択データ及びＩＣ番号データが、本発明の応答元識別子に相当する。
【０１０１】
［第２実施形態］
上記第１実施形態では、同一構成のＩＣ−Ｃａ１３及びＩＣ−Ｃｂ１４をマスタＣＰＵ１０が区別（選択）できるように、ＩＣ−Ｃａ１３においてはＩＣ識別端子１３ａをプルアップ、ＩＣ−ＣｂにおいてはＩＣ識別端子１４ａをプルダウンすることによりそれぞれ別々のＩＣ番号データを設定するようにした。それ以外のシステム構成は、特にことわりのない限り第１実施形態と同様である。
【０１０２】
しかし、このように一つのＩＣ識別端子１３ａ（１４ａ）の状態によって１ビットのＩＣ番号データを設定する方法では、例えば、ＩＣ−Ｃｂ１４においてＩＣ識別端子１４ａの状態を判別するレベル判別部３５の異常によりＨレベルと判別されてしまうと、ＩＣ−Ｃｂ１４のＩＣ番号データがＩＣ−Ｃａ１３と同じ「１」に設定されてしまう。こうなると、図１１に示すように、マスタＣＰＵ１０からＩＣ−Ｃａ１３宛に送信されてきたコマンドフレームに対して、ＩＣ−Ｃａ１３のみならずＩＣ−Ｃｂ１４まで応答してしまい、両者からの応答フレームが応答ラインＬ４上で衝突してしまう。
【０１０３】
そこで本実施形態では、ＩＣ−Ｃを、ＩＣ識別端子を２つ備えた構成として、レベル判別部３５が各ＩＣ識別端子の状態をそれぞれ判別し、その判別結果に応じたＩＣ番号データをシリアル制御回路３２がＩＣ情報レジスタ３６ａに設定するようにしている。ＩＣ識別端子が２つであるため、ＩＣ情報レジスタ３６ａに設定されるＩＣ番号データは２ビットである。
【０１０４】
具体的には、例えば図１２に示すように、一方のＩＣ−Ｃ（ＩＣ−Ｃａ６１）が備える２つのＩＣ識別端子（第１識別端子６１ａ及び第２識別端子６１ｂ）をいずれもプルアップし、他方のＩＣ−Ｃ（ＩＣ−Ｃｂ６２）が備える２つのＩＣ識別端子（第１識別端子６２ａ及び第２識別端子６２ｂ）をいずれもプルダウンしている。
【０１０５】
そのため、ＩＣ−Ｃａ６１においては、各ＩＣ識別端子６１ａ，６１ｂがいずれもＨレベル状態であるためＩＣ番号データが「１１」に設定され、ＩＣ−Ｃｂ６２においては、各ＩＣ識別端子６２ａ，６２ｂがいずれもＬレベル状態であるためＩＣ番号データが「００」に設定される。つまり、ＩＣ番号データを構成する各ビットがいずれも、ＩＣ−Ｃａ６１とＩＣ−Ｃｂ６２とで全く逆になるように設定するのである。
【０１０６】
マスタＣＰＵ１０が送信するコマンドフレームは、図１３に示すような構成となる。即ち、ｂｉｔ２６，２７がＩＣ番号データ用のビットとして割り当てられ、ここに通信対象のＩＣのＩＣ番号データを設定して送信することになる。このうちｂｉｔ２７に設定されるＩＣ番号１は、第１識別端子６１ａ（６２ａ）の状態に対応したデータが設定され、ｂｉｔ２６に設定されるＩＣ番号２は、第２識別端子６１ｂ（６２ｂ）の状態に対応したデータが設定される。
【０１０７】
従って、本実施形態のシリアル通信システムによれば、例えばＩＣ−Ｃａ６１において何らかの要因でＩＣ番号データのいずれかのビットが反転して設定（「１０」又は「０１」と設定）されてしまっても、ＩＣ−Ｃｂ６２のＩＣ番号データとは異なるため、各ＩＣ−Ｃ６１，６２が共に応答してしまう可能性を低く抑えることが可能となる。
【０１０８】
尚、上記のように一方のＩＣ番号データを「１１」、他方を「００」とするのに限らず、例えば、ＩＣ−Ｃａ６１において、第１識別端子６１ａはプルアップして第２識別端子６１ｂをプルダウンすることによりＩＣ番号データを「１０」に設定し、ＩＣ−Ｃｂ６２において、第１識別端子６２ａはプルダウンして第２識別端子６２ｂをプルアップすることによりＩＣ番号データを「０１」に設定することにより、両者のＩＣ番号データの各ビットを逆にするようにしてもよい。つまり、各第１識別端子６１ａ，６２ａのレベルが逆になるようにし、且つ、各第２識別端子６１ｂ、６２ｂのレベルも逆になるようにすればよい。
【０１０９】
［第３実施形態］
上記第１実施形態では、通信対象のＩＣを切り替える際、チップセレクト信号ＣＳを一旦非アクティブにして各ＩＣの出力ポートをＨｉ−Ｚにした上で、所望の通信対象ＩＣとのシリアル通信を開始するようにしたが、本実施形態では、チップセレクト信号ＣＳを非アクティブにすることなく、アクティブ状態を保ったままで通信対象のＩＣを切り替えるようにしている。
【０１１０】
この場合、単に通信対象のＩＣを連続的に切り替えるようにすると、切り替え前後のＩＣからの出力（応答フレーム）同士が応答ラインＬ４上で衝突してしまう可能性がある。
そこで本実施形態では、通信対象のＩＣを切り替える際に、ＩＣ選択解除コマンドを送信するか、或いはＮＯＰコマンドを２フレーム分送信することによって、それまで通信対象としていたＩＣに対して通信を終了する旨を告げる。そして、そのＩＣ選択解除コマンド（或いはＮＯＰコマンド）の送信後に、新たな通信対象ＩＣとのシリアル通信を開始する。ＩＣ選択解除コマンドの送受信及びそれに基づく処理がなされること以外は、本実施形態のシリアル通信システムも第１実施形態と同様の構成である。尚、ＩＣ選択解除コマンドは本発明の通信終了コマンドに相当するものである。
【０１１１】
図１４は、ＩＣ選択解除コマンドによって通信対象のＩＣをＩＣ−Ａ１１からＩＣ−Ｂ１２へ切り替える場合を示すタイムチャートである。図１４に示すように、マスタＣＰＵ１０はまず、ＩＣ−Ａ１１を示す送信先ＩＣ情報を付加した３つのコマンド（ＣＭＤ１〜３）をそれぞれコマンドフレーム（マスタ信号ＳＴＸＤ）として出力する。図中、「ＩＣ−Ａ＋ＣＭＤ１」は、ＩＣ−Ａ１１を示す送信先ＩＣ情報及びＩＣ−Ａ１１に対するコマンドＣＭＤ１を含むコマンドフレームであることを示している。
【０１１２】
そのため、通信対象のＩＣ−Ａ１１は、このコマンドフレームを受けてそれが自身宛のものであることわかると、出力許可信号をＬレベルにしてスレーブ信号ＳＲＸＤの出力ポートを開く。図中の「出力」は、出力ポートが開かれている状態を示している。通信対象でないＩＣ−Ｂ１２は、出力許可信号をＨレベルのままとして出力ポートを閉じた状態（出力端子５４をＨｉ−Ｚ状態）に維持する。
【０１１３】
マスタＣＰＵ１０は、ＩＣ−Ａ１１に対して所定数のコマンドフレーム（本例では３つ）を出力した後、ＩＣ選択解除コマンドを含むコマンドフレーム（図中の「選択解除」）を出力し、ＩＣ−Ａ１１に対して通信を終了する旨を告げる。これを受けたＩＣ−Ａ１１は、受信した３つのコマンドフレームに対する応答データＡＮＳ１〜３をそれぞれ応答フレームにて出力し終えたら、即、出力端子５４をＨｉ−Ｚにして出力ポートを閉じる（図中の時刻ｔ１１）。つまり、選択解除コマンドが送信されたことにより、少なくともその次に受信するコマンドは自身宛のものではないと判断して、送信すべきデータの出力が終わり次第すぐに出力ポートを閉じるのである。
【０１１４】
マスタＣＰＵ１０は、ＩＣ選択解除コマンドの出力後は次の通信対象ＩＣであるＩＣ−Ｂ１２に対してコマンドフレームの出力を開始する。ＩＣ−Ｂ１２は、自身宛のコマンドフレームを受信すると、そこから２フレーム分後に出力ポートを開いて出力可能状態にすると共にそのコマンドフレームに対する応答フレームの出力を開始する。そして、時刻ｔ２でチップセレクト信号ＣＳが非アクティブになると、ＩＣ−Ｂ１２の出力端子５４もＨｉ−Ｚとなる。
【０１１５】
一方、図１５は、ＮＯＰコマンドによって通信対象のＩＣをＩＣ−Ａ１１からＩＣ−Ｂ１２へ切り替える場合を示すタイムチャートである。図１４と比較して、マスタＣＰＵ１０は、ＩＣ選択解除コマンドの代わりにＮＯＰコマンドを２フレーム分送信した後に切り替え先のＩＣに対するコマンドフレームを出力する。
【０１１６】
ＩＣ−Ａ１１は、ＮＯＰコマンドを受信すると出力ポートを不定とする。そして、ＩＣ−Ｂ１２に対するコマンドフレームを受信することにより、出力端子５４をＨｉ−Ｚにする（時刻ｔ２１）。ＩＣ−Ｂ１２は、自身宛のコマンドフレームを受信すると、そこから２フレーム分後に出力ポートを開いてマスタＣＰＵ１０への応答フレームを出力する（時刻ｔ２２）。
【０１１７】
従って、本実施形態のシリアル通信システムによれば、通信対象ＩＣの切り替え時にＩＣ選択解除コマンドを送信するか、或いは、ＮＯＰコマンドを２フレーム分送信することにより、切り替え前後のＩＣの出力ポートが共に開かれた状態になってしまうのを防いでいるため、切り替え前後の各ＩＣからの出力が応答ラインＬ４上で衝突するといった事態を防ぐことができる。
【０１１８】
しかも、チップセレクト信号ＣＳを非アクティブにすることなく通信対象のＩＣを切り替えることができるため、通信対象切り替えのためにチップセレクト信号ＣＳを非アクティブにする時間も不要となり、通信負荷の軽減が可能となる。
［第４実施形態］
第１実施形態では、マスタＣＰＵ１０が通信対象のＩＣに対してコマンドフレームを出力する際、全てのコマンドフレームに送信先ＩＣ情報を付加するようにしたが、本実施形態では、同じ通信対象のＩＣに対して順次出力される複数のコマンドフレームのうち最初に出力されるコマンドフレームにのみ送信先ＩＣ情報を付加するようにしている。
【０１１９】
より具体的には、図１６に示すように、マスタＣＰＵ１０はチップセレクト信号ＣＳをアクティブにした後、最初にＩＣ選択用のコマンドを含むコマンドフレーム（図中の「ＩＣ選択」）を送信する。このコマンドは、通信対象のＩＣに対して、通信対象として指定したことを告げるものであり、そのＩＣを示す送信先ＩＣ情報を付加したコマンドフレームとして送信される。そして、そのＩＣ選択コマンドフレームの送信後は、送信先ＩＣ情報を含まないコマンドフレームを送信する。
【０１２０】
通信対象のＩＣは、ＩＣ選択コマンドフレームを受信して自身が通信対象として指定されたことを知ると、その後に送信されてくる、送信先ＩＣ情報を含まないコマンドフレームについても、自身宛のものとして扱う。そのため、最初のＩＣ選択コマンドフレームに対する応答フレーム（図中の「ＩＣ応答」）の送信後、続いて送信されてくる各コマンド（ＣＭＤ１〜４）に対しても、応答データ（ＡＮＳ１〜４）を送信する。
【０１２１】
一方、通信対象ではない他のＩＣは、ＩＣ選択コマンドフレームを受信して自身が通信対象ではないことを知ると、その後に送信されてくる、送信先ＩＣ情報を含まないコマンドフレームについても、自身宛のものではないとして扱い、それについて応答しないようにする。
【０１２２】
図１７に、本実施形態のマスタＣＰＵ１０が通信対象のＩＣに出力するコマンドフレームの概略構成を示す。図１７（ａ）は、マスタＣＰＵ１０が最初に送信するＩＣ選択コマンドフレームであり、図５に示した第１実施形態のコマンドフレームと同様である。図１７（ｂ）は、２番目以降に送信するコマンドフレームであり、図示の如く送信先ＩＣ情報は含めない。つまり、３２ビット全てを、必要なコマンド、データ、アドレス等として使用する。
【０１２３】
尚、本実施形態では、ＩＣ選択コマンドフレームに対する応答フレームにのみ、自身を示すＩＣ選択データ及びＩＣ番号データ（但しＩＣ−Ｃ１３及びＩＣ−Ｃ１４のみ）を付加するようにしており、マスタＣＰＵ１０は、その応答フレームを受信したときにそれに含まれている上記各データに基づき、通信対象のＩＣに異常がないか否かチェックするようにしている。
【０１２４】
従って、本実施形態のシリアル通信システムによれば、マスタＣＰＵ１０は、通信対象のＩＣに対して順次送信する複数のコマンドフレームのうち２番目以降のコマンドフレームに対しては送信先ＩＣ情報を付加しないため、その分、コマンドやデータ等の領域として利用することができ、より効率的なシリアル通信が可能となる。
【０１２５】
［第５実施形態］
本実施形態は、上記第４実施形態に示した、最初のコマンドフレームにのみ送信先ＩＣ情報を付加する場合において、チップセレクト信号ＣＳを非アクティブに切り替えることなく通信の途中で通信対象のＩＣを切り替えるために、通信対象のＩＣに対して最初に送信するＩＣ選択コマンドフレームに送信フレーム数データを付加するものである。この送信フレーム数データは、最初に送信するＩＣ選択コマンドフレームを含み、その後その通信対象ＩＣに対して送信するコマンドフレームの総数を示すデータである。
【０１２６】
つまり、通信対象のＩＣに対して、コマンドフレームをいくつ送信するかを予め伝えておくのである。具体的には、図１８に示す如く、チップセレクト信号ＣＳをアクティブにした後、最初の通信対象ＩＣであるＩＣ−Ａ１１に対して、ＩＣ−Ａ１１を示す送信先ＩＣ情報及び送信フレーム数データを含むコマンドフレーム（図中の「ＩＣ−Ａ選択」）を出力する。
【０１２７】
図１９に、その最初に送信されるコマンドフレームの概略構成を示す。図示の如く、ｂｉｔ３０〜２７の送信先ＩＣ情報に加え、ｂｉｔ２６〜１８に、送信フレーム数データが配置されている。本例では、ＩＣ−Ａ１１への送信フレーム数が２つであるため、このｂｉｔ２６〜１８には、送信フレーム数が２つであることを示すデータが配置されることになる。
【０１２８】
ＩＣ−Ａ１１は、最初のコマンドフレームを受信することによって、自身宛に２つのコマンドフレームが送信されてくることがわかる。そのため、その数（２つ）のコマンドフレームに対する応答フレームを出力すると、即、出力ポートを閉じることができる（時刻ｔ３１）。
【０１２９】
ＩＣ−Ａ１１へのコマンドフレーム送信を終えたマスタＣＰＵ１０は、ＮＯＰコマンドを１フレーム分出力した後、次の通信対象ＩＣであるＩＣ−Ｂ１２に対するコマンドフレーム出力を開始する。この場合も、最初のコマンドフレーム（図１８中の「ＩＣ−Ｂ選択」）に送信フレーム数データが含まれる。本例ではＩＣ−Ｂ１２に対して４フレーム送信するため、その旨を示す送信フレーム数データが含まれることになる。
【０１３０】
従って、本実施形態のシリアル通信システムによれば、送信フレーム数データによって自身宛に順次送信されてくるコマンドフレームの総数が予めわかるため、その数のコマンドフレームを受信してそれらに対する応答フレームの出力を終えたら、即、出力ポートを閉じることができ、通信対象の切り替え前後の各通信対象ＩＣからの出力が応答ラインＬ４上で衝突するといった事態を防ぐことができる。尚、切り替えの際にＮＯＰコマンドを１フレーム分送信するのは、上記出力衝突の防止の確実性をより高めるためである。
【０１３１】
［第６実施形態］
上記各実施形態においては、マスタＣＰＵ１０が主導権を持ってシリアル通信を行うため、各ＩＣは、マスタＣＰＵ１０としか通信を行うことができず、他のＩＣが持っているデータ等を直接取得することができない。そこで、本実施形態は、第１実施形態のシリアル通信システムにおいて、更に、ＩＣ−Ｂ１２が他のＩＣから直接データを取得できるよう構成されたものである。
【０１３２】
本実施形態では、ＩＣ−Ａ１１に各種センサ（温度・圧力・速度等）からのセンサ信号や各種スイッチからのスイッチ信号が入力されると共に、アナログのセンサ信号をデジタル値に変換するためのＡ／Ｄ変換器が内蔵されている。そしてＩＣ−Ｂ１２は、このＩＣ−Ａ１１が備えるＡ／Ｄ変換器によるＡ／Ｄ変換データをはじめ、他の各ＩＣからマスタＣＰＵ１０へ送信される各種データを取得できるよう、自身以外の他のＩＣが通信対象として指定された場合に、応答ラインＬ４上を流れる他のＩＣからの応答データを自身の出力ポートから取り込むようにしている。
【０１３３】
そのために、ＩＣ−Ｂ１２が備える出力回路４０は、図２０に示すような構成となっている。即ち、図２０に示す如く、図４に示した第１実施形態の出力回路４０に対し、更に、出力端子５４からの信号及び入力許可信号が入力されるＮＡＮＤ回路５５を備え、その出力が受信データとしてＩＣ内部に入力されるよう構成されている。
【０１３４】
自身が通信対象として指定されている間は、既述の如く出力ポートが開かれるため、入力許可信号を非アクティブ（Ｈレベル）として、出力端子５４の状態に拘わらずＮＡＮＤ回路５５の出力は不変（Ｌレベル）となるようにする。一方、自身以外の他のＩＣが通信対象ＩＣとして指定されると、既述の通り出力ポートは閉じられるが、入力許可信号をアクティブ（Ｌレベル）とすることにより、出力端子５４から入力される信号（つまり他のＩＣからマスタＣＰＵ１０への応答フレーム）を、ＮＡＮＤ回路５５を介して内部に取り込む。
【０１３５】
図２１に、本実施形態のシリアル通信の通信動作の一例を示す。図示の如く、時刻ｔ１でチップセレクト信号ＣＳがアクティブとなってＩＣ−Ａ１１とのシリアル通信が開始されると、通信対象ではないＩＣ−Ｂ１２は、その出力ポートをＨｉ−Ｚ状態から入力許可状態に切り換える（時刻ｔ４１）。具体的には、入力許可信号をアクティブ（Ｌレベル）にすることによって、ＩＣ−Ａ１１から応答ラインＬ４上へ出力される応答フレームを、出力端子５４からＮＡＮＤ回路５５を介して内部に取り込めるようにする。
【０１３６】
そして、時刻ｔ２でチップセレクト信号ＣＳが非アクティブになると再びその出力ポートをＨｉ−Ｚとする。その後、チップセレクト信号ＣＳがまたアクティブとなって、マスタＣＰＵ１０からのＩＣ選択コマンドフレーム（図中の「ＩＣ−Ｂ選択」）によりＩＣ−Ｂ１２自身が通信対象として指定されると、そこから２フレーム分後に出力ポートを開いてマスタＣＰＵ１０への応答を開始する（時刻ｔ４２）。
【０１３７】
従って、本実施形態のシリアル通信システムによれば、ＩＣ−Ｂ１２は、他のＩＣからマスタＣＰＵ１０へ送信される応答データ（応答フレーム）を、マスタＣＰＵ１０を介さずに直接取得することができるため、通信負荷を増大させることなく他のＩＣからの応答データを取得することが可能となる。尚、ＩＣ−Ｂ１２以外の他のＩＣについても、ＩＣ−Ｂ１２と同様、他のＩＣからの応答データを直接取得できるよう構成することができることはいうまでもない。
【０１３８】
以上、本発明の実施の形態について種々の例を挙げて説明したが、本発明の実施の形態は、上記実施形態に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
例えば、上記第４実施形態のような、最初のコマンドフレームにのみ送信先ＩＣ情報を付加する通信方式においても、第３実施形態で説明したＩＣ選択解除コマンドを用いることによって、チップセレクト信号ＣＳを非アクティブにすることなく通信の途中で通信対象ＩＣを切り換えるようにしてもよい。
【０１３９】
具体的には、図２２に示すように、ＩＣ−Ａ１１からＩＣ−Ｂ１２へ通信対象を切り換える際、ＩＣ選択解除コマンドを含むコマンドフレームを出力する。これを受けたＩＣ−Ａ１１は、マスタＣＰＵ１０への応答フレームを全て出力すると、即、出力端子５４をＨｉ−Ｚとする（時刻ｔ５１）。そして、ＩＣ−Ｂ１２は、自身宛のコマンドフレームを受信すると、そこから２フレーム分後に、出力ポートを開いてマスタＣＰＵ１０への応答を開始する（時刻ｔ５２）。
【０１４０】
また例えば、上記各実施形態のシリアル通信システムに対して、ＩＣ−Ａ１２〜ＩＣ−Ｆまでの６種類のＩＣ（つまり６種類のＩＣ選択データに対応したＩＣ）以外の他のＩＣを増設できるようにしてもよい。図２３は、ＩＣ−Ａ１１，ＩＣ−Ｂ１２，ＩＣ−Ｃ１３，ＩＣ−Ｄ１４がいずれも同一のＣＳラインＬ２に接続され、ＩＣ選択データによって相互に区別できるようにされている（上記各実施形態と同様）のに加え、更に、ＩＣ−Ｇ７１及びＩＣ−Ｈ７２（いずれも本発明の非対応スレーブ装置に相当）を増設したものである。
【０１４１】
このうちＩＣ−Ｇ７１は、マスタＣＰＵ７０と第２ＣＳラインＬ２１によって接続され、ＩＣ−Ｈ７２は、マスタＣＰＵ７０と第３ＣＳラインＬ３１によって接続されている。但し、コマンドラインＬ３，応答ラインＬ４，及びクロックラインＬ１は共通である。そして、マスタＣＰＵ７０は、ＩＣ−Ａ１１，ＩＣ−Ｂ１２，ＩＣ−Ｃ１３，ＩＣ−Ｄ１４のいずれかと通信する場合は、ＣＳラインＬ２のチップセレクト信号ＣＳをアクティブにすると共に、第２ＣＳラインＬ２１のチップセレクト信号ＣＳ２及び第３ＣＳラインＬ３１のチップセレクト信号ＣＳ３をいずれも非アクティブにする。
【０１４２】
一方、ＩＣ−Ｇ７１と通信する場合は、第２ＣＳラインＬ２１のチップセレクト信号ＣＳ２をアクティブにすると共に、ＣＳラインＬ２のチップセレクト信号ＣＳ及び第３ＣＳラインＬ３１のチップセレクト信号ＣＳ３をいずれも非アクティブにする。ＩＣ−Ｈ７２と通信する場合も、同様の要領でチップセレクト信号ＣＳ３のみをアクティブにすればよい。尚、ＣＳラインＬ２は本発明の第１スレーブセレクトラインに相当し、第２ＣＳラインＬ２１及び第３ＣＳラインＬ３１はいずれも本発明の第２スレーブセレクトラインに相当する。
【０１４３】
シリアル通信システムを上記のように構成すれば、マスタＣＰＵはより多くのＩＣとシリアル通信を行うことが可能となる。また、上記のような３種類のＣＳラインＬ２，Ｌ２１，Ｌ３１に限らず、更にＣＳラインを増やすことももちろん可能であり、ＣＳラインの数や、各ＣＳラインにそれぞれ接続するＩＣの組み合わせ等によって、多種多様な接続形態のシリアル通信システムを構築することが可能となる。
【０１４４】
また、上記のようにＩＣ−Ｇ７１及びＩＣ−Ｈ７２に対してそれぞれ別々にＣＳラインを設ける代わりに、例えば図２４に示すように、ＩＣ−Ｇ８１及びＩＣ−Ｈ８２に対するＣＳラインとして共通の第４ＣＳラインＬ４１を設けるようにしてもよい。この場合、マスタＣＰＵ８０は、ＩＣ−Ｇ８１又はＩＣ−Ｈ８２のいずれかと通信する際には、第４ＣＳラインＬ４１上のチップセレクト信号ＣＳ４をアクティブにすると共に、通信対象のいずれかのＩＣを示す送信先ＩＣ情報を付加したコマンドフレームを送信することにより、通信対象ＩＣを指定すればよい。
【０１４５】
更に例えば、第１実施形態のシリアル通信システムにおいて、図２に示したＢＧＡパッケージ２０に対して別のＩＣを、共通のシリアル通信ラインに接続するようにしてもよい。具体的には、例えば図２５に示すように、ＢＧＡパッケージ２０に、ＱＦＰ（Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ  ）にて構成されたＩＣ−Ｅ１８を、共通のシリアル通信ラインで接続することができる。
【０１４６】
また、上記第２実施形態では、同一構成のＩＣ−Ｃのうち一方のＩＣ識別端子を共にＨレベル、他方のＩＣ識別端子を共にＬレベルとしたが、もちろんこれ以外の状態に設定してもよい。即ち、例えば一方のＩＣ−Ｃを、第１識別端子をＨレベル、第２識別端子をＬレベルとし、他方のＩＣ−Ｃにおいては、第１識別端子をＬレベル、第２識別端子をＨレベルとしてもよいなど、両者を区別できる限り、各識別端子の設定方法は種々考えられる。
【０１４７】
更に、上記各実施形態では、複数使用する同一構成のＩＣにおけるＩＣ番号データの設定方法として、ＩＣ識別端子をプルアップ又はプルダウンすることにより両者を区別する方法を示したが、ＩＣ識別端子のプルアップ又はプルダウンによる区別方法はあくまでも一例であり、例えば切り替えスイッチを設けてそのスイッチの状態によって区別するようにしてもいいし、また例えば、ある２つの端子間の電気的状態（インピーダンス等）に応じて区別するようにしてもよく、同一構成のＩＣでありながら外部から区別できるようになる限り種々の方法を採りうる。
【０１４８】
更にまた、上記各実施形態では、スレーブ装置としての各ＩＣに同一構成のＩＣが複数含まれる（ＩＣ−Ｃａ１３とＩＣ−Ｃｂ１４）ものとして説明したが、このような同一構成のＩＣを複数備えないシリアル通信システムを構成することもできることはいうまでもない。その場合、マスタＣＰＵ１０からのコマンドフレームに含まれる送信先ＩＣ情報としては、ＩＣ選択データのみでよい（ＩＣ番号データは不要）。
【０１４９】
また、上記第２実施形態では、ＩＣ識別端子を２つ設けて２つのＩＣ−Ｃの位相を全く逆にすることで、応答フレーム衝突の可能性を低くすることを実現しているが、２ビットのＩＣ番号データを設定可能であることから、当然ながら最大４種類のＩＣ番号を設定可能である。つまり、同一構成のＩＣを最大４つまで使用することも可能である。同一構成のＩＣをより多く使用するために、さらに識別端子を増やすようにしてもよい。例えばＩＣ識別端子を３つ備えるようにすれば、同一構成のＩＣを最大８つまで用いることが可能となる。
【０１５０】
応答フレーム中に付加するＩＣ選択データやＩＣ番号データについても、出力する応答フレーム全てに付加するようにしてもよいし、例えば最初に出力する応答フレームにのみ付加してもよく、出力する複数の応答フレームのどれに付加するかは特に限定されない。
【０１５１】
更に、上記実施形態では、各ＩＣが全て一つのＢＧＡパッケージ２０に収納されたマルチチップ構成のものとして説明したが、このパッケージとしてはＢＧＡに限らず、例えばＰＧＡ（Ｐｉｎ  Ｇｒｉｄ  Ａｒｒａｙ）或いはＱＦＰなど、種々の半導体収納用パッケージを用いることができる。
【図面の簡単な説明】
【図１】第１実施形態のシリアル通信システムの概略構成を示す説明図である。
【図２】第１実施形態のシリアル通信システムにおいて、スレーブ装置としての各ＩＣがＢＧＡとして１パッケージ化されていることを示す説明図である。
【図３】ＩＣの内部構成を示すブロック図である。
【図４】図３のＩＣを構成する出力回路の回路図である。
【図５】第１実施形態のシリアル通信システムにおけるマスタＣＰＵから各ＩＣへのマスタ信号ＳＴＸＤのフレーム構成を示す説明図である。
【図６】第１実施形態のシリアル通信システムにおける通信動作全体を示すタイムチャートである。
【図７】第１実施形態のシリアル通信システムにおける、チップセレクト信号ＣＳのアクティブ期間中の通信動作を示すタイムチャートである。
【図８】第１実施形態のシリアル通信システムにおける、各ＩＣからマスタＣＰＵへのスレーブ信号ＳＲＸＤのフレーム構成を示す説明図である。
【図９】マスタＣＰＵが実行するＩＣチェック処理を示すフローチャートである。
【図１０】第１実施形態のシリアル通信システムにおける、チップセレクト信号ＣＳのアクティブ期間中の通信動作を示すものであって、各ＩＣが備えるプロテクトＲＡＭ領域に対するデータ書き込みを説明するタイムチャートである。
【図１１】ＩＣ−ＣｂのＩＣ番号データがＩＣ−Ｃａのものに化けた場合の通信動作を示すタイムチャートである。
【図１２】第２実施形態のＩＣ−Ｃａ及びＩＣ−Ｃｂの構成を示す説明図である。
【図１３】第２実施形態のシリアル通信システムにおける、マスタＣＰＵから各ＩＣへのマスタ信号ＳＴＸＤのフレーム構成を示す説明図である。
【図１４】第３実施形態のシリアル通信システムにおける、マスタＣＰＵからのマスタ信号ＳＴＸＤ及びそれに対するＩＣからのスレーブ信号ＳＲＸＤの関係を示すタイムチャートである。
【図１５】第３実施形態のシリアル通信システムにおける、マスタＣＰＵからのマスタ信号ＳＴＸＤ及びそれに対するＩＣからのスレーブ信号ＳＲＸＤの関係を示すタイムチャートである。
【図１６】第４実施形態のシリアル通信システムにおける、マスタＣＰＵからのマスタ信号ＳＴＸＤとそれに対するＩＣからのスレーブ信号ＳＲＸＤの関係を示すタイムチャートである。
【図１７】第４実施形態のシリアル通信システムにおける、マスタＣＰＵからのマスタ信号ＳＴＸＤのフレーム構成を示す説明図である。
【図１８】第５実施形態のシリアル通信システムにおける、マスタＣＰＵからのマスタ信号ＳＴＸＤ及びそれに対するＩＣからのスレーブ信号ＳＲＸＤの関係を示すタイムチャートである。
【図１９】第５実施形態のシリアル通信システムにおける、マスタＣＰＵから通信対象のＩＣへ最初に送信されるマスタ信号ＳＴＸＤのフレーム構成を示す説明図である。
【図２０】第６実施形態のシリアル通信システムにおけるＩＣ−Ｂが備える出力回路の回路図である。
【図２１】第６実施形態のシリアル通信システムにおける、マスタＣＰＵからのマスタ信号ＳＴＸＤ及びそれに対するＩＣからのスレーブ信号ＳＲＸＤの関係を示すタイムチャートである。
【図２２】第４実施形態のシリアル通信システムの変形例を示すタイムチャートである。
【図２３】シリアル通信システムにおけるＩＣ接続構成の他の例を示す説明図である。
【図２４】シリアル通信システムにおけるＩＣ接続構成の他の例を示す説明図である。
【図２５】シリアル通信システムにおけるＩＣ接続構成の他の例を示す説明図である。
【図２６】従来のシリアル通信システムの概略構成を示す説明図である。
【符号の説明】
１０，７０，８０，９０，１１０…ＣＰＵ、１１…ＩＣ−Ａ、１２…ＩＣ−Ｂ、１３，６１…ＩＣ−Ｃａ、１３ａ，１４ａ…ＩＣ識別端子、１４，６２…ＩＣ−Ｃｂ、１６…ＩＣ−Ｃ、１７…ＩＣ−Ｄ、１８…ＩＣ−Ｅ、２０…ＢＧＡパッケージ、３１…ＲＡＭ、３１ａ…通常ＲＡＭ領域、３１ｂ…プロテクトＲＡＭ領域、３２…シリアル制御回路、３３…受信用シフトレジスタ、３４…受信レジスタ、３５…レベル判別部、３６…ＩＣ情報抽出部、３６ａ…ＩＣ情報レジスタ、３７…コマンド判定ロジック、３８…比較器、３９…プロテクト解除レジスタ、４０…出力回路、４１…送信レジスタ、４２…送信用シフトレジスタ、４３…クロックゲーティング回路、４６…デコーダ、５１…インバータ、５２，５５…ＮＡＮＤ回路、５３…ＮＯＲ回路、５４…出力端子、６１ａ，６２ａ…第１識別端子、６１ｂ，６２ｂ…第２識別端子、７１，８１…ＩＣ−Ｇ、７２，８２…ＩＣ−Ｈ、Ｌ１…クロックライン、Ｌ２…ＣＳライン、Ｌ２１…第２ＣＳライン、Ｌ３…コマンドライン、Ｌ３１…第３ＣＳライン、Ｌ４…応答ライン、Ｌ４１…第４ＣＳライン、Ｔ１，Ｔ２…トランジスタ
【図１】
2004362067.tif 000003
【図２】
2004362067.tif 000004
【図３】
2004362067.tif 000005
【図４】
2004362067.tif 000006
【図５】
2004362067.tif 000007
【図６】
2004362067.tif 000008
【図７】
2004362067.tif 000009
【図８】
2004362067.tif 000010
【図９】
2004362067.tif 000011
【図１０】
2004362067.tif 000012
【図１１】
2004362067.tif 000013
【図１２】
2004362067.tif 000014
【図１３】
2004362067.tif 000015
【図１４】
2004362067.tif 000016
【図１５】
2004362067.tif 000017
【図１６】
2004362067.tif 000018
【図１７】
2004362067.tif 000019
【図１８】
2004362067.tif 000020
【図１９】
2004362067.tif 000021
【図２０】
2004362067.tif 000022
【図２１】
2004362067.tif 000023
【図２２】
2004362067.tif 000024
【図２３】
2004362067.tif 000025
【図２４】
2004362067.tif 000026
【図２５】
2004362067.tif 000027
【図２６】
2004362067.tif 000028