JP7265953B2 - 通信制御システムおよび情報処理装置 - Google Patents
通信制御システムおよび情報処理装置 Download PDFInfo
- Publication number
- JP7265953B2 JP7265953B2 JP2019136847A JP2019136847A JP7265953B2 JP 7265953 B2 JP7265953 B2 JP 7265953B2 JP 2019136847 A JP2019136847 A JP 2019136847A JP 2019136847 A JP2019136847 A JP 2019136847A JP 7265953 B2 JP7265953 B2 JP 7265953B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- controlled device
- bits
- bus
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
この発明は、通信制御システムおよび情報処理装置に関し、特に、主従関係にあるマスター側装置とスレーブ側装置との間でデータ通信を行う通信インタフェースに一組の通信経路を使用し、データの転送方向を切り替えて双方向のデータ通信を行うようにした通信制御システムと、双方向のデータ通信を行う一組の通信経路で接続されたマスター側装置とスレーブ側装置とを備えた情報処理装置に関する。
今日利用されているパソコンや携帯端末などの情報処理装置では、装置全体の動作を制御するCPUを備え、周辺デバイスであるメモリ、画像処理など特定機能を実行するための集積回路であるASIC(application specific integrated circuit)などと、CPUとを、所定のバスを介して接続し、CPUと周辺デバイスとの間で、双方向のデータ通信を行っている。
CPUと周辺デバイスとを接続するバスには、種々の形式の通信インタフェースが利用されているが、たとえば、高速通信が可能なSPI(Serial Peripheral Interface)バスが利用されている。
特に、1クロックで4ビットのデータを同時に送信可能なQuad SPI形式の通信インタフェースが利用されるようになってきた。
特に、1クロックで4ビットのデータを同時に送信可能なQuad SPI形式の通信インタフェースが利用されるようになってきた。
Quad SPI形式の通信インタフェースでは、たとえば、マスター側装置であるCPUと、スレーブ側装置であるASICとを、クロック信号線と、チップセレクト信号線と、データの送信経路である4本のデータ線からなる合計6本の信号線で接続し、4本のデータ線でデータの衝突が起こらないように、データの転送方向を切り替えて、CPUとASICとの間で双方向の通信(半二重通信)を行う。
すなわち、たとえば、4本のデータ線を介して、送信状態にあるマスター側装置から、受信状態にあるスレーブ側装置にデータの送信を行った後、少なくとも1クロックサイクル以上の所定の待ち時間を設けて両者の通信状態を切り替えて、マスター側装置が受信状態となり、スレーブ側装置が送信状態に切り替わった後に、スレーブ側装置から、マスター側装置にデータの送信を行う。
すなわち、たとえば、4本のデータ線を介して、送信状態にあるマスター側装置から、受信状態にあるスレーブ側装置にデータの送信を行った後、少なくとも1クロックサイクル以上の所定の待ち時間を設けて両者の通信状態を切り替えて、マスター側装置が受信状態となり、スレーブ側装置が送信状態に切り替わった後に、スレーブ側装置から、マスター側装置にデータの送信を行う。
また、特許文献1では、マスター側デバイスと、複数のスレーブ側デバイスとをSPIバス形式のバスシステムに接続し、データの同期用クロックを各スレーブ側デバイスへ供給するSCK信号線の構成を工夫し、各スレーブ側デバイスへ供給する同期用クロックのタイミングを、順次、所定ビット数ずつシフトさせて、同期用クロックが供給されている1つのスレーブ側デバイスとマスター側デバイスとの間でデータの送受信を行い、スレーブ側デバイスの数が増減しても信号線の本数を変更することがないバスシステムが提案されている。
しかし、SPIバスを利用した従来技術においては、データを送受信するデータ線でデータの衝突が起こらないように、データの転送方向を切り替えるために、少なくとも1クロックサイクル以上の所定の待ち時間を設けているので、スレーブ側デバイスとマスター側デバイスとの間のデータの転送効率が低下してしまう。
また、マスター側デバイスからの要求に応じて、スレーブ側デバイスのデバイス識別番号(デバイスID)や、スレーブ側デバイスのステータス情報をマスター側デバイスに送信する場合は、スレーブ側デバイスでは、その要求を受信した後、すぐにデバイス識別番号等を送信できる準備ができるにもかかわらず、上記した所定の待ち時間を設けるので、転送効率が低下する。
特許文献1のバスシステムでは、マスター側デバイスとスレーブ側デバイスとの間で送受信されるデータの衝突を防止する対策は考慮されておらず、双方向のピンポン伝送が可能な1本のみのSDIO信号線によりデータ通信を行う場合には、データ衝突が起こらないように、データの転送方向を切り替える際に、上記と同様な所定の待ち時間を設ける必要がある。
一方、所定の待ち時間を設けない場合や、待ち時間を短くした場合には、データの転送方向を切り替える際に、マスター側デバイスとスレーブ側デバイスとが、どちらも、データの送信状態となるタイミングが発生する可能性がある。
どちらもデータの送信状態となった場合、SPIバスの同じデータ線上に双方から出力される送信信号が衝突する。
どちらもデータの送信状態となった場合、SPIバスの同じデータ線上に双方から出力される送信信号が衝突する。
たとえば、SPIバスの同じデータ線に、マスター側デバイスがデータ「1」に相当する送信信号を出力し、スレーブ側デバイスがデータ「0」に相当する送信信号を出力した場合、送信信号の衝突が発生する。
このような衝突が発生した場合、データ「1」に相当する送信信号とデータ「0」に相当する送信信号の電圧レベルが異なるため、マスター側デバイスとスレーブ側デバイスのデータ出力用バッファ回路に、規格値以上の過電流が流れ、そのデータ出力用バッファ回路が破壊する可能性がある。
このような衝突が発生した場合、データ「1」に相当する送信信号とデータ「0」に相当する送信信号の電圧レベルが異なるため、マスター側デバイスとスレーブ側デバイスのデータ出力用バッファ回路に、規格値以上の過電流が流れ、そのデータ出力用バッファ回路が破壊する可能性がある。
したがって、マスター側デバイスとスレーブ側デバイスに規格値以上の過電流が流れることによりデータ出力用バッファ回路が破壊することなく、マスター側デバイスとスレーブ側デバイスとの間のデータの転送効率が低下しないようにすることが望ましい。
そこで、この発明は、以上のような事情を考慮してなされたものであり、主従関係にあるマスター側装置とスレーブ側装置との間でデータ通信を行う通信インタフェースにおいて、マスター側装置とスレーブ側装置とがともに、データの送信状態になるタイミングが発生したとしても、双方の装置のデータ出力用回路が破壊することなく、マスター側装置とスレーブ側装置の間におけるデータの転送効率が低下しないようにすることを課題とする。
この発明は、主従関係にある制御装置と被制御装置とをバスで接続し、バスの転送方向を切り替えて、制御装置と被制御装置との間の双方向通信を行う通信制御システムであって、前記制御装置から、n個(n>1)のビット数からなる所定の要求コマンドを、前記バスを介して前記被制御装置に送信した後、バスの転送方向を切り替えて、前記被制御装置から、m個(m>1)のビット数からなる前記要求コマンドに対応した返信データを、前記バスを介して前記制御装置に送信する場合、前記要求コマンドのうち、最後に送信されるa個(n>a>1)のビット数からなる第1のバイナリデータの内容と、前記返信データのうち、最初に送信されるb個(m>b>1)のビット数からなる第2のバイナリデータの内容とが同一の内容であることを特徴とする通信制御システムを提供するものである。
また、前記第1のバイナリデータの内容と、前記第2のバイナリデータの内容とが、同一電圧レベルの信号として、バスに出力されることを特徴とする。
また、前記第1のバイナリデータの内容と、前記第2のバイナリデータの内容とが、どちらも、複数のビット数からなる0に相当するバイナリデータであるか、あるいは、複数のビット数からなる1に相当するバイナリデータであることを特徴とする。
また、前記バスが、4本のデータ線を含むQuad SPI(Serial Peripheral Interface)バスであり、前記要求コマンドと、前記返信データは、4本のデータ線を介して、異なるタイミングで送信されることを特徴とする。
また、前記4本のデータ線を介して送信される要求コマンドのうち、最後に送信される少なくとも4ビット以上からなる前記第1のバイナリデータと、前記4本のデータ線を介して送信される前記返信データのうち、最初に送信される少なくとも4ビット以上からなる前記第2のバイナリデータとが、複数のビット数からなる0に相当するバイナリデータであるか、あるいは、複数のビット数からなる1に相当するバイナリデータであることを特徴とする。
また、前記被制御装置が、被制御装置を識別するためのデバイスIDを予め記憶し、前記制御装置から、前記デバイスIDを送信することを要求する情報を含む要求コマンドが被制御装置に送信された場合、前記被制御装置から、被制御装置のデバイスIDを含む返信データが制御装置に送信されることを特徴とする。
また、前記被制御装置が、被制御装置の動作状態を示す情報を記憶したステータスレジスタを備え、前記制御装置から、前記ステータスレジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置に送信された場合、前記被制御装置から、被制御装置のステータスレジスタに記憶されている情報を含む返信データが制御装置に送信されることを特徴とする。
また、前記被制御装置が、被制御装置の設定内容を示す情報を記憶した設定レジスタを備え、前記制御装置から、前記設定レジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置に送信された場合、前記被制御装置から、被制御装置の設定レジスタに記憶されている情報を含む返信データが制御装置に送信されることを特徴とする。
また、この発明は、上記したいずれかの通信制御システムを備えた情報処理装置を提供するものである。
また、この発明は、 制御装置と被制御装置とをバスで接続し、バスの転送方向を切り替えて、制御装置と被制御装置との間の双方向通信を行う通信制御システムの通信制御方法であって、前記制御装置が前記バスに所定のデータを送信可能な送信状態であり、前記被制御装置が前記バスから所定のデータを受信可能な受信状態である場合に、前記制御装置から、n個(n>1)のビット数からなる所定の要求コマンドを、前記バスを介して前記被制御装置に送信し、前記バスの転送方向を切り替えて、前記制御装置が受信状態となり、前記被制御装置が送信状態となった後、前記被制御装置から、m個(m>1)のビット数からなる前記要求コマンドに対応した返信データを、前記バスを介して前記制御装置に送信し、前記要求コマンドのうち、最後に送信されるa個(n>a>1)のビット数からなる第1のバイナリデータの内容と、前記返信データのうち、最初に送信されるb個(m>b>1)のビット数からなる第2のバイナリデータの内容とが同一の内容であることを特徴とする通信制御システムの通信制御方法を提供するものである。
この発明によれば、制御装置からn個(n>1)のビット数からなる所定の要求コマンドを被制御装置に送信した後、バスの転送方向を切り替えて、被制御装置からm個(m>1)のビット数からなる要求コマンドに対応した返信データを制御装置に送信する場合に、要求コマンドのうち最後に送信されるa個(n>a>1)のビット数からなる第1のバイナリデータの内容と、返信データのうち最初に送信されるb個(m>b>1)のビット数からなる第2のバイナリデータの内容とが同一の内容であるので、制御装置(マスター側装置)と被制御装置(スレーブ側装置)とがともに、データの送信状態になるタイミングが発生したとしても、制御装置(マスター側装置)と被制御装置(スレーブ側装置)の回路が破壊することを防止でき、制御装置(マスター側装置)と被制御装置(スレーブ側装置)の間におけるデータの転送効率が低下しないようにすることができる。
以下、図面を使用して本発明の実施の形態を説明する。なお、以下の実施例の記載によって、この発明が限定されるものではない。
この発明の通信制御システムは、主従関係にある制御装置(以下、マスター側装置、単にマスターとも呼ぶ)と、被制御装置(以下、スレーブ側装置、単にスレーブとも呼ぶ)とからなる。
制御装置と被制御装置とは、1組の通信経路を介して接続され、データの転送方向を切り替えて、双方向の通信を行うものであり、原則として、制御装置からの要求に基づいて、被制御装置が動作する。
この発明の通信制御システムは、主従関係にある制御装置(以下、マスター側装置、単にマスターとも呼ぶ)と、被制御装置(以下、スレーブ側装置、単にスレーブとも呼ぶ)とからなる。
制御装置と被制御装置とは、1組の通信経路を介して接続され、データの転送方向を切り替えて、双方向の通信を行うものであり、原則として、制御装置からの要求に基づいて、被制御装置が動作する。
1組の通信経路としては、たとえば、バスが利用できる。
バスを利用する場合、制御装置と被制御装置とをバスで接続し、バスの転送方向を切り替えて、制御装置と被制御装置との間の双方向通信を行う。
バスを利用する場合、制御装置と被制御装置とをバスで接続し、バスの転送方向を切り替えて、制御装置と被制御装置との間の双方向通信を行う。
また、制御装置と被制御装置は、情報処理装置に組み込まれ、情報処理装置は、この発明の通信制御システムを備える。
また、制御装置と被制御装置との間で、所定のデータ通信を行うことにより、情報処理装置の所定の機能を実行する。
制御装置は、主として、情報処理装置の全体の動作を制御するCPUと、内部バスを介して、外部の被制御装置などとデータ通信を行う通信回路を含む。
被制御装置は、主として、被制御装置が担当する機能を実行する制御回路と、内部バスを介して、外部の制御装置などとデータ通信を行う通信回路を含む。
被制御装置は、たとえば、ROM、RAM、フラッシュメモリなどの半導体記憶素子、特定の機能を実行するASIC、FPGA、CPLDなどに相当する。
情報処理装置は、たとえば、パソコン、携帯端末、画像形成装置、画像読取装置、デジタル複合機などに相当する。
また、制御装置と被制御装置との間で、所定のデータ通信を行うことにより、情報処理装置の所定の機能を実行する。
制御装置は、主として、情報処理装置の全体の動作を制御するCPUと、内部バスを介して、外部の被制御装置などとデータ通信を行う通信回路を含む。
被制御装置は、主として、被制御装置が担当する機能を実行する制御回路と、内部バスを介して、外部の制御装置などとデータ通信を行う通信回路を含む。
被制御装置は、たとえば、ROM、RAM、フラッシュメモリなどの半導体記憶素子、特定の機能を実行するASIC、FPGA、CPLDなどに相当する。
情報処理装置は、たとえば、パソコン、携帯端末、画像形成装置、画像読取装置、デジタル複合機などに相当する。
1組の通信経路は、後述するように、クロック等を転送する制御線と、データそのものを転送するデータ線からなるバスである。
データ線は、データの転送方向を切り替えて使用する信号ラインであり、データ線を介して、半二重通信を行うものとする。データ線は、1本の信号ラインでもよく、複数の信号ラインでもよい。
1組の通信経路の通信インタフェースの形態としては、現在利用されている種々の通信インタフェースが利用できる。
データ線は、データの転送方向を切り替えて使用する信号ラインであり、データ線を介して、半二重通信を行うものとする。データ線は、1本の信号ラインでもよく、複数の信号ラインでもよい。
1組の通信経路の通信インタフェースの形態としては、現在利用されている種々の通信インタフェースが利用できる。
たとえば、1組の通信経路として、上記したSPIバスや、データ線がオープンドレイン接続でない高速I2C、その他同期シリアルインターフェースなどを使用することができる。
SPIバスであっても、シングルモードのSPIバス、デュアルモードのSPIバス、QuadモードのSPIバスなどの通信インタフェースの形態が利用できる。
以下の実施例では、制御装置と被制御装置とを接続する1組の通信経路として、QuadモードのSPIバス(単に、QuadSPIとも呼ぶ)を使用するものとして説明する。
ただし、制御装置と被制御装置とを接続する1組の通信経路は、QuadSPIに限るものではない。
SPIバスであっても、シングルモードのSPIバス、デュアルモードのSPIバス、QuadモードのSPIバスなどの通信インタフェースの形態が利用できる。
以下の実施例では、制御装置と被制御装置とを接続する1組の通信経路として、QuadモードのSPIバス(単に、QuadSPIとも呼ぶ)を使用するものとして説明する。
ただし、制御装置と被制御装置とを接続する1組の通信経路は、QuadSPIに限るものではない。
<制御装置と被制御装置の接続形態>
図1に、この発明のSPIを利用した通信制御システムの一実施例の説明図を示す。
図1(a)に、制御装置と被制御装置との接続に、SPIバスを利用した接続形態の通信制御システムの概略説明図を示す。
制御装置(マスター)1は、主として、制御部11と、マスター通信部12と、制御部11とマスター通信部12を接続する内部バス13を備えるものとする。
被制御装置(スレーブ)2は、主として、被制御部22と、スレーブ通信部21と、被制御部22とスレーブ通信部21を接続する内部バス23を備えるものとする。
また、制御装置1と被制御装置2とは、SPIバスを介して接続され、SPIバスは、制御線31と、データ線32とからなるものとする。
図1に、この発明のSPIを利用した通信制御システムの一実施例の説明図を示す。
図1(a)に、制御装置と被制御装置との接続に、SPIバスを利用した接続形態の通信制御システムの概略説明図を示す。
制御装置(マスター)1は、主として、制御部11と、マスター通信部12と、制御部11とマスター通信部12を接続する内部バス13を備えるものとする。
被制御装置(スレーブ)2は、主として、被制御部22と、スレーブ通信部21と、被制御部22とスレーブ通信部21を接続する内部バス23を備えるものとする。
また、制御装置1と被制御装置2とは、SPIバスを介して接続され、SPIバスは、制御線31と、データ線32とからなるものとする。
制御部11は、制御装置1全体の動作を制御する部分である。
マスター通信部12は、SPIバスを介して被制御装置2と通信を行う部分であり、被制御装置2に対してデータを送信するデータ送信用回路、被制御装置2から転送されてきたデータを受信するデータ受信用回路、データの転送方向を切り替える切替回路などからなる。
被制御部22は、被制御装置全体の動作を制御する部分であり、被制御装置2が担当する機能を実行する。
スレーブ通信部21は、SPIバスを介して制御装置1と通信を行う部分であり、制御装置1に対してデータを送信するデータ送信用回路、制御装置1から転送されてきたデータを受信するデータ受信用回路、データの転送方向を切り替える切替回路などからなる。
マスター通信部12は、SPIバスを介して被制御装置2と通信を行う部分であり、被制御装置2に対してデータを送信するデータ送信用回路、被制御装置2から転送されてきたデータを受信するデータ受信用回路、データの転送方向を切り替える切替回路などからなる。
被制御部22は、被制御装置全体の動作を制御する部分であり、被制御装置2が担当する機能を実行する。
スレーブ通信部21は、SPIバスを介して制御装置1と通信を行う部分であり、制御装置1に対してデータを送信するデータ送信用回路、制御装置1から転送されてきたデータを受信するデータ受信用回路、データの転送方向を切り替える切替回路などからなる。
制御線31は、クロックを伝送するCLK信号線と、制御対象のデバイスを選択するチップセレクト信号を伝送するCS信号線とからなる。
データ線32には、制御線31に伝送されるクロックに同期させて、バイナリデータが送信される。
バイナリデータは、0と1で表される2進数のデータであり、SPIバスを介して送信される情報は、2値化され、0と1を組み合わせた所定のビット数のバイナリデータで送信される。
0に相当するバイナリデータと、1に相当するバイナリデータとは、異なる電圧レベルを持つ信号として、SPIバスに出力される。
データ線32には、制御線31に伝送されるクロックに同期させて、バイナリデータが送信される。
バイナリデータは、0と1で表される2進数のデータであり、SPIバスを介して送信される情報は、2値化され、0と1を組み合わせた所定のビット数のバイナリデータで送信される。
0に相当するバイナリデータと、1に相当するバイナリデータとは、異なる電圧レベルを持つ信号として、SPIバスに出力される。
制御装置1と被制御装置2との間で通信される情報には種々のものがあるが、以下の実施形態では、制御装置1から被制御装置2に送信される情報を、要求コマンドと称し、
被制御装置2から制御装置1に送信される情報を、返信データと称して説明する。
返信データは、主として、要求コマンドに対応した情報であり、制御装置1に送信することを要求された情報である。
ただし、両者の装置間で通信される情報は、要求コマンドや返信データと称されるものに限るものではない。
被制御装置2から制御装置1に送信される情報を、返信データと称して説明する。
返信データは、主として、要求コマンドに対応した情報であり、制御装置1に送信することを要求された情報である。
ただし、両者の装置間で通信される情報は、要求コマンドや返信データと称されるものに限るものではない。
たとえば、制御装置1がバスであるSPIバスに所定のデータを送信可能な送信状態であり、被制御装置2がSPIバスから所定のデータを受信可能な受信状態である場合に、制御装置1から、n個(n>1)のビット数からなる所定の要求コマンドを、SPIバスを介して被制御装置2に送信する。
その後、SPIバスの転送方向を切り替えて、制御装置1が受信状態となり、被制御装置2が送信状態となった後、被制御装置2から、m個(m>1)のビット数からなる要求コマンドに対応した返信データを、バスを介して制御装置1に送信する。
その後、SPIバスの転送方向を切り替えて、制御装置1が受信状態となり、被制御装置2が送信状態となった後、被制御装置2から、m個(m>1)のビット数からなる要求コマンドに対応した返信データを、バスを介して制御装置1に送信する。
このような要求コマンドと返信データの送受信が行われる場合、この発明では、要求コマンドのうち、最後に送信されるa個(n>a>1)のビット数からなる第1のバイナリデータの内容と、返信データのうち、最初に送信されるb個(m>b>1)のビット数からなる第2のバイナリデータの内容とを同一の内容とする。
たとえば、第1のバイナリデータの内容と第2のバイナリデータの内容を、それぞれ複数のビット数からなる0に相当するバイナリデータとする。
ビット数を4ビットとすると、第1のバイナリデータの内容と第2のバイナリデータの内容を、「0000」とする。
たとえば、第1のバイナリデータの内容と第2のバイナリデータの内容を、それぞれ複数のビット数からなる0に相当するバイナリデータとする。
ビット数を4ビットとすると、第1のバイナリデータの内容と第2のバイナリデータの内容を、「0000」とする。
あるいは、第1のバイナリデータの内容と第2のバイナリデータの内容を、それぞれ複数のビット数からなる1に相当するバイナリデータとする。
ビット数を4ビットとすると、第1のバイナリデータの内容と第2のバイナリデータの内容を、「1111」とする。
ビット数を4ビットとすると、第1のバイナリデータの内容と第2のバイナリデータの内容を、「1111」とする。
要求コマンドのうち第1のバイナリデータの内容と、返信データのうち第2のバイナリデータの内容とが同一の内容であるので、どちらも、同一電圧レベルの信号として、バスであるSPIバスに出力される。
後述するように、SPIバスに出力された要求コマンドの第1のバイナリデータと、SPIバスに出力された返信データの第2のバイナリデータが、SPIバスで衝突したとしても、第1のバイナリデータと第2のバイナリデータのどちらも、同一電圧レベルの信号としてSPIバスに出力されているので、制御装置1と被制御装置2の回路に、規格値以上の過電流が流れることはなく、破壊されることを防止できる。
なお、この発明では、SPIバスの転送方向を切り替える場合に、所定の待ち時間を設ける必要はない。たとえば、制御装置1において、要求コマンドの送信を完了した後、待ち時間を設けることなく、SPIバスの転送方向を受信状態に切り替えればよい。したがって、転送方向の切替時に待ち時間を設けないので、転送効率が低下することはない。
なお、この発明では、SPIバスの転送方向を切り替える場合に、所定の待ち時間を設ける必要はない。たとえば、制御装置1において、要求コマンドの送信を完了した後、待ち時間を設けることなく、SPIバスの転送方向を受信状態に切り替えればよい。したがって、転送方向の切替時に待ち時間を設けないので、転送効率が低下することはない。
図1(b)に、制御装置と被制御装置との接続に、QuadSPIバスを利用した接続形態の通信制御システムの概略説明図を示す。
QuadSPIバスは、4本のデータ線を含むバスである。
ここでは、図1(a)に示したSPIバスの制御線31とデータ線32を、QuadSPIバスで使用する信号線で表したものである。
QuadSPIバスでは、制御線31は、クロックを伝送するCLK信号線(以下、単に、CLKとも呼ぶ)と、制御対象のデバイスを選択するチップセレクト信号を伝送するCS信号線(以下、単に、CSとも呼ぶ)とからなる。
QuadSPIバスは、4本のデータ線を含むバスである。
ここでは、図1(a)に示したSPIバスの制御線31とデータ線32を、QuadSPIバスで使用する信号線で表したものである。
QuadSPIバスでは、制御線31は、クロックを伝送するCLK信号線(以下、単に、CLKとも呼ぶ)と、制御対象のデバイスを選択するチップセレクト信号を伝送するCS信号線(以下、単に、CSとも呼ぶ)とからなる。
クロックとチップセレクト信号は、常に、制御装置1から被制御装置2に伝送される。
また、データ線32は、データを転送する4本の信号線(DQ0、DQ1、DQ2、DQ3)からなり、双方向にデータを転送可能な信号線である。
4本の信号線(DQ0、DQ1、DQ2、DQ3)を利用し、1クロックサイクルで、4ビットのデータを転送することができる。
また、データ線32は、データを転送する4本の信号線(DQ0、DQ1、DQ2、DQ3)からなり、双方向にデータを転送可能な信号線である。
4本の信号線(DQ0、DQ1、DQ2、DQ3)を利用し、1クロックサイクルで、4ビットのデータを転送することができる。
また、上記した要求コマンドと、返信データは、4本のデータ線32を介して、異なるタイミングで送信される。
バスとして、QuadSPIバスを利用する場合は、4本のデータ線を介して送信される要求コマンドのうち、最後に送信される少なくとも4ビット以上からなる第1のバイナリデータと、4本のデータ線を介して送信される返信データのうち、最初に送信される少なくとも4ビット以上からなる第2のバイナリデータとが、複数のビット数からなる0に相当するバイナリデータであるか、あるいは、複数のビット数からなる1に相当するバイナリデータとする。
バスとして、QuadSPIバスを利用する場合は、4本のデータ線を介して送信される要求コマンドのうち、最後に送信される少なくとも4ビット以上からなる第1のバイナリデータと、4本のデータ線を介して送信される返信データのうち、最初に送信される少なくとも4ビット以上からなる第2のバイナリデータとが、複数のビット数からなる0に相当するバイナリデータであるか、あるいは、複数のビット数からなる1に相当するバイナリデータとする。
制御装置1と被制御装置2の構成は、図1(a)と同一であり、制御装置1の制御部(CPU)11と、マスター通信部(SPI-M)12とが、内部バス(BUS-M)13で接続され、被制御装置2の被制御部(CNT)22と、スレーブ通信部(SPI-S)21とが、内部バス(BUS-S)23で接続されている。
たとえば、図示しないマスター通信部(SPI-M)12のデータ送信用回路がアクティブに設定され、図示しないスレーブ通信部(SPI-S)21のデータ受信用回路がアクティブに設定されている状態で、CS信号線に被制御装置2を選択するチップセレクト信号が伝送されている場合に、所定の4ビット単位のデータが、CLK信号線に出力されているクロックに同期したタイミングで、4本の信号線(DQ0、DQ1、DQ2、DQ3)を介して、制御装置1から被制御装置2に転送される。
たとえば、図示しないマスター通信部(SPI-M)12のデータ送信用回路がアクティブに設定され、図示しないスレーブ通信部(SPI-S)21のデータ受信用回路がアクティブに設定されている状態で、CS信号線に被制御装置2を選択するチップセレクト信号が伝送されている場合に、所定の4ビット単位のデータが、CLK信号線に出力されているクロックに同期したタイミングで、4本の信号線(DQ0、DQ1、DQ2、DQ3)を介して、制御装置1から被制御装置2に転送される。
逆に、図示しないマスター通信部(SPI-M)12のデータ受信用回路がアクティブに設定され、図示しないスレーブ通信部(SPI-S)21のデータ送信用回路がアクティブに設定されている状態で、CS信号線に被制御装置2を選択するチップセレクト信号が伝送されている場合に、所定の4ビット単位のデータが、CLK信号線に出力されているクロックに同期したタイミングで、4本の信号線(DQ0、DQ1、DQ2、DQ3)を介して、被制御装置2から制御装置1に転送される。
また、図示しないマスター通信部(SPI-M)12のデータ送信用回路がアクティブに設定され、図示しないスレーブ通信部(SPI-S)21のデータ送信用回路がアクティブに設定されている状態となった場合、制御装置1と被制御装置2のどちらも、送信状態となっているので、同時に互いにデータを転送すると、データ線32の4本の信号線で衝突が発生し、転送データは、正確に伝送できなくなる。
特に、データ線32のうち同一の信号線(たとえば、DQ0)において、制御装置1から「1」に相当する送信信号が出力され、被制御装置2から「0」に相当する送信信号が出力された場合、その信号線DQ0で衝突が発生し、さらに、アクティブに設定されているどちらか一方または両方のデータ送信用回路に、規格値以上の過電流が流れ、データ送信用回路が破壊される可能性がある。
また、同様に、データ線32のうち同一の信号線DQ0において、制御装置1から「0」に相当する送信信号が出力され、被制御装置2から「1」に相当する送信信号が出力された場合も、その信号線DQ0で衝突が発生し、どちらか一方または両方のデータ送信用回路に、規格値以上の過電流が流れ、データ送信用回路が破壊される可能性がある。
すなわち、データ線32のうち同一の信号線で、異なる電圧レベルを持つ送信信号が送信されて衝突が発生した場合、データ送信用回路に規格値以上の過電流が流れて、データ送信用回路が破壊される可能性がある。
すなわち、データ線32のうち同一の信号線で、異なる電圧レベルを持つ送信信号が送信されて衝突が発生した場合、データ送信用回路に規格値以上の過電流が流れて、データ送信用回路が破壊される可能性がある。
なお、制御装置1と被制御装置2から同じ電圧レベルを持つ送信信号が同時に送信された場合、同様にデータの衝突が発生するが、双方のデータ送信用回路に規格値以上の過電流が流れることはなく、データ送信用回路が破壊される可能性はない。また、この時、データは相手側に正確に送信される。
すなわち、制御装置1と被制御装置2の双方から、「1」に相当する送信信号が同時に出力された場合と、「0」に相当する送信信号が同時に出力された場合は、データの衝突が発生するが、データ送信用回路に規格値以上の過電流が流れることはなく、データ送信用回路が破壊されることはない。
すなわち、制御装置1と被制御装置2の双方から、「1」に相当する送信信号が同時に出力された場合と、「0」に相当する送信信号が同時に出力された場合は、データの衝突が発生するが、データ送信用回路に規格値以上の過電流が流れることはなく、データ送信用回路が破壊されることはない。
<制御装置の構成>
図2に、この発明の制御装置(マスター側装置)の一実施例の構成ブロック図を示す。
ここでは、制御装置(マスター)1は、上記した制御部(CPU)11とマスター通信部(SPI-M)12に加え、内部バス(BUS-M)13に接続された記憶部50を備えたものを示している。
また、QuadSPIバスの6つの信号線にそれぞれ接続する6つの接続端子からなる接続部14を備え、マスター通信部12のデータ送信用回路とデータ受信用回路は、接続部14に接続される。
図2に、この発明の制御装置(マスター側装置)の一実施例の構成ブロック図を示す。
ここでは、制御装置(マスター)1は、上記した制御部(CPU)11とマスター通信部(SPI-M)12に加え、内部バス(BUS-M)13に接続された記憶部50を備えたものを示している。
また、QuadSPIバスの6つの信号線にそれぞれ接続する6つの接続端子からなる接続部14を備え、マスター通信部12のデータ送信用回路とデータ受信用回路は、接続部14に接続される。
記憶部50は、データを一時的に記憶するメモリであり、たとえば、RAMやフラッシュメモリなどのデータの読み書きが可能な半導体記憶素子や、その他の記憶媒体が用いられる。ただし、記憶部50は、制御部11の内部に備えてもよい。
記憶部50には、被制御装置2に転送するデータや、被制御装置2から送信されてきたデータなど、種々のデータが記憶されるが、たとえば、被制御装置2に転送した要求データ(要求コマンド)に応答して、被制御装置2から取得したデバイスID51,ステータスレジスタ情報52、設定レジスタ情報53などが、返信データとして記憶される。
記憶部50には、被制御装置2に転送するデータや、被制御装置2から送信されてきたデータなど、種々のデータが記憶されるが、たとえば、被制御装置2に転送した要求データ(要求コマンド)に応答して、被制御装置2から取得したデバイスID51,ステータスレジスタ情報52、設定レジスタ情報53などが、返信データとして記憶される。
デバイスID51は、被制御装置2を一意的に識別するための識別番号である。
ステータスレジスタ情報52は、被制御装置2に備えられたステータスレジスタに記憶されている情報である。
ステータスレジスタには、被制御装置2の動作状態を示す情報が記憶され、たとえば、被制御装置2の内部アクセス中BUSYステータス、IDLEステータス、不正なアクセス検出ステータスなどの情報が記憶されている。
設定レジスタ情報53は、被制御装置2に備えられた設定レジスタに記憶されている情報である。
設定レジスタには、被制御装置2の設定内容を示す情報が記憶され、たとえば、被制御装置2のアクセス空間切り替え設定、バーストアクセス数設定、アクセス遅延量設定などの情報が記憶されている。
ステータスレジスタ情報52は、被制御装置2に備えられたステータスレジスタに記憶されている情報である。
ステータスレジスタには、被制御装置2の動作状態を示す情報が記憶され、たとえば、被制御装置2の内部アクセス中BUSYステータス、IDLEステータス、不正なアクセス検出ステータスなどの情報が記憶されている。
設定レジスタ情報53は、被制御装置2に備えられた設定レジスタに記憶されている情報である。
設定レジスタには、被制御装置2の設定内容を示す情報が記憶され、たとえば、被制御装置2のアクセス空間切り替え設定、バーストアクセス数設定、アクセス遅延量設定などの情報が記憶されている。
マスター通信部12は、QuadSPIバスを介して被制御装置2と通信を行う部分であるが、機能的なブロックに分けると、主として、データ送信部15、データ受信部16、衝突防止データ生成部17から構成される。
データ送信部15は、被制御装置2に送信するデータを組み立て、そのデータに相当する送信信号をQuadSPIバスに出力するデータ送信用回路を含む部分である。
上記したように、制御装置1から被制御装置2へは、要求コマンドが送信されるが、要求コマンドには、たとえば、被制御装置2にデバイスIDを送信することを要求する情報、
被制御装置2のステータスレジスタに記憶されている情報を送信することを要求する情報、
被制御装置2の設定レジスタに記憶されている情報を送信することを要求する情報などが含まれる。
上記したように、制御装置1から被制御装置2へは、要求コマンドが送信されるが、要求コマンドには、たとえば、被制御装置2にデバイスIDを送信することを要求する情報、
被制御装置2のステータスレジスタに記憶されている情報を送信することを要求する情報、
被制御装置2の設定レジスタに記憶されている情報を送信することを要求する情報などが含まれる。
データ受信部16は、QuadSPIバスを介して送信されてきた信号を受信して、受信データを取得するデータ受信用回路を含む部分である。
上記したように、制御装置1から被制御装置2に要求コマンドを送信した後、被制御装置2から送信された返信データを受信する。
上記したように、制御装置1から被制御装置2に要求コマンドを送信した後、被制御装置2から送信された返信データを受信する。
たとえば、デバイスIDを送信することを要求する要求コマンドが被制御装置2に送信された場合、被制御装置2のデバイスIDを含む返信データを受信する。
また、ステータスレジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置2に送信された場合、被制御装置2のステータスレジスタに記憶されている情報を含む返信データを受信する。
設定レジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置2に送信された場合、被制御装置2の設定レジスタに記憶されている情報を含む返信データを受信する。
また、ステータスレジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置2に送信された場合、被制御装置2のステータスレジスタに記憶されている情報を含む返信データを受信する。
設定レジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置2に送信された場合、被制御装置2の設定レジスタに記憶されている情報を含む返信データを受信する。
衝突防止データ生成部17は、制御装置1の通信状態を、送信状態から受信状態に切り替える場合に、所定ビット数の意味ある一連のデータの最後のデータとして転送される衝突防止データを生成し、データ送信部15に与える部分である。
衝突防止データは、たとえば、4ビットのデータ「0000」であり、各ビットデータ「0」は、4つのデータ線(DQ0~DQ3)に、同じタイミングで出力される。
衝突防止データは、たとえば、4ビットのデータ「0000」であり、各ビットデータ「0」は、4つのデータ線(DQ0~DQ3)に、同じタイミングで出力される。
制御装置1で生成される衝突防止データが、4ビットのデータ「0000」である場合、後述する被制御装置2で生成される衝突防止データも、同じ4ビットのデータ「0000」である。
すなわち、制御装置1から出力される衝突防止データと、被制御装置2から出力される衝突防止データを、同一の電圧レベルを持つ同一のビット構成のデータ(信号値)とする。
すなわち、制御装置1から出力される衝突防止データと、被制御装置2から出力される衝突防止データを、同一の電圧レベルを持つ同一のビット構成のデータ(信号値)とする。
このように、制御装置1と被制御装置2から出力される衝突防止データを、同一のビット構成のデータ(信号値)とするのは、後述するように、制御装置1と被制御装置2とがどちらも送信状態となった場合に、双方から出力される衝突防止データ同士が、QuadSPIバス上で衝突する可能性があるが、衝突防止データ同士が衝突しても、規格値以上の電流がデータ送信用回路に流れてデータ送信用回路を破壊することがないようにするためである。
また、衝突防止データとしては、同一のビット構成のデータ(信号値)であればよいので、4ビットのデータ「1111」であってもよく、各ビットデータ「1」は、4つのデータ線(DQ0~DQ3)に、同じタイミングで出力される。
ただし、制御装置1で生成される衝突防止データが、4ビットのデータ「1111」である場合、後述する被制御装置2で生成される衝突防止データも、同じ4ビットのデータ「1111」である。
したがって、衝突防止データとして、「0000」を利用するか、あるいは「1111」を利用するかを、制御装置1と被制御装置2で、予め統一しておく。
ただし、制御装置1で生成される衝突防止データが、4ビットのデータ「1111」である場合、後述する被制御装置2で生成される衝突防止データも、同じ4ビットのデータ「1111」である。
したがって、衝突防止データとして、「0000」を利用するか、あるいは「1111」を利用するかを、制御装置1と被制御装置2で、予め統一しておく。
なお、QuadSPIバスを利用する通信制御システムでは、衝突防止データのビット数は、4ビットに限るものではなく、8ビットなど、4の整数倍であればよい。ただし、転送効率の点からは、衝突防止データのビット数は短い方がよいので、4ビットが最も好ましい。
<被制御装置の構成>
図3に、この発明の被制御装置(スレーブ側装置)の一実施例の構成ブロック図を示す。
ここでは、被制御装置(スレーブ)2は、上記した被制御部(CNT)22とスレーブ通信部(SPI-S)21に加え、内部バス(BUS-S)23に接続された記憶部70を備えたものを示している。記憶部70には、ステータスレジスタと設定レジスタが含まれる。
また、QuadSPIバスの6つの信号線にそれぞれ接続する6つの接続端子からなる接続部24を備え、スレーブ通信部(SPI-S)21のデータ送信用回路とデータ受信用回路は、接続部24に接続される。
図3に、この発明の被制御装置(スレーブ側装置)の一実施例の構成ブロック図を示す。
ここでは、被制御装置(スレーブ)2は、上記した被制御部(CNT)22とスレーブ通信部(SPI-S)21に加え、内部バス(BUS-S)23に接続された記憶部70を備えたものを示している。記憶部70には、ステータスレジスタと設定レジスタが含まれる。
また、QuadSPIバスの6つの信号線にそれぞれ接続する6つの接続端子からなる接続部24を備え、スレーブ通信部(SPI-S)21のデータ送信用回路とデータ受信用回路は、接続部24に接続される。
記憶部70は、データを記憶するメモリであり、たとえば、RAMやフラッシュメモリなどのデータの読み書きが可能な半導体記憶素子や、その他の記憶媒体が用いられる。ただし、記憶部70は、被制御部(CNT)22の内部に備えてもよい。
記憶部70には、制御装置1に転送するデータや、制御装置1から送信されてきたデータなど、種々のデータが記憶されるが、たとえば、上記したように、被制御装置固有のデバイスID71,ステータスレジスタ情報72、設定レジスタ情報73などが記憶される。
デバイスID71は,予め設定されて変更されることのないデータであるが、ステータスレジスタ情報72と設定レジスタ情報73は、被制御装置2の動作状況によって変化する。
記憶部70には、制御装置1に転送するデータや、制御装置1から送信されてきたデータなど、種々のデータが記憶されるが、たとえば、上記したように、被制御装置固有のデバイスID71,ステータスレジスタ情報72、設定レジスタ情報73などが記憶される。
デバイスID71は,予め設定されて変更されることのないデータであるが、ステータスレジスタ情報72と設定レジスタ情報73は、被制御装置2の動作状況によって変化する。
スレーブ通信部(SPI-S)21は、QuadSPIバスを介して制御装置1と通信を行う部分であるが、機能的なブロックに分けると、マスター通信部12と同様に、主として、データ送信部25、データ受信部26、衝突防止データ生成部27から構成される。
データ送信部25は、制御装置1に送信するデータを組み立て、そのデータに相当する送信信号をQuadSPIバスに出力するデータ送信用回路を含む部分である。
データ受信部26は、QuadSPIバスを介して送信されてきた信号を受信して、受信データを取得するデータ受信用回路を含む部分である。
データ送信部25は、制御装置1に送信するデータを組み立て、そのデータに相当する送信信号をQuadSPIバスに出力するデータ送信用回路を含む部分である。
データ受信部26は、QuadSPIバスを介して送信されてきた信号を受信して、受信データを取得するデータ受信用回路を含む部分である。
上記したように、制御装置1から被制御装置2に要求コマンドが送信された場合、被制御装置2から制御装置1に、その要求コマンドに対応した返信データが送信される。
たとえば、制御装置1からデバイスIDを送信することを要求する要求コマンドが受信された場合、被制御装置2から、被制御装置2のデバイスIDを含む返信データが制御装置1に送信される。
たとえば、制御装置1からデバイスIDを送信することを要求する要求コマンドが受信された場合、被制御装置2から、被制御装置2のデバイスIDを含む返信データが制御装置1に送信される。
また、制御装置1からステータスレジスタに記憶されている情報を送信することを要求する要求コマンドが受信された場合、被制御装置2から、被制御装置2のステータスレジスタに記憶されている情報を含む返信データが制御装置1に送信される。
制御装置1から設定レジスタに記憶されている情報を送信することを要求する要求コマンドが受信された場合、被制御装置2から、被制御装置2の設定レジスタに記憶されている情報を含む返信データが制御装置1に送信される。
制御装置1から設定レジスタに記憶されている情報を送信することを要求する要求コマンドが受信された場合、被制御装置2から、被制御装置2の設定レジスタに記憶されている情報を含む返信データが制御装置1に送信される。
衝突防止データ生成部27は、被制御装置2の通信状態を、受信状態から送信状態に切り替える場合に、所定ビット数の意味ある一連のデータの最初のデータとして転送される衝突防止データを生成し、データ送信部25に与える部分である。
被制御装置2から出力される衝突防止データは、上記したように、制御装置1から出力される衝突防止データと同一の電圧レベルを持つ同一のビット構成のデータ(信号値)とする。
被制御装置2から出力される衝突防止データは、上記したように、制御装置1から出力される衝突防止データと同一の電圧レベルを持つ同一のビット構成のデータ(信号値)とする。
たとえば、制御装置1から出力される衝突防止データが4ビットのデータ「0000」である場合、被制御装置2から出力される衝突防止データも4ビットのデータ「0000」であり、各ビットデータ「0」は、4つのデータ線(DQ0~DQ3)に、同じタイミングで出力される。
あるいは、制御装置1から出力される衝突防止データが4ビットのデータ「1111」である場合、被制御装置2から出力される衝突防止データも4ビットのデータ「1111」であり、各ビットデータ「1」は、4つのデータ線(DQ0~DQ3)に、同じタイミングで出力される。
あるいは、制御装置1から出力される衝突防止データが4ビットのデータ「1111」である場合、被制御装置2から出力される衝突防止データも4ビットのデータ「1111」であり、各ビットデータ「1」は、4つのデータ線(DQ0~DQ3)に、同じタイミングで出力される。
<衝突が発生しない場合の通信タイミングの説明>
図4に、制御装置と被制御装置で衝突が発生しない場合の通信タイミングなどの一実施例の説明図を示す。
ここで説明する通信タイミングは、従来技術のQuadSPIバスを介したデータ通信の
通信タイミングであり、データの転送方向を切り替える場合に、所定の待ち時間T0を設けた通信タイミングである。
図4に、制御装置と被制御装置で衝突が発生しない場合の通信タイミングなどの一実施例の説明図を示す。
ここで説明する通信タイミングは、従来技術のQuadSPIバスを介したデータ通信の
通信タイミングであり、データの転送方向を切り替える場合に、所定の待ち時間T0を設けた通信タイミングである。
図4(a)は、被制御装置2が記憶デバイスであり、制御装置1がその記憶デバイスに記憶されているデータを読み出す場合に、衝突が発生しないデータの読み出しタイミングの例を示している。
図4(a)において、DQ[3:0]は、4つのデータ線(DQ0~DQ3)をまとめて記載したものである。
図4(b)は、衝突が発生しない場合のデータの通信シーケンスの概略を示している。
図4(a)において、DQ[3:0]は、4つのデータ線(DQ0~DQ3)をまとめて記載したものである。
図4(b)は、衝突が発生しない場合のデータの通信シーケンスの概略を示している。
まず、初期状態として、制御装置(マスター)1が送信状態にあり、被制御装置(スレーブ)2が受信状態にあるとする。
このとき、制御装置(マスター)1において、被制御装置(スレーブ)2である記憶デバイスに記憶されているデータを読み出すイベントが発生した場合、制御装置(マスター)1が、データの読出要求を意味するコマンドを、QuadSPIバスに出力する。
コマンドは、読出要求コマンドCMと、読み出すデータが記憶されている読出アドレスADとからなる。
このとき、制御装置(マスター)1において、被制御装置(スレーブ)2である記憶デバイスに記憶されているデータを読み出すイベントが発生した場合、制御装置(マスター)1が、データの読出要求を意味するコマンドを、QuadSPIバスに出力する。
コマンドは、読出要求コマンドCMと、読み出すデータが記憶されている読出アドレスADとからなる。
制御装置(マスター)1から出力された読出要求コマンドCMと読出アドレスADからなるコマンドが、被制御装置(スレーブ)2に受信されると、被制御装置(スレーブ)2では、読出アドレスADに格納されているデータ(読出データDT)を読み出す。
制御装置(マスター)1では、コマンドを出力した後、所定の待ち時間T0が経過する間に、送信状態から受信状態に切り替える。
一方、被制御装置(スレーブ)2では、読出アドレスADを受信した後、所定の待ち時間T0が経過する間に、上記のようにデータを読み出し、受信状態から送信状態に切り替える。
このように、所定の待ち時間T0の間に、データの転送方向が切り替えられた後に、被制御装置(スレーブ)2から、制御装置(マスター)1に、要求されたアドレスに記憶されていたデータ(読出データDT)が送信される。
制御装置(マスター)1では、コマンドを出力した後、所定の待ち時間T0が経過する間に、送信状態から受信状態に切り替える。
一方、被制御装置(スレーブ)2では、読出アドレスADを受信した後、所定の待ち時間T0が経過する間に、上記のようにデータを読み出し、受信状態から送信状態に切り替える。
このように、所定の待ち時間T0の間に、データの転送方向が切り替えられた後に、被制御装置(スレーブ)2から、制御装置(マスター)1に、要求されたアドレスに記憶されていたデータ(読出データDT)が送信される。
QuadSPIバスを介したデータ通信では、1クロックサイクルごとに、4ビットのデータが送信される。
図4(a)では、コマンドCMの部分は、2クロックサイクルで送信されるので、コマンドCMのビット数は8ビットである。読出アドレスADの部分は、4クロックサイクルで送信されるので、読出アドレスADのビット数は16ビットである。読出データDTは4クロックサイクルで送信されるので、読み出されたデータDTのビット数は16ビットである場合を示している。
ただし、それぞれのビット数は、上記のものに限るものではない。
また、図4(a)では、データの転送方向を切り替えるときの待ち時間T0として、2クロックサイクルの時間を設けている。
図4(a)では、コマンドCMの部分は、2クロックサイクルで送信されるので、コマンドCMのビット数は8ビットである。読出アドレスADの部分は、4クロックサイクルで送信されるので、読出アドレスADのビット数は16ビットである。読出データDTは4クロックサイクルで送信されるので、読み出されたデータDTのビット数は16ビットである場合を示している。
ただし、それぞれのビット数は、上記のものに限るものではない。
また、図4(a)では、データの転送方向を切り替えるときの待ち時間T0として、2クロックサイクルの時間を設けている。
したがって、待ち時間T0を設けた場合、制御装置(マスター)1と被制御装置(スレーブ)2とが、同時に、送信状態となることはないので、QuadSPIバスでの衝突は起こらない。
ただし、被制御装置(スレーブ)2において、読出データDTの読み出しが完了し、読出データDTを出力する準備が早くできたとしても、待ち時間T0として設けられた2クロックサイクルが経過した後に、読出データDTの送信が行われるので、送信タイミングが遅延することになる。
ただし、被制御装置(スレーブ)2において、読出データDTの読み出しが完了し、読出データDTを出力する準備が早くできたとしても、待ち時間T0として設けられた2クロックサイクルが経過した後に、読出データDTの送信が行われるので、送信タイミングが遅延することになる。
<待ち時間T0を設けずにデバイスIDを読み出す場合の通信タイミングの説明>
被制御装置(スレーブ)のデバイスIDを読み出す場合も、上記のように、データの転送方向を切り替える場合に、待ち時間T0を設ければ、QuadSPIバスでの衝突は起こらないようにすることができる。
ここでは、待ち時間T0を設けずに、被制御装置(スレーブ)のデバイスIDを読み出した場合に、QuadSPIバスで衝突が起こらない通信タイミングと、衝突が起こる通信タイミングがあることを示す。
被制御装置(スレーブ)のデバイスIDを読み出す場合も、上記のように、データの転送方向を切り替える場合に、待ち時間T0を設ければ、QuadSPIバスでの衝突は起こらないようにすることができる。
ここでは、待ち時間T0を設けずに、被制御装置(スレーブ)のデバイスIDを読み出した場合に、QuadSPIバスで衝突が起こらない通信タイミングと、衝突が起こる通信タイミングがあることを示す。
図5に、被制御装置のデバイスIDを読み出す場合の通信タイミングの一実施例の説明図を示す。
図5では、2クロックサイクルの間に、制御装置(マスター)から、ビット数が8ビットのデバイスID読出コマンドが、4ビットずつ2回に分けて出力される。
その後、待ち時間T0を待たずに、4クロックサイクルの間に、被制御装置(スレーブ)から、ビット数が16ビットのデバイスIDが、4ビットずつ4回に分けて出力される。
図5では、2クロックサイクルの間に、制御装置(マスター)から、ビット数が8ビットのデバイスID読出コマンドが、4ビットずつ2回に分けて出力される。
その後、待ち時間T0を待たずに、4クロックサイクルの間に、被制御装置(スレーブ)から、ビット数が16ビットのデバイスIDが、4ビットずつ4回に分けて出力される。
制御装置(マスター)の転送方向の切替タイミングと、被制御装置(スレーブ)の転送方向の切替タイミングとが、ほぼ同時であり、制御装置(マスター)と被制御装置(スレーブ)が同時に送信状態となるタイミングが無ければ、衝突は発生しない。
しかし、両者の転送方向の切替タイミングがずれ、制御装置(マスター)と被制御装置(スレーブ)が同時に送信状態となるタイミングが生じた場合は、デバイスID読出コマンドの後半の4ビットデータと、デバイスIDの最初の4ビットデータとの間で、衝突が発生する可能性がある。
しかし、両者の転送方向の切替タイミングがずれ、制御装置(マスター)と被制御装置(スレーブ)が同時に送信状態となるタイミングが生じた場合は、デバイスID読出コマンドの後半の4ビットデータと、デバイスIDの最初の4ビットデータとの間で、衝突が発生する可能性がある。
(衝突が発生しない場合の通信タイミング)
図6に、制御装置と被制御装置で衝突が発生しない場合の通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図6(a)では、クロックの立ち下がりタイミングT1と、QuadSPIバスの4つのデータ線DQ[3:0]の信号状態(電圧レベル)の変化を示している。
たとえば、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT1で、信号値「1」のデータを送信していた状態から、ハイインピーダンス(以下、Hi-Zと呼ぶ)の受信状態に変化する。このとき、データ線DQ[3:0]の電圧レベルが、「1」の送信状態から、Hi-Zの受信状態に変化するまでに、わずかの遅延時間がある。
図6に、制御装置と被制御装置で衝突が発生しない場合の通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図6(a)では、クロックの立ち下がりタイミングT1と、QuadSPIバスの4つのデータ線DQ[3:0]の信号状態(電圧レベル)の変化を示している。
たとえば、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT1で、信号値「1」のデータを送信していた状態から、ハイインピーダンス(以下、Hi-Zと呼ぶ)の受信状態に変化する。このとき、データ線DQ[3:0]の電圧レベルが、「1」の送信状態から、Hi-Zの受信状態に変化するまでに、わずかの遅延時間がある。
また、Hi-Zの受信状態にあった被制御装置(スレーブ)側のデータ線DQ[3:0]において、Hi-Zの受信状態から、たとえば、信号値「0」のデータを送信する状態に変化するタイミングが、図6(a)に示すように、上記の制御装置(マスター)においてHi-Zの受信状態に変化したタイミングよりも遅かったとする。
この場合、データ線DQ[3:0]において、マスターとスレーブの両者が、どちらも同時に、ハイインピーダンス(Hi-Z)となるタイミングが生じるが、信号値「0」のデータと信号値「1」のデータを同時に出力するタイミングは生じない。
すなわち、データ線DQ[3:0]において、信号値「0」のデータと信号値「1」のデータは衝突しない。
この場合、データ線DQ[3:0]において、マスターとスレーブの両者が、どちらも同時に、ハイインピーダンス(Hi-Z)となるタイミングが生じるが、信号値「0」のデータと信号値「1」のデータを同時に出力するタイミングは生じない。
すなわち、データ線DQ[3:0]において、信号値「0」のデータと信号値「1」のデータは衝突しない。
図6(b)では、図6(a)に示すように衝突が発生しない場合の通信シーケンスの概略説明図を示す。
図6(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「1」のコマンドが送信されると、スレーブにおいて、この信号値「1」のコマンドが受信される。
マスターでは、信号値「1」のコマンドを送信した後、データの転送方向を切り替え、受信状態(Hi-Z)にする。
一方、スレーブでは、信号値「1」のコマンドを受信した後、データの転送方向を切り替え、送信状態にする。
図6(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「1」のコマンドが送信されると、スレーブにおいて、この信号値「1」のコマンドが受信される。
マスターでは、信号値「1」のコマンドを送信した後、データの転送方向を切り替え、受信状態(Hi-Z)にする。
一方、スレーブでは、信号値「1」のコマンドを受信した後、データの転送方向を切り替え、送信状態にする。
このとき、マスターにおける受信状態(Hi-Z)になるタイミングが、スレーブにおける送信状態になるタイミングよりも、早い場合は、データ線DQ[3:0]で衝突は発生せず、その後、スレーブから信号値「0」のデータが出力された場合、マスターにおいて、この信号値「0」のデータが受信される。
すなわち、データの転送方向を切り替えるタイミングで、待ち時間T0を設けなくても衝突が発生しない場合もある。しかし、以下に示すように、待ち時間T0を設けない場合は、衝突が発生する場合がありうる。
すなわち、データの転送方向を切り替えるタイミングで、待ち時間T0を設けなくても衝突が発生しない場合もある。しかし、以下に示すように、待ち時間T0を設けない場合は、衝突が発生する場合がありうる。
(衝突が発生する場合の通信タイミング)
図7に、制御装置と被制御装置で衝突が発生する場合の通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図7(a)では、図6(a)と同様に、クロックの立ち下がりタイミングT1と、QuadSPIバスの4つのデータ線DQ[3:0]の信号状態(電圧レベル)の変化を示している。
図7に、制御装置と被制御装置で衝突が発生する場合の通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図7(a)では、図6(a)と同様に、クロックの立ち下がりタイミングT1と、QuadSPIバスの4つのデータ線DQ[3:0]の信号状態(電圧レベル)の変化を示している。
ただし、図7(a)では、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT1からわずかに遅れたタイミングで、信号値「1」のデータを送信していた状態から、ハイインピーダンス(以下、Hi-Zと呼ぶ)の受信状態に変化したとする。
このとき、データ線DQ[3:0]の電圧レベルが、「1」の送信状態から、Hi-Zの受信状態に変化するまでに、さらに、わずかの遅延時間がある。
このとき、データ線DQ[3:0]の電圧レベルが、「1」の送信状態から、Hi-Zの受信状態に変化するまでに、さらに、わずかの遅延時間がある。
また、Hi-Zの受信状態にあった被制御装置(スレーブ)側のデータ線DQ[3:0]において、Hi-Zの受信状態から、たとえば、信号値「0」のデータを送信する状態に変化するタイミングが、図7(a)に示すように、クロックの立ち下がりタイミングT1とほぼ同じタイミングであり、上記の制御装置(マスター)においてHi-Zの受信状態に変化したタイミングよりも早かったとする。
この場合、データ線DQ[3:0]において、マスターとスレーブの両者が、どちらも同時に、ハイインピーダンス(Hi-Z)となるタイミングが生じず、マスターから信号値「1」のデータを出力するタイミングと、スレーブから信号値「0」のデータを出力するタイミングが、重複するタイミングが生じる。
すなわち、データ線DQ[3:0]において、信号値「0」のデータと信号値「1」のデータの衝突が発生する。
すなわち、データ線DQ[3:0]において、信号値「0」のデータと信号値「1」のデータの衝突が発生する。
図7(b)では、図7(a)に示すように衝突が発生する場合の通信シーケンスの概略説明図を示す。
図7(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「1」のコマンドが送信されると、スレーブにおいて、この信号値「1」のコマンドが受信される。
マスターでは、信号値「1」のコマンドを送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「1」のコマンドを受信した後、データの転送方向を切り替え、送信状態にし、ただちに信号値「0」のデータを送信したとする。
このとき、スレーブが、送信状態になり信号値「0」のデータを送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
図7(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「1」のコマンドが送信されると、スレーブにおいて、この信号値「1」のコマンドが受信される。
マスターでは、信号値「1」のコマンドを送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「1」のコマンドを受信した後、データの転送方向を切り替え、送信状態にし、ただちに信号値「0」のデータを送信したとする。
このとき、スレーブが、送信状態になり信号値「0」のデータを送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
このように、マスターにおける受信状態(Hi-Z)になるタイミングが、スレーブにおける送信状態になるタイミングよりも遅く、マスターからの信号値「1」のコマンドの送信状態と、スレーブからの信号値「0」のデータの送信状態とが重複した場合、衝突が発生する。
信号値「1」の出力と信号値「0」の出力とが衝突した場合、電圧レベルの高いほうから、電圧レベルの低いほうに向かって過電流が流れることになり、規格値以上の過電流が流れた側のデータ送信用回路が、破壊される場合もある。
信号値「1」の出力と信号値「0」の出力とが衝突した場合、電圧レベルの高いほうから、電圧レベルの低いほうに向かって過電流が流れることになり、規格値以上の過電流が流れた側のデータ送信用回路が、破壊される場合もある。
ただし、データの転送方向を切り替えるタイミングにおいて、マスターとスレーブが同時に送信状態となるタイミングが発生した場合において、双方から、同じ信号値の電圧レベルを出力した場合は、データの衝突が発生するが、規格値以上の過電流が流れ込むことはなく、データ送信用回路が破壊されることもない。
すなわち、マスターとスレーブから、同時に信号値「1」の電圧レベルを出力するタイミング、あるいは、同時に信号値「0」の電圧レベルを出力するタイミングが発生して、データの衝突が発生した場合は、データ送信用回路が破壊されることもない。
すなわち、マスターとスレーブから、同時に信号値「1」の電圧レベルを出力するタイミング、あるいは、同時に信号値「0」の電圧レベルを出力するタイミングが発生して、データの衝突が発生した場合は、データ送信用回路が破壊されることもない。
そこで、この発明では、以下に示すように、データの転送効率が低下するのを防止する観点から、データの転送方向を切り替えるタイミングにおいて、待ち時間T0を設けないが、その切替タイミングで衝突する可能性のある部分におけるマスターから出力されるデータの構成とスレーブから出力されるデータの構成を、同じ電圧レベルを持つ信号値に固定的に設定する。これにより、マスター通信部12とスレーブ通信部21におけるデータ送信用回路が破壊されることを防止することができる。
<実施例1:この発明において、デバイスIDを読み出す場合の通信タイミングの説明>
図8に、被制御装置に記憶されたデバイスIDを読み出す場合の読み出しタイミングと、制御装置および被制御装置から送信されるデータ内容の一実施例の説明図を示す。
図8に示したデバイスIDの読み出しタイミングは、図5に示した読み出しタイミングとほぼ同じものであるが、出力されるコマンドとデバイスIDの一部分のデータ構成を固定的に設定している。
図8に、被制御装置に記憶されたデバイスIDを読み出す場合の読み出しタイミングと、制御装置および被制御装置から送信されるデータ内容の一実施例の説明図を示す。
図8に示したデバイスIDの読み出しタイミングは、図5に示した読み出しタイミングとほぼ同じものであるが、出力されるコマンドとデバイスIDの一部分のデータ構成を固定的に設定している。
図8でも、2クロックサイクルの間に、制御装置(マスター)から、ビット数が8ビットのデバイスID読出コマンドが、4ビットずつ2回に分けて出力される。
すなわち、デバイスID読出コマンドは、先に出力される上位4ビットのデータCOM1と、
後に出力される下位4ビットのデータCOM2とから構成される。
また、図8(a)に示すように、デバイスID読出コマンドの下位4ビットのデータCOM2は、「0000」に固定的に設定する。
この固定的に設定されたデータCOM2「0000」が、衝突防止データに相当する。
すなわち、デバイスID読出コマンドは、先に出力される上位4ビットのデータCOM1と、
後に出力される下位4ビットのデータCOM2とから構成される。
また、図8(a)に示すように、デバイスID読出コマンドの下位4ビットのデータCOM2は、「0000」に固定的に設定する。
この固定的に設定されたデータCOM2「0000」が、衝突防止データに相当する。
一方、被制御装置(スレーブ)では、デバイスID読出コマンドを受信すると、4クロックサイクルの間に、被制御装置(スレーブ)から、ビット数が16ビットのデバイスIDが、4ビットずつ4回に分けて出力される。
すなわち、デバイスIDは、それぞれ4ビット構成の4つのデータ(DT1、DT2、DT3、DT4)から構成される。
また、図8(a)に示すように、スレーブから最初に出力されるデバイスIDの上位4ビットのデータDT1は、「0000」に固定的に設定する。
この固定的に設定されたデータDT1「0000」も、衝突防止データに相当する。
すなわち、デバイスIDは、それぞれ4ビット構成の4つのデータ(DT1、DT2、DT3、DT4)から構成される。
また、図8(a)に示すように、スレーブから最初に出力されるデバイスIDの上位4ビットのデータDT1は、「0000」に固定的に設定する。
この固定的に設定されたデータDT1「0000」も、衝突防止データに相当する。
ここでは、データ線DQ[3:0]で衝突する可能性のあるデバイスID読出コマンドの下位4ビットのデータCOM2と、デバイスIDの上位4ビットのデータDT1とが、同じ電圧レベルの信号値「0000」である。
データの転送方向の切替時において、データ線DQ[3:0]で衝突が発生したとしても、
同じ電圧レベルの信号値「0000」同士の衝突なので、データ送信用回路が破壊されることを防止できる。
データの転送方向の切替時において、データ線DQ[3:0]で衝突が発生したとしても、
同じ電圧レベルの信号値「0000」同士の衝突なので、データ送信用回路が破壊されることを防止できる。
あるいは、マスターから最後に出力されるデバイスID読出コマンドの下位4ビットのデータCOM2と、スレーブから最初に出力されるデバイスIDの上位4ビットのデータDT1は、同じ電圧レベルの信号値であれば、データ送信用回路が破壊されることはない。
したがって、図8(b)に示すように、デバイスID読出コマンドの下位4ビットのデータCOM2と、デバイスIDの上位4ビットのデータDT1とを、「1111」に固定的に設定してもよい。
したがって、図8(b)に示すように、デバイスID読出コマンドの下位4ビットのデータCOM2と、デバイスIDの上位4ビットのデータDT1とを、「1111」に固定的に設定してもよい。
(デバイスIDを読み出す場合に、衝突が発生するが、過電流は流れない通信タイミングの説明)
図9に、この発明において、衝突が発生するが、過電流は流れない通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図8に示したように、デバイスIDの読み出しタイミングにおいて、デバイスID読出コマンドの下位4ビットのデータCOM2と、デバイスIDの上位4ビットのデータDT1とが衝突する可能性があるが、衝突する可能性があるデータCOM2とデータDT1は、どちらも、たとえば同じ電圧レベルの信号値「0000」である。
図9に、この発明において、衝突が発生するが、過電流は流れない通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図8に示したように、デバイスIDの読み出しタイミングにおいて、デバイスID読出コマンドの下位4ビットのデータCOM2と、デバイスIDの上位4ビットのデータDT1とが衝突する可能性があるが、衝突する可能性があるデータCOM2とデータDT1は、どちらも、たとえば同じ電圧レベルの信号値「0000」である。
図9(a)では、図7(a)と同様に、クロックの立ち下がりタイミングT2と、QuadSPIバスの4つのデータ線DQ[3:0]の信号状態(電圧レベル)の変化を示している。
ただし、図9(a)では、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT2からわずかに遅れたタイミングで、信号値「0」のデータを送信していた状態から、ハイインピーダンス(Hi-Z)の受信状態に変化したとする。
このとき、データ線DQ[3:0]の電圧レベルが、「0」の送信状態から、Hi-Zの受信状態に変化するまでに、さらに、わずかの遅延時間がある。
ただし、図9(a)では、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT2からわずかに遅れたタイミングで、信号値「0」のデータを送信していた状態から、ハイインピーダンス(Hi-Z)の受信状態に変化したとする。
このとき、データ線DQ[3:0]の電圧レベルが、「0」の送信状態から、Hi-Zの受信状態に変化するまでに、さらに、わずかの遅延時間がある。
また、Hi-Zの受信状態にあった被制御装置(スレーブ)側のデータ線DQ[3:0]において、Hi-Zの受信状態から、信号値「0」のデータを送信する状態に変化するタイミングが、図9(a)に示すように、クロックの立ち下がりタイミングT2とほぼ同じタイミングであり、上記の制御装置(マスター)においてHi-Zの受信状態に変化したタイミングよりも早かったとする。
この場合、データ線DQ[3:0]において、マスターとスレーブの両者が、どちらも同時に、ハイインピーダンス(Hi-Z)となるタイミングが生じず、マスターから信号値「0」のデータを出力するタイミングと、スレーブから信号値「0」のデータを出力するタイミングが、重複するタイミングが生じる。
すなわち、データ線DQ[3:0]において、信号値「0」のデータCOM2と、信号値「0」のデータDT1の衝突が発生する。
すなわち、データ線DQ[3:0]において、信号値「0」のデータCOM2と、信号値「0」のデータDT1の衝突が発生する。
図9(b)では、図9(a)に示すように衝突が発生する場合の通信シーケンスの概略説明図を示す。
図9(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「0」の下位4ビットのコマンドCOM2が送信されると、スレーブにおいて、この信号値「0」のコマンドCOM2が受信される。
マスターでは、信号値「0」のコマンドCOM2を送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「0」のコマンドCOM2を受信した後、データの転送方向を切り替え、送信状態にし、ただちに信号値「0」の返信データを送信したとする。
すなわち、デバイスIDの最初の上位4ビットの返信データDT1を送信したとする。
このとき、スレーブが、送信状態になり信号値「0」の返信データDT1を送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
図9(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「0」の下位4ビットのコマンドCOM2が送信されると、スレーブにおいて、この信号値「0」のコマンドCOM2が受信される。
マスターでは、信号値「0」のコマンドCOM2を送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「0」のコマンドCOM2を受信した後、データの転送方向を切り替え、送信状態にし、ただちに信号値「0」の返信データを送信したとする。
すなわち、デバイスIDの最初の上位4ビットの返信データDT1を送信したとする。
このとき、スレーブが、送信状態になり信号値「0」の返信データDT1を送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
このように、マスターにおける受信状態(Hi-Z)になるタイミングが、スレーブにおける送信状態になるタイミングよりも遅く、マスターからの信号値「0」のコマンドCOM2の送信状態と、スレーブからの信号値「0」のデータDT1の送信状態とが重複した場合、衝突が発生する。
信号値「0」のコマンドCOM2の出力と信号値「0」のデータDT1の出力とが衝突した場合、両者の出力値は、同じ電圧レベルであるので、データの衝突が発生しても、規格値以上の過電流がデータ送信用回路に流れ込むことはなく、データ送信用回路が破壊されることもない。
信号値「0」のコマンドCOM2の出力と信号値「0」のデータDT1の出力とが衝突した場合、両者の出力値は、同じ電圧レベルであるので、データの衝突が発生しても、規格値以上の過電流がデータ送信用回路に流れ込むことはなく、データ送信用回路が破壊されることもない。
(デバイスIDを読み出す場合に、衝突が発生する通信タイミングの説明)
図10に、この発明において、被制御装置に記憶されたデバイスIDを読み出すコマンドと、デバイスIDデータと、衝突が発生するが過電流は流れない通信シーケンスの一実施例の概略説明図を示す。
図10(a)に、デバイスID読み出しコマンドIDCMDの一実施例のデータ構成を示す。
このコマンドIDCMDは、8ビット(C0~C7)のデータであるが、上位4ビット(C4~C7)が、デバイスIDの読み出し要求を意味する情報「0111」であり、下位4ビット(C0~C3)が、「0000」に固定された衝突防止データである。
図10に、この発明において、被制御装置に記憶されたデバイスIDを読み出すコマンドと、デバイスIDデータと、衝突が発生するが過電流は流れない通信シーケンスの一実施例の概略説明図を示す。
図10(a)に、デバイスID読み出しコマンドIDCMDの一実施例のデータ構成を示す。
このコマンドIDCMDは、8ビット(C0~C7)のデータであるが、上位4ビット(C4~C7)が、デバイスIDの読み出し要求を意味する情報「0111」であり、下位4ビット(C0~C3)が、「0000」に固定された衝突防止データである。
図10(b)に、デバイスIDデータIDDTの一実施例のデータ構成を示す。
このデバイスIDデータIDDTは、16ビット(D0~D15)のデータであるが、上位4ビットDT1の部分(D12~D15)が、「0000」に固定された衝突防止データであり、下位の12ビット(DT2、DT3、DT4)の部分(D0~D11)が、デバイスIDの情報である。
なお、コマンドIDCMDの下位4ビット(C0~C3)と、デバイスIDデータIDDTの上位4ビットDT1の部分(D12~D15)を、「1111」に固定された衝突防止データとしてもよい。
このデバイスIDデータIDDTは、16ビット(D0~D15)のデータであるが、上位4ビットDT1の部分(D12~D15)が、「0000」に固定された衝突防止データであり、下位の12ビット(DT2、DT3、DT4)の部分(D0~D11)が、デバイスIDの情報である。
なお、コマンドIDCMDの下位4ビット(C0~C3)と、デバイスIDデータIDDTの上位4ビットDT1の部分(D12~D15)を、「1111」に固定された衝突防止データとしてもよい。
図10(c)に、データ「0」で衝突が発生するが過電流は流れない通信シーケンスの一実施例の概略説明図をを示す。
図10(c)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にあったとする。
この状態で、最初の1クロックサイクルで、マスターから信号値「0111」のデバイスID読み出しコマンドの上位4ビットCOM1が送信されると、スレーブにおいて、このコマンドの上位4ビットCOM1「0111」が受信される。
図10(c)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にあったとする。
この状態で、最初の1クロックサイクルで、マスターから信号値「0111」のデバイスID読み出しコマンドの上位4ビットCOM1が送信されると、スレーブにおいて、このコマンドの上位4ビットCOM1「0111」が受信される。
また、次の1クロックサイクルで、マスターから信号値「0000」のデバイスID読み出しコマンドの下位4ビットCOM2が送信されると、スレーブにおいて、このコマンドの下位4ビットCOM2「0000」が受信される。
マスターでは、信号値「0000」のコマンドの下位4ビットCOM2を送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
マスターでは、信号値「0000」のコマンドの下位4ビットCOM2を送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「0000」の下位4ビットCOM2を受信した後、データの転送方向を切り替え、送信状態にし、ただちに信号値「0000」のデバイスIDの上位4ビットDT1を送信したとする。
このとき、スレーブが、送信状態になり信号値「0000」のデータDT1を送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
このとき、スレーブが、送信状態になり信号値「0000」のデータDT1を送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
このように、マスターにおける受信状態(Hi-Z)になるタイミングが、スレーブにおける送信状態になるタイミングよりも遅く、マスターからの信号値「0000」のコマンドCOM2の送信状態と、スレーブからの信号値「0000」のデータDT1の送信状態とが重複した場合、データの信号値「0000」で、衝突が発生する。
信号値「0000」のコマンドCOM2の出力と信号値「0000」のデータDT1の出力とが衝突した場合、両者の出力値は、同じ電圧レベルであるので、データの衝突が発生しても、規格値以上の過電流がデータ送信用回路に流れ込むことはなく、データ送信用回路が破壊されることもない。
信号値「0000」のコマンドCOM2の出力と信号値「0000」のデータDT1の出力とが衝突した場合、両者の出力値は、同じ電圧レベルであるので、データの衝突が発生しても、規格値以上の過電流がデータ送信用回路に流れ込むことはなく、データ送信用回路が破壊されることもない。
その後、マスターが受信状態(Hi-Z)に切り替わった場合、送信状態にあるスレーブから、デバイスIDのそれ以降のデータ(DT2からDT4)が送信されれば、マスターにおいて、それ以降のデータ(DT2からDT4)が受信される。
最初の信号値「0000」のデータDT1は、マスターとスレーブの出力が衝突するタイミングが存在するが、同じ電圧レベルであるため、マスターは正しく受信することができる。
最初の信号値「0000」のデータDT1は、マスターとスレーブの出力が衝突するタイミングが存在するが、同じ電圧レベルであるため、マスターは正しく受信することができる。
図15に、この発明において、被制御装置に記憶されたデバイスIDを送信するデータ出力用回路の一実施例の説明図を示す。
このデータ出力用回路は、上記した16ビットのデバイスID(D0からD15)を、4ビットずつ出力するシフトレジスタで構成されている。
たとえば、シフトレジスタは、16個のDフリップフロップからなり、図15に示すように接続して、16ビットのデバイスID(D0からD15)を、4ビットごとに分けて、Dフリップフロップに入力し、その後、クロックCLKの立ち下がりエッジに同期して、順次、4ビットごとのデータが、QuadSPIバスの4つのデータ線DQ[3:0]に出力され、マスターに送信される。
図15では、IDDataの[12]から[15]までの4ビットに対応する信号値が、0として出力され、データDT1に相当する。
このデータ出力用回路は、上記した16ビットのデバイスID(D0からD15)を、4ビットずつ出力するシフトレジスタで構成されている。
たとえば、シフトレジスタは、16個のDフリップフロップからなり、図15に示すように接続して、16ビットのデバイスID(D0からD15)を、4ビットごとに分けて、Dフリップフロップに入力し、その後、クロックCLKの立ち下がりエッジに同期して、順次、4ビットごとのデータが、QuadSPIバスの4つのデータ線DQ[3:0]に出力され、マスターに送信される。
図15では、IDDataの[12]から[15]までの4ビットに対応する信号値が、0として出力され、データDT1に相当する。
(デバイスIDを読み出す場合に、衝突が発生しない通信タイミングの説明)
図11に、この発明において、衝突が発生しない場合の通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図11に、この発明において、衝突が発生しない場合の通信タイミングと通信シーケンスの一実施例の概略説明図を示す。
図11(a)では、図9(a)と同様に、クロックの立ち下がりタイミングT2と、QuadSPIバスの4つのデータ線DQ[3:0]の信号状態(電圧レベル)の変化を示している。
ただし、図11(a)では、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT2で、信号値「0」のデータを送信していた状態から、ハイインピーダンス(Hi-Z)の受信状態に変化したとする。
このとき、データ線DQ[3:0]の電圧レベルが、「0」の送信状態から、Hi-Zの受信状態に変化するまでに、わずかの遅延時間がある。
ただし、図11(a)では、制御装置(マスター)側のデータ線DQ[3:0]では、立ち下がりタイミングT2で、信号値「0」のデータを送信していた状態から、ハイインピーダンス(Hi-Z)の受信状態に変化したとする。
このとき、データ線DQ[3:0]の電圧レベルが、「0」の送信状態から、Hi-Zの受信状態に変化するまでに、わずかの遅延時間がある。
また、Hi-Zの受信状態にあった被制御装置(スレーブ)側のデータ線DQ[3:0]において、Hi-Zの受信状態から、信号値「0」のデータを送信する状態に変化するタイミングが、図11(a)に示すように、クロックの立ち下がりタイミングT2からわずかに遅れたタイミングで、上記の制御装置(マスター)においてHi-Zの受信状態に変化したタイミングよりも遅かったとする。
この場合、データ線DQ[3:0]において、マスターとスレーブの両者が、どちらも同時に、ハイインピーダンス(Hi-Z)となるタイミングが生じる。また、マスターから信号値「0」のデータを出力するタイミングと、スレーブから信号値「0」のデータを出力するタイミングは、重複しない。
すなわち、データ線DQ[3:0]において、信号値「0」のデータCOM2と、信号値「0」のデータDT1の衝突は発生しない。
すなわち、データ線DQ[3:0]において、信号値「0」のデータCOM2と、信号値「0」のデータDT1の衝突は発生しない。
図11(b)では、図11(a)に示すように衝突が発生しない場合の通信シーケンスの概略説明図を示す。
図11(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「0」の下位4ビットのコマンドCOM2が送信されると、スレーブにおいて、この信号値「0」のコマンドCOM2が受信される。
マスターでは、信号値「0」のコマンドCOM2を送信した後、すぐに、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
図11(b)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にある場合に、マスターから信号値「0」の下位4ビットのコマンドCOM2が送信されると、スレーブにおいて、この信号値「0」のコマンドCOM2が受信される。
マスターでは、信号値「0」のコマンドCOM2を送信した後、すぐに、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「0」のコマンドCOM2を受信した後、データの転送方向を切り替え、送信状態にし、信号値「0」のデータを送信したとする。すなわち、デバイスIDの最初の上位4ビットのデータDT1を送信したとする。
このとき、スレーブが送信状態になり信号値「0」のデータDT1を送信したタイミングが、マスターが受信状態(Hi-Z)になった後であったとする。
このとき、スレーブが送信状態になり信号値「0」のデータDT1を送信したタイミングが、マスターが受信状態(Hi-Z)になった後であったとする。
このように、マスターにおける受信状態(Hi-Z)になるタイミングが、スレーブにおける送信状態になるタイミングよりも早く、マスターとスレーブが、どちらも同時に、ハイインピーダンス(Hi-Z)となるタイミングが生じ、マスターからの信号値「0」のコマンドCOM2の送信状態と、スレーブからの信号値「0」のデータDT1の送信状態とが重複しない場合、衝突が発生しない。
衝突が発生しない場合は、マスターからの信号値「0」のコマンドCOM2と、スレーブからの信号値「0」のデータDT1とは、正常に受信される。
衝突が発生しない場合は、マスターからの信号値「0」のコマンドCOM2と、スレーブからの信号値「0」のデータDT1とは、正常に受信される。
<実施例2:この発明において、ステータスレジスタを読み出す場合の通信タイミングの説明>
図12に、この発明において、被制御装置に記憶されたステータスレジスタを読み出す場合の読み出しタイミングと、制御装置および被制御装置から送信されるデータ内容の一実施例の説明図を示す。
図12の読み出しタイミングは、マスターからステータスレジスタ読出コマンドが出力され、このコマンドを受信したスレーブから、ステータスレジスタの内容が出力されるものである。
図12に、この発明において、被制御装置に記憶されたステータスレジスタを読み出す場合の読み出しタイミングと、制御装置および被制御装置から送信されるデータ内容の一実施例の説明図を示す。
図12の読み出しタイミングは、マスターからステータスレジスタ読出コマンドが出力され、このコマンドを受信したスレーブから、ステータスレジスタの内容が出力されるものである。
図12では、2クロックサイクルの間に、制御装置(マスター)から、ビット数が8ビットのステータスレジスタ読出コマンドが、4ビットずつ2回に分けて出力される。
すなわち、ステータスレジスタ読出コマンドは、先に出力される上位4ビットのデータCOM1と、後に出力される下位4ビットのデータCOM2とから構成される。
また、図12(a)に示すように、ステータスレジスタ読出コマンドの下位4ビットのデータCOM2は、「0000」に固定的に設定する。
この固定的に設定されたデータCOM2「0000」が、衝突防止データに相当する。
すなわち、ステータスレジスタ読出コマンドは、先に出力される上位4ビットのデータCOM1と、後に出力される下位4ビットのデータCOM2とから構成される。
また、図12(a)に示すように、ステータスレジスタ読出コマンドの下位4ビットのデータCOM2は、「0000」に固定的に設定する。
この固定的に設定されたデータCOM2「0000」が、衝突防止データに相当する。
一方、被制御装置(スレーブ)では、ステータスレジスタ読出コマンドを受信すると、2クロックサイクルの間に、被制御装置(スレーブ)から、ビット数が8ビットのステータスレジスタ情報が、4ビットずつ2回に分けて出力される。
すなわち、ステータスレジスタ情報は、それぞれ4ビット構成の2つのデータ(ST1、ST2)から構成される。
また、図12(a)に示すように、スレーブから最初に出力されるステータスレジスタ情報の上位4ビットのデータST1は、「0000」に固定的に設定する。
この固定的に設定されたデータST1「0000」も、衝突防止データに相当する。
すなわち、ステータスレジスタ情報は、それぞれ4ビット構成の2つのデータ(ST1、ST2)から構成される。
また、図12(a)に示すように、スレーブから最初に出力されるステータスレジスタ情報の上位4ビットのデータST1は、「0000」に固定的に設定する。
この固定的に設定されたデータST1「0000」も、衝突防止データに相当する。
ここでは、データ線DQ[3:0]で衝突する可能性のあるステータスレジスタ読出コマンドの下位4ビットのデータCOM2と、ステータスレジスタ情報の上位4ビットのデータST1とが、同じ電圧レベルの信号値「0000」である。
データの転送方向の切替時において、データ線DQ[3:0]で衝突が発生したとしても、
同じ電圧レベルの信号値「0000」同士の衝突なので、データ送信用回路が破壊されることを防止できる。
データの転送方向の切替時において、データ線DQ[3:0]で衝突が発生したとしても、
同じ電圧レベルの信号値「0000」同士の衝突なので、データ送信用回路が破壊されることを防止できる。
あるいは、マスターから最後に出力されるステータスレジスタ読出コマンドの下位4ビットのデータCOM2と、スレーブから最初に出力されるステータスレジスタ情報の上位4ビットのデータST1は、同じ電圧レベルの信号値であれば、データ送信用回路が破壊されることはない。
したがって、図12(b)に示すように、ステータスレジスタ読出コマンドの下位4ビットのデータCOM2と、ステータスレジスタ情報の上位4ビットのデータST1とを、「1111」に固定的に設定してもよい。
したがって、図12(b)に示すように、ステータスレジスタ読出コマンドの下位4ビットのデータCOM2と、ステータスレジスタ情報の上位4ビットのデータST1とを、「1111」に固定的に設定してもよい。
(ステータスレジスタを読み出す場合に、衝突が発生する通信タイミングの説明)
図13に、この発明において、被制御装置に記憶されたステータスレジスタを読み出すコマンドと、ステータスレジスタデータと、衝突が発生するが過電流は流れない通信シーケンスの一実施例の概略説明図を示す。
図13(a)に、ステータスレジスタ読み出しコマンドSTCMDの一実施例のデータ構成を示す。
このコマンドSTCMDは、8ビット(C0~C7)のデータであるが、上位4ビット(C4~C7)が、ステータスレジスタの読み出し要求を意味する情報「0100」であり、下位4ビット(C0~C3)が、「0000」に固定された衝突防止データである。
図13に、この発明において、被制御装置に記憶されたステータスレジスタを読み出すコマンドと、ステータスレジスタデータと、衝突が発生するが過電流は流れない通信シーケンスの一実施例の概略説明図を示す。
図13(a)に、ステータスレジスタ読み出しコマンドSTCMDの一実施例のデータ構成を示す。
このコマンドSTCMDは、8ビット(C0~C7)のデータであるが、上位4ビット(C4~C7)が、ステータスレジスタの読み出し要求を意味する情報「0100」であり、下位4ビット(C0~C3)が、「0000」に固定された衝突防止データである。
図13(b)に、ステータスレジスタデータSTDTの一実施例のデータ構成を示す。
このステータスレジスタデータSTDTは、8ビット(S0~S7)のデータであるが、上位4ビットST1の部分(S4~S7)が、「0000」に固定された衝突防止データであり、下位の4ビットST2の部分「1001」(S0~S3)が、ステータスレジスタ情報である。
なお、コマンドSTCMDの下位4ビット(C0~C3)と、ステータスレジスタデータSTDTの上位4ビットST1の部分(S4~S7)を、「1111」に固定された衝突防止データとしてもよい。
このステータスレジスタデータSTDTは、8ビット(S0~S7)のデータであるが、上位4ビットST1の部分(S4~S7)が、「0000」に固定された衝突防止データであり、下位の4ビットST2の部分「1001」(S0~S3)が、ステータスレジスタ情報である。
なお、コマンドSTCMDの下位4ビット(C0~C3)と、ステータスレジスタデータSTDTの上位4ビットST1の部分(S4~S7)を、「1111」に固定された衝突防止データとしてもよい。
図13(c)に、データ「0」で衝突が発生するが過電流は流れない通信シーケンスの一実施例の概略説明図をを示す。
図13(c)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にあったとする。
この状態で、最初の1クロックサイクルで、マスターから信号値「0100」のステータスレジスタ読み出しコマンドの上位4ビットCOM1が送信されると、スレーブにおいて、このコマンドの上位4ビットCOM1「0100」が受信される。
図13(c)において、制御装置(マスター)が送信状態にあり、被制御装置(スレーブ)が受信状態(Hi-Z)にあったとする。
この状態で、最初の1クロックサイクルで、マスターから信号値「0100」のステータスレジスタ読み出しコマンドの上位4ビットCOM1が送信されると、スレーブにおいて、このコマンドの上位4ビットCOM1「0100」が受信される。
また、次の1クロックサイクルで、マスターから信号値「0000」のステータスレジスタ読み出しコマンドの下位4ビットCOM2が送信されると、スレーブにおいて、このコマンドの下位4ビットCOM2「0000」が受信される。
マスターでは、信号値「0000」のコマンドの下位4ビットCOM2を送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
マスターでは、信号値「0000」のコマンドの下位4ビットCOM2を送信した後、しばらくその送信状態にあり、その後、データの転送方向を切り替え、受信状態(Hi-Z)になったとする。
一方、スレーブでは、信号値「0000」の下位4ビットCOM2を受信した後、データの転送方向を切り替え、送信状態にし、ただちに信号値「0000」のステータスレジスタの上位4ビットST1を送信したとする。
このとき、スレーブが送信状態になり信号値「0000」のデータST1を送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
このとき、スレーブが送信状態になり信号値「0000」のデータST1を送信したタイミングが、マスターが送信状態にあるタイミングと重複していたとする。
このように、マスターにおける受信状態(Hi-Z)になるタイミングが、スレーブにおける送信状態になるタイミングよりも遅く、マスターからの信号値「0000」のコマンドCOM2の送信状態と、スレーブからの信号値「0000」のデータST1の送信状態とが重複した場合、データの信号値「0000」で、衝突が発生する。
信号値「0000」のコマンドCOM2の出力と信号値「0000」のデータST1の出力とが衝突した場合、両者の出力値は、同じ電圧レベルであるので、データの衝突が発生しても、規格値以上の過電流がデータ送信用回路に流れ込むことはなく、データ送信用回路が破壊されることもない。
信号値「0000」のコマンドCOM2の出力と信号値「0000」のデータST1の出力とが衝突した場合、両者の出力値は、同じ電圧レベルであるので、データの衝突が発生しても、規格値以上の過電流がデータ送信用回路に流れ込むことはなく、データ送信用回路が破壊されることもない。
その後、マスターが受信状態(Hi-Z)に切り替わった場合、送信状態にあるスレーブから、ステータスレジスタの後半のデータSDT2「1001」が送信されれば、マスターにおいて、データST2が受信される。
最初の信号値「0000」のデータDT1は、マスターとスレーブの出力が衝突するタイミングが存在するが、同じ電圧レベルであるため、マスターは正しく受信することができる。
最初の信号値「0000」のデータDT1は、マスターとスレーブの出力が衝突するタイミングが存在するが、同じ電圧レベルであるため、マスターは正しく受信することができる。
図16に、この発明において、被制御装置に記憶されたステータスレジスタ情報を送信するデータ出力用回路の一実施例の説明図を示す。
このデータ出力用回路は、上記した8ビットのステータスレジスタ(S0からS7)を、4ビットずつ出力するシフトレジスタで構成されている。
たとえば、シフトレジスタは、図16に示す16個のDフリップフロップからなるが、8ビットのステータスレジスタ(S0からS7)を、4ビットごとに分けて、8個のDフリップフロップに入力し、その後、クロックCLKの立ち下がりエッジに同期して、順次、4ビットごとのデータが、QuadSPIバスの4つのデータ線DQ[3:0]に出力され、マスターに送信される。
このデータ出力用回路は、上記した8ビットのステータスレジスタ(S0からS7)を、4ビットずつ出力するシフトレジスタで構成されている。
たとえば、シフトレジスタは、図16に示す16個のDフリップフロップからなるが、8ビットのステータスレジスタ(S0からS7)を、4ビットごとに分けて、8個のDフリップフロップに入力し、その後、クロックCLKの立ち下がりエッジに同期して、順次、4ビットごとのデータが、QuadSPIバスの4つのデータ線DQ[3:0]に出力され、マスターに送信される。
図16では、ステータスレジスタの下位4ビットST2(S0からS3)が、Status Dataの[0]から[3]までの4ビットに対応する信号値であり、4個のDフリップフロップに入力され、ステータスレジスタの上位4ビットST1(S4からS7)は、固定された0として別の4個のDフリップフロップに入力される。
<実施例3:この発明において、設定レジスタを読み出す場合の通信タイミングの説明>
図14に、この発明において、被制御装置に記憶された設定レジスタを読み出す場合の読み出しタイミングと、制御装置および被制御装置から送信されるデータ内容の一実施例の説明図を示す。
設定レジスタには、たとえば、被制御装置の内部バスを介した読み出し処理の待ち時間などが設定されている。
図14の読み出しタイミングは、マスターから設定レジスタ読出コマンドが出力され、このコマンドを受信したスレーブから、設定レジスタの内容が出力されるものである。
図14に、この発明において、被制御装置に記憶された設定レジスタを読み出す場合の読み出しタイミングと、制御装置および被制御装置から送信されるデータ内容の一実施例の説明図を示す。
設定レジスタには、たとえば、被制御装置の内部バスを介した読み出し処理の待ち時間などが設定されている。
図14の読み出しタイミングは、マスターから設定レジスタ読出コマンドが出力され、このコマンドを受信したスレーブから、設定レジスタの内容が出力されるものである。
図14では、2クロックサイクルの間に、制御装置(マスター)から、ビット数が8ビットの設定レジスタ読出コマンドが、4ビットずつ2回に分けて出力される。
すなわち、設定レジスタ読出コマンドは、先に出力される上位4ビットのデータCOM1と、後に出力される下位4ビットのデータCOM2とから構成される。
また、図14(a)に示すように、設定レジスタ読出コマンドの下位4ビットのデータCOM2は、「0000」に固定的に設定する。
この固定的に設定されたデータCOM2「0000」が、衝突防止データに相当する。
すなわち、設定レジスタ読出コマンドは、先に出力される上位4ビットのデータCOM1と、後に出力される下位4ビットのデータCOM2とから構成される。
また、図14(a)に示すように、設定レジスタ読出コマンドの下位4ビットのデータCOM2は、「0000」に固定的に設定する。
この固定的に設定されたデータCOM2「0000」が、衝突防止データに相当する。
一方、被制御装置(スレーブ)では、設定レジスタ読出コマンドを受信すると、4クロックサイクルの間に、被制御装置(スレーブ)から、ビット数が16ビットの設定レジスタ情報が、4ビットずつ4回に分けて出力される。
すなわち、設定レジスタ情報は、それぞれ4ビット構成の4つのデータ(SR1、SR2、SR3、SR4)から構成される。
また、図14(a)に示すように、スレーブから最初に出力される設定レジスタ情報の上位4ビットのデータSR1は、「0000」に固定的に設定する。
この固定的に設定されたデータSR1「0000」も、衝突防止データに相当する。
すなわち、設定レジスタ情報は、それぞれ4ビット構成の4つのデータ(SR1、SR2、SR3、SR4)から構成される。
また、図14(a)に示すように、スレーブから最初に出力される設定レジスタ情報の上位4ビットのデータSR1は、「0000」に固定的に設定する。
この固定的に設定されたデータSR1「0000」も、衝突防止データに相当する。
ここでは、データ線DQ[3:0]で衝突する可能性のある設定レジスタ読出コマンドの下位4ビットのデータCOM2と、設定レジスタ情報の上位4ビットのデータSR1とが、同じ電圧レベルの信号値「0000」である。
データの転送方向の切替時において、データ線DQ[3:0]で衝突が発生したとしても、
同じ電圧レベルの信号値「0000」同士の衝突なので、データ送信用回路が破壊されることを防止できる。
データの転送方向の切替時において、データ線DQ[3:0]で衝突が発生したとしても、
同じ電圧レベルの信号値「0000」同士の衝突なので、データ送信用回路が破壊されることを防止できる。
あるいは、マスターから最後に出力される設定レジスタ読出コマンドの下位4ビットのデータCOM2と、スレーブから最初に出力される設定レジスタ情報の上位4ビットのデータSR1は、同じ電圧レベルの信号値であれば、データ送信用回路が破壊されることはない。
したがって、図14(b)に示すように、設定レジスタ読出コマンドの下位4ビットのデータCOM2と、設定レジスタ情報の上位4ビットのデータSR1とを、「1111」に固定的に設定してもよい。
したがって、図14(b)に示すように、設定レジスタ読出コマンドの下位4ビットのデータCOM2と、設定レジスタ情報の上位4ビットのデータSR1とを、「1111」に固定的に設定してもよい。
被制御装置に記憶された設定レジスタを読み出すコマンドと、設定レジスタデータとを送受信し、衝突が発生するが過電流は流れない通信シーケンスは、図10や図13に示した通信シーケンスと同様なので、説明を省略する。
図17に、この発明において、被制御装置に記憶された設定レジスタ情報を送信するデータ出力用回路の一実施例の説明図を示す。
このデータ出力用回路は、上記した16ビットの設定レジスタ(SR1、SR2、SR3、SR4)を、4ビットずつ出力するシフトレジスタで構成されている。
たとえば、シフトレジスタは、図17に示す16個のDフリップフロップからなるが、設定レジスタの上位4ビット(SR1)としては、「0000」が、SR1に対応するDフリップフロップに入力され、残りの12ビットの設定レジスタ(SR2、SR3、SR4)を、4ビットごとに分けて、12個のDフリップフロップに入力し、その後、クロックCLKの立ち下がりエッジに同期して、順次、4ビットごとのデータが、QuadSPIバスの4つのデータ線DQ[3:0]に出力され、マスターに送信される。
このデータ出力用回路は、上記した16ビットの設定レジスタ(SR1、SR2、SR3、SR4)を、4ビットずつ出力するシフトレジスタで構成されている。
たとえば、シフトレジスタは、図17に示す16個のDフリップフロップからなるが、設定レジスタの上位4ビット(SR1)としては、「0000」が、SR1に対応するDフリップフロップに入力され、残りの12ビットの設定レジスタ(SR2、SR3、SR4)を、4ビットごとに分けて、12個のDフリップフロップに入力し、その後、クロックCLKの立ち下がりエッジに同期して、順次、4ビットごとのデータが、QuadSPIバスの4つのデータ線DQ[3:0]に出力され、マスターに送信される。
図17では、設定レジスタの下位12ビット(SR2、SR3、SR4)が、それぞれ、RegAの[0]から[3]まで、RegBの[0]から[3]まで、RegCの[0]から[3]までの4ビットに対応する信号値であり、異なる4個のDフリップフロップに入力され、設定レジスタの上位4ビットSR1は、固定された0として別の4個のDフリップフロップに入力される。
1 制御装置(マスター)、
2 被制御装置(スレーブ)、
11 制御部、
12 マスター通信部、
13 内部バス、
14 接続部(接続端子)、
15 データ送信部、
16 データ受信部、
17 衝突防止データ生成部、
21 スレーブ通信部、
22 被制御部、
23 内部バス、
24 接続部(接続端子)、
25 データ送信部、
26 データ受信部、
27 衝突防止データ生成部、
31 制御線、
32 データ線、
50 記憶部、
51 デバイスID、
52 ステータスレジスタ情報、
53 設定レジスタ情報、
70 記憶部、
71 デバイスID、
72 ステータスレジスタ情報、
73 設定レジスタ情報
2 被制御装置(スレーブ)、
11 制御部、
12 マスター通信部、
13 内部バス、
14 接続部(接続端子)、
15 データ送信部、
16 データ受信部、
17 衝突防止データ生成部、
21 スレーブ通信部、
22 被制御部、
23 内部バス、
24 接続部(接続端子)、
25 データ送信部、
26 データ受信部、
27 衝突防止データ生成部、
31 制御線、
32 データ線、
50 記憶部、
51 デバイスID、
52 ステータスレジスタ情報、
53 設定レジスタ情報、
70 記憶部、
71 デバイスID、
72 ステータスレジスタ情報、
73 設定レジスタ情報
Claims (10)
- 主従関係にある制御装置と被制御装置とをバスで接続し、バスの転送方向を切り替えて、制御装置と被制御装置との間の双方向通信を行う通信制御システムであって、
前記制御装置から、n個(n>1)のビット数からなる所定の要求コマンドを、前記バスを介して前記被制御装置に送信した後、バスの転送方向を切り替えて、前記被制御装置から、m個(m>1)のビット数からなる前記要求コマンドに対応した返信データを、前記バスを介して前記制御装置に送信する場合、
前記要求コマンドのうち、最後に送信されるa個(n>a>1)のビット数からなる第1のバイナリデータの内容と、前記返信データのうち、最初に送信されるb個(m>b>1)のビット数からなる第2のバイナリデータの内容とが同一の内容であることを特徴とする通信制御システム。 - 前記第1のバイナリデータの内容と、前記第2のバイナリデータの内容とが、同一電圧レベルの信号として、前記バスに出力されることを特徴とする請求項1に記載の通信制御システム。
- 前記第1のバイナリデータの内容と、前記第2のバイナリデータの内容とが、どちらも、複数のビット数からなる0に相当するバイナリデータであるか、あるいは、
複数のビット数からなる1に相当するバイナリデータであることを特徴とする請求項1に記載の通信制御システム。 - 前記バスが、4本のデータ線を含むQuad SPI(Serial Peripheral Interface)バスであり、
前記要求コマンドと、前記返信データは、4本のデータ線を介して、異なるタイミングで送信されることを特徴とする請求項1に記載の通信制御システム。 - 前記4本のデータ線を介して送信される要求コマンドのうち、最後に送信される少なくとも4ビット以上からなる前記第1のバイナリデータと、前記4本のデータ線を介して送信される前記返信データのうち、最初に送信される少なくとも4ビット以上からなる前記第2のバイナリデータとが、
複数のビット数からなる0に相当するバイナリデータであるか、あるいは、複数のビット数からなる1に相当するバイナリデータであることを特徴とする請求項4に記載の通信制御システム。 - 前記被制御装置が、被制御装置を識別するためのデバイスIDを予め記憶し、
前記制御装置から、前記デバイスIDを送信することを要求する情報を含む要求コマンドが被制御装置に送信された場合、
前記被制御装置から、被制御装置のデバイスIDを含む返信データが制御装置に送信されることを特徴とする請求項1に記載の通信制御システム。 - 前記被制御装置が、被制御装置の動作状態を示す情報を記憶したステータスレジスタを備え、
前記制御装置から、前記ステータスレジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置に送信された場合、
前記被制御装置から、被制御装置のステータスレジスタに記憶されている情報を含む返信データが制御装置に送信されることを特徴とする請求項1に記載の通信制御システム。 - 前記被制御装置が、被制御装置の設定内容を示す情報を記憶した設定レジスタを備え、
前記制御装置から、前記設定レジスタに記憶されている情報を送信することを要求する要求コマンドが被制御装置に送信された場合、
前記被制御装置から、被制御装置の設定レジスタに記憶されている情報を含む返信データが制御装置に送信されることを特徴とする請求項1に記載の通信制御システム。 - 前記請求項1から請求項8のいずれかに記載した通信制御システムを備えた情報処理装置。
- 制御装置と被制御装置とをバスで接続し、バスの転送方向を切り替えて、制御装置と被制御装置との間の双方向通信を行う通信制御システムの通信制御方法であって、
前記制御装置が前記バスに所定のデータを送信可能な送信状態であり、前記被制御装置が前記バスから所定のデータを受信可能な受信状態である場合に、
前記制御装置から、n個(n>1)のビット数からなる所定の要求コマンドを、前記バスを介して前記被制御装置に送信し、
前記バスの転送方向を切り替えて、前記制御装置が受信状態となり、前記被制御装置が送信状態となった後、
前記被制御装置から、m個(m>1)のビット数からなる前記要求コマンドに対応した返信データを、前記バスを介して前記制御装置に送信し、
前記要求コマンドのうち、最後に送信されるa個(n>a>1)のビット数からなる第1のバイナリデータの内容と、前記返信データのうち、最初に送信されるb個(m>b>1)のビット数からなる第2のバイナリデータの内容とが同一の内容であることを特徴とする通信制御システムの通信制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019136847A JP7265953B2 (ja) | 2019-07-25 | 2019-07-25 | 通信制御システムおよび情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019136847A JP7265953B2 (ja) | 2019-07-25 | 2019-07-25 | 通信制御システムおよび情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021022040A JP2021022040A (ja) | 2021-02-18 |
JP7265953B2 true JP7265953B2 (ja) | 2023-04-27 |
Family
ID=74575151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019136847A Active JP7265953B2 (ja) | 2019-07-25 | 2019-07-25 | 通信制御システムおよび情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7265953B2 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000047766A (ja) | 1998-05-29 | 2000-02-18 | Omron Corp | パラレルデ―タ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置 |
JP2000315128A (ja) | 1999-04-30 | 2000-11-14 | Mitsubishi Electric Corp | バス制御方式 |
WO2003010939A1 (fr) | 2001-07-25 | 2003-02-06 | Sony Corporation | Appareil d'interface |
JP2009181444A (ja) | 2008-01-31 | 2009-08-13 | Panasonic Corp | データ転送装置、データ転送システム、及びデータ転送方法 |
JP2011113335A (ja) | 2009-11-27 | 2011-06-09 | Seiko Epson Corp | 複数の記憶装置を備えるシステム及びそのためのデータ転送方法 |
JP2018504714A (ja) | 2015-02-04 | 2018-02-15 | クアルコム,インコーポレイテッド | 電圧モードおよび電流モードデバイスエニュマレーション |
-
2019
- 2019-07-25 JP JP2019136847A patent/JP7265953B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000047766A (ja) | 1998-05-29 | 2000-02-18 | Omron Corp | パラレルデ―タ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置 |
JP2000315128A (ja) | 1999-04-30 | 2000-11-14 | Mitsubishi Electric Corp | バス制御方式 |
WO2003010939A1 (fr) | 2001-07-25 | 2003-02-06 | Sony Corporation | Appareil d'interface |
JP2009181444A (ja) | 2008-01-31 | 2009-08-13 | Panasonic Corp | データ転送装置、データ転送システム、及びデータ転送方法 |
JP2011113335A (ja) | 2009-11-27 | 2011-06-09 | Seiko Epson Corp | 複数の記憶装置を備えるシステム及びそのためのデータ転送方法 |
JP2018504714A (ja) | 2015-02-04 | 2018-02-15 | クアルコム,インコーポレイテッド | 電圧モードおよび電流モードデバイスエニュマレーション |
Also Published As
Publication number | Publication date |
---|---|
JP2021022040A (ja) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9736276B2 (en) | Packetized interface for coupling agents | |
US4961140A (en) | Apparatus and method for extending a parallel synchronous data and message bus | |
JP2002530744A (ja) | 多重レベル接続識別を備えた通信のシステムおよび方法 | |
CN103415777A (zh) | 用于进行功能和结构测试和调试的基于功能结构测试控制器 | |
JP2015520459A (ja) | リングトポロジーステータス指示 | |
US7430259B2 (en) | Two-wire chip-to-chip interface | |
JP4761487B2 (ja) | バスアーキテクチャ及びそれを用いた情報処理装置 | |
KR100980424B1 (ko) | 반도체 메모리 장치 및 데이터 리드 방법 | |
US5964845A (en) | Processing system having improved bi-directional serial clock communication circuitry | |
JP7265953B2 (ja) | 通信制御システムおよび情報処理装置 | |
US6898659B2 (en) | Interface device having variable data transfer mode and operation method thereof | |
JPS6043546B2 (ja) | デ−タ転送異常処理方式 | |
US8203361B2 (en) | Circuit system including first circuit sub-system, second circuit sub-system and bidirectional bus, circuit sub-system and method | |
US7904624B2 (en) | High bandwidth split bus | |
CN116414758A (zh) | 面向高速可扩展互联裸芯与PCIe主设备的并行式转换接口 | |
WO2019120294A1 (en) | Data-processing apparatus, data transmission method, and computing system thereof | |
JP3703532B2 (ja) | 多重化アドレスバスを備えたコンピュータシステム | |
US6874043B2 (en) | Data buffer | |
JPH0337221B2 (ja) | ||
US20020174282A1 (en) | Multiprocessor system | |
EP0983554B1 (en) | Interfacing peripheral devices via a slave group interface device to a bus | |
EP0702306A1 (en) | System and method for interfacing risc busses to peripheral circuits using another template of busses in a data communication adapter | |
KR100812710B1 (ko) | 제어 버스를 이용한 통신 방법 및 장치 | |
US6493775B2 (en) | Control for timed access of devices to a system bus | |
WO1982001607A1 (en) | Data communication bus structure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7265953 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |