"データ信号を送受信するシリアルデータラインにより接続され、全二重通信を行う通信装置のシリアル通信方法において、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、前記マスタ側から前記スレーブ側へリードデータのアドレス情報を含めたフレームを送信し、かつ、前記スレーブ側では前記アドレス情報を受信した時点で前記リードデータを読み出してエラー検出または訂正のための情報を求めて同一フレーム中に前記マスタ側へ返送する第1フェーズと、前記スレーブ側から前記マスタ側へ、前記第1フェーズで読み出した当該リードデータを含めたフレームを送信する第2フェーズとを備えることを特徴とするシリアル通信方法。データ信号を送受信するシリアルデータラインにより接続されてシリアル通信を行う通信装置のシリアル通信方法において、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、前記マスタ側から前記スレーブ側へライトデータのアドレス情報と、当該ライトデータのエラー検出または訂正のための情報とを含めたフレームを送信する第1フェーズと、前記マスタ側から前記スレーブ側へ当該ライトデータを含めたフレームを送信する第2フェーズとを備えることを特徴とするシリアル通信方法。第1フェーズにて、マスタ側からスレーブ側へエラー検出または訂正のための情報より先出側にアドレス情報を詰めたフレームを送信することを特徴とする請求項1または請求項2記載のシリアル通信方法。第1フェーズにて、マスタ側からスレーブ側へアドレス情報と、リード動作かライト動作かを指示する制御情報と、当該アドレス情報および当該制御情報のエラー検出または訂正のための情報とを含めたフレームを送信することを特徴とする請求項1から請求項3のうちのいずれか1項記載のシリアル通信方法。スレーブ側では、第1フェーズにてマスタ側からアドレス情報と、リード動作かライト動作かを指示する制御情報と、当該アドレス情報および当該制御情報のエラー検出または訂正のための情報とを含めたフレームを受信し、当該アドレス情報および制御情報について当該エラー検出または訂正のための情報を用いてエラー検出または訂正処理を行い、処理結果を同一フレーム中に前記マスタ側へ返送することを特徴とする請求項4記載のシリアル通信方法。スレーブ側では、ライトデータのアドレス情報と制御情報に対するエラー検出または訂正処理においてエラーが検出された場合、当該ライトデータの書き込みを中止可能とすることを特徴とする請求項5記載のシリアル通信方法。スレーブ側では、第2フェーズにてライトデータに対するエラー検出または訂正処理を行って処理結果を同一フレーム中に前記マスタ側へ返送すると共に、当該エラー検出または訂正処理においてエラーが検出された場合、当該ライトデータの書き込みを中止可能とすることを特徴とする請求項2記載のシリアル通信方法。マスタ側からスレーブ側へ、第1フェーズにてライトデータを含めたフレームを送信し、第2フェーズにて当該ライトデータのアドレス情報とエラー検出または訂正のための情報とを含めたフレームを送信することを特徴とする請求項2記載のシリアル通信方法。データ信号を送受信するシリアルデータラインにより接続され、全二重通信を行う通信装置において、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、マスタ側の通信装置は、第1フェーズにおいて、リードデータのアドレス情報を含めたフレームをスレーブ側へ送信し、かつ、前記スレーブ側より当該リードデータのエラー検出または訂正のための情報を含むフレームを受信し、第2フェーズにおいて、前記スレーブ側より当該リードデータを含むフレームを受信することを特徴とする通信装置。データ信号を送受信するシリアルデータラインにより接続されてシリアル通信を行う通信装置において、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、前記マスタ側の通信装置は、第1フェーズにおいて、ライトデータのアドレス情報と、当該ライトデータのエラー検出または訂正のための情報とを含むフレームを前記スレーブ側へ送信し、第2フェーズにおいて、当該ライトデータを含むフレームを前記スレーブ側へ送信することを特徴とする通信装置。データ信号を送受信するシリアルデータラインにより接続され、全二重通信を行う通信装置において、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、スレーブ側の通信装置は、第1フェーズにおいて、前記マスタ側よりリードデータのアドレス情報を含むフレームを受信し、かつ、当該アドレス情報を受信した時点で当該リードデータを読み出してエラー検出または訂正のための情報を求めて同一フレーム中に前記マスタ側へ送信し、第2フェーズにおいて、前記第1フェーズで読み出した当該リードデータを含めたフレームを前記マスタ側へ送信することを特徴とする通信装置。データ信号を送受信するシリアルデータラインにより接続されてシリアル通信を行う通信装置において、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、前記スレーブ側の通信装置は、第1フェーズにおいて、前記マスタ側よりライトデータのアドレス情報と、当該ライトデータのエラー検出または訂正のための情報とを含むフレームを受信し、第2フェーズにおいて、前記マスタ側より当該ライトデータを含むフレームを受信することを特徴とする通信装置。請求項9または請求項10記載の通信装置をマスタ側として用い、請求項11または請求項12記載の通信装置をスレーブ側として用い、両通信装置間でシリアル通信を行うシリアル通信システム。以上のように、従来の全二重同期通信システムはエラー検出訂正情報を通信するために追加されたフレーム分、通信時間が長くなるという課題があった。特に通信速度が遅い場合、無駄なフレームの追加がミリ秒単位で通信時間が増加してしまうため、少しでも少ないフレームで通信が完結することが望まれている。この発明は、上記のような課題を解決するためになされたもので、2フレームの通信時間でエラー検出情報を含んだ通信を完了させることにより、従来の3フレームから2フレームに削減して1フレーム分の通信レイテンシの短縮および通信帯域の増強を可能とした、通信信頼性の高いシリアル通信方法、通信装置、およびシリアル通信システムを提供することを目的とする。この発明に係るシリアル通信方法は、データ信号を送受信するシリアルデータラインにより接続され、全二重通信を行う通信装置のシリアル通信方法であって、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、マスタ側からスレーブ側へリードデータのアドレス情報を含めたフレームを送信し、かつ、スレーブ側ではアドレス情報を受信した時点でリードデータを読み出してエラー検出または訂正のための情報を求めて同一フレーム中に前記マスタ側へ返送する第1フェーズと、スレーブ側からマスタ側へ、第1フェーズで読み出した当該リードデータを含めたフレームを送信する第2フェーズとを備えるようにしたものである。この発明に係るシリアル通信方法は、データ信号を送受信するシリアルデータラインにより接続されてシリアル通信を行う通信装置のシリアル通信方法であって、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、マスタ側からスレーブ側へライトデータのアドレス情報と、当該ライトデータのエラー検出または訂正のための情報とを含めたフレームを送信する第1フェーズと、マスタ側からスレーブ側へ当該ライトデータを含めたフレームを送信する第2フェーズとを備えるようにしたものである。この発明に係る通信装置は、データ信号を送受信するシリアルデータラインにより接続され、全二重通信を行う通信装置であって、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、マスタ側の通信装置が、第1フェーズにおいて、リードデータのアドレス情報を含めたフレームをスレーブ側へ送信し、かつ、スレーブ側より当該リードデータのエラー検出または訂正のための情報を含むフレームを受信し、第2フェーズにおいて、スレーブ側より当該リードデータを含むフレームを受信するものである。この発明に係る通信装置は、データ信号を送受信するシリアルデータラインにより接続されてシリアル通信を行う通信装置であって、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、マスタ側の通信装置が、第1フェーズにおいて、ライトデータのアドレス情報と、当該ライトデータのエラー検出または訂正のための情報とを含むフレームをスレーブ側へ送信し、第2フェーズにおいて、当該ライトデータを含むフレームをスレーブ側へ送信するものである。この発明に係る通信装置は、データ信号を送受信するシリアルデータラインにより接続され、全二重通信を行う通信装置であって、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、スレーブ側の通信装置が、第1フェーズにおいて、マスタ側よりリードデータのアドレス情報を含むフレームを受信し、かつ、当該アドレス情報を受信した時点で当該リードデータを読み出してエラー検出または訂正のための情報を求めて同一フレーム中にマスタ側へ送信し、第2フェーズにおいて、第1フェーズで読み出した当該リードデータを含めたフレームをマスタ側へ送信するものである。この発明に係る通信装置は、データ信号を送受信するシリアルデータラインにより接続されてシリアル通信を行う通信装置であって、通信単位であるフレームのビット数が、マスタ側およびスレーブ側の各通信装置のデータビット数と一致する場合、または当該データビット数より少ない場合に、スレーブ側の通信装置が、第1フェーズにおいて、マスタ側よりライトデータのアドレス情報と、当該ライトデータのエラー検出または訂正のための情報とを含むフレームを受信し、第2フェーズにおいて、マスタ側より当該ライトデータを含むフレームを受信するものである。この発明に係るシリアル通信システムは、上記マスタ側の通信装置と、上記スレーブ側の通信装置との間でシリアル通信を行うものである。この発明によれば、リード動作時、マスタ側からアドレスの情報を送出し、スレーブ側でそのアドレスからの読み出し処理をこのフレームの最終ビットまでに行ったうえエラー検出または訂正のための情報を求め、全二重通信を活用して同一フレーム中にマスタ側に返送し、次のフレームにて先に読み出したデータをマスタ側に送出するようにしたので、2フレームの通信時間でリードデータのエラー検出訂正情報を含んだ通信を完了させることができる。従って、従来の3フレームから2フレームに削減して1フレーム分の通信レイテンシの短縮および通信帯域の増強を可能とした、通信信頼性の高いシリアル通信方法、通信装置、およびシリアル通信システムを提供することができる。また、この発明によれば、ライト動作時、マスタ側からライトデータのアドレスとエラー検出または訂正のための情報とを先に送出し次のフレームでライトデータを送出するようにしたので、スレーブ側ではライトデータを受信すると受信済みのエラー検出または訂正のための情報を用いてエラー検出処理を行ってその結果を同一フレーム中にマスタ側に返送することができるようになり、2フレームの通信時間でライトデータのエラー検出訂正情報を含んだ通信を完了させることができる。従って、従来の3フレームから2フレームに削減して1フレーム分の通信レイテンシの短縮および通信帯域の増強を可能とした、通信信頼性の高いシリアル通信方法、通信装置、およびシリアル通信システムを提供することができる。実施の形態1.図1は、本実施の形態1に係るシリアル通信システムの構成を示すブロック図である。図示例のシリアル通信システムは、マスタ装置100とスレーブ装置200を備え、これらマスタ装置100とスレーブ装置200との間がシリアルクロック入力用のシリアルクロックラインSCLK端子および2本のシリアルデータラインデータ入力用のSDI端子とデータ出力用のSDO端子の合計3ラインで接続されて、SPISerialPrepheralInterfaceを利用した全二重通信を行う。以下では、マスタ装置100に8ビットマイコンを用い、この仕様に合わせて通信単位フレームも8ビットとする。スレーブ装置200は、ASICApplicationSpecificIntegratedCircuit、FPGAField-ProgrammableGateArrayなどの周辺デバイスとする。また、1通信単位1フレームで構成された、以下の3つのフェーズを定義する。各フェーズの詳細は後述する。1AddresssetphaseASフェーズ2WritedataphaseWDフェーズ3ReaddataphaseRDフェーズまた、マスタ装置100からスレーブ装置200のレジスタ不図示へのリード/ライト動作は、ASフェーズRDフェーズの2フェーズ動作、またはASフェーズWDフェーズの2フェーズ動作によって実現する。よって、2フェーズ動作には、8ビットの通信2回分即ち、2フレーム分の通信時間を要することになる。マスタ装置100は、スレーブ装置200との間でシリアル通信を行うシリアル通信部110と、マイコンコアであるマスタ装置主要処理部120と、スレーブ装置200との間で通信を同期するためのクロック信号を生成するクロック生成部130とを備える。マスタ側のシリアル通信部110は、SPIの全二重通信を行う通信回路であり、クロック生成部130から出力されるクロック信号に同期したタイミングで動作するシフトレジスタ111を備える。なお、シリアル通信部110とマスタ装置主要処理部120との間のデータのやり取りは、内部バスインタフェース不図示を介して行ってもよい。シフトレジスタ111は、マスタ装置主要処理部120側から入力されるパラレルデータアドレス、R/W制御情報、ライトデータなどを格納し、シリアルデータに変換して、SDO端子から1ビットずつ出力する。また、シフトレジスタ111は、SDI端子から入力されるシリアルデータリードデータなどを格納して、パラレルデータに変換して、マスタ装置主要処理部120へ出力する。マスタ装置主要処理部120は、スレーブ装置200へ送信するデータのパリティを計算してシフトレジスタ111へ出力すると共に、スレーブ装置200から受信したデータに含まれるパリティを取得してパリティチェックを行う。スレーブ装置200は、マスタ装置100との間でシリアル通信を行うシリアル通信部210と、マイコンコアであるスレーブ装置主要処理部220とを備える。スレーブ側のシリアル通信部210は、SPIの全二重通信を行う通信回路であり、マスタ側のシリアル通信部110から入力されるクロック信号に同期したタイミングで動作する受信シフトレジスタ211、送信データセレクタ212および状態遷移制御部213を備える。なお、シリアル通信部210とスレーブ装置主要処理部220との間のデータのやり取りは、内部バスインタフェース不図示を介して行ってもよい。受信シフトレジスタ211は、SDI端子から入力されるシリアルデータアドレス、R/W制御情報、ライトデータ、パリティなどを格納し、パラレルデータに変換して、スレーブ装置主要処理部220へ出力する。送信データセレクタ212は、スレーブ装置主要処理部220から入力されるパラレルデータリードデータなど、受信シフトレジスタ211の格納するデータ、およびスレーブ装置主要処理部220から入力されるパリティチェック結果のうちから、状態遷移制御部213の選択信号に従ったデータを選択取得し、シリアルデータに変換して、SDO端子から1ビットずつ出力する。スレーブ装置主要処理部220は、マスタ装置100へ送信するデータのパリティを計算して送信データセレクタ212へ出力すると共に、マスタ装置100から受信したデータに含まれるパリティを取得してパリティチェックを行う。状態遷移制御部213は、SDI端子から入力される各ビットのデータに基づいて、リード/ライト動作およびフェーズ種別を判定して、各ビットについて予め定められた選択信号アドレス情報またはライト情報を送信データセレクタ212およびスレーブ装置主要処理部220に出力する。1ASフェーズ図2aは、ASフェーズのフレーム構成を説明する図である。また、図3および図4は、スレーブ装置200のタイミングチャートであり、図3はライト動作時のASフェーズとWDフェーズ、図4はリード動作時のASフェーズとRDフェーズを示す。なお、図3に示すように、スレーブ装置200は、SCLK端子から入力されるクロック信号に同期し、SDI端子の信号をクロック信号の立下りで検出し、かつ、クロック信号の立下りでSDO端子から出力する。一方、マスタ装置100はSDI端子の信号を、図3および図4に破線で示すタイミングで検出する。ASフェーズにおいて、マスタ側のSDO端子からスレーブ側のSDI端子へビット0~7の順にデータが送信される。ビット0はスタートビット値は0とするである。ビット1~4は、リード/ライト動作対象のレジスタのアドレス4ビットである。ビット5は、リード/ライト動作のいずれかを指定するR/W制御情報であり、リード動作なら1、ライト動作なら0とする。ビット6は、ASフェーズの上位5ビットアドレス4ビットとR/W制御情報1ビットのAS用パリティここではoddにするであり、アドレス要求が正しいかどうかスレーブ側でチェックするために用いる情報である。ビット7は、ライト動作時にWDフェーズで送信するライトデータ8ビットのWD用パリティここではoddにするであり、スレーブ側で受信したライトデータが正しいかどうかチェックするために用いる情報である。なお、本実施の形態1では、WDフェーズに先行するASフェーズでWD用パリティを事前送信する。一方、リード動作時のASフェーズではパリティの送信は不要である。マスタ側からスレーブ側への送信と同時に、スレーブ側のSDO端子からマスタ側のSDI端子へもビット0~7の順にデータが送信される。ビット0~5は、どのような値であってもよく、例えばダミーデータとして前フェーズでスレーブ側が受信した上位6ビットをそのまま返送する。ビット6は、リード動作時にRDフェーズで送信するリードデータ8ビットのRD用パリティであり、このASフェーズのビット5のサイクルでリードデータを読み出して求めたものである。なお、本実施の形態1では、RDフェーズに先行するASフェーズでRD用パリティを事前送信する。一方、ライト動作時のASフェーズではパリティの送信は不要である。ビット7は、スレーブ側で受信したアドレスのパリティチェック結果を示す情報であり、このASフェーズで受信したアドレスとR/W制御情報を、同じくこのASフェーズで受信したAS用パリティを用いて、ビット5のサイクルでパリティチェックエラーがなければ1したものである。なお、ASフェーズにおいてマスタ側からスレーブ側へアドレス等を送信し、スレーブ側でこのアドレス等のパリティチェックを行って返送することになるが、アドレス等はフレームの先頭ビット側に詰めておくので、スレーブ側ではアドレスを受信完了した時点でそのアドレスのデータをスレーブ装置主要処理部220から先行して読み出し図4に実線の矢印で示したタイミング、パリティチェックして同じフェーズ内で結果を返送することが可能となる。詳細は後述する。2WDフェーズ図2bは、WDフェーズのフレーム構成を説明する図である。ASフェーズに続くWDフェーズにおいて、マスタ側のSDO端子からスレーブ側のSDI端子へビット0~7の順にデータが送信される。ビット0~7は、先のASフェーズで指定したアドレスに書き込むためのライトデータ8ビットである。マスタ側からスレーブ側への送信と同時に、スレーブ側のSDO端子からマスタ側のSDI端子へもビット0~7の順にデータが送信される。ただし、ビット0~5はどのような値であってもよく、例えばダミーデータとして前フェーズでスレーブ側が受信した上位7ビットをそのまま返送する。ビット7は、スレーブ側で受信したライトデータのパリティチェック結果を示す情報であり、このWDフェーズで受信したライトデータを、先のASフェーズで受信したWD用パリティを用いて、ビット7のサイクルでパリティチェックエラーがなければ1したものである。3RDフェーズ図2cは、RDフェーズのフレーム構成を説明する図である。ASフェーズに続くRDフェーズにおいて、マスタ側のSDO端子からスレーブ側のSDI端子へビット0~7の順にデータが送信される。ただし、ビット0~7は、どのような値であってもよい。マスタ側からスレーブ側への送信と同時に、スレーブ側のSDO端子からマスタ側のSDI端子へもビット0~7の順にデータが送信される。ビット0~7は、先のASフェーズで指定されたアドレスのレジスタから読み出したリードデータ8ビットである。図1に示すマスタ装置100において、シリアル通信部110は、従来のSPI通信に必要なハードウェア構成と同じでよい。ただし、従来のSPI通信とはソフトウェア上の処理が異なる。従来のSPI通信では、先立って説明したように最初のフレームでアドレスとR/W制御情報を送信するのに対し、本実施の形態1ではAS用パリティとWD用パリティを求めて、最初のフレームASフェーズでアドレスとR/W制御情報に加えてAS用パリティとWD用パリティも送信する。他方のスレーブ装置200において、シリアル通信部210は、従来のSPI通信に必要なハードウェア構成に加え、新たに送信データセレクタ212と状態遷移制御部213とを備えている。以下、これら送信データセレクタ212と状態遷移制御部213を備えたスレーブ装置200の動作を中心にして、マスタ装置100を含めたシリアル通信システム全体の動作を説明する。先ずライト動作を説明し、続いてリード動作を説明する。ライト動作時のASフェーズにおいて、マスタ装置100では、マスタ装置主要処理部120においてライトデータのアドレスとR/W制御情報とからAS用パリティを計算して、シフトレジスタ111へ出力すると共に、ライトデータからWD用パリティを計算してシフトレジスタ111へ出力する。シフトレジスタ111は、マスタ装置主要処理部120から出力されたアドレスおよびR/W制御情報、ならびにAS用パリティおよびWD用パリティをビット1~7に格納する。ビット0はスタートビットである。そして、シリアル通信部110は、クロック生成部130が生成するクロック信号をSCLK端子から出力すると共に、シフトレジスタ111に格納された8ビットデータをクロック信号に同期してSDO端子から出力するASフェーズ。図5は、スレーブ装置200の動作を示すフローチャートである。ステップST1~ST8は受信側の処理、ステップST11~ST18は送信側の処理であり、マスタ装置100とスレーブ装置200の送受信はSCLK端子のクロック信号に同期して行われる。また、ステップST21~ST24の処理は各種の内部処理であり、状態遷移制御部213の指示で行われる。スレーブ装置200のシリアル通信部210では、状態遷移制御部213がSDI端子から入力されるビット0のスタートビットを検出しステップST1YES、ASフェーズの開始を判定する。そして、受信したビット0のデータは受信シフトレジスタ211に格納する。他方、スタートビットを検出した状態遷移制御部213は、送信データセレクタ212へ選択信号を出力し、送信データセレクタ212が受信シフトレジスタ211に格納されていた前回受信データの上位1ビットを選択して、ダミーデータとしてSDO端子からマスタ装置100へ送信するステップST11。シリアル通信部210は、マスタ装置100からビット1~4のアドレスとビット5のR/W制御情報を受信して、受信シフトレジスタ211に格納するステップST2,ST3。他方、状態遷移制御部213が引き続き送信データセレクタ212へ選択信号を出力し、送信データセレクタ212が受信シフトレジスタ211に格納されていた前回受信データのビット1~5を選択して、ダミーデータとしてSDO端子からマスタ装置100へ送信するステップST12。さらに、状態遷移制御部213は、受信シフトレジスタ211に格納されたビット1~4のアドレスを、先行してスレーブ装置主要処理部220へ通知し、スレーブ装置主要処理部220はASフェーズ中にリードデータを読み出してRD用パリティを計算するステップTT21,ST22。シリアル通信部210は、マスタ装置100からビット6のAS用パリティを受信して、受信シフトレジスタ211に格納するステップST4。他方、状態遷移制御部213はR/W制御情報に従ってライトかリードかを判定し、ライトの場合は引き続き送信データセレクタ212へ選択信号を出力し、送信データセレクタ212が受信シフトレジスタ211に格納されていた前回受信データのビット6を選択して、ダミーデータとしてSDO端子からマスタ装置100へ送信するステップST13。リードの場合の処理は後述する。なお、ライトの場合はステップST22で求めたRD用パリティは不要となる。また、スレーブ装置主要処理部220が、受信シフトレジスタ211からデータを取得し、AS用パリティを用いて、アドレスとR/W制御情報のパリティチェックを行うステップST23。シリアル通信部210は、マスタ装置100からビット7のWD用パリティを受信して、受信シフトレジスタ211に格納するステップST5。他方、状態遷移制御部213は送信データセレクタ212に対してスレーブ装置主要処理部220からアドレスのパリティチェック結果を取得するよう選択信号を出力する。送信データセレクタ212は、ステップST23でスレーブ装置主要処理部220の計算したアドレスのパリティチェック結果を取得して、ビット7としてSDO端子からマスタ装置100へ送信するステップST14。一方、マスタ装置100では、シフトレジスタ111からSDO端子へ、アドレス等のデータを送信すると共に、SDI端子から上位7ビットのダミーデータと、アドレスのパリティチェック結果とを受信して、シフトレジスタ111へ格納していくASフェーズ。格納された8ビットデータはマスタ装置主要処理部120へ出力される。続いてマスタ装置主要処理部120からシフトレジスタ111へ8ビットのライトデータが出力され、シフトレジスタ111がSDO端子から出力するWDフェーズ。RDフェーズにおいて、スレーブ装置200では、状態遷移制御部213が受信シフトレジスタ211に格納されたR/W制御情報に従ってリードかライトかを判定し、判定結果をマスタ装置主要処理部120へ出力するステップST6。今回はライトのためステップST6Write、SDI端子からライトデータを受信して受信シフトレジスタ211へ格納していき、8ビットのライトデータをスレーブ装置主要処理部220へ出力する。スレーブ装置主要処理部220はASフェーズで指定されたアドレスにライトデータを書き込むステップST7。また、スレーブ装置主要処理部220は、受信シフトレジスタ211に既に格納された7ビット分とこのクロックで受信した1ビット分の計8ビットのライトデータについて、ASフェーズのステップST5にて取得しておいたWD用パリティを用いてパリティチェックするステップST24。なお、シリアル通信部210は、ステップST23のパリティチェック結果がエラーであって正しいアドレス要求を受信できなかったと判断した場合、および、ステップST24のパリティチェック結果がエラーであって正しいライトデータを受信できなかったと判断した場合のいずれか一方、または両方において、スレーブ装置主要処理部220への書き込み要求を中止して、レジスタのデータを保護する構成にしてもよい。また、状態遷移制御部213はASフェーズからWDフェーズに遷移したことを判定してステップST15Write、送信データセレクタ212へ選択信号を出力し、送信データセレクタ212が受信シフトレジスタ211に格納されていた前回受信データの上位7ビットを選択して、ダミーデータとしてSDO端子からマスタ装置100へ送信するステップST16。さらに状態遷移制御部213は、送信データセレクタ212に対してスレーブ装置主要処理部220からライトデータのパリティチェック結果を取得するよう選択信号を出力する。送信データセレクタ212は、ステップST24でスレーブ装置主要処理部220が計算したライトデータのパリティチェック結果を取得して、ビット7としてSDO端子からマスタ装置100へ送信するステップST17。一方、マスタ装置100では、シフトレジスタ111からSDO端子へ、ライトデータを送信すると共に、SDI端子から上位7ビットのダミーデータと、ライトデータのパリティチェック結果とを受信して、シフトレジスタ111へ格納していくWDフェーズ。なお、マスタ装置100はパリティチェック結果に応じて、ライト動作を繰り返すなど所定の対応を行う。次に、リード動作を説明する。リード動作時のASフェーズにおいて、マスタ装置100では、マスタ装置主要処理部120においてリードデータのアドレスとR/W制御情報とから、ライト動作のASフェーズと同様にAS用パリティを計算してシフトレジスタ111へ出力する。シフトレジスタ111は、マスタ装置主要処理部120から出力されたアドレスおよびR/W制御情報、ならびにAS用パリティをビット1~6に格納する。ビット0はスタートビット、ビット7は不要である。そして、シリアル通信部110は、クロック信号に同期して、シフトレジスタ111に格納されたASフェーズのフレームを出力する。スレーブ装置200のシリアル通信部210は、上記同様にステップST1~ST5,ST11,ST12,ST23を行う。ここではライト動作時とは処理の異なるステップを中心に説明する。リード動作時のASフェーズでは、ステップST2においてビット1~4のアドレスを受信すると、続くR/W制御情報およびAS用パリティを受信する間に、状態遷移制御部213の通知を受けてスレーブ装置主要処理部220がこのアドレスのリードデータ取得しステップST21、パリティを計算するステップST22。続くステップST13において、状態遷移制御部213はR/W制御情報がリードなので、リードの場合は送信データセレクタ212に対してスレーブ装置主要処理部220からRD用パリティを取得するよう選択信号を出力する。そして、送信データセレクタ212が、ステップST22でスレーブ装置主要処理部220が計算したRD用パリティを取得して、ビット6としてSDO端子からマスタ装置100へ送信する。一方、マスタ装置100では、シフトレジスタ111からSDO端子へ、アドレス等のデータを送信すると共に、SDI端子からシフトレジスタ111へ上位6ビットのダミーデータと、RD用パリティと、アドレスのパリティチェック結果とを受信して格納していく。格納された8ビットデータはマスタ装置主要処理部120へ出力される。続いてシフトレジスタ111は、クロック信号に同期してSDO端子からダミーデータを出力するRDフェーズ。RDフェーズにおいて、スレーブ装置200では、状態遷移制御部213が受信シフトレジスタ211に格納されたR/W制御情報に従ってリードかライトかを判定するステップST6。今回はリードのためステップST6Read、SDI端子からダミーデータを受信して受信シフトレジスタ211へ格納していくステップST8。また、状態遷移制御部213はASフェーズからRDフェーズに遷移したことを判定してステップST15Read、送信データセレクタ212へ選択信号を出力し、送信データセレクタ212がスレーブ装置主要処理部220から出力されるリードデータをSDO端子からマスタ装置100へ送信するステップST18。一方、マスタ装置100のマスタ装置主要処理部120は、先のASフェーズで事前入手していたRD用パリティを用いて、今回のRDフェーズでSDI端子から入力されシフトレジスタ111に格納された8ビットのリードデータをパリティチェックするRDフェーズ。なお、マスタ装置100はパリティチェック結果に応じて、リード動作を繰り返すなど所定の対応を行う。以上より、実施の形態1によれば、同期式の全二重シリアル通信を行うシリアル通信システムのリード動作時は、ASフェーズにおいて、マスタ装置100からスレーブ装置200へリードデータのアドレスを含めたフレームを送信し、かつ、スレーブ装置200ではアドレスを受信した時点でリードデータを読み出してRD用パリティを求めて同一フレーム中にマスタ装置100へ返送し、続くRDフェーズにおいて、スレーブ装置200からマスタ装置100へASフェーズで読み出したリードデータを含めたフレームを送信するように構成した。このため、RDフェーズより先にRD用パリティを送出するようにして、ASフェーズとRDフェーズの2フレームの通信時間でRD用パリティエラー検出のための情報を含んだ通信を完了させることができる。よって、パリティだけのフレームを別途通信することなくマスタ側で即座にパリティチェックを開始することができる。また、通信信頼性も高めることができる。従って、従来の3フレームから2フレームに削減して1フレーム分の通信レイテンシの短縮最大約3割の短縮および通信帯域の増強が可能となり、さらに、リアルタイム処理が重要となるアプリケーションで求められる応答時間を短縮することができる。即ち、仮に通信速度が9600bps、マイコンコアの動作周波数が4MHzと仮定すれば、1ビットの通信パルス幅は1sec/9600=約104μsecであり、マイコンコアの動作周期は1sec/4,000,000=250nsec0.25μsecである。1バイト=8ビットのデータフレームを送受信するにあたって、従来手法によれば、その通信時間は104μsec×8ビット×3フレーム=2496μsecと求めることができるが、本発明での通信時間は104μsec×8ビット×2フレーム=1664μsecとなるため、差し引き2496-1664=832μsecの通信レイテンシの短縮が可能となる。動作周波数4MHzのマイコンコアにおいて、この差は832μsec/250nsec=3328サイクルに相当することになる。つまり、本発明により、従来方式に比較して、通信レイテンシの短縮により、通信完了後に実行すべき最大3328命令分もの処理を先行して実行可能となる。また、実施の形態1によれば、マスタ装置100からスレーブ装置200へ送信するASフェーズにおいて、パリティより先出側にアドレスを詰めたフレームを送信するようにしたので、このASフェーズ中に、スレーブ装置200でアドレスを受信した時点でスレーブ装置主要処理部220がリードデータを先行して読み出してRD用パリティを求めて返送することができる。また、実施の形態1によれば、同期式の全二重シリアル通信を行うシリアル通信システムのライト動作時は、ASフェーズにおいて、マスタ装置100からスレーブ装置200へライトデータのアドレスと、WD用パリティとを含めたフレームを送信し、続くWDフェーズにおいて、マスタ装置100からスレーブ装置200へライトデータを含めたフレームを送信するように構成した。このため、ライト動作においてもマスタ側からWDフェーズより先のASフェーズでWD用パリティエラー検出のための情報を送出し、続くWDフェーズでライトデータを送出して同一フレーム中にパリティチェック結果を受け取るようにして、ASフェーズとWDフェーズの2フレームの通信時間でWD用パリティのパリティチェック結果を含んだ通信を完了させることができる。よって、通信信頼性を高めることができる。また、従来の3フレームから2フレームに削減して1フレーム分の通信レイテンシの短縮および通信帯域の増強が可能となり、さらに、リアルタイム処理が重要となるアプリケーションで求められる応答時間を短縮することができる。なお、リード動作時およびライト動作時とも、通信単位であるフレームのビット数は、マスタ装置100およびスレーブ装置200のデータビット数と一致するか、またはデータビット数より少ないものとする。ここで、マスタ装置100およびスレーブ装置200のデータビット数というのは、各装置の内部で、1度に処理できるデータの幅をビット数で表したものであり、例えば一度に8ビットのみ演算できるものはデータビット数8ビット、32ビットの演算ができるものについてはデータビット数32ビットとなる。なお、外部データバス幅が16ビットの32ビットマイコンなど、入出力ビット数が内部データバス幅より少ない製品も存在するが、これらデータビット数については一般に用いられる概念に過ぎないため、説明の詳細は割愛する。また、ライト動作時は、リード動作時のようなリードデータを先行して読み込み処理する必要がないので、送信データセレクタ212および状態遷移制御部213を省略することも可能である。その場合、受信シフトレジスタ211をシフトレジスタ111と同じように使用し、受信したデータをシリアル/パラレル変換してスレーブ装置主要処理部220へ出力すると共に、スレーブ装置主要処理部220から出力されたデータをパラレル/シリアル変換してマスタ装置100へ送信すればよい。なお、ライト動作時は、全二重シリアル通信に限定されるものではなく、半二重または単向のシリアル通信であってもよい。また、ASフェーズとWDフェーズは順番が逆であってもよい。即ち、ライト動作時のマスタ装置100は、先ずWDフェーズにおいて、スレーブ装置200へ書き込むためのライトデータをマスタ装置主要処理部120から受け付けてシフトレジスタ111からスレーブ装置200へ送信し、続くASフェーズにおいて、このライトデータのアドレス、およびマスタ装置主要処理部120で求めたWD用パリティを含めたフレームをシフトレジスタ111からスレーブ装置200へ送信するように構成する。他方のスレーブ装置200は、先ずWDフェーズにおいて、スレーブ装置主要処理部220に書き込むためのライトデータを含むフレームをマスタ装置100より受信し、続くASフェーズにおいて、マスタ装置100よりライトデータのアドレスおよびWD用パリティを含むフレームを受信し、かつ、スレーブ装置主要処理部220が、ASフェーズで受信したWD用パリティを用いてWDフェーズで受信したライトデータのエラー検出処理を行い、パリティチェック結果を含めたフレームをマスタ装置100へ送信するように構成する。この場合であっても、2フレームの通信時間でWD用パリティを含んだ信頼性の高い通信を完了させることができる。なお、通信単位であるフレームのビット数は、マスタ装置100およびスレーブ装置200のデータビット数と一致するか、またはデータビット数より少ないものとする。また、実施の形態1によれば、マスタ装置100からスレーブ装置200へ送信するASフェーズにおいて、マスタ装置100がアドレスと、R/W制御情報と、AS用パリティとを含めたフレームを生成するようにし、特にアドレスはシフトレジスタ111の先頭ビット側に詰めるように構成した。このため、このASフレーズ中に、スレーブ装置200がAS用パリティを用いてアドレスのパリティチェックを行いチェック結果を返送することができる。従って、2フレームの通信時間で、リードデータまたはライトデータのパリティだけでなく、アドレスのパリティを含んだ通信を完了させることができる。これにより、通信時間短縮に加え、通信信頼性の更なる向上を図ることもできる。また、実施の形態1によれば、スレーブ装置200は、AS用パリティを用いたアドレスとR/W制御情報のエラー検出処理においてエラーが検出された場合、およびWD用パリティを用いたライトデータのエラー検出処理においてエラーが検出された場合のいずれか一方、または両方において、このライトデータの書き込みを中止するように構成した。このため、スレーブ装置200側で誤って受信したライトデータ値の書き込みを防止することにより、誤った設定制御の発生による、誤動作の発生を防ぐことができる。なお、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成は、上述した実施の形態の構成に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更などがあっても本発明に含まれることは言うまでもない。例えば、上記実施の形態1では1台のマスタ装置100と1台のスレーブ装置200を用いたが、スレーブ装置200を複数台用いても構わない。また例えば、マスタ装置100として汎用マイコンを用いたが、これに限定されるものではなく、スレーブ装置200をマスタ装置100として利用してもよい。この構成の場合、クロック生成部130を具備したスレーブ装置200を複数台用意し、そのうちの1台のクロック生成部130をアクティブにして他のスレーブ装置200へクロック信号を送信する等すればよい。また例えば、アドレス、リードデータおよびライトデータそれぞれのエラー検出処理を行う構成にしたが、これに限定されるものではなく、エラー検出に加えエラー訂正を行う構成にしてもよい。また、上記実施の形態1では、物理的に実存するクロック信号を伝送するシリアルクロックライン、および当該クロック信号に同期したデータ信号を送受信するシリアルデータラインを用いるものとして説明したが、シリアルクロックラインを通じてクロックの同期を図る必要はなく、送信側のクロックに同期してデータを符号化し、受信側でクロックリカバリ回路などによりデータ信号からクロックを再生して、内部的に同期を図る構成にしても構わない。また、シリアルデータラインはデータ入力用のSDI端子とデータ出力用のSDO端子の2本として説明したが、例えば通信高速化等の目的のため、2本以上のデータラインを用いても同様の技術的思想により本発明を適用しうることを言うまでも無い。"