(57)【要約】【構成】シリアル通信を要求するＣＳ信号はマスタプロセサ１２から出力され、ＣＳ信号に応答するＯＫ＿ＩＮＶ信号はスレーブプロセサ１４から出力される。マスタプロセサ１２は、ＣＳ信号がアクティブ状態にあるとき、ＯＫ＿ＩＮＶ信号のレベルが反転される毎に既定ビット数のシリアル通信を実行する。スレーブプロセサ１４は、ＣＳ信号のアクティブ状態への遷移に応答して、ＯＫ＿ＩＮＶ信号のレベルを反転させる。スレーブプロセサ１４はまた、既定ビット数のシリアル通信が完了する毎に、ＯＫ＿ＩＮＶ信号のレベルを変更する。【効果】簡単かつ確実なシリアル通信が実現される。【選択図】図１
2008226064.tif 000002
【特許請求の範囲】
【請求項１】
シリアル通信を要求する通信要求信号を出力するマスタプロセサと前記通信要求信号に応答する応答信号を出力するスレーブプロセサとを備えるシリアル通信システムにおいて、
前記マスタプロセサは、
前記通信要求信号がアクティブ状態にあるとき前記応答信号のレベルが変更される毎に部分量のシリアル通信を実行する通信手段を備え、
前記スレーブプロセサは、
前記通信要求信号の前記アクティブ状態への遷移に応答して前記応答信号のレベルを変更する第１変更手段、および
前記部分量のシリアル通信が完了する毎に前記応答信号のレベルを変更する第２変更手段を備えることを特徴とする、シリアル通信システム。
【請求項２】
前記マスタプロセサは、前記部分量のシリアル通信が完了する毎に終了条件が満足されるか否かを判別する第１判別手段、および前記第１判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき前記通信手段を不能化して前記通信要求信号をネガティブ状態に設定する設定手段をさらに備える、請求項１記載のシリアル通信システム。
【請求項３】
前記スレーブプロセサは、前記部分量のシリアル通信が完了する毎に前記終了条件が満足されるか否かを判別する第２判別手段、前記第２判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき終了処理を実行する終了手段をさらに備える、請求項２記載のシリアル通信システム。
【請求項４】
前記第２判別手段は前記部分量のシリアル通信によって転送されるデータの記述を参照して判別処理を実行する、請求項３記載のシリアル通信システム。
【請求項５】
前記スレーブプロセサは前記終了処理に関連して前記応答信号のレベルを変更する第３変更手段をさらに備える、請求項３または４記載のシリアル通信システム。
【請求項６】
シリアル通信を要求する通信要求信号を出力するマスタプロセサと前記通信要求信号に応答する応答信号を出力するスレーブプロセサとによって実行されるシリアル通信方法であって、
前記マスタプロセサは、
前記通信要求信号がアクティブ状態にあるとき前記応答信号のレベルが変更される毎に部分量のシリアル通信を実行する通信ステップを実行し、
前記スレーブプロセサは、
前記通信要求信号の前記アクティブ状態への遷移に応答して前記応答信号のレベルを変更する第１変更ステップ、および
前記部分量のシリアル通信が完了する毎に前記応答信号のレベルを変更する第２変更ステップを実行する、シリアル通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、シリアル通信システムに関し、特にたとえばマスタプロセサとスレーブプロセサとの間でのシリアル通信を行う、シリアル通信システムに関する。
【背景技術】
【０００２】
この種の集積回路の一例が、特許文献１に開示されている。この背景技術によれば、マスタマイコンおよびスレーブマイコンの間の通信は、次の要領で実行される。
【０００３】
まず、マスタマイコンが、スレーブマイコンに対して通信を要求するべく、通信要求信号ＣＤＲＥＱをＬレベルとする。スレーブマイコンは、この通信要求に応答するべく、応答信号ＣＤＲＤＹをＬレベルとする。マスタマイコンは、Ｌレベルの応答信号ＣＤＲＤＹを検知したとき、ＣＭＣＬＫをＬレベルとする。スレーブマイコンは、ＣＭＣＬＫのＬレベルをもって通信開始と判断し、応答信号ＣＤＲＤＹをＨレベルとする。マスタマイコンは、ＣＤＲＤＹのＨレベルをもって通信開始と判断し、通信を始める。
【０００４】
マスタマイコンは、ＣＭＣＬＫをＨレベルとし、スレーブマイコンからのデータを取り込む。スレーブマイコンも、ＣＭＣＬＫがＨレベルとなったとき、マスタマイコンからデータを取り込む。マスタマイコンはその後、次の送信データを設定し、ＣＭＣＬＫをＬレベルとする。スレーブマイコンも、ＣＭＣＬＫがＬレベルとなったとき、次のデータを設定する。
【０００５】
スレーブマイコンは、４ビットデータの転送が終了する毎に、応答信号ＣＤＲＤＹをＬレベルとする。スレーブマイコンはその後、次の送信データを設定して応答信号ＣＤＲＤＹをＨレベルとする。マスタマイコンは、４ビットデータの転送が終了する毎に応答信号ＣＤＲＤＹがＬレベルとなるのを確認し、確認の後に次の送信データを設定する。マスタマイコンは続いて、応答信号ＣＤＲＤＹがＨレベルとなるのを確認してＣＭＣＬＫをＨレベルとする。その後は、上述と同様の処理が繰り返される。
【０００６】
４ビット×１２ワードの転送が終了すると、スレーブマイコンは、応答信号ＣＤＲＤＹをＬレベルとする。マスタマイコンは、４ビット×１２ワードの転送が終了すると、応答信号ＣＤＲＤＹがＬレベルとなるのを確認し、確認の後に通信要求信号ＣＤＲＥＱをＨレベルとして通信を終了する。スレーブマイコンは、通信要求信号ＣＤＲＥＱがＨレベルとなるのを確認した後、応答信号ＣＤＲＤＹをＨレベルとして通信を終了する。
【特許文献１】特開平５−４６５４９号公報［G06F 13/38, 13/00］
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、応答信号ＣＤＲＤＹのレベルは、通信開始時，４ビットデータの転送終了時，および４ビット×１２ワードの転送終了時の各々で、ＬレベルおよびＨレベルに変更する必要がある。このため、背景技術では処理が複雑化するという問題がある。
【０００８】
それゆえに、この発明の主たる目的は、簡単かつ確実なシリアル通信を実現することができる、シリアル通信システムを提供することである。
【課題を解決するための手段】
【０００９】
請求項１の発明に従うシリアル通信システム(10：実施例で相当する参照符号。以下同じ)は、シリアル通信を要求する通信要求信号を出力するマスタプロセサ(12)と通信要求信号に応答する応答信号を出力するスレーブプロセサ(14)とを備えるシリアル通信システムにおいて、マスタプロセサは、通信要求信号がアクティブ状態にあるとき応答信号のレベルが変更される毎に部分量のシリアル通信を実行する通信手段(S17)を備え、スレーブプロセサは、通信要求信号のアクティブ状態への遷移に応答して応答信号のレベルを変更する第１変更手段(S53, S57)、および部分量のシリアル通信が完了する毎に応答信号のレベルを変更する第２変更手段(S67, S57)を備えることを特徴とする。
【００１０】
シリアル通信を要求する通信要求信号はマスタプロセサから出力され、通信要求信号に応答する応答信号はスレーブプロセサから出力される。マスタプロセサは通信手段を備え、スレーブプロセサは第１変更手段および第２変更手段を備える。通信手段は、通信要求信号がアクティブ状態にあるとき、応答信号のレベルが変更される毎に部分量のシリアル通信を実行する。第１変更手段は、通信要求信号のアクティブ状態への遷移に応答して、応答信号のレベルを変更する。第２変更手段は、部分量のシリアル通信が完了する毎に、応答信号のレベルを変更する。
【００１１】
つまり、スレーブプロセサは、通信要求信号がアクティブ状態に遷移したとき、或いは部分量のシリアル通信が完了したときに、応答信号のレベルを変更する。また、マスタプロセサは、通信要求信号がアクティブ状態にあるとき、応答信号のレベルが変更される毎に部分量のシリアル通信を実行する。これによって、簡単かつ確実なシリアル通信が実現される。
【００１２】
請求項２の発明に従うシリアル通信システムは、請求項１に従属し、マスタプロセサは、部分量のシリアル通信が完了する毎に終了条件が満足されるか否かを判別する第１判別手段(S25)、および第１判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき通信手段を不能化して通信要求信号をネガティブ状態に設定する設定手段(S31)をさらに備える。
【００１３】
請求項３の発明に従うシリアル通信システムは、請求項２に従属し、スレーブプロセサは、部分量のシリアル通信が完了する毎に終了条件が満足されるか否かを判別する第２判別手段(S65)、第２判別手段の判別結果が否定的な結果から肯定的な結果に更新されたとき終了処理を実行する終了手段(S71)をさらに備える。
【００１４】
請求項４の発明に従うシリアル通信システムは、請求項３に従属し、第２判別手段は部分量のシリアル通信によって転送されるデータの記述を参照して判別処理を実行する。
【００１５】
請求項５の発明に従うシリアル通信システムは、請求項３または４に従属し、スレーブプロセサは終了処理に関連して応答信号のレベルを変更する第３変更手段(S73)をさらに備える。
【００１６】
請求項６の発明に従うシリアル通信方法は、シリアル通信を要求する通信要求信号を出力するマスタプロセサ(12)と通信要求信号に応答する応答信号を出力するスレーブプロセサ(14)とによって実行されるシリアル通信方法であって、マスタプロセサは、通信要求信号がアクティブ状態にあるとき応答信号のレベルが変更される毎に部分量のシリアル通信を実行する通信ステップ(S17)を実行し、スレーブプロセサは、通信要求信号のアクティブ状態への遷移に応答して応答信号のレベルを変更する第１変更ステップ(S53, S57)、および部分量のシリアル通信が完了する毎に応答信号のレベルを変更する第２変更ステップ(S67, S57)を実行する。
【発明の効果】
【００１７】
この発明によれば、スレーブプロセサは、通信要求信号がアクティブ状態に遷移したとき、或いは部分量のシリアル通信が完了したときに、応答信号のレベルを変更する。また、マスタプロセサは、通信要求信号がアクティブ状態にあるとき、応答信号のレベルが変更される毎に部分量のシリアル通信を実行する。これによって、簡単かつ確実なシリアル通信が実現される。
【００１８】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１９】
図１を参照して、この実施例のシリアル通信回路１０は、マスタプロセサ１２およびスレーブプロセサ１４を含む。マスタプロセサ１２は、スレーブプロセサ１４に対してＣＳ信号，ＣＬＫ信号およびＤＡＴＡ１を出力し、スレーブプロセサ１４はマスタプロセサ１２に対してＯＫ＿ＩＮＶ信号およびＤＡＴＡ２を出力する。
【００２０】
ここで、ＣＳ信号は、スレーブプロセサ１４に対してシリアル通信を要求する通信要求信号であり、Ｈレベル（＝ネガティブレベル）およびＬレベル（＝アクティブレベル）の間でパルス状に変化する。ＯＫ＿ＩＮＶ信号は、マスタプロセサ１２からの通信要求に応答する応答信号であり、ＨレベルおよびＬレベルの間でパルス状に変化する。ＤＡＴＡ１およびＤＡＴＡ２はいずれも、シリアル通信によって転送されるデータである。ＣＬＫ信号は、各ビットの通信タイミングを制御するためのクロックである。
【００２１】
マスタプロセサ１２は図２〜図３に示すフロー図に従う処理を実行し、スレーブプロセサ１４は図４〜図５に示すフロー図に従う処理を実行する。これらのフロー図に対応する制御プログラムは、図示しないフラッシュメモリに記憶される。
【００２２】
マスタプロセサ１２の処理に関する図２〜図３を参照して、ステップＳ１では初期化処理を実行する。これによって、通信モードがモードＧに設定される。ステップＳ３では、現時点で設定されている通信モードを判別する。現時点の通信モードがモードＡであればステップＳ５に進み、ＯＫ＿ＩＮＶ信号の現時点のレベルをバッファメモリ１２ｍに格納する。ステップＳ７ではＣＳ信号をＬレベルに設定し、ステップＳ９では通信モードをモードＢに変更する。ステップＳ９の処理が完了すると、ステップＳ３に戻る。
【００２３】
現時点の通信モードがモードＢであればステップＳ１１に進み、ＯＫ＿ＩＮＶ信号の現時点のレベルがバッファメモリ１２ｍに格納されたレベルと同じであるか否かを判別する。ここでＹＥＳであればそのままステップＳ３に戻る一方、ＮＯであればステップＳ１３で通信モードをモードＣに変更してからステップＳ３に戻る。
【００２４】
現時点の通信モードがモードＣであればステップＳ１５に進み、ＯＫ＿ＩＮＶ信号の現時点のレベルをバッファメモリ１２ｍに格納する。ステップＳ１７では、既定ビット数（＝１６ビット）のシリアル通信をスレーブプロセサ１４との間で実行する。既定ビット数のシリアル通信が完了すると、ステップＳ１９で通信モードをモードＤに変更してからステップＳ３に戻る。
【００２５】
現時点の通信モードがモードＤであれば、上述のステップＳ１１と同様の処理を実行する。ＯＫ＿ＩＮＶ信号の現時点のレベルがバッファメモリ１２ｍに格納されたレベルと同じであれば、そのままステップＳ３に戻る。これに対して、ＯＫ＿ＩＮＶ信号の現時点のレベルがバッファメモリ１２ｍに格納されたレベルと異なれば、ステップＳ２３で通信モードをモードＥに変更してからステップＳ３に戻る。
【００２６】
現時点の通信モードがモードＥであればステップＳ２５に進み、シリアル通信を終了すべきか否か（＝終了条件が満足されるか否か）を判別する。ここでＮＯであればステップＳ２７で通信モードをモードＣに変更する一方、ＹＥＳであればステップＳ２９で通信モードをモードＦに変更する。ステップＳ２７またはＳ２９の処理が完了すると、ステップＳ３に戻る。
【００２７】
現時点の通信モードがモードＦであればステップＳ３１に進み、ＣＳ信号をＨレベルに変更する。ステップＳ３３では通信モードをモードＧに変更し、その後にステップＳ３に戻る。
【００２８】
現時点の通信モードがモードＧであればステップ３５に進み、次の通信データが存在するか否かを判別する。ここでＮＯであればそのままステップＳ３に戻る一方、ＹＥＳであればステップＳ３７で通信モードをモードＡに変更してからステップＳ３に戻る。
【００２９】
スレーブプロセサ１４の処理に関する図４〜図５を参照して、ステップＳ４１では初期化処理を実行する。これによって、通信モードがモードαに設定される。ステップＳ４３では、マスタプロセサ１２から与えられるＣＳ信号のレベルがＬレベルであるか否かを判別する。ここでＮＯであればステップＳ４５に進む一方、ＹＥＳであればステップＳ５１に進む。
【００３０】
ステップＳ４５では、現時点の通信モードがモードαであるか否かを判別する。ここでＹＥＳであれば、そのままステップＳ４５に戻る。ＮＯであれば、ステップＳ４７でデータ廃棄処理を実行し、ステップＳ４９で通信モードをモードαに変更し、その後にステップＳ４３に戻る。
【００３１】
ステップＳ５１では現時点で設定されている通信モードを判別する。現時点の通信モードがモードαであれば、ステップＳ５３で通信モードをモードβに変更してからステップＳ４３に戻る。現時点の通信モードがモードβであれば、ステップＳ５５で通信準備処理を行い、ステップＳ５７でＯＫ＿ＩＮＶ信号のレベルを反転させ、ステップＳ５９で通信モードをモードγに変更する。ステップＳ５９の処理が完了すると、ステップＳ４３に戻る。
【００３２】
現時点の通信モードがモードγであれば、既定ビット数のシリアル通信が完了したか否かをステップＳ６１で判別する。ここでＮＯであればそのままステップＳ４３に戻る一方、ＹＥＳであればステップＳ６３に進む。ステップＳ６３ではデータ解析処理を実行し、ステップＳ６５ではシリアル通信を終了すべきか否か（終了条件が満足されたか否か）を判別する。
【００３３】
最後に転送される既定ビット数のＤＡＴＡ１にはシリアル通信を終了すべき指示が記述され、この終了指示はステップＳ６３のデータ解析処理によって検出される。ステップＳ６５では、終了指示が検出されない限りＮＯと判断し、終了指示が検出されたときにＹＥＳと判断する。
【００３４】
ステップＳ６５でＮＯであればステップＳ６７で通信モードをモードβに変更し、ステップＳ６５でＹＥＳであればステップＳ６９で通信モードをモードδに変更する。ステップＳ６７またはＳ６９の処理が完了すると、ステップＳ４３に戻る。
【００３５】
現時点の通信モードがモードδであれば、ステップＳ７１で通信終了処理を実行し、ステップＳ７３でＯＫ＿ＩＮＶ信号のレベルを反転させる。ステップＳ７３の処理が完了すると、ステップＳ７５で通信モードをモードαに変更してからステップＳ４３に戻る。
【００３６】
図６（Ａ）〜図６（Ｆ）をさらに参照して、マスタプロセサ１２は、シリアル通信を開始するとき通信モードをモードＡに設定し(S37)、続いてＣＳ信号のレベルをＨレベルからＬレベルに変更する(S7)。マスタプロセサ１２はその後、通信モードをモードＢに変更する(S9)。
【００３７】
スレーブプロセサ１４は、ＣＳ信号のＨレベルからＬレベルへの変更に応答して、通信モードをモードαからモードβに変更する(S53)。スレーブプロセサ１４はその後、ＯＫ＿ＩＮＶ信号のレベルを反転させ(S57)、通信モードをモードγに変更する(S59)。
【００３８】
マスタプロセサ１２は、ＯＫ＿ＩＮＶ信号のレベルの反転に応答して通信モードをモードＣに変更し(S13)、既定ビット数のシリアル通信を実行する(S17)。既定ビット数のシリアル通信が完了すると、マスタプロセサ１２は通信モードをモードＤに変更する(S19)。
【００３９】
スレーブプロセサ１４は、既定ビット数のシリアル通信が完了する毎にシリアル通信を終了すべきか否かを判別し (S65)、シリアル通信を継続すべきときは通信モードをモードβに変更する(S67)。ＯＫ＿ＩＮＶ信号のレベルは、モードβへの変更後に反転される(S57)。
【００４０】
マスタプロセサ１２は、ＯＫ＿ＩＮＶ信号のレベルの反転に応答して通信モードをモードＥに変更し(S23)、シリアル通信を終了すべきか否かを判別する(S25)。シリアル通信を継続すべきとき、マスタプロセサ１４は通信モードをモードＣに変更する(S27)。この結果、既定ビット数のシリアル通信が再度実行され(S17)、その後に通信モードがモードＤに変更される(S19)。
【００４１】
スレーブプロセサ１４は、シリアル通信を終了すべきとき通信モードをモードδに変更し(S69)、通信終了処理を実行する(S71)。スレーブプロセサ１４はその後、ＯＫ＿ＩＮＶ信号のレベルを反転させ(S73)、通信モードをモードαに変更する。
【００４２】
マスタプロセサ１２は、シリアル通信を終了すべきとき、通信モードをモードＦに変更する(S29)。マスタプロセサ１２はさらに、ＣＳ信号のレベルをＬレベルからＨレベルに変更し(S31)、通信モードをモードＧに変更する。
【００４３】
以上の説明から分かるように、シリアル通信を要求するＣＳ信号（通信要求信号）はマスタプロセサ１２から出力され、ＣＳ信号に応答するＯＫ＿ＩＮＶ信号（応答信号）はスレーブプロセサ１４から出力される。マスタプロセサ１２は、ＣＳ信号がアクティブ状態（＝Ｌレベル状態）にあるとき、ＯＫ＿ＩＮＶ信号のレベルが反転される毎に既定ビット数のシリアル通信を実行する(S17)。スレーブプロセサ１４は、ＣＳ信号のアクティブ状態への遷移に応答して、ＯＫ＿ＩＮＶ信号のレベルを反転させる(S53, S57)。スレーブプロセサ１４はまた、既定ビット数のシリアル通信が完了する毎に、ＯＫ＿ＩＮＶ信号のレベルを変更する(S67, S57)。
【００４４】
つまり、スレーブプロセサ１４は、ＣＳ信号がアクティブ状態に遷移したとき、或いは既定ビット数のシリアル通信が完了したときに、ＯＫ＿ＩＮＶ信号のレベルを反転させる。また、マスタプロセサ１２は、ＣＳ信号がアクティブ状態にあるとき、ＯＫ＿ＩＮＶ信号のレベルが反転される毎に既定ビット数のシリアル通信を実行する。これによって、簡単かつ確実なシリアル通信が実現される。
【００４５】
さらに、マスタプロセサ１２における割り込み信号処理が不要であり、また通信上での細かな時間的規則が不要である。ひいては、マスタプロセサ１２およびスレーブプロセサ１４において処理速度の規定が不要であり、通信規格上の待機時間がないため、高速通信が可能となる。
【図面の簡単な説明】
【００４６】
【図１】この発明の一実施例の構成を示すブロック図である。
【図２】図１実施例に適用されるマスタプロセサの動作の一部を示すフロー図である。
【図３】図１実施例に適用されるマスタプロセサの動作の他の一部を示すフロー図である。
【図４】図１実施例に適用されるスレーブプロセサの動作の一部を示すフロー図である。
【図５】図１実施例に適用されるスレーブプロセサの動作の他の一部を示すフロー図である。
【図６】（Ａ）はマスタプロセサの動作モードの遷移の一例を示す図解図であり、（Ｂ）はスレーブプロセサの動作モードの遷移の一例を示す図解図であり、（Ｃ）はＣＳ信号の変化の一例を示す波形図であり、（Ｄ）はＯＫ＿ＩＮＶ信号の変化の一例を示す波形図であり、（Ｅ）はＣＬＫ信号の変化の一例を示す波形図であり、（Ｆ）はデータ通信動作の一例を示す図解図である。
【符号の説明】
【００４７】
１０  …シリアル通信回路
１２  …マスタプロセサ
１４  …スレーブプロセサ
【図１】
2008226064.tif 000003
【図２】
2008226064.tif 000004
【図３】
2008226064.tif 000005
【図４】
2008226064.tif 000006
【図５】
2008226064.tif 000007
【図６】
2008226064.tif 000008