(57)【要約】【課題】通信インタフェースを経由してプロセッサからデバイスを制御する場合に性能ロスを低減できるデバイス制御システム等を提供する。【解決手段】ホストコントローラとターゲットコントローラ間で通信が行われるシステムにおいて、ターゲットコントローラは、制御対象デバイスから送出された割込要因情報を最優先パケットでホストコントローラへ送信し、ホストコントローラは、最優先パケットにより受信した割込要因情報を保存し、プロセッサに対して割込信号を送出し、プロセッサは、割込信号を受け取ると、ホストコントローラに保存された割込要因情報を基に判断を行い、制御対象デバイスを最優先で制御すると判断した場合、制御対象デバイスを制御する命令をホストコントローラに送出し、ホストコントローラは、命令をターゲットコントローラへ送信し、ターゲットコントローラは、命令に基づいて制御対象デバイスを制御する。【選択図】図１
2010224689.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ及び前記プロセッサと接続されるホストコントローラと、制御対象デバイス及び前記制御対象デバイスと接続されるターゲットコントローラとを有し、前記プロセッサが通信インタフェースを経由して前記制御対象デバイスを制御するデバイス制御システムであって、
前記ホストコントローラと前記ターゲットコントローラとの間で通信が行われ、
前記ターゲットコントローラは、
前記制御対象デバイスから送出される第１の割込信号を検出すると、前記第１の割込信号に含まれる割込要因情報を取得し、最優先で送信すべき割込要因であると判断した場合、最優先パケットで前記ホストコントローラへ送信し、
前記ホストコントローラは、
前記最優先パケットを受信すると、前記割込要因情報を保存し、前記プロセッサに対して第２の割込信号を送出し、
前記プロセッサは、
前記第２の割込信号を受け取ると、前記ホストコントローラに保存された前記割込要因情報を基に判断を行い、前記制御対象デバイスを最優先で制御すると判断した場合、前記制御対象デバイスを制御する命令を前記ホストコントローラに送出し、
前記ホストコントローラは、
前記命令を前記ターゲットコントローラへ送信し、
前記ターゲットコントローラは、
前記命令に基づいて前記制御対象デバイスを制御することを特徴とするデバイス制御システム。
【請求項２】
前記ターゲットコントローラは、
前記第１の割込信号を検出した場合、前記第１の割込信号に含まれる前記割込要因情報を保存することを特徴とする請求項１記載のデバイス制御システム。
【請求項３】
前記ターゲットコントローラは、
前記第１の割込信号を検出した場合、前記第１の割込信号に含まれる前記割込要因情報を基に、前記最優先パケットで前記割込要因情報を前記プロセッサに通知すべきかを判断し、
前記最優先パケットで通知すべきであると判断した場合、前記割込要因情報を前記最優先パケットで前記ホストコントローラへ送信することを特徴とする請求項１又は２記載のデバイス制御システム。
【請求項４】
前記ホストコントローラは、
前記ターゲットコントローラから信号を受信すると、前記信号が前記最優先パケットであるかを判断し、
前記最優先パケットであると判断した場合、前記割込要因情報を保存し、前記プロセッサに対して前記第２の割込信号を送出することを特徴とする請求項１から３のいずれか１項に記載のデバイス制御システム。
【請求項５】
前記ターゲットコントローラは、
前記第１の割込信号として、前記制御対象デバイスがデータを受信したときに前記制御対象デバイスから送出される信号を検出し、
前記ホストコントローラは、
前記制御対象デバイスを制御する命令として前記プロセッサにより送出された、前記制御対象デバイスに前記データを前記ホストコントローラへ送信させるための命令を、前記ターゲットコントローラへ送信することを特徴とする請求項１から４のいずれか１項に記載のデバイス制御システム。
【請求項６】
前記ホストコントローラと前記ターゲットコントローラは、スペースワイヤプロトコルにより通信を行うことを特徴とする請求項１から５のいずれか１項に記載のデバイス制御システム。
【請求項７】
請求項１から６のいずれか１項に記載のデバイス制御システムにおけるターゲットコントローラ又はホストコントローラのいずれかとして動作することを特徴とする情報処理装置。
【請求項８】
ホストコントローラと接続されたプロセッサが、通信インタフェースを経由して、ターゲットコントローラと接続された制御対象デバイスを制御するデバイス制御方法であって、
前記ホストコントローラと前記ターゲットコントローラとの間で通信が行われ、
前記ターゲットコントローラは、
前記制御対象デバイスから送出される第１の割込信号を検出すると、前記第１の割込信号に含まれる割込要因情報を取得し、最優先で送信すべき割込要因であると判断した場合、最優先パケットで前記ホストコントローラへ送信し、
前記ホストコントローラは、
前記最優先パケットを受信すると、前記割込要因情報を保存し、前記プロセッサに対して第２の割込信号を送出し、
前記プロセッサは、
前記第２の割込信号を受け取ると、前記ホストコントローラに保存された前記割込要因情報を基に判断を行い、前記制御対象デバイスを最優先で制御すると判断した場合、前記制御対象デバイスを制御する命令を前記ホストコントローラに送出し、
前記ホストコントローラは、
前記命令を前記ターゲットコントローラへ送信し、
前記ターゲットコントローラは、
前記命令に基づいて前記制御対象デバイスを制御することを特徴とするデバイス制御方法。
【請求項９】
前記ターゲットコントローラは、
前記第１の割込信号を検出した場合、前記第１の割込信号に含まれる前記割込要因情報を保存することを特徴とする請求項８記載のデバイス制御方法。
【請求項１０】
前記ターゲットコントローラは、
前記第１の割込信号を検出した場合、前記第１の割込信号に含まれる前記割込要因情報を基に、前記最優先パケットで前記割込要因情報を前記プロセッサに通知すべきかを判断し、
前記最優先パケットで通知すべきであると判断した場合、前記割込要因情報を前記最優先パケットで前記ホストコントローラへ送信することを特徴とする請求項８又は９記載のデバイス制御方法。
【請求項１１】
前記ホストコントローラは、
前記ターゲットコントローラから信号を受信すると、前記信号が前記最優先パケットであるかを判断し、
前記最優先パケットであると判断した場合、前記割込要因情報を保存し、前記プロセッサに対して前記第２の割込信号を送出することを特徴とする請求項８から１０のいずれか１項に記載のデバイス制御方法。
【請求項１２】
前記ターゲットコントローラは、
前記第１の割込信号として、前記制御対象デバイスがデータを受信したときに前記制御対象デバイスから送出される信号を検出し、
前記ホストコントローラは、
前記制御対象デバイスを制御する命令として前記プロセッサにより送出された、前記制御対象デバイスに前記データを前記ホストコントローラへ送信させるための命令を、前記ターゲットコントローラへ送信することを特徴とする請求項８から１１のいずれか１項に記載のデバイス制御方法。
【請求項１３】
前記ホストコントローラと前記ターゲットコントローラは、スペースワイヤプロトコルにより通信を行うことを特徴とする請求項８から１２のいずれか１項に記載のデバイス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信インタフェースを経由してプロセッサからデバイスを制御するデバイス制御システム、情報処理装置及びデバイス制御方法に関する。
【背景技術】
【０００２】
プロセッサにより所定のデバイスを制御するシステムとして、例えば図８（ａ）に示す構成がある。図８（ａ）では、プロセッサの例としてのＣＰＵ（Central Processing Unit）１、制御対象デバイス（制御対象となるデバイス）の例としてのＲＳ２３２Ｃコントローラ２とがＣＰＵバス３を介して接続されている。図８（ａ）では、ＲＳ２３２Ｃコントローラ２は、自身が送信した割込信号をトリガとして、ＣＰＵバス３を介してＣＰＵ１へデータを伝送することができる。
【０００３】
しかし、図８（ａ）の構成は、ＣＰＵバス３を介する構成であるため、ＣＰＵ１とＲＳ２３２Ｃコントローラ２とを別々に離して配置する場合、その距離には限度がある。
【０００４】
これに対し、プロセッサが通信インタフェースを経由して所定のデバイスの制御を行うシステムがある（例えば、特許文献１参照）。このようなシステムの構成例を図８（ｂ）に示す。図８（ｂ）では、通信インタフェースの例としてＵＳＢ（Universal Serial Bus）を用いており、ＣＰＵ１を有するホスト側（のデバイス・装置・機器等）と、ＲＳ２３２Ｃコントローラ２を有するターゲット側（のデバイス・装置・機器等）とが、ＵＳＢケーブル５を介して接続されている。ホスト側は、ＣＰＵ１の他に、ＵＳＢホストコントローラ４を有しており、ＣＰＵ１とＵＳＢホストコントローラ４はＣＰＵバス３を介して接続されている。一方、ターゲット側は、ＲＳ２３２Ｃコントローラ２の他に、ＵＳＢターゲットコントローラ６と、制御マイコン１１とを有しており、ＵＳＢターゲットコントローラ６と制御マイコン１１はバス７を介して接続されている。また、ＵＳＢホストコントローラ４とＵＳＢターゲットコントローラ６は、ＵＳＢケーブル５を介して接続されている。
【０００５】
図８（ｂ）に示す構成例において、ホスト側では、ＵＳＢ経由でＲＳ２３２Ｃコントローラ２を制御するために仮想変換ドライバが必要となる。また、ターゲット側では、ＵＳＢとＲＳ２３２Ｃコントローラ２へのアクセス変換を、一般的には制御マイコン１１で行う。このようなことから、図８（ｂ）に示す構成例では、ソフトウェアのオーバーヘッドがある。なお、バルク転送などによりオーバーヘッドをカバーすることができるが、小さなデータの伝送には不向きである。
【０００６】
すなわち、図８（ｂ）に示す構成例では、ホスト側の仮想デバイス化のソフトウェアと、ターゲット側での（一般的に制御マイコンでの）仮想化処理を必要としているため、ソフトウェアによる仮想化処理において、性能ロス（オーバーヘッド）があるという問題があった。このような問題の要因の１つとしては、通信インタフェースを経由した制御デバイスの割込信号を、直接プロセッサに通信する手段がないことが挙げられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１１８６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記事情に鑑みてなされたものであり、通信インタフェースを経由してプロセッサからデバイスを制御する場合に性能ロスを低減することが可能となるデバイス制御システム、情報処理装置及びデバイス制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために、本発明のデバイス制御システムは、プロセッサ及びプロセッサと接続されるホストコントローラと、制御対象デバイス及び制御対象デバイスと接続されるターゲットコントローラとを有し、プロセッサが通信インタフェースを経由して制御対象デバイスを制御するデバイス制御システムであって、ホストコントローラとターゲットコントローラとの間で通信が行われ、ターゲットコントローラは、制御対象デバイスから送出される第１の割込信号を検出すると、第１の割込信号に含まれる割込要因情報を取得し、最優先で送信すべき割込要因であると判断した場合、最優先パケットでホストコントローラへ送信し、ホストコントローラは、最優先パケットを受信すると、割込要因情報を保存し、プロセッサに対して第２の割込信号を送出し、プロセッサは、第２の割込信号を受け取ると、ホストコントローラに保存された割込要因情報を基に判断を行い、制御対象デバイスを最優先で制御すると判断した場合、制御対象デバイスを制御する命令をホストコントローラに送出し、ホストコントローラは、命令をターゲットコントローラへ送信し、ターゲットコントローラは、命令に基づいて制御対象デバイスを制御することを特徴とする。
【００１０】
また、本発明の情報処理装置は、本発明のデバイス制御システムにおけるターゲットコントローラ又はホストコントローラのいずれかとして動作することを特徴とする。
【００１１】
また、本発明のデバイス制御方法は、ホストコントローラと接続されたプロセッサが、通信インタフェースを経由して、ターゲットコントローラと接続された制御対象デバイスを制御するデバイス制御方法であって、ホストコントローラとターゲットコントローラとの間で通信が行われ、ターゲットコントローラは、制御対象デバイスから送出される第１の割込信号を検出すると、第１の割込信号に含まれる割込要因情報を取得し、最優先で送信すべき割込要因であると判断した場合、最優先パケットでホストコントローラへ送信し、ホストコントローラは、最優先パケットを受信すると、割込要因情報を保存し、プロセッサに対して第２の割込信号を送出し、プロセッサは、第２の割込信号を受け取ると、ホストコントローラに保存された割込要因情報を基に判断を行い、制御対象デバイスを最優先で制御すると判断した場合、制御対象デバイスを制御する命令をホストコントローラに送出し、ホストコントローラは、命令をターゲットコントローラへ送信し、ターゲットコントローラは、命令に基づいて制御対象デバイスを制御することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、通信インタフェースを経由してプロセッサから制御デバイスに対するアクセスをソフトウェアのオーバーヘッドなしに処理することが可能になるため、性能ロスを低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態に係るデバイス制御システムの構成例を示すブロック図である。
【図２】本発明の第１の実施形態に係るSpace Wireターゲットコントローラの構成例を示すブロック図である。
【図３】本発明の第１の実施形態に係るSpace Wireホストコントローラの構成例を示すブロック図である。
【図４】本発明の第１の実施形態に係るデバイス制御システムの動作例の一部を示すシーケンスチャートである。
【図５】本発明の第１の実施形態に係るデバイス制御システムの動作例の一部を示すシーケンスチャートである。
【図６】本発明の第１の実施形態に係るデバイス制御システムの動作例の一部を示すシーケンスチャートである。
【図７】本発明の第２の実施形態に係るデバイス制御システムの構成例を示すブロック図である。
【図８】本発明に関連する技術例の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
【００１５】
〔第１の実施形態〕
本発明の一実施形態であるデバイス制御システムの構成例を図１に示す。本実施形態のデバイス制御システムは、プロセッサが通信インタフェースを経由してデバイスの制御を行う構成である。図１では、通信インタフェースの例としてSpace Wire（200Mbpsクラスの高速シリアルインタフェース）を用いている。図１に示すように、プロセッサの一例であるＣＰＵ１を有するホスト側（のデバイス・装置・機器等）と、制御対象デバイスの一例であるＲＳ２３２Ｃコントローラ２を有するターゲット側（のデバイス・装置・機器等）とが、Space Wireケーブル１０を介して接続されている。
【００１６】
ホスト側は、ＣＰＵ１の他に、Space Wireホストコントローラ９を有しており、ＣＰＵ１とSpace Wireホストコントローラ９は割込信号及びＣＰＵバス３を介して接続されている。
【００１７】
ターゲット側は、ＲＳ２３２Ｃコントローラ２の他に、Space Wireターゲットコントローラ８を有しており、ＲＳ２３２Ｃコントローラ２とSpace Wireターゲットコントローラ８は割込信号及びバス１２を介して接続されている。
【００１８】
Space Wireホストコントローラ９とSpace Wireターゲットコントローラ８は、Space Wireケーブル１０を介して接続されており、Space Wireプロトコルによるデータ通信を可能としている。
【００１９】
ＣＰＵ１及びＲＳ２３２Ｃコントローラ２の基本的な機能は、従来一般的に使用されているものと同じであるので、ここでの説明は省略する。
【００２０】
図１に示す構成において、Space Wireを経由してのホスト側からターゲット側の制御デバイスが直接制御（メモリマップとして見える）可能なことは、現在ＲＭＡＰ（Remote Memory Access Protocol）で規定されている。しかしながらこれまでは、図１に示す構成において、制御デバイスの割込信号を即座にホスト側のプロセッサに通知する手段がなかった。よって、例えば、図１に示す構成においてＲＳ２３２Ｃコントローラ２が数バイトのデータを受信した場合、即座にＣＰＵ１にそのデータを通知して読み取らせることができず、仮想ソフトウェアを含めたオーバーヘッドによりタイムラグが大きくなるという問題があった。本実施形態では、このような問題を解決するために、図１に示す構成において、以下に説明する構成及び動作を備えることを特徴とする。
【００２１】
図２は、図１に示す本実施形態のデバイス制御システムにおいて、Space Wireターゲットコントローラ８の詳細な構成を示す図である。図２に示すように、本実施形態では、Space Wireターゲットコントローラ８は、プロトコル制御回路８０、受信Ｉ／Ｆ（Interface）回路８１、最優先パケット送信回路８２、Ｉ／Ｏ（Input/Output）コントローラ８３、受信ＦＩＦＯ（First-IN First-Out）８６、送信ＦＩＦＯ（First-In First-Out）８７、送信Ｉ／Ｆ（Interface）回路８８、セレクタ８９を有する。Ｉ／Ｏコントローラ８３は、割込検出回路８４を有する。割込検出回路８４は、割込要因レジスタ８５を有する。また、図２に示すように、ＲＳ２３２Ｃコントローラ２とSpace Wireターゲットコントローラ８は、バス１２を介して、後述する制御信号及びデータの送出・受取を行う。また、ＲＳ２３２Ｃコントローラ２からの割込信号がSpace Wireターゲットコントローラ８に接続されている。
【００２２】
図３は、図１に示す本実施形態のデバイス制御システムにおいて、Space Wireホストコントローラ９の詳細な構成を示す図である。図３に示すように、本実施形態では、Space Wireホストコントローラ９は、プロトコル制御回路９０、受信Ｉ／Ｆ（Interface）回路９１、最優先パケット判別回路９２、Ｉ／Ｏ（Input/Output）コントローラ９３、受信ＦＩＦＯ（First-IN First-Out）９６、送信ＦＩＦＯ（First-In First-Out）９７、送信Ｉ／Ｆ（Interface）回路９８を有する。Ｉ／Ｏコントローラ９３は、割込発生回路９４を有する。割込発生回路９４は、割込要因レジスタ９５を有する。また、図３に示すように、ＣＰＵ１とSpace Wireホストコントローラ９は、ＣＰＵバス３を介して、後述するデータ及び割込信号の送出・受取を行う。また、Space Wireホストコントローラ９からの割込信号がＣＰＵ１に接続されている。
【００２３】
次に、上述した本実施形態のデバイス制御システムの動作について説明する。図４〜図６は、本実施形態のデバイス制御システムの動作（本発明のデバイス制御方法の一実施形態）を示すシーケンスチャートである。
【００２４】
最初に、図４を参照して説明する。ＲＳ２３２Ｃコントローラ２は、ＲＳ２３２Ｃインタフェース経由でデータを受信すると（ステップＳ１）、割込信号（第１の割込信号）をSpace Wireターゲットコントローラ８へ送出する（ステップＳ２）。なお、受信データは、ＲＳ２３２Ｃコントローラ２にて一時的に保持される。
【００２５】
Space Wireターゲットコントローラ８において、Ｉ／Ｏコントローラ８３の割込検出回路８４は、ＲＳ２３２Ｃコントローラ２から送出された割込信号（第１の割込信号）を検出する（ステップＳ３）。割込検出回路８４は、バス１２を介してＲＳ２３２Ｃコントローラ２から割込要因をリードし、割込要因レジスタ８５に保存する（ステップＳ４）。
【００２６】
次に、割込検出回路８４は、割込要因情報を基にして、当該割込を最優先でＣＰＵ１に通知すべきかどうかを判断する（ステップＳ５）。判断の結果、最優先ではない場合は（ステップＳ５／ＮＯ）、何もしない。
【００２７】
一方、判断の結果、最優先である場合（ステップＳ５／ＹＥＳ）、セレクタ８９の切替が行われる（ステップＳ６）。このセレクタ８９の切替の詳細について説明する。まず、割込検出回路８４は、プロトコル制御回路８０に対して、セレクタ８９をＢ方向（最優先パケット送信用）に切り替えるように指示する。次に、プロトコル制御回路８０は、セレクタ８９をＢ方向に切り替えるように制御する。これにより、セレクタ８９は、Ｂ方向に切り替えられる。
【００２８】
上記セレクタ８９の切替が行われると、最優先パケットにて割込要因情報がSpace Wireホストコントローラ９へ送信される（ステップＳ７）。この最優先パケットの送信の詳細について説明する。まず、割込検出回路８４は、最優先パケット送信回路８２に対して、割込要因情報を送出する。最優先パケット送信回路８２は、割込要因情報（レジスタリード値）の受け取りをトリガとして、その割込要因情報を含む最優先パケットを生成する。この最優先パケットには、「最優先で処理されるべき」であることを示す情報も含まれる。最優先パケット送信回路８２は、生成した最優先パケットを、セレクタ８９を介して送信Ｉ／Ｆ回路８８へ送出する。送信Ｉ／Ｆ回路８８は、受け取った最優先パケットを、Space Wireケーブル１０経由で、Space Wireホストコントローラ９へ送信する。
【００２９】
Space Wireホストコントローラ９において、受信Ｉ／Ｆ回路９１は、Space Wireターゲットコントローラ８から送信された信号を受信する（ステップＳ８）。そして、受信Ｉ／Ｆ回路９１は、その受信信号を最優先パケット判別回路９２へ送出する。
【００３０】
次に、図５を参照して説明する。最優先パケット判別回路９２は、受信Ｉ／Ｆ回路９１から受け取った受信信号が最優先パケットであるか否かを判別する（ステップＳ９）。判別の結果、最優先パケットではない場合（ステップＳ９／ＮＯ）、後述するステップＳ２４へ進む。
【００３１】
一方、判別の結果、最優先パケットである場合（ステップＳ９／ＹＥＳ）、最優先パケット判別回路９２は、最優先パケットをＩ／Ｏコントローラ９３へ送出する。
【００３２】
Ｉ／Ｏコントローラ９３の割込発生回路９４は、受け取った最優先パケットに含まれている割込要因情報（レジスタリード値）を割込要因レジスタ９５に保存する（ステップＳ１０）。
【００３３】
割込発生回路９４は、ＣＰＵ１に対して、ＣＰＵバス３を介して割込信号（第２の割込信号）を送出する（ステップＳ１１）。
【００３４】
ＣＰＵ１は、Space Wireホストコントローラ９から送出された割込信号（第２の割込信号）を受け取ると、バス経由でSpace Wireホストコントローラ９の割込要因レジスタ９５へアクセスし、保存されている割込要因情報を読み込む（ステップＳ１２）。
【００３５】
ＣＰＵ１は、割込要因情報に基づいて、ＲＳ２３２Ｃコントローラで一時保存されているデータが、最優先で受信すべきデータであるかどうかを判断する（ステップＳ１３）。判断の結果、最優先ではない場合（ステップＳ１３／ＮＯ）、何もしない。
【００３６】
一方、判断の結果、最優先である場合（ステップＳ１３／ＹＥＳ）、ＣＰＵ１は、ＲＳ２３２Ｃコントローラ２に対してデータを送信するように命令する制御信号（ＣＰＵ命令）を、ＣＰＵバス３を介してSpace Wireホストコントローラ９へ送出する（ステップＳ１４）。
【００３７】
Space Wireホストコントローラ９において、まず送信ＦＩＦＯ９７が、上記ＣＰＵ命令を受け取る。次に、送信ＦＩＦＯ９７は、ＣＰＵ命令をプロトコル制御回路９０へ送出する。次に、プロトコル制御回路９０は、ＣＰＵ命令を送信Ｉ／Ｆ回路９８へ送出する。送信Ｉ／Ｆ回路９８は、ＣＰＵ命令を、Space Wireケーブル１０経由で、Space Wireターゲットコントローラ８へ送信する（ステップＳ１５）。
【００３８】
Space Wireターゲットコントローラ８おいて、受信Ｉ／Ｆ回路８１は、Space Wireホストコントローラ９から送信された信号（ＣＰＵ命令）を受信する（ステップＳ１６）。そして、受信Ｉ／Ｆ回路９１は、受信したＣＰＵ命令をプロトコル制御回路８０へ送出する。
【００３９】
次に、図６を参照して説明する。プロトコル制御回路８０は、ＣＰＵ命令を受け取ると、ＲＳ２３２Ｃコントローラ２に対してデータ送信を要求するように、Ｉ／Ｏコントローラ８３に指示する。Ｉ／Ｏコントローラ８３は、プロトコル制御回路８０からの指示を受けると、バス１２を介して、ＲＳ２３２Ｃコントローラ２に対し、データ送信を要求する制御信号を送出する（ステップＳ１７）。
【００４０】
ＲＳ２３２Ｃコントローラ２は、Ｉ／Ｏコントローラ８３から送出された制御信号を受け取ると、自身がＲＳ２３２Ｃインタフェース経由で受信したデータを、バス１２を介して、Space Wireターゲットコントローラ８へ送出する（ステップＳ１８）。
【００４１】
Space Wireターゲットコントローラ８において、まず送信ＦＩＦＯ８７が、上記データを受け取る（ステップＳ１９）。次に、送信ＦＩＦＯ８７は、データをプロトコル制御回路８０へ送出する。
【００４２】
ここで、Ｉ／Ｏコントローラ８３の割込検出回路８４は、プロトコル制御回路８０に対し、セレクタ８９をＡ方向（データ送信用）に切り替えるよう指示する。そして、その指示を受けたプロトコル制御回路８０は、セレクタ８９をＡ方向に切り替える（ステップＳ２０）。
【００４３】
次に、プロトコル制御回路９０は、先に送信ＦＩＦＯ８７から受け取ったデータを送信Ｉ／Ｆ回路８８へ送出する。送信Ｉ／Ｆ回路８８は、そのデータを、Space Wireケーブル１０経由で、Space Wireホストコントローラ９へ送信する（ステップＳ２１）。
【００４４】
Space Wireホストコントローラ９において、受信Ｉ／Ｆ回路９１は、Space Wireターゲットコントローラ８から送信された信号を受信する（ステップＳ２２）。そして、受信Ｉ／Ｆ回路９１は、その受信信号を最優先パケット判別回路９２へ送出する。
【００４５】
最優先パケット判別回路９２は、受信Ｉ／Ｆ回路９１から受け取った受信信号が最優先パケットであるか否かを判別する（ステップＳ２３）。判別の結果、最優先パケットである場合（ステップＳ２３／ＹＥＳ）、上述したステップＳ１０へ進む。
【００４６】
一方、判別の結果、最優先パケットではない場合（ステップＳ２３／ＮＯ）、最優先パケット判別回路９２は、データをプロトコル制御回路９０へ送出する。
【００４７】
プロトコル制御回路９０は、受け取ったデータを受信ＦＩＦＯ９６へ送出するとともに、Ｉ／Ｏコントローラ９３に対し、ＣＰＵ１に対する割込信号の発生を指示する。データは、受信ＦＩＦＯ９６にて一時的に保持される。この指示を受けたＩ／Ｏコントローラ９３の割込発生回路９４は、ＣＰＵ１に対して割込信号を送出する（ステップＳ２４）。
【００４８】
ＣＰＵ１は、割込信号を受け取ると、割込要因のレジスタをリードして、最優先パケットではないと判断した上で、Ｉ／Ｏコントローラ９３に対し、ＣＰＵバス３を介して、受信ＦＩＦＯ９６にて一時保持されているデータの送信を要求する制御信号を送出する（ステップＳ２５）。
【００４９】
Ｉ／Ｏコントローラ８３は、ＣＰＵ１から上記制御信号を受け取ると、受信ＦＩＦＯ９６からＣＰＵバス３を介して、一時保存していたデータをＣＰＵ１へ送出する（ステップＳ２６）。
【００５０】
ＣＰＵ１は、Space Wireホストコントローラ９から上記データを受け取る（ステップＳ２７）。このようにして、ＣＰＵ１は、ＲＳ２３２Ｃコントローラ２で受信したデータを受信することになる。
【００５１】
以上説明したように本実施形態によれば、プロセッサにより制御されるデバイスを、Space Wireインタフェースを経由してプロセッサと接続する構成において、ソフトウェアのオーバーヘッドによる性能低下を防いだまま、プロセッサからの直接制御を可能にする。これにより、プロセッサから離れた場所にデバイスを配置でき、ハードウェアの応用構成が広がる。
【００５２】
〔第２の実施形態〕
上記第１の実施形態では、図１に示すように、ホスト側とターゲット側とが１対１の構成を例としたが、本実施形態では、ホスト側とターゲット側とが１対複数の構成とする。本実施形態のデバイス制御システムの構成を図７に示す。図７に示すように、本実施形態では、１つのホスト側と、３つのターゲット側Ａ，Ｂ，Ｃとで構成される。ホスト側と、ターゲット側Ａ，Ｂ，Ｃとは、Space Wireケーブル１０とルータ１３を介して接続される。なお、ホスト側とターゲット側Ａ，Ｂ，Ｃの構成及び動作は、上記第１の実施形態で説明したものと同じであるので、ここでの説明は省略する。
【００５３】
図７に示す本実施形態のデバイス制御システムでは、各ターゲット側からホスト側に対して最優先パケットがそれぞれ送信されることになる。そこで、本実施形態のデバイス制御システムでは、ホスト側と各ターゲット側との間に、中継装置としてのルータ１３を有する構成とする。
【００５４】
ルータ１３は、各ターゲット側から送信される各最優先パケットを受信する。そして、ルータ１３は、例えば、受信した順序に従って各最優先パケットをホスト側へ送信する。又は、例えば、Space Wireターゲットコントローラ８は、優先順位を示す情報を最優先パケットに含めて送信を行うようにし、ルータ１３は、受信した各最優先パケットの優先順位を認識し、その優先順位に従って各最優先パケットをホスト側へ送信する。このように、本実施形態では、ルータ１３を用いることで、各最優先パケットを順序良く取り扱うことができる。
【００５５】
以上説明したように本実施形態によれば、上記第１の実施形態の効果に加え、１つのプロセッサで複数のデバイスを制御することができ、低コスト化を実現できる。
【００５６】
なお、本実施形態では、ホスト側及びターゲット側とは別にルータ１３を設ける構成としが、上述したルータ１３の機能をホスト側（例えば、Space Wireホストコントローラ９）にて実現するように構成してもよい。
【００５７】
以上、本発明の実施形態について説明したが、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
【符号の説明】
【００５８】
１    ＣＰＵ
２    ＲＳ２３２Ｃコントローラ
３    ＣＰＵバス
４    ＵＳＢホストコントローラ
５    ＵＳＢケーブル
６    ＵＳＢターゲットコントローラ
７    バス
８    Space Wireターゲットコントローラ
９    Space Wireホストコントローラ
１０    Space Wireケーブル
１１    制御マイコン
１２    バス
１３    ルータ
８０    プロトコル制御回路
８１    受信Ｉ／Ｆ回路
８２    最優先パケット送信回路
８３    Ｉ／Ｏコントローラ
８４    割込検出回路
８５    割込要因レジスタ
８６    受信ＦＩＦＯ
８７    送信ＦＩＦＯ
８８    送信Ｉ／Ｆ回路
８９    セレクタ
９０    プロトコル制御回路
９１    受信Ｉ／Ｆ回路
９２    最優先パケット判別回路
９３    Ｉ／Ｏコントローラ
９４    割込発生回路
９５    割込要因レジスタ
９６    受信ＦＩＦＯ
９７    送信ＦＩＦＯ
９８    送信Ｉ／Ｆ回路
【図１】
2010224689.tif 000003
【図２】
2010224689.tif 000004
【図３】
2010224689.tif 000005
【図４】
2010224689.tif 000006
【図５】
2010224689.tif 000007
【図６】
2010224689.tif 000008
【図７】
2010224689.tif 000009
【図８】
2010224689.tif 000010