以下、本発明によるバスシステムおよび情報処理機器の好適な実施形態について添付図を参照して説明する。なお、本発明によるバスシステムとは、小型の情報処理機器等に実装されているマスター・スレーブ型の同期式シリアル通信用のバスシステムのことであり、また、本発明による情報処理機器とは、携帯電話、キーテレホンシステム、スマートフォンやノートPC(Personal Computer)等の各種の小型の情報処理機器のことであり、これらの情報処理機器は、通常、マスター側デバイスと1ないし複数のスレーブ側デバイスとを備え、前記マスター側デバイスと前記スレーブ側デバイスとの間をマスター・スレーブ型のバスシステムを用いて接続した構成を採用している。ここで、マスター側デバイスは例えばCPU(Central Processing Unit)等であり、スレーブ側デバイスは、例えば、メモリや、フラッシュメモリすなわち不揮発性メモリEEPROMや、A/DコンバータやD/Aコンバータ、リアルタイムクロック、スイッチ・キー・LED(Light Emission Diode)・ランプ等のヒューマンインタフェースデバイス、通信インタフェース、マルチメディアカード等を制御するための各種のI/Oコントローラ用の周辺IC(Integrated Circuit)チップ等が該当する。
(本発明の特徴)
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、例えば携帯電話等の小型の情報処理機器に実装されているマスター・スレーブ型の同期式シリアル通信用のバスシステムの一つであるSPI(Serial Peripheral Interface)バス形式のバスシステムに関するものであり、マスター側デバイスと1ないし複数のスレーブ側デバイスとがカスケード接続されたSPIバス形式のバスシステムにおいて、送受信するデータの同期用クロックをスレーブ側デバイスへ供給するSCK(Serial Clock)信号線の構成を工夫して、スレーブ側デバイスを選択するためのSS(Slave Select)信号線を1本化することにより、たとえ、スレーブ側デバイスの個数が変動しても、マスター側デバイスとスレーブ側デバイスとの間をカスケード接続している信号線の本数を不変にすることを可能にすることを主要な特徴としている。
より具体的には、例えば、マスター側デバイスとスレーブ側デバイスとの間で交換するオペレーション用コードが8ビットからなっている場合を例に取ると、カスケード接続するスレーブ側デバイスに対してマスター側デバイスから同期用クロックを供給するSCK(Serial Clock)信号線には、先頭に接続された第1番目のスレーブ側デバイスに供給するための8ビットの同期用クロック(あらかじめ定めたビットレートのクロック)のみを出力し、該同期用クロックを出力する周期としては、現在カスケード接続しているスレーブ側デバイスの個数分すべてに対して8ビットの同期用クロックを順次8ビットずつ遅延させた状態で供給するまでに要する時間またはカスケード接続が可能な最大個数分すべてに対して8ビットの同期用クロックを順次8ビットずつ遅延させた状態で供給するまでに要する時間のいずれかに相当する周期で、出力する。
ここで、あらかじめ設定される同期用クロックの所定ビット数は、マスター側デバイスと各スレーブ側デバイスとの間で交換する、動作規定用のオペレーションコードのビット長に依存して決定される。例えば、オペレーションコードのビット長が16ビットであった場合には、同期用クロックの所定ビット数を16ビットに設定し、オペレーションコードのビット長が8ビットであった場合には、同期用クロックの所定ビット数を8ビットに設定することが望ましい。
一方、SCK信号線にカスケード接続する第2番目以降のスレーブ側デバイスそれぞれは、8ビットシフトレジスタを介在させた状態でカスケード接続していくことにする。したがって、第2番目以降の各スレーブ側デバイスには、第1番目のスレーブ側デバイスに供給する8ビットの同期用クロックから始まって、前段のスレーブ側デバイスに供給する8ビットの同期用クロックから、8ビットずつタイミングを順次シフトしながら、それぞれに8ビットの同期用クロックを供給するバスシステムになる。
ここで、SCK信号線にカスケード接続する8ビットシフトレジスタは、前段のスレーブ側デバイスに供給する8ビットの同期用クロックとの間に例えば(1/4)クロック分のインターバル時間を確保するためには、16個のフリップフロップを縦列接続したシフトレジスタとして構成し、それぞれの8ビットシフトレジスタを構成するフリップフロップを駆動するためのクロック源として、前記同期用クロックの2倍のビットレートからなるシフト用クロックを供給することが必要である。したがって、該シフト用クロックをマスター側デバイスから各8ビットシフトレジスタに供給するために、SCK_(1/2)信号線をシフト用クロック信号線として新たに追加したバス構成とする。ただし、該シフト用クロックのビットレートは、前記同期用クロックの2倍のビットレートに限るものではなく、前記同期用クロックのビットレートよりも高いビットレートであり、かつ、前記インターバル時間を確保することができ、かつ、前記同期用クロックを前記8ビットのシフトレジスタにおいて確実にラッチすることが可能であれば、如何なるビットレートであっても構わない。
この結果、マスター側デバイスを実装する基板(Package:PKG)とスレーブ側デバイスを実装する各スレーブ側基板(Package:PKG)とが異なる基板からなっている場合であっても、マスター側デバイスからの8ビットの同期用クロックを契機として、第1番目のスレーブ側デバイスのみならず第2番目以降のスレーブ側デバイスも含むすべてのスレーブ側デバイスそれぞれに対しては、前段のスレーブ側デバイスへの8ビットの同期用クリックよりも8ビットずつ位相をずらした状態でSCK信号線から8ビットの同期用クロックをそれぞれ供給することが可能な状態が実現するので、スレーブ側デバイスを選択するためのSS信号線を1本化して、すべてのスレーブ側デバイスに共通な信号線とすることが可能になる。
而して、スレーブ側デバイスの増減の如何に関わらず、たとえ、マスター側デバイスと異なる基板上にスレーブ側デバイスが実装されるような場合であっても、コネクタを経由する信号線の本数が変更にならず、機能の追加等に柔軟に対応することが可能なバスシステムおよび情報処理機器を実現することができる。
例えば、携帯電話の主装置のマザーボード上にマスター側デバイスとして実装されたメインPKG上のCPU(Central Processing Unit)と、複数のスレーブ側デバイスとして、複数のサブPKG上それぞれに実装された不揮発性メモリEEPROM((Electrically Erasable Programmable Read-Only Memory:ただし、SPIバス仕様に準拠するSPIメモリ)とをカスケード接続したバスシステムを構成する場合であっても、SS信号線が送信するスレーブ側デバイスの選択信号であるSPIメモリのチップセレクト信号を各SPIメモリに共通に1本化しているので、信号線の数を増やすことなく、コネクタのピン制限を回避して、スレーブ側デバイスを実装するサブPKGの個数を任意に増加させることが可能となり、機能の追加等に柔軟に対応することができる。
その結果、例えば、情報処理機器の模造品対策を実施するために、トレーサビリティ情報を読み書きするための不揮発性メモリEEPROMを備えたセキュリティIC(Integrated Circuit)がスレーブ側デバイスとして実装されたサブPKGを新たに追加しようとする場合であっても、信号線の数を増やすことなく、容易に増設することができ、情報処理機器の管理をより確実に実施することができる。
(第1の実施形態)
次に、本発明の第1の実施形態について、図1を用いて詳細に説明する。図1は、本発明の第1の実施形態におけるSPIバス形式のバスシステムの接続構成を示す接続構成図である。図1においても、図9に示した接続構成図と同様、マスター側デバイス10に対してスレーブ側デバイスを実装するスレーブ側基板(Package:PKG)が、3個、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13としてコネクタ20を介してカスケード接続されている場合について示している。
つまり、図1においても、図9に示した接続構成図と同様、マスター側デバイス10が実装される基板(Package:PKG)とスレーブ側デバイスが実装される第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13の各スレーブ側基板とが異なり、マスター側デバイス10との接続がコネクタ20を介して行われる場合について示している。なお、図1に示す例においても、スレーブ側デバイスが不揮発性メモリEEPROMの場合を一例として示しており、マスター側デバイス10が第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに実装されている不揮発性メモリEEPROMとの間で読み書きするデータを送受信する場合を示している。また、それぞれのEEPROMは、SPIバス仕様に準拠したSPIメモリである。
図1に示すように、本第1の実施形態においては、選択したスレーブ側デバイスにマスター側デバイス10からデータを送信するMOSI(Master Out Slave In)信号線23、選択したスレーブ側デバイスからマスター側デバイス10にデータを送信するMISO(Master In Slave Out)信号線24については、図9のバスシステムの場合と同じであるが、スレーブ側デバイスを選択するための選択信号を送信するSS(Slave Select)信号線および送受信するデータの同期用クロックを供給するSCK(Serial Clock)信号線22が、図9のバスシステムの場合とは異なっており、さらに、前記同期用クロックの2倍のビットレートからなるシフト用クロックを供給するSCK_(1/2)信号線25がシフト用クロック信号線として新たに追加されたバス構成になっている。
つまり、図1のバスシステムの構成においては、スレーブ側デバイスを選択するための選択信号を送信するSS信号線は、SS_ALL信号線21として1本化されて、すべてのスレーブ側デバイスに共通になっており、本第1の実施形態においては、マスター側デバイス10にカスケード接続されている各スレーブ側デバイスのうち、先頭に接続された第1番目の第1スレーブ側PKG11に実装されたスレーブ側デバイスのEEPROMを選択する選択信号のみを出力するようにしている。
また、例えば、マスター側デバイス10とスレーブ側デバイスとの間で交換するオペレーション用コードが8ビットからなっている場合を例に取ると、送受信するデータの同期用クロックを供給するSCK信号線22には、第1番目のスレーブ側デバイスが実装された第1スレーブ側PKG11に供給するための8ビットの同期用クロックのみをあらかじめ定めたビットレートでマスター側デバイス10からコネクタ20を経由して出力している。ここで、同期用クロックのビット数は、オペレーションコードのビット長に基づいて決定すれば良く、オペレーションコードのビット長が16ビットであれば、同期用クロックのビット数も16ビットに設定され、オペレーションコードのビット長が8ビットであれば、同期用クロックのビット数も8ビットに設定される。
なお、マスター側デバイス10から出力する8ビットの同期用クロックの周期は、現在接続している各スレーブ側デバイスへの供給が一巡した後に、第1番目のスレーブ側デバイスが実装された第1スレーブ側PKG11に再度供給するまでの周期であり、現在の接続個数分(つまり、図1の場合は3個分)のスレーブ側デバイスそれぞれに対して8ビットの同期用クロックを順次供給するために要する時間(つまり、図1の場合は3×8ビットの同期用クロックの時間幅と各スレーブ側デバイスの段間のインターバル時間(3×(1/4)クロック=(3/4)クロック分の時間)との合計時間)に相当する周期である。
マスター側デバイス10からSCK信号線22に出力された第1番目のスレーブ側デバイス向けの8ビットの同期用クロックは、第1SCK信号線221を経由して第1スレーブ側PKG11に実装されているEEPROMに供給される。
さらに、第2番目以降にカスケード接続するスレーブ側デバイスそれぞれが実装されている第2スレーブ側PKG12、第3スレーブ側PKG13に対するSCK信号線22は、それぞれ、8ビットシフトレジスタ15、8ビットシフトレジスタ16を介在させた状態で第2スレーブ側PKG12、第3スレーブ側PKG13それぞれにカスケード接続している。
したがって、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに実装されている各EEPROMには、8ビットずつの同期用クロックを、順次、第1番目のスレーブ側デバイスに供給する8ビットの同期用クロックから、8ビットずつタイミングを順次シフトしながら、それぞれ、第2SCK信号線222、第3SCK信号線223を経由して供給することになる。
ここで、SCK信号線22に接続したそれぞれの8ビットシフトレジスタ15、8ビットシフトレジスタ16は、前段のスレーブ側デバイスに供給する8ビットの同期用クリックから、該同期用クロックの(1/4)クロック分のインターバル時間を確保するために、16個のフリップフロップ例えばDフリップフロップをカスケード接続した構成からなっている。そして、それぞれのDフリップフロップを駆動するためのクロック源として、前記同期用クロックの2倍のビットレートからなるシフト用クロックを供給することが必要であるので、該シフト用クロックをマスター側デバイスから8ビットシフトレジスタ15、8ビットシフトレジスタ16の各Dフリップフロップに供給するために、SCK_(1/2)信号線25を新たに追加している。
つまり、SCK_(1/2)信号線25を経由してマスター側デバイスから供給する該シフト用クロックは、常時、連続的に出力される信号であり、そのビットレートは、8ビットシフトレジスタ15、8ビットシフトレジスタ16それぞれを構成する第1段目のDフリップフロップが、SCK信号線22上の前段から出力されてくる8ビットの同期用クロックを(1/4)クロック分だけインターバル間隔を置いた後にラッチしてシフトすることができるように、該同期用クロックの2倍のビットレートを有するクロックである。
SCK信号線22に接続したそれぞれの8ビットシフトレジスタ15、8ビットシフトレジスタ16の構成の一例を、図2を用いてさらに説明する。図2は、図1のバスシステムに示した8ビットシフトレジスタ15、8ビットシフトレジスタ16の構成の一例を示すブロック構成図であり、前述のように、8ビットシフトレジスタ15、8ビットシフトレジスタ16のそれぞれが、Dフリップフロップを16段カスケード接続して構成されている場合を示している。
図2に示すように、SCK信号線22から供給される8ビットの同期用クロックは、第1SCK信号線221を介して第1スレーブ側PKG11に実装されている第1番目のEEPROM((スレーブ側デバイス)に対して供給されるとともに、次段の第2スレーブ側PKG12用の同期用クロックを生成するために、SCK信号線22に接続されている8ビットシフトレジスタ15を構成する16段のDフリップフロップ151の第1段目のDフリップフロップのD入力端子に入力される。8ビットシフトレジスタ15を構成する16段のDフリップフロップ151の各CLK端子には、SCK_(1/2)信号線25からのシフト用クロックが正論理で常時供給されていて、該シフト用クロックのPositive edgeによって、D入力端子からの同期用クロックをラッチし、次のPositive edgeに達した際に、次段のDフリップフロップにシフト出力すると同時に、D入力端子からの次の同期用クロックをラッチする動作を繰り返す。
かくのごときシフト動作を繰り返すことによって、最終的に、8ビットシフトレジスタ15からは、SCK信号線22から供給されてくる8ビットの同期用クロックを、前段の第1スレーブ側PKG11に供給した8ビット同期用クロックから(1/4)クロック分のインターバル間隔を置いた後に、さらに、8ビット分タイミングをシフトした状態の8ビット同期用クロックとして出力されるようになり、第2SCK信号線222を経由して第2スレーブ側PKG12に実装されているEEPROM(スレーブ側デバイス)に供給されるとともに、次段の第3スレーブ側PKG13用の同期用クロックを生成するために、SCK信号線22の後段に接続されている8ビットシフトレジスタ16を構成する16段のDフリップフロップ161の第1段目のDフリップフロップのD入力端子に入力される。
8ビットシフトレジスタ16を構成する16段のDフリップフロップ161の各CLK端子には、前段の8ビットシフトレジスタ15の場合とは異なり、今度は、SCK_(1/2)信号線25からのシフト用クロックが負論理で常時供給されていて、該シフト用クロックのNegative edgeによって、D入力端子からの同期用クロックをラッチし、次のNegative edgeに達した際に、次段のDフリップフロップにシフト出力すると同時に、D入力端子からの次の同期用クロックをラッチする動作を繰り返す。
かくのごときシフト動作を繰り返すことによって、最終的に、8ビットシフトレジスタ16からは、SCK信号線22の前段の8ビットシフトレジスタ15から供給されてくる8ビットの同期用クロックを、前段の第2スレーブ側PKG12に供給した8ビット同期用クロックから(1/4)クロック分のインターバル間隔を置いた後に、さらに、8ビット分タイミングをシフトした状態の8ビット同期用クロックとして出力されるようになり、第3SCK信号線223を経由して第3スレーブ側PKG13に実装されているEEPROM(スレーブ側デバイス)に供給される。
この結果、スレーブ側デバイスを実装する第1スレーブ側PKG11〜第3スレーブ側PKG13それぞれに対しては、(1/4)クロック分のインターバル間隔を設けた状態にすると同時に、8ビットずつ位相を順次ずらした状態でSCK信号線22からの8ビットの同期用クロックを供給することになる。
以上に説明した図1のバスシステムの動作タイミングについて、図3のタイムチャートを用いてさらに説明する。図3は、図1のバスシステムの動作タイミングの一例を示すタイムチャートであり、SS_ALL信号線21によって第1スレーブ側PKG11に実装されているEEPROM(スレーブ側デバイス)を選択している状態を示している。ここで、SS_ALL信号線21の選択信号は負論理であり、Lowレベルが選択している状態である。
図3のタイムチャートに示すように、送受信するデータの同期用クロックを供給するSCK信号線22から分岐して各スレーブ側デバイスそれぞれに供給する第1SCK信号線221、第2SCK信号線222、第3SCK信号線223には、図2において説明したように、8ビットシフトレジスタ15、8ビットシフトレジスタ16、SCK_(1/2)信号線25のシフト用クロックによって、マスター側デバイス10から出力される8ビットの同期用クロックを順次8ビットずつシフトして、順番に、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13に対する同期用クロックが供給されている。
一方、すべてのスレーブ側デバイスに共通に1本化されているSS_ALL信号線21は、マスター側デバイス10から、第1SCK信号線221を経由して第1スレーブ側PKG11に8ビットの同期用クロックが供給されるタイミングに同期して、8ビットの同期用クロックが供給されている時間の間だけ、第1スレーブ側PKG11を選択するような選択信号を出力している。ここで、図3に示すように、第1SCK信号線221の同期用クロックの第1ビットのNegative edgeに同期して、SS_ALL信号線21がLowレベルに遷移して、第1スレーブ側PKG11を選択した状態に遷移し、第1SCK信号線221の同期用クロックの最終の第8ビットの終了時点で、SS_ALL信号線21がHighレベルに遷移して、第1スレーブ側PKG11の選択状態が終了する。
第1SCK信号線221の同期用クロックが供給され、かつ、SS_ALL信号線21が第1スレーブ側PKG11を選択した状態にある場合には、図3のMOSI信号線23、MISO信号線24に示すように、マスター側デバイス10と第1スレーブ側PKG11に実装されているEEPROM(スレーブ側デバイス)との間では、8ビットの同期用クロックに同期した状態で、8ビット単位のデータが全二重通信モードで送受信されることになる。なお、MOSI信号線23、MISO信号線24により送受信されるデータの転送動作は、マスター側デバイス10と第1スレーブ側PKG11に実装されているEEPROMのいずれかから送信されるオペレーションコードによって決定される。
マスター側デバイス10が、第1スレーブ側PKG11に実装されているEEPROMではなく、第2スレーブ側PKG12または第3スレーブ側PKG13に実装されているEEPROMとの間でデータの送受信を行う状態に切り替えたい場合には、第2SCK信号線222または第3SCK信号線223に同期用クロックが供給されるタイミングに同期させて、SS_ALL信号線21をLowレベルに遷移させて、第2スレーブ側PKG12または第3スレーブ側PKG13を選択した状態に設定すれば良い。
次に、図3に示したタイムチャートのうち、マスター側デバイス10からのSCK信号線22上の8ビットの同期用クロックを、8ビットシフトレジスタ15、8ビットシフトレジスタ16、および、SCK_(1/2)信号線25のシフト用クロックによって、8ビットずつ順次シフトさせて、SCK信号線221の他に、第2SCK信号線222、第3SCK信号線223の各信号線それぞれに供給する8ビットの同期用クロックの出力タイミングについて、図4に示す拡大図を用いて説明する。図4は、図3のタイムチャートのうち、第1SCK信号線221、第2SCK信号線222、第3SCK信号線223の各信号線それぞれに供給する8ビットの同期用クロックの出力タイミングを説明するための拡大タイムチャートである。
図4の上段側に示すように、第1スレーブ側PKG11に供給する第1SCK信号線221の8ビット同期用クロックの各ビットを、SCK_(1/2)信号線25のシフト用クロックのPositive edgeによって、8ビットシフトレジスタ15にラッチして順次シフトすることにより、8ビット分シフトされた時間後に、SCK_(1/2)信号線25のシフト用クロックのPositive edgeに同期して、第2スレーブ側PKG12に供給する第2SCK信号線222の8ビット同期用クロックが出力されてくる。
しかる後、図4の下段側に示すように、第2スレーブ側PKG12に供給する第2SCK信号線222の8ビット同期用クロックの各ビットを、SCK_(1/2)信号線25のシフト用クロックのNegative edgeによって、8ビットシフトレジスタ16にラッチして順次シフトすることにより、さらに、8ビット分シフトした時間後に、SCK_(1/2)信号線25のシフト用クロックのNegative edgeに同期して、第3スレーブ側PKG13に供給する第3SCK信号線223の8ビット同期用クロックが出力されてくる。
つまり、図1のような3個のスレーブ側デバイスの場合に限らず、さらに多くのスレーブ側デバイスをカスケード接続している場合については、スレーブ側PKG間でSCK_(1/2)信号線25のシフト用クロックのクロックエッジを正負の順番に交互に切り替えていくようにトグルさせることにより、前段のスレーブ側デバイスに供給される同期用クロックとの間に、(1/4)クロック分のインターバル時間を置くと同時に、8ビット分の時間ずつ遅れたタイミングで出力するように、SCK信号線22上の同期用クロックを順次各8ビットシフトレジスタに取り込むようにすれば良い。
以上に説明したような動作を行うことによって、図1に示したバスシステムは、スレーブ側デバイスを選択するためのSS信号線をSS_ALL信号線21に1本化して、すべてのスレーブ側デバイスに共通な信号線とすることが可能になり、而して、スレーブ側デバイスの増減の如何に関わらず、たとえ、マスター側デバイスと異なる基板上にスレーブ側デバイスが実装されるような場合であっても、コネクタを経由する信号線の本数が変更にならず、機能の追加等に柔軟に対応することが可能なバスシステムおよび情報処理機器を実現することができる。
なお、図1ないし図4に示した本第1の実施形態においては、8ビットの同期用クロックを用いている例を示したが、本発明はかかる場合に限るものではなく、前述したように、動作を規定するオペレーションコードのビット長に応じて、同期用クロックのビット数を決定すれば、如何なるビット数であっても良い。
また、マスター側デバイス10から第1スレーブ側PKG11用として出力する同期用クロック(あらかじめ定めたビットレートからなる8ビットの同期用クロック)の周期を、現在接続している各スレーブ側デバイスそれぞれへの同期用クロックの供給が一巡した後に、第1番目のスレーブ側デバイスが実装された第1スレーブ側PKG11に再度供給するまでの周期として、現在カスケード接続しているスレーブ側デバイスの個数分に比例した時間として説明した。しかし、本発明はかかる場合に限るものではなく、マスター側デバイス10にカスケード接続することが可能なスレーブ側デバイスの最大個数分に比例した時間としても良い。かくのごとく最大個数分に比例した時間とした場合には、スレーブ側デバイスとのデータを送受信する動作が遅くなるという欠点が生じる一方、スレーブ側デバイスの接続台数の増減が発生した場合であっても、マスター側デバイス10から供給する同期用クロックの周期を変更することが不要であり、各スレーブ側デバイスの動作速度も増減前の状態をそのまま維持することができるという利点が得られる。
また、スレーブ側デバイスを選択するSS_ALL信号線21の選択信号を、スレーブ側PKGに供給する場合について説明したが、該選択信号を、第1SCK信号線221〜第3SCK信号線223に出力される同期用クロックとの論理積を行うゲート信号として用いるようにしても良い。つまり、SS_ALL信号線21の選択信号によって選択したスレーブ側デバイスに対してのみ、同期用クロックを供給するようにしても良い。
また、SCK_(1/2)信号線25によって供給するシフト用クロックのビットレートをあらかじめ定めた同期用クロックのビットレートの2倍のビットレートに設定する場合について説明したが、前述したように、かかる場合のみに限るものではなく、同期用クロックのビットレートよりも高いビットレートであり、かつ、前述したようなインターバル時間を適切に確保することができ、かつ、同期用クロックを8ビットシフトレジスタ15、8ビットシフトレジスタ16において確実にラッチし、シフトすることが可能であれば、如何なるビットレートであっても構わない。
また、一例として、トレーサビリティ情報を読み書きする不揮発性メモリEEPROM(SPIメモリ)を含むセキュリティICを、スレーブ側デバイスとして備える場合について例示したが、セキュリティICの仕様如何によっては、該セキュリティICをマスター側デバイスとして備えるようにしても良い。
(第2の実施形態)
次に、本発明の第2の実施形態について、図5を用いて詳細に説明する。図5は、本発明の第2の実施形態におけるSPIバス形式のバスシステムの接続構成を示す接続構成図である。なお、図5においても、図1に示した接続構成図と同様、マスター側デバイス10に対してスレーブ側デバイスを実装するスレーブ側基板(Package:PKG)が、3個、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13としてコネクタ20を介してカスケード接続されている場合について示している。
図5に示すように、本第2の実施形態においては、送受信するデータの同期用クロックを供給するSCK(Serial Clock)信号線22、選択したスレーブ側デバイスにマスター側デバイス10からデータを送信するMOSI(Master Out Slave In)信号線23、選択したスレーブ側デバイスからマスター側デバイス10にデータを送信するMISO(Master In Slave Out)信号線24、SCK信号線22にカスケードされた8ビットシフトレジスタ15、8ビットシフトレジスタ16に対してシフト用クロックを供給するSCK_(1/2)信号線25については、図1のバスシステムの場合と同じであるが、スレーブ側デバイスを選択するための選択信号を送信するSS_ALL(Slave Select_All)信号線21が、図1のバスシステムの場合とは異なっている。
つまり、図5のバスシステムの構成においては、スレーブ側デバイスを選択するための選択信号を送信するSS_ALL信号線21は、接地されて、常にLowレベルに設定されており、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13のいずれも、常に選択されたEnable状態に設定されている。したがって、マスター側デバイス10およびコネクタ20からは、SS_ALL信号線21を削除して、図1の場合よりも、信号線の本数を削減することが可能になっている。
図5のように、SS_ALL信号線21を常にEnable状態に設定しても、第1の実施形態の図3のタイムチャートに示したように、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに対してSCK信号線22から供給する同期用クロックは、8ビットシフトレジスタ15、8ビットシフトレジスタ16により、8bitずつタイミングをずらした状態に設定されているので、マスター側デバイス10と各スレーブ側PKGに実装されているスレーブ側デバイスとの間で送受信するデータがMOSI信号線23、MISO信号線24上で衝突することがなく、いずれのスレーブ側PKGに実装されているスレーブ側デバイスとの間のデータ通信も問題なく実施することができる。
図5のバスシステムの動作タイミングについて、図6のタイムチャートを用いてさらに説明する。図6は、図5のバスシステムの動作タイミングの一例を示すタイムチャートであり、SS_ALL信号線21が常にEnable状態に固定されて、全スレーブ側PKGを選択している状態を示している。なお、図6においても、図3の場合と同様、SS_ALL信号線21の選択信号は負論理であり、Lowレベルに設定されている状態を示している。
図5のタイムチャートに示すように、SS_ALL信号線21は、図3の場合とは異なり、常にEnable状態に固定されて、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13のいずれも、常に選択されている状態になっている。一方、送受信するデータの同期用クロックを供給するSCK信号線22から分岐して各スレーブ側デバイスに供給する第1SCK信号線221、第2SCK信号線222、第3SCK信号線223には、第1の実施形態の場合と同様に、8ビットシフトレジスタ15、8ビットシフトレジスタ16、および、SCK_(1/2)信号線25のシフト用クロックによって、マスター側デバイス10から出力される8ビットの同期用クロックを順次8ビットずつシフトして、順番に、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13に対する8ビットの同期用クロックとして出力されている。
したがって、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに実装されているスレーブ側デバイスは、図6のMOSI信号線23、MISO信号線24に示すように、第1SCK信号線221、第2SCK信号線222、第3SCK信号線223からの8ビットの同期用クロックが供給するタイミングになった時点で、直ちに、マスター側デバイス10との間で、8ビット単位のデータを全二重通信モードで送受信することが可能になる。なお、MOSI信号線23、MISO信号線24により送受信されるデータの転送動作は、図3の場合と同様、マスター側デバイス10と各スレーブ側PKG11〜13に実装されているEEPROMとのいずれかから送信されるオペレーションコードによって決定される。
以上に説明したように、図5に示したバスシステムにおいては、マスター側デバイス10およびコネクタ20にSS_ALL信号線21を用意する必要がなくなり、マスター側デバイス10内の信号線の本数、コネクタ20のピン数を図1のバスシステムの場合よりも削減することが可能になるとともに、図1のバスシステムの場合と同様に、スレーブ側デバイスの増減の如何に関わらず、たとえ、マスター側デバイスと異なる基板上にスレーブ側デバイスが実装されるような場合であっても、コネクタを経由する信号線の本数が変更にならず、機能の追加等に柔軟に対応することが可能なバスシステムおよび情報処理機器を実現することができる。
(第3の実施形態)
次に、本発明の第3の実施形態について、図7を用いて詳細に説明する。図7は、本発明の第3の実施形態におけるSPIバス形式のバスシステムの接続構成を示す接続構成図である。図7においても、図1、図5に示した接続構成図と同様、マスター側デバイス10に対してスレーブ側デバイスを実装するスレーブ側基板(Package:PKG)が、3個、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13としてコネクタ20を介してカスケード接続されている場合について示している。
図7に示すように、本第3の実施形態においては、スレーブ側デバイスを選択するための選択信号を送信するSS_ALL(Slave Select_All)信号線21、信号線および送受信するデータの同期用クロックを供給するSCK(Serial Clock)信号線22、SCK信号線22にカスケードされた8ビットシフトレジスタ15、8ビットシフトレジスタ16に対してシフト用クロックを供給するSCK_(1/2)信号線25については、図5のバスシステムの場合と同じであるが、選択したスレーブ側デバイスにマスター側デバイス10からデータを送信するMOSI(Master Out Slave In)信号線23、選択したスレーブ側デバイスからマスター側デバイス10にデータを送信するMISO(Master In Slave Out)信号線24が備えられていない点が、図5や図1のバスシステムの場合とは異なっている。
つまり、図7のバスシステムの構成においては、マスター側デバイスと各スレーブ側デバイスとの間でデータを送受信する信号線が、図5や図1のMOSI信号線23、MISO信号線24のように、双方向の全二重通信が可能な2本からなっているのではなく、双方向のピンポン伝送が可能な1本のみのSDIO(Single Data Input/Output)信号線26からなっている場合を示している。かくのごときピンポン伝送を行うバスシステムの構成は、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに実装されているスレーブ側デバイス(図7においては、EEPROM(すなわちSPIメモリ))の通信規格としてピンポン伝送機能が備わっている場合に採用することができる。
なお、図7においては、第2の実施形態の図5のバスシステムと同様、SS_ALL信号線21を常にEnable状態に設定している例を示しているが、第1の実施形態の図1のバスシステムのように、SS_ALL信号線21を接地することなく、マスター側デバイス10からの選択信号を供給するような構成であっても勿論構わない。
図7に示す構成においては、図5の場合と同様、第1の実施形態の図3のタイムチャートに示したように、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに対してSCK信号線22から供給する同期用クロックは、8ビットシフトレジスタ15、8ビットシフトレジスタ16により、8bitずつタイミングをずらした状態に設定されているので、マスター側デバイス10と各スレーブ側PKGに実装されているスレーブ側デバイスとの間で送受信するデータがSDIO信号線26上で衝突することなく、いずれのスレーブ側PKGに実装されているスレーブ側デバイスとの間のデータ通信も問題なく実施することができる。
図7のバスシステムの動作タイミングについて、図8のタイムチャートを用いてさらに説明する。図8は、図7のバスシステムの動作タイミングの一例を示すタイムチャートであり、マスター側デバイス10とスレーブ側デバイスとの間のデータを1本のSDIO信号線26によりピンポン伝送している状態を示している。なお、図8においても、図6の場合と同様、SS_ALL信号線21が常にEnable状態に固定されて、全スレーブ側PKGを選択している状態であり、Lowレベルに常に設定されている状態を示している。
図8のタイミングチャートに示すように、SS_ALL信号線21は、図6の場合と同様、常にEnable状態に固定されて、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13のいずれも、常に選択されている状態になっている。一方、送受信するデータの同期用クロックを供給するSCK信号線22から分岐して各スレーブ側デバイスに供給する第1SCK信号線221、第2SCK信号線222、第3SCK信号線223には、第1の実施形態の場合と同様に、8ビットシフトレジスタ15、8ビットシフトレジスタ16、および、SCK_(1/2)信号線25のシフト用クロックによって、マスター側デバイス10から出力される8ビットの同期用クロックを順次8ビットずつシフトして、順番に、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13に対する8ビットの同期用クロックとして出力されている。
したがって、第1スレーブ側PKG11、第2スレーブ側PKG12、第3スレーブ側PKG13それぞれに実装されているスレーブ側デバイスは、図8のSDIO信号線26に示すように、第1SCK信号線221、第2SCK信号線222、第3SCK信号線223からの8ビットの同期用クロックが供給するタイミングになった時点で、直ちに、マスター側デバイス10との間で、8ビット単位のデータをピンポン伝送モードで送受信することが可能になる。なお、SDIOO信号線26により送受信されるデータの転送方向は、マスター側デバイス10からのオペレーションコードおよび各スレーブ側デバイスのEEPROMの仕様によって決定される。
以上に説明したように、図7に示したバスシステムにおいては、データを送受信する信号線をSDIO信号線1本のみとすることによって、信号線の本数、コネクタ20のピン数を図1や図5のバスシステムの場合よりも削減することが可能になるとともに、図1や図5のバスシステムの場合と同様に、スレーブ側デバイスの増減の如何に関わらず、たとえ、マスター側デバイスと異なる基板上にスレーブ側デバイスが実装されるような場合であっても、コネクタを経由する信号線の本数が変更にならず、機能の追加等に柔軟に対応することが可能なバスシステムおよび情報処理機器を実現することができる。
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。