(57)【要約】【課題】伝送効率を低下させることなく、マスター局間でデータを共有することができるシリアルバスシステムを提供する。【解決手段】マスター局１０は、シリアルバス３を流れるデータが他のマスター局１０との間で共有すべき予め定められたデータであるか否かを判定する判定部１０１と、判定部１０１により他のマスター局１０との間で共有すべきデータであると判定されたデータを取り込む取込部１０２とを備える。またスレーブ局２０は、シリアルバス３を流れるデータが他のスレーブ局２０との間で共有すべき予め定められたデータであるか否かを判定する判定部２０１と、判定部２０１により他のスレーブ局２０との間で共有すべきデータであると判定されたデータを取り込む取込部２０２とを備える。【選択図】図１
2008271410.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスター局と、各マスター局とシリアルバスを介して接続された複数のスレーブ局とを備えるシリアルバスシステムであって、
前記マスター局は、
前記シリアルバスを流れるデータが他のマスター局との間で共有すべき予め定められたデータであるか否かを判定するマスター側判定手段と、
前記マスター側判定手段により他のマスター局との間で共有すべきデータであると判定されたデータを取り込むマスター側取込手段とを備えることを特徴とするシリアルバスシステム。
【請求項２】
前記スレーブ局は、
前記シリアルバスを流れるデータが他のスレーブ局との間で共有すべき予め定められたデータであるか否かを判定するスレーブ側判定手段と、
前記スレーブ側判定手段により他のスレーブ局との間で共有すべきデータであると判定されたデータを取り込むスレーブ側取込手段とを備えることを特徴とする請求項１記載のシリアルバスシステム。
【請求項３】
前記マスター側判定手段は、前記シリアルバスに流れるデータが、データを共有することが予め定められた他のマスター局宛に送出されたデータである場合、当該データを他のマスター局との間で共有すべきデータであると判定することを特徴とする請求項１又は２記載のシリアルバスシステム。
【請求項４】
前記スレーブ側判定手段は、前記シリアルバスに流れるデータが、データを共有することが予め定められた他のスレーブ局宛に送出されたデータである場合、当該データを他のマスター局との間で共有すべきデータであると判定することを特徴とする請求項２記載のシリアルバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のマスター局と複数のスレーブ局とがシリアルバスを介して接続されたシリアルバスシステムに関するものである。
【背景技術】
【０００２】
図８は、従来のシリアルバスシステムにおいて複数のマスター局間であるデータを共有する場合データの流れを示した図である。まず、マスター局１０１Ｊは、スレーブ局２０１Ｊにあるデータを読み出すためのコマンドを送出し（１ｓｔ）、このコマンドを受信したスレーブ局２０１Ｊは、マスター局１０１Ｊに読み出し要求がされたデータを送出し（２ｎｄ）、マスター局１０１Ｊは、受信したデータをマスター局１０２Ｊに送出し（３ｒｄ）、マスター局１０２Ｊは受信したデータに対するレスポンスをマスター局１０１Ｊに送出することで、マスター局１０１Ｊとマスター局１０２Ｊとの間でデータが共有されていた。
【０００３】
図９は、従来のシリアルバスシステムにおいて複数のスレーブ局間であるデータを共有する場合データの流れを示した図である。まず、マスター局１０１Ｊは、スレーブ局２０１Ｊにデータを読み出すためのコマンドを送出し（１ｓｔ）、このコマンドを受信したスレーブ局２０１Ｊは、マスター局１０１Ｊに読み出し要求がされたデータを送出し（２ｎｄ）、マスター局１０１Ｊは、受信したデータをスレーブ局２０２Ｊに送出し（３ｒｄ）、スレーブ局２０２Ｊは受信したデータに対するレスポンスをマスター局１０１Ｊに送出することで（４ｔｈ）、スレーブ局２０１Ｊとスレーブ局２０２Ｊとの間でデータが共有されていた。
【０００４】
特許文献１には、データ線のトラフィックを圧迫することなく、少ない信号線と簡単なデータ通信タイミング手段とによって、効率良くデータの伝送を行うことができる双方向シリアルインターフェイス回路を提供することを目的として（段落［０００４］）、「予め決めておいた自データ送受信部のアドレス番号と３進カウンタのタイミングとが一致したときにのみ、送信したいデータ送受信部のアドレス番号をデータに付加して送信する」シリアルインターフェイス回路が開示されている（段落［００２８］）。
【特許文献１】特開２００１−２８５３１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のシリアルバスシステムにおいては、図８に示すようにスレーブ局２０１Ｊからのデータを受信したマスター局１０１Ｊが他のマスター局１０２Ｊに共有すべきデータを送出することでデータが共有されているため、シリアルバスのトラフィックが増大し、伝送効率が低下するという問題があった。また、従来のシリアルバスシステムにおいては、図９に示すように、スレーブ局２０１Ｊからのデータを受信したマスター局１０１Ｊがスレーブ局２０２Ｊに共有すべきデータを送出することでスレーブ局２０１Ｊ及び２０２Ｊ間でデータが共有されているため、シリアルバスのトラフィックが増大し、伝送効率が低下するという問題があった。
【０００６】
更に、特許文献１の技術は、自データ送受信部のアドレス番号と３進カウンタのタイミングとが一致したときにのみ、送信したいデータ送受信部のアドレス番号をデータに付加して送信するというような構成が採用されており、本願とは構成が大きく相違している。
【０００７】
本発明の目的は、伝送効率を低下させることなく、マスター局間でデータを共有することができるシリアルバスシステムを提供することである。
【課題を解決するための手段】
【０００８】
本発明によるシリアルバスシステムは、複数のマスター局と、各マスター局とシリアルバスを介して接続された複数のスレーブ局とを備えるシリアルバスシステムであって、前記マスター局は、前記シリアルバスを流れるデータが他のマスター局との間で共有すべき予め定められたデータであるか否かを判定するマスター側判定手段と、前記マスター側判定手段により他のマスター局との間で共有すべきデータであると判定されたデータを取り込むマスター側取込手段とを備えることを特徴とする。
【０００９】
この構成によれば、マスター局において、シリアルバスを流れるデータが他のマスター局との間で共有すべき予め定められたデータであるか否かが判定され、他のマスター局との間で共有すべきデータであると判定された場合、当該データが取り込まれる。そのため、マスター局同士で共有すべきデータを送受することなく、データを共有することができ、伝送効率を低下させることなく、マスター局同士でデータを共有することができる。
【００１０】
また、前記スレーブ局は、前記シリアルバスを流れるデータが他のスレーブ局との間で共有すべき予め定められたデータであるか否かを判定するスレーブ側判定手段と、前記スレーブ側判定手段により他のスレーブ局との間で共有すべきデータであると判定されたデータを取り込むスレーブ側取込手段とを備えることが好ましい。
【００１１】
この構成によれば、スレーブ局において、シリアルバスを流れるデータが他のスレーブ局との間で共有すべき予め定められたデータであるか否かが判定され、他のスレーブ局との間で共有すべきデータであると判定された場合、当該データが取り込まれるため、スレーブ局同士で共有すべきデータを送受することなく、データを共有することができ、伝送効率を低下させることなく、スレーブ局同士でデータを共有することができる。
【００１２】
また、前記マスター側判定手段は、前記シリアルバスに流れるデータが、データを共有することが予め定められた他のマスター局宛に送出されたデータである場合、当該データを他のマスター局との間で共有すべきデータであると判定することが好ましい。
【００１３】
この構成によれば、シリアルバスに流れるデータがどのスレーブ局から送出されたデータであるかを判定することで、当該データが他のマスター局との間で共有すべきデータであるか否かが判定されるため、他のマスター局との間で共有すべきデータであるか否かの判定処理の簡便化を図ることができる。
【００１４】
また、前記スレーブ側判定手段は、前記シリアルバスに流れるデータが、データを共有することが予め定められた他のスレーブ局宛に送出されたデータである場合、当該データを他のマスター局との間で共有すべきデータであると判定することが好ましい。
【００１５】
この構成によれば、シリアルバスに流れるデータがどのマスター局から送出されたデータであるかを判定することで、当該データが他のスレーブ局との間で共有すべきデータであるか否かが判定されるため、他のスレーブ局との間で共有すべきデータであるか否かの判定処理の簡便化を図ることができる。
【発明の効果】
【００１６】
本発明によれば、伝送効率を低下させることなく、マスター局間でデータを共有させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態によるシリアルバスシステムについて説明する。図１は、本実施の形態によるシリアルバスシステムのブロック図を示している。本シリアルバスシステムは、Ｎ（ｎは２以上の整数）個のマスター局１１〜１Ｎと、Ｍ（Ｍは２以上の整数）個のスレーブ局２１〜２Ｍとを備えている。マスター局１１〜１Ｎ及びスレーブ局２１〜２Ｍはシリアルバス３により種々のデータが送受信可能に接続されている。なお、マスター局１１〜１Ｎを特に区別しない場合は、マスター局に対して「１０」の符号を付し、スレーブ局２１〜２Ｍを特に区別しない場合は、スレーブ局に対して「２０」の符号を付す。
【００１８】
マスター局１０は、例えばＣＰＵが搭載された回路基板と、当該回路基板を他の回路基板に接続するためのコネクタとを備えている。本シリアルバスシステムにおいては、マスター局１０は、スレーブ局２０を制御するためのコマンドフレームをシリアルバス３上に送出するものとする。
【００１９】
スレーブ局２０は、例えばＥＥＰＲＯＭ等の記憶装置や、入出力インターフェイス等が搭載された回路基板と、当該回路基板を他の回路基板に接続するためのコネクタとを備えている。本シリアルバスシステムにおいては、スレーブ局２０は、マスター局１０から送信されたコマンドフレームに対するレスポンスフレームをシリアルバス３上に送出するものとする。
【００２０】
シリアルバス３は、マスター局１０及びスレーブ局２０から送出されるデータを伝送するデータ線３１と、マスター局１１〜１Ｎ及びスレーブ局２１〜２Ｎを同期させるためのクロック信号を伝送するクロック線３２とを備えている。
【００２１】
そして、マスター局１１〜１Ｎを構成する回路基板とスレーブ局２１〜２Ｍを構成する回路基板がコネクタを介して接続されると、図１に示すように、マスター局１０及びスレーブ局２０がシリアルバス３を介して接続されることとなる。なお、図１に示すシリアルバスシステムは、２軸ＸＹテーブルや、ロボットアーム等の制御対象物を制御するＰＬＣ（programmable logic controller）を構成する。
【００２２】
図２は、マスター局１０が送出するコマンドフレームＦ１のデータフォーマットの一例を示した図である。図２に示すようにコマンドフレームＦ１は、「送信元マスター局局番」のフィールドと、「送信先スレーブ局局番」のフィールドと、「コマンド」のフィールドと、「アドレス」のフィールドと、「データ」のフィールドと、「ＦＣＳ（Frame Check Sequence）」のフィールドとを備えている。なお、コマンドフレームＦ１は、マスター局１０のみが送出し、スレーブ局２０は送出しない。
【００２３】
「送信元マスター局局番」のフィールドには、コマンドフレームＦ１の送信元となるマスター局１０に対して一意に与えられた局番が格納される。「送信先スレーブ局局番」のフィールドには、コマンドフレームＦ１の送信先となるスレーブ局２０に対して一意に与えられた局番が格納される。「コマンド」のフィールドには、コマンドフレームであることを示し、かつ、コマンドの種類を示すデータが格納される。
【００２４】
ここで、コマンドの種類としては、マスター局１０がスレーブ局２０にデータを書き込むための「書き込みコマンド」、及びマスター局１０がスレーブ局２０からデータを読み出すための「読み出しコマンド」等が含まれる。
【００２５】
「アドレス」のフィールドには、例えば、コマンドフレームＦ１が「読み出しコマンド」である場合は、読み出し対象となるデータが格納されたスレーブ局２０の記憶装置内のアドレスが格納され、また、コマンドフレームＦ１が「書き込みコマンド」である場合は、書き込み対象のデータが書き込まれるスレーブ局２０の記憶装置内のアドレスが格納される。「データ」のフィールドには、例えば、コマンドフレームＦ１が「書き込みコマンド」である場合は、書き込み対象のデータが格納される。「ＦＣＳ」のフィールドには、コマンドフレームＦ１の誤り検出を行うためのフレームチェックシーケンスが格納される。
【００２６】
図３は、スレーブ局２０がマスター局１０に送信するレスポンスフレームＦ２のデータフォーマットの一例を示している。レスポンスフレームＦ２は、「送信元マスター局局番」のフィールド、「送信先スレーブ局局番」のフィールド、「レスポンス」のフィールド、「データ」のフィールド、及び「ＦＣＳ」のフィールドを備えている。なお、レスポンスフレームＦ２は、スレーブ局２０のみが送出し、マスター局１０は送出しない。
【００２７】
「送信元マスター局局番」のフィールドには、レスポンスフレームＦ２の送信先となるマスター局１０の局番、すなわち、レスポンスフレームＦ２に対するコマンドフレームＦ１の送信元であるマスター局１０の局番が格納される。「送信先スレーブ局局番」のフィールドには、レスポンスフレームＦ２の送信元となるスレーブ局２０の局番、すなわち、レスポンスフレームＦ２に対するコマンドフレームＦ１の送信先となるスレーブ局２０の局番が格納される。「レスポンス」のフィールドには、レスポンスフレームＦ２がレスポンスフレームＦ２であることを示すデータが格納される。「データ」のフィールドには、例えばレスポンスフレームＦ２が「読み出しコマンド」に対するレスポンスである場合は、読み出し対象となるデータが格納される。「ＦＣＳ」のフィールドには、レスポンスフレームＦ２の誤り検出を行うためのフレームチェックシーケンスが格納される。
【００２８】
図４は、マスター局１０の詳細な構成を示すブロック図である。なお、図４に示すブロック図は、スレーブ局２０の詳細な構成も示しており、括弧内の符号はスレーブ局に対する構成を示している。
【００２９】
図４に示すように、マスター局１０は、判定部１０１、取込部１０２、及び記憶部１０３を備えている。判定部１０１（マスター側判定手段）は、シリアルバス３を流れるデータが他のマスター局１０との間で共有すべき予め定められたデータであるか否かを判定する。
【００３０】
ここで、判定部１０１は、シリアルバス３を流れるデータを検出すると、当該データをバッファ１０１ａに格納し、当該データが他のマスター局１０から送出されたコマンドフレームＦ１である場合は、当該コマンドフレームＦ１の「送信元マスター局局番」のフィールドに、データを共有することが予め定められた他のマスター局１０の局番が格納されているか否かを判定し、「送信元マスター局局番」のフィールドにデータを共有することが予め定められた他のマスター局１０の局番が格納されている場合は、当該コマンドフレームＦ１を、他のマスター局１０との間で共有すべきデータであると判定する。バッファ１０１ａは、シリアルバス３を流れるデータを一時的に格納する。
【００３１】
また、判定部１０１は、バッファ１０１ａに格納したデータが、スレーブ局２０から送出されたレスポンスフレームＦ２である場合は、このレスポンスフレームＦ２の「送信元マスター局局番」のフィールドに、データを共有することが予め定められた他のマスター局１０の局番が格納されているか否かを判定し、「送信元マスター局局番」のフィールドにデータを共有することが予め定められた他のマスター局１０の局番が格納されている場合は、当該レスポンスフレームＦ２を他のマスター局１０との間で共有すべきデータであると判定する。
【００３２】
取込部１０２は、判定部１０１により他のマスター局１０との間で共有すべきデータであると判定されたデータを記憶部１０３に取り込む。記憶部１０３は、ＥＥＰＲＯＭ等の書き換え可能な不揮発性の記憶装置から構成される。
【００３３】
図４に示すスレーブ局２０は、判定部２０１、取込部２０２、及び記憶部２０３を備える。判定部２０１は、シリアルバス３を流れるデータが他のスレーブ局２０との間で共有すべき予め定められたデータが送出されたか否かを判定する。
【００３４】
ここで、判定部２０１は、シリアルバス３を流れるデータを検出すると、当該データをバッファ２０１ａに格納し、当該データがあるマスター局１０から送出されたコマンドフレームＦ１である場合は、このコマンドフレームＦ１の「送信先スレーブ局局番」のフィールドに、データを共有することが予め定められた他のスレーブ局２０の局番が格納されているか否かを判定し、「送信先スレーブ局局番」のフィールドにデータを共有することが予め定められた他のスレーブ局２０の局番が格納されている場合は、このコマンドフレームＦ１を、他のスレーブ局２０との間で共有すべきデータであると判定する。
【００３５】
また、判定部２０１は、バッファ２０１ａに格納したデータが、スレーブ局２０から送出されたレスポンスフレームＦ２である場合は、このレスポンスフレームＦ２の「送信先スレーブ局局番」のフィールドに、データを共有することが予め定められた他のスレーブ局２０の局番が格納されているか否かを判定し、データを共有することが予め定められた他のマスター局１０の局番が格納されている場合は、このレスポンスフレームＦ２を他のスレーブ局２０との間で共有すべきデータであると判定する。
【００３６】
取込部２０２は、ＥＥＰＲＯＭ等の不揮発性の記憶装置から構成され、判定部２０１により他のスレーブ局２０との間で共有すべきデータであると判定されたデータを記憶部２０３に取り込む。記憶部２０３は、ＥＥＰＲＯＭ等の書き換え可能な不揮発性の記憶装置から構成される。
【００３７】
図５は、本シリアルバスシステムのデータの流れを示した図である。このシリアルバスシステムでは、マスター局１０として２つのマスター局１１、１２が存在し、スレーブ局２１として２つのスレーブ局２１，２２が存在する。また、このシリアルバスシステムでは、マスター局１１，１２は、データを共有するものとする。
【００３８】
まず、マスター局１１がシリアルバス３を介してスレーブ局２１に「読み出しコマンド」のコマンドフレームＦ１を送出する（１ｓｔ）。ここで、マスター局１２は、このコマンドフレームＦ１の「送信元マスター局局番」のフィールドに、データを共有することが予め定められたマスター局１１の局番が格納されているため、このコマンドフレームＦ１を取り込む。次に、このコマンドフレームＦ１を受信したスレーブ局２１は、このコマンドフレームＦ１に対するレスポンスフレームＦ２をマスター局１１に送出する（２ｓｔ）。ここで、マスター局１２は、このレスポンスフレームＦ２の「送信元マスター局局番」のフィールドにデータを共有することが予め定められたマスター局１１の局番が格納されているため、このレスポンスフレームＦ２を取り込む。これにより、マスター局１１は、スレーブ局２１にコマンドフレームＦ１を送出した後、マスター局１２にこのコマンドフレームＦ１を送出しなくても、マスター局１２との間でコマンドフレームＦ１を共有することができる。また、マスター局１１は、スレーブ局２１から送出されたレスポンスフレームＦ２を受信した後、マスター局１２にこのレスポンスフレームＦ２を送出しなくとも、マスター局１２との間でレスポンスフレームＦ２を共有することができる。
【００３９】
次に、スレーブ局２０の処理について説明する。図６は、スレーブ局２０の処理を示すフローチャートである。まず、ステップＳ１において、スレーブ局２０の判定部２０１は、シリアルバス３を流れるデータを検出し、当該データをバッファ２０１ａに格納し、当該データがコマンドフレームＦ１であるか否かを判定し、コマンドフレームＦ１である場合（ステップＳ１でＹＥＳ）、処理をステップＳ２に進める一方、コマンドフレームＦ１でない場合（ステップＳ１でＮＯ）、当該データをバッファ２０１ａから破棄して処理を終了する。
【００４０】
次に、ステップＳ２において、判定部２０１は、コマンドフレームＦ１の「送信先スレーブ局局番」のフィールドを参照し、このフィールドにデータを共有すべき他のスレーブ局２０の局番が格納されている場合（ステップＳ２でＹＥＳ）、処理をステップＳ３に進め、共有すべき他のスレーブ局２０の局番が格納されていない場合（ステップＳ２でＮＯ）、このコマンドフレームＦ１をバッファ２０１ａから破棄して処理を終了する。
【００４１】
次に、ステップＳ３において、判定部２０１は、コマンドフレームＦ１の「アドレス」のフィールドを参照し、このフィールドに格納されたアドレスが、他のスレーブ局２０と共有すべきデータを格納するために予め割り当てられたアドレス領域内アドレスを示す場合（ステップＳ３でＹＥＳ）、処理をステップＳ４に進め、「アドレス」のフィールドに格納されたアドレスが、他のスレーブ局２０と共有すべきデータを格納するために予め割り当てられたアドレス領域内のアドレスを示さない場合（ステップＳ３でＮＯ）、このコマンドフレームＦ１をバッファ２０１ａから破棄して処理を終了する。
【００４２】
次に、ステップＳ５において、判定部２０１は、コマンドフレームＦ１の「コマンド」のフィールドを参照し、このフィールドに「書き込みコマンド」、「読み出しコマンド」、及びこれら以外の「その他のコマンド」のいずれのコマンドを示すデータが格納されているか否かにより、コマンドフレームＦ１が「書き込みコマンド」、「読み出しコマンド」及び「その他のコマンド」のいずれのコマンドに該当するか否かを判定する。
【００４３】
そして、判定部２０１は、コマンドフレームＦ１が「書き込みコマンド」であると判定した場合（ステップＳ４で「書き込み」）、処理をステップＳ９に進め、取込部２０２は、コマンドフレームＦ１の「データ」のフィールドに格納された書き込み対象のデータを、「アドレス」のフィールドに格納されたデータが示す記憶部２０３のアドレスに書き込み、データを取り込む。これにより、コマンドフレームＦ１の送信先のスレーブ局２０との間でデータが共有される。なお、書き込みが終了すると、取込部２０２は、バッファ２０１ａに格納されているコマンドフレームＦ１を破棄する。
【００４４】
一方、ステップＳ４において、判定部２０１は、コマンドフレームＦ１が読み出しコマンドであると判定した場合（ステップＳ４で読み出し）、後述するタイムアウト時間の計時を開始すると共に、シリアルバス３に流れているデータをバッファ２０１ａに格納し、当該データが他のスレーブ局２０から送出されたレスポンスフレームＦ２であるか否かを判定する（ステップＳ５）。ここで、判定部２０１は、シリアルバス３上を流れるデータを検出する毎に当該データをバッファ２０１ａに格納し、当該データがレスポンスフレームＦ２であるか否かを判定し、レスポンスフレームＦ２でないと判定した場合は、そのデータをバッファ２０１ａから破棄し、レスポンスフレームＦ２であると判定した場合は、そのデータをバッファ２０１ａに保持する。
【００４５】
そして、ステップＳ５において、判定部２０１は、レスポンスフレームＦ２と判定した場合（ステップＳ５でＹＥＳ）、処理をステップＳ６に進め、レスポンスフレームＦ２と判定していない場合（ステップＳ５でＮＯ）、処理をステップＳ７に進める。
【００４６】
次に、判定部２０１は、ステップＳ７において、予め定められたタイム時間アウトが経過した場合（ステップＳ７でＹＥＳ）、すなわち、タイムアウト時間が経過するまでに、レスポンスフレームＦ２を受信できなかった場合、コマンドフレームＦ１をバッファから破棄して処理を終了する。
【００４７】
一方、ステップＳ７において、判定部２０１は、タイムアウト時間が経過していない場合（ステップＳ７でＮＯ）、処理をステップＳ５に戻す。
【００４８】
次に、ステップＳ６において、判定部２０１は、ステップＳ５で判定したレスポンスフレームＦ２が正常なデータであるか否かを判定し、正常なデータである場合（ステップＳ６でＹＥＳ）、処理をステップＳ８に進め、異常なデータである場合（ステップＳ６でＮＯ）、コマンドフレームＦ１及びレスポンスフレームＦ２をバッファ２０１ａから破棄して処理を終了する。ここで、判定部２０１は、例えば、レスポンスフレームＦ２の「ＦＣＳ」のフィールドに格納されたデータからレスポンスフレームＦ２に誤りがあるか否かを判定し、誤りがあると判定した場合は、レスポンスフレームＦ２は異常なデータであると判定する。
【００４９】
次に、ステップＳ８において、判定部２０１は、ステップＳ５で判定したレスポンスフレームＦ２の「送信先スレーブ局局番」のフィールドに、データを共有すべき他のスレーブ局の局番が格納されている場合（ステップＳ８でＹＥＳ）、処理をステップＳ９に進め、ステップＳ５で判定したレスポンスフレームＦ２の「送信先スレーブ局局番」のフィールドに、データを共有すべき他のスレーブ局２０の局番が格納されていない場合（ステップＳ８でＮＯ）、コマンドフレームＦ１及びレスポンスフレームＦ２をバッファ２０１ａから破棄して処理を終了する。
【００５０】
次に、ステップＳ９において、取込部２０２は、ステップＳ５で受信したレスポンスフレームＦ２の「データ」のフィールドに格納された読み出し対象のデータを、「アドレス」のフィールドに格納されたデータによって示される記憶部２０３のアドレスに書き込み、データを取り込み、処理を終了する。なお、書き込みが終了すると、取込部２０２は、バッファ２０１ａに格納されているコマンドフレームＦ１及びレスポンスフレームＦ２を破棄する。
【００５１】
次に、マスター局１０の処理について説明する。図７はマスター局１０の処理を示すフローチャートである。まず、ステップＳ２１において、マスター局１０の判定部１０１は、シリアルバス３を流れるデータを検出し、当該データをバッファ１０１ａに格納し、当該データがコマンドフレームＦ１であるか否かを判定し、コマンドフレームＦ１である場合（ステップＳ２１でＹＥＳ）、当該データをバッファ１０１ａに保持し、処理をステップＳ２に進める一方、コマンドフレームＦ１でない場合（ステップＳ２１でＮＯ）、当該データをバッファ１０１ａから破棄して処理を終了する。
【００５２】
次に、ステップＳ２２において、判定部１０１は、コマンドフレームＦ１の「送信元マスター局局番」のフィールドを参照し、このフィールドにデータを共有すべき他のマスター局１０の局番が格納されている場合（ステップＳ２２でＹＥＳ）、処理をステップＳ２３に進め、共有すべき他のマスター局１０の局番が格納されていない場合（ステップＳ２２でＮＯ）、当該コマンドフレームＦ１をバッファ１０１ａから破棄して処理を終了する。
【００５３】
次に、ステップＳ２３において、判定部１０１は、コマンドフレームＦ１の「アドレス」のフィールドを参照し、このフィールドに格納されたアドレスが、他のマスター局１０と共有すべきデータを格納するために予め割り当てられたアドレス領域内アドレスを示す場合（ステップＳ２３でＹＥＳ）、処理をステップＳ２４に進め、「アドレス」のフィールドに格納されたアドレスが、他のマスター局１０と共有すべきデータを格納するために予め割り当てられたアドレス領域内のアドレスを示さない場合（ステップＳ２３でＮＯ）、当該コマンドフレームＦ１をバッファ１０１ａから破棄して処理を終了する。
【００５４】
次に、ステップＳ２４において、判定部１０１は、コマンドフレームＦ１の「コマンド」のフィールドを参照し、このフィールドに「書き込みコマンド」、「読み出しコマンド」、及びこれら以外の「その他のコマンド」のいずれのコマンドを示すデータが格納されているか否かにより、コマンドフレームＦ１が「書き込みコマンド」、「読み出しコマンド」及び「その他のコマンド」のいずれのコマンドに該当するか否かを判定する。
【００５５】
そして、判定部１０１は、コマンドフレームＦ１が「書き込みコマンド」であると判定した場合（ステップＳ２４で「書き込み」）、処理をステップＳ２９に進め、取込部１０２は、コマンドフレームＦ１の「データ」のフィールドに格納された書き込み対象のデータを、「アドレス」のフィールドに格納されたデータによって示される記憶部１０３のアドレスに書き込み、データを取り込む。これにより、コマンドフレームＦ１の送信元のマスター局１０との間でデータが共有される。なお、書き込みが終了すると、取込部１０２は、バッファ１０１ａに格納されているコマンドフレームＦ１を破棄する。
【００５６】
一方、ステップＳ２４において、判定部１０１は、コマンドフレームＦ１が「読み出しコマンド」であると判定した場合（ステップＳ２４で読み出し）、後述するタイムアウト時間の計時を開始すると共に、シリアルバス３に流れているデータをバッファ１０１ａに格納し、当該データがレスポンスフレームＦ２であるか否かを判定する（ステップＳ２５）。ここで、判定部１０１は、シリアルバス３上を流れるデータを検出する毎に当該データをバッファ１０１ａに格納し、当該データがレスポンスフレームＦ２であるか否かを判定し、レスポンスフレームＦ２でないと判定した場合は、そのデータをバッファ１０１ａから破棄し、レスポンスフレームＦ２であると判定した場合は、そのデータをバッファ１０１ａに保持する。
【００５７】
そして、ステップＳ２５において、判定部１０１は、レスポンスフレームＦ２と判定した場合（ステップＳ２５でＹＥＳ）、処理をステップＳ２６に進め、レスポンスフレームＦ２と判定していない場合（ステップＳ２５でＮＯ）、処理をステップＳ２７に進める。
【００５８】
次に、判定部１０１は、ステップＳ２７において、予め定められたタイム時間アウトが経過した場合（ステップＳ２７でＹＥＳ）、すなわち、タイムアウト時間が経過するまでに、レスポンスフレームＦ２を受信できなかった場合、コマンドフレームＦ１をバッファ１０１ａから破棄して処理を終了する。
【００５９】
一方、ステップＳ２７において、判定部１０１は、タイムアウト時間が経過していない場合（ステップＳ２７でＮＯ）、処理をステップＳ２５に戻す。
【００６０】
次に、ステップＳ２６において、判定部１０１は、ステップＳ２５で受信したレスポンスフレームＦ２が正常なデータであるか否かを判定し、正常なデータである場合（ステップＳ２６でＹＥＳ）、処理をステップＳ２８に進め、異常なデータである場合（ステップＳ２６でＮＯ）、コマンドフレームＦ１及びレスポンスフレームＦ２をバッファ１０１ａから破棄して処理を終了する。ここで、判定部１０１は、例えば、レスポンスフレームＦ２の「ＦＣＳ」のフィールドに格納されたデータからレスポンスフレームＦ２に誤りがあるか否かを判定し、誤りがあると判定した場合は、レスポンスフレームＦ２は異常なデータであると判定する。
【００６１】
次に、ステップＳ２８において、判定部１０１は、ステップＳ２５で受信したレスポンスフレームＦ２の「送信元マスター局局番」のフィールドに、データを共有すべき他のマスター局の局番が格納されている場合（ステップＳ２８でＹＥＳ）、処理をステップＳ２９に進め、ステップＳ２５で受信したレスポンスフレームＦ２の「送信元マスター局局番」のフィールドに、データを共有すべき他のマスター局１０の局番が格納されていない場合（ステップＳ２８でＮＯ）、コマンドフレームＦ１及びレスポンスフレームＦ２をバッファ１０１ａから破棄して処理を終了する。
【００６２】
次に、ステップＳ２９において、取込部１０２は、ステップＳ２５で受信したレスポンスフレームＦ２の「データ」のフィールドに格納された読み出し対象のデータを、「アドレス」のフィールドに格納されたデータによって示される記憶部１０３のアドレスに書き込み、データを取り込み、処理を終了する。これにより、コマンドフレームＦ１を送出したマスター局１０もレスポンスフレームＦ２に含まれる読み出し対象のデータを取り込んでいるため、コマンドフレームＦ１を送出したマスター局１０との間でデータが共有される。なお、書き込みが終了すると、取込部１０２は、バッファ１０１ａに格納されているコマンドフレームＦ１及びレスポンスフレームＦ２を破棄する。
【００６３】
このように、本シリアルバスシステムによれば、マスター局１０において、シリアルバス３を流れるデータが他のマスター局１０との間で共有すべき予め定められたデータであるか否かが判定され、他のマスター局１０との間で共有すべきデータであると判定された場合、当該データが取り込まれる。そのため、マスター局１０同士で共有すべきデータを送受することなく、データを共有することができ、伝送効率を低下させることなく、マスター局１０同士でデータを共有することができる。
【００６４】
また、スレーブ局２０において、シリアルバス３を流れるデータが他のスレーブ局２０との間で共有すべき予め定められたデータであるか否かが判定され、他のスレーブ局２０との間で共有すべきデータであると判定された場合、当該データが取り込まれるため、スレーブ局２０同士で共有すべきデータを送受することなく、データを共有することができ、伝送効率を低下させることなく、スレーブ局２０同士でデータを共有することができる。
【図面の簡単な説明】
【００６５】
【図１】本実施の形態によるシリアルバスシステムのブロック図を示している。
【図２】マスター局が送出するコマンドフレームのデータフォーマットの一例を示した図である。
【図３】スレーブ局がマスター局に送信するレスポンスフレームＦ２のデータフォーマットの一例を示している。
【図４】マスター局及びスレーブ局の詳細な構成を示すブロック図である。
【図５】本シリアルバスシステムのデータの流れを示した図である。
【図６】スレーブ局の処理を示すフローチャートである。
【図７】マスター局の処理を示すフローチャートである。
【図８】従来のシリアルバスシステムにおいて複数のマスター局間であるデータを共有する場合データの流れを示した図である。
【図９】従来のシリアルバスシステムにおいて複数のスレーブ局間であるデータを共有する場合データの流れを示した図である。
【符号の説明】
【００６６】
３  シリアルバス
１０，１１〜１Ｎ  マスター局
２０，２１〜２Ｍ  スレーブ局
３１  データ線
３２  クロック線
１０１ａ  バッファ
１０１  判定部
１０２  取込部
１０３  記憶部
２０１ａ  バッファ
２０１  判定部
２０２  取込部
２０３  記憶部
Ｆ１  コマンドフレーム
Ｆ２  レスポンスフレーム
【図１】
2008271410.tif 000003
【図２】
2008271410.tif 000004
【図３】
2008271410.tif 000005
【図４】
2008271410.tif 000006
【図５】
2008271410.tif 000007
【図６】
2008271410.tif 000008
【図７】
2008271410.tif 000009
【図８】
2008271410.tif 000010
【図９】
2008271410.tif 000011