(57)【要約】【課題】同一の信号線を介して、内部バスマスタと内部バススレーブに対して転送状態を示す信号を送信する処理回路において、内部バスマスタと外部バススレーブ間のデータ転送と、外部バスマスタと内部バススレーブ間のデータ転送とを適切に実行する制御装置及び制御方法を提供する。【解決手段】本発明に係る制御装置は、内部バスマスタと外部バススレーブとの間の第１のデータ転送と、内部バススレーブと外部バスマスタとの間の第２のデータ転送とにおける状態信号を、内部バスマスタ及び内部バススレーブに接続される信号線を介して、内部バスマスタ及び内部バススレーブに送信する送信部と、第１のデータ転送又は第２のデータ転送の実行の要求を検出する要求検出部と、第１のデータ転送又は第２のデータ転送の一方の実行の要求が検出された場合、他方の第１のデータ転送又は第２のデータ転送の実行を禁止する通信管理部とを具備する。【選択図】図２
2008047033.tif 000002
【特許請求の範囲】
【請求項１】
内部バスマスタと内部バススレーブと前記内部バスマスタ及び前記内部バススレーブに接続される信号線とを備える処理回路に接続すると共に、前記処理回路の外部に設けられた外部バスマスタと、前記処理回路の外部に設けられた外部バススレーブとに接続する制御装置であって、
前記内部バスマスタと前記外部バススレーブとの間で実行される第１のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信する第１の送信部と、
前記内部バススレーブと前記外部バスマスタとの間で実行される第２のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信する第２の送信部と、
前記内部バスマスタ又は前記外部バスマスタから、前記第１のデータ転送の実行の要求又は前記第２のデータ転送の実行の要求の一方を検出する要求検出部と、
前記要求検出部によって前記第１のデータ転送又は前記第２のデータ転送の内いずれか一方の実行の要求が検出された場合、他方の前記第１のデータ転送又は前記第２のデータ転送の実行を禁止する通信管理部と
を具備することを特徴とする制御装置。
【請求項２】
前記要求検出部が、前記第１のデータ転送と前記第２のデータ転送の実行の要求を同じタイミングで検出した場合、
前記通信管理部は、前記第２のデータ転送の実行を禁止する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記通信管理部によって前記第２のデータ転送を禁止する前に、前記第２のデータ転送で転送されたデータを保持する記憶部と、
前記第１のデータ転送の完了を検出する完了検出部と、
前記完了検出部によって完了を検出した際、前記記憶部に記憶されている前記データから前記第２のデータ転送を実行するデータ送信部と
を更に具備することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記通信管理部は、前記第１のデータ転送の実行の要求を禁止する場合、データの伝送路であるバスの占有権を与えないことを前記内部バスマスタに通知することを特徴とする請求項１に記載の制御装置。
【請求項５】
前記通信管理部は、前記第２のデータ転送の実行の要求を禁止する場合、前記内部バススレーブがデータを受付けられないことを示す信号を前記状態信号として前記外部バスマスタに送信することを特徴とする請求項１に記載の制御装置。
【請求項６】
内部バスマスタと内部バススレーブと前記内部バスマスタ及び前記内部バススレーブに接続される信号線とを備える処理回路に接続すると共に、前記処理回路の外部に設けられた外部バスマスタと、前記処理回路の外部に設けられた外部バススレーブとに接続する制御装置における制御方法であって、
前記内部バスマスタと前記外部バススレーブとの間で実行される第１のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信するステップと、
前記内部バススレーブと前記外部バスマスタとの間で実行される第２のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信するステップと、
前記内部バスマスタ又は前記外部バスマスタから、前記第１のデータ転送の実行の要求又は前記第２のデータ転送の実行の要求の一方を検出するステップと、
前記第１のデータ転送又は前記第２のデータ転送の内いずれか一方の実行の要求が検出された場合、他方の前記第１のデータ転送又は前記第２のデータ転送の実行を禁止するステップと
を具備することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部バスマスタと内部バススレーブと内部バスマスタ及び内部バススレーブに接続される信号線とを備える処理回路に接続すると共に、処理回路の外部に設けられた外部バスマスタと、処理回路の外部に設けられた外部バススレーブとに接続する制御装置及び制御方法に関する。
【背景技術】
【０００２】
従来、マイクロプロセッサ、チップセット、ビデオチップ、メモリ等のＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ Ｐｒｏｐｅｒｔｙ）コア間において、データ転送を実行する様々なバスシステムが提案されている（例えば、特許文献１参照）。
【０００３】
一般的に、ＩＰコア間のデータ転送は、各ＩＰコアに備えられているバスマスタとバススレーブとの間で実行される。バスマスタは、データの伝送路であるバスに接続し、データの書き込み・読み取り等、データ転送の実行を要求する装置であり、バススレーブは、バスマスタの要求に従ってデータ転送を実行する装置である。
【０００４】
図７には、ＡＭＢＡプロトコルを使用し、バスマスタとバススレーブとの間で実行されるデータ転送のイメージが示されている。図７に示すように、データ転送時のバススレーブは、ＨＲＥＡＤＹ信号と呼ばれる自装置の転送状態を示す信号を、転送相手のバスマスタへ送信して、データ転送の完了及び継続を通知する。具体的に、バススレーブは、現在のタイムサイクルでデータ転送が完了する場合、ＨＲＥＡＤＹ信号を“Ｈｉｇｈ”の状態で送信し、逆に継続する場合、“Ｌｏｗ”の状態で送信する。
【０００５】
また、データ転送時のバスマスタも、ＨＲＥＡＤＹｉｎ信号と呼ばれる自装置の転送状態を示す信号を、転送相手のバススレーブへ送信して、データ転送の完了及び継続を通知する。具体的に、バスマスタは、現在のタイムサイクルでデータ転送が完了する場合、ＨＲＥＡＤＹｉｎ信号を“Ｈｉｇｈ”の状態で送信し、逆に継続する場合、“Ｌｏｗ”の状態で送信する。
【０００６】
このようにして、バスマスタとバススレーブとは、ＨＲＥＡＤＹ信号やＨＲＥＡＤＹｉｎ信号を受信することで、互いの転送状態を認識しながらデータ転送を実行する。
【０００７】
また、バスマスタとバススレーブとは、データ転送を実行する際、上述した転送状態を示す信号（ＨＲＥＡＤＹ信号及びＨＲＥＡＤＹｉｎ信号）を、同一の“Ｈｉｇｈ”及び“Ｌｏｗ”の状態で互いに送受信する。
【０００８】
そこで、近年では、図８に示すように、転送状態を示す信号（ＨＲＥＡＤＹ信号及びＨＲＥＡＤＹｉｎ信号）をバスマスタ及びバススレーブへ送信する信号線が、同一の信号線（共有信号線Ｌ）で構成されている処理回路が提案されている。このような処理回路では、処理回路内の信号線を低減することが可能になり、回路規模の縮小、管理の簡略化を図ることができる。
【特許文献１】特開２００６−１５５４８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
また、図９に示すように、上述した処理回路のバスマスタ（以下、内部バスマスタＭ１）は、調停回路Ａｂを介して、転送状態を示す信号（ＨＲＥＡＤＹ信号及びＨＲＥＡＤＹｉｎ信号）を送受信することで、処理回路のバススレーブ（以下、内部バススレーブＳ１）だけでなく、外部に設けられているバススレーブ（以下、外部バススレーブＳ２）との間で、データ転送Ａを実行することも可能である。
【００１０】
さらに、図１０に示すように、処理回路の内部バススレーブＳ１は、外部に設けられているバスマスタ（以下、外部バスマスタＭ２）との間でデータ転送Ｂを実行することも可能である。
【００１１】
ここで、上述したデータ転送Ａやデータ転送Ｂが実行される場合、処理回路では、共有信号線Ｌを介して、外部バススレーブＳ２の転送状態を示す信号（ＨＲＥＡＤＹ信号）や、外部バスマスタＭ２の転送状態を示す信号（ＨＲＥＡＤＹｉｎ信号）を、内部バスマスタＭ１及び内部バススレーブＳ１へ送信するが、上述したデータ転送Ａやデータ転送Ｂがそれぞれ別々の時間帯に実行されていれば、いずれのデータ転送も正常に実行される。
【００１２】
しかしながら、上述したデータ転送Ａとデータ転送Ｂとを、同一の時間帯に実行する場合がある。かかる場合、処理回路では、外部バスマスタＭ２からの転送状態を示す信号と、外部バススレーブＳ２からの転送状態を示す信号とを、上述した共有信号線Ｌを介して、内部バススレーブＳ１と内部バスマスタＭ１とへ別々に送信できない。このため、内部バスマスタＭ１及び内部バススレーブＳ１では、各々のデータ転送の転送状態を誤って認識し、データ転送Ａ及びデータ転送Ｂのいずれのデータ転送も適切に実行できないという問題があった。
【００１３】
そこで、本発明は以上の点に鑑みてなされたもので、同一の信号線を介して、内部バスマスタと内部バススレーブに対して転送状態を示す信号を送信する処理回路において、内部バスマスタと外部バススレーブ間のデータ転送と、外部バスマスタと内部バススレーブ間のデータ転送とを適切に実行する制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の特徴は、内部バスマスタと内部バススレーブと前記内部バスマスタ及び前記内部バススレーブに接続される信号線（共有信号線Ｌ）とを備える処理回路に接続すると共に、前記処理回路の外部に設けられた外部バスマスタと、前記処理回路の外部に設けられた外部バススレーブとに接続する制御装置（制御装置１００）であって、前記内部バスマスタと前記外部バススレーブとの間で実行される第１のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信する第１の送信部（制御信号通信部１１０）と、前記内部バススレーブと前記外部バスマスタとの間で実行される第２のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信する第２の送信部（制御信号通信部１１０）と、前記内部バスマスタ又は前記外部バスマスタから、前記第１のデータ転送の実行の要求又は前記第２のデータ転送の実行の要求の一方を検出する要求検出部（データ転送要求検出部１２０）と、前記要求検出部によって前記第１のデータ転送及び前記第２のデータ転送の内いずれか一方の実行の要求が検出された場合、他方の前記第１のデータ転送又は前記第２のデータ転送の実行を禁止する通信管理部（通信管理部１３０）とを具備することを要旨とするものである。かかる特徴によれば、制御装置では、第１のデータ転送の実行の要求又は第２のデータ転送の実行の要求のいずれか一方を検出した際、検出されていない他方の第１のデータ転送又は第２のデータ転送の実行を禁止する。よって、上述した信号線を介して、内部バスマスタ及び内部バススレーブに同一の状態信号を送信する構成の処理回路において、内部バスマスタにおける第１のデータ転送と、内部バススレーブにおける第２のデータ転送とを同一の時間帯で実行することを防止し、いずれのデータ転送も適切に実行する。したがって、かかる制御装置によれば、同一の信号線を介して、内部バスマスタと内部バススレーブに対して転送状態を示す信号（状態信号）を送信する処理回路において、内部バスマスタと外部バススレーブ間の第１のデータ転送と、外部バスマスタと内部バススレーブ間の第２のデータ転送とを適切に実行することができる。
【００１５】
本発明の第２の特徴は、第１の特徴に係り、前記要求検出部が、前記第１のデータ転送と前記第２のデータ転送の実行の要求を同じタイミングで検出した場合、前記通信管理部は、前記第２のデータ転送の実行を禁止してもよい。かかる特徴によれば、制御装置では、第１のデータ転送又は第２のデータ転送の実行の要求を同じタイミングで検出した場合、第２のデータ転送の実行を禁止し、第１のデータ転送のみを実行させる。したがって、第１のデータ転送と第２のデータ転送とを同一の時間帯で実行することを防止する。
【００１６】
本発明の第３の特徴は、第２の特徴に係り、前記通信管理部によって前記第２のデータ転送を禁止する前に、前記第２のデータ転送で転送されたデータを保持する記憶部（記憶部１５０）と、前記第１のデータ転送の完了を検出する完了検出部（データ転送完了検出部１４０）と、前記完了検出部によって完了を検出した際、前記記憶部に記憶されている前記データから前記第２のデータ転送を実行するデータ送信部（データ通信部１６０）とを更に具備してもよい。かかる特徴によれば、制御装置では、第２のデータ転送を禁止する前に転送されたデータを保持し、第１のデータ転送が完了した際に、保持するデータから第２のデータ転送を実行できる。したがって、外部バスマスタが、第２のデータ転送におけるデータの転送を、初めから再度実行することなく効率よく実行できる。
【００１７】
また、本発明第４の特徴は、第１の特徴に係り、前記通信管理部は、前記第１のデータ転送の実行の要求を禁止する場合、データの伝送路であるバスの占有権を与えないことを前記内部バスマスタに通知してもよい。
【００１８】
また、本発明第５の特徴は、第１の特徴に係り、前記通信管理部は、前記第２のデータ転送の実行の要求を禁止する場合、前記内部バススレーブがデータを受付けられないことを示す信号を前記状態信号として前記外部バスマスタに送信してもよい。
【００１９】
また、本発明第６の特徴は、内部バスマスタと内部バススレーブと前記内部バスマスタ及び前記内部バススレーブに接続される信号線とを備える処理回路に接続すると共に、前記処理回路の外部に設けられた外部バスマスタと、前記処理回路の外部に設けられた外部バススレーブとに接続する制御装置における制御方法であって、前記内部バスマスタと前記外部バススレーブとの間で実行される第１のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信するステップと、前記内部バススレーブと前記外部バスマスタとの間で実行される第２のデータ転送の転送状態を示す状態信号を、前記信号線を介して、前記内部バスマスタ及び前記内部バススレーブに送信するステップと、前記内部バスマスタ又は前記外部バスマスタから、前記第１のデータ転送の実行の要求又は前記第２のデータ転送の実行の要求の一方を検出するステップと、前記第１のデータ転送又は前記第２のデータ転送の内いずれか一方の実行の要求が検出された場合、他方の前記第１のデータ転送又は前記第２のデータ転送の実行を禁止するステップとを具備することを要旨とするものである。
【発明の効果】
【００２０】
本発明の特徴によれば、同一の信号線を介して、内部バスマスタと内部バススレーブに対して転送状態を示す信号を送信する処理回路において、内部バスマスタと外部バススレーブ間のデータ転送と、外部バスマスタと内部バススレーブ間のデータ転送とを適切に実行する制御装置及び制御方法を提供することができる。
【発明を実施するための最良の形態】
【００２１】
次に、本発明の実施形態について説明する。なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。
【００２２】
（本発明の実施形態に係るバスシステムの全体概略構成）
本発明の実施形態に係るバスシステムの構成について、図１を参照して説明する。図１には、本実施形態に係るバスシステムの概略構成が示されている。本実施形態に係るバスシステム１は、データの伝送路であるバス２と、処理回路１０と、ＳＲＡＭ２０と、ＤＭＡＣ３０と、調停回路Ａｂと、制御装置１００とを具備する。また、上述した処理回路１０とＳＲＡＭ２０とＤＭＡＣ３０とは、ＩＰコアとして機能する。なお、バスシステム１に備えられているＩＰコアの数は、上述した数に限定されるものではない。
【００２３】
また、本実施形態に係るバスシステム1では、ＳｏＣ（System on Chip）の分野で幅広く用いられているＡＲＭ社のＡＭＢＡ（Advanced Microcontroller Bus Architecture）（登録商標）プロトコルに準拠し、各ＩＰコアに備えられているバスマスタ及びバススレーブとの間でデータ転送を実行する。
【００２４】
また、本実施形態では、上述したＡＭＢＡプロトコルにおいて、主に、バスマスタ及びバススレーブ間のデータ転送で送受信される「ＨＲＥＡＤＹ信号」、「ＨＲＥＡＤＹｉｎ信号」、「ＨＧＲＡＮＴ信号」、「ＨＴＲＡＮＳ信号」等の各種制御信号に着目して説明する。
【００２５】
ここで、上述した制御信号について簡潔に説明する。
【００２６】
「ＨＲＥＡＤＹ信号」は、各バススレーブにおいて、データ転送の実行を受付けられるか否かの状態を示す１ｂｉｔの信号である。具体的に、バススレーブは、現在、データ転送の実行を受付できる場合、「ＨＲＥＡＤＹ信号」を“Ｈｉｇｈ”の状態で送信し、逆に受付けていない場合、“Ｌｏｗ”の状態で送信する。また、データ転送時のバススレーブは、データ転送の完了及び継続等の転送状態を、転送相手のバスマスタに通知するための信号として、かかる「ＨＲＥＡＤＹ信号」を送信する。
【００２７】
「ＨＲＥＡＤＹｉｎ信号」は、データ転送時のバスマスタにおいて、データ転送の完了及び継続等の自装置の転送状態を、転送相手である他のバススレーブに通知するための１ｂｉｔの信号である。具体的に、バスマスタは、現在のタイムサイクルでデータ転送が完了する場合、「ＨＲＥＡＤＹｉｎ信号」を“Ｈｉｇｈ”の状態で送信し、逆に継続する場合、“Ｌｏｗ”の状態で送信する。
【００２８】
本実施形態において、上述した「ＨＲＥＡＤＹ信号」及び「ＨＲＥＡＤＹｉｎ信号」は、データ転送時の転送状態を示す状態信号である。
【００２９】
「ＨＧＲＡＮＴ信号」は、対象のバスマスタに対して、データの伝送路であるバスの占有権を与える又は与えないことを通知する１ｂｉｔの信号である。具体的に、「ＨＧＲＡＮＴ信号」は、“Ｈｉｇｈ”の状態の場合、対象のバスマスタにバスの占有権を与えることを示し、反対に“Ｌｏｗ”の状態の場合、バスの占有権を与えないことを示す。
【００３０】
「ＨＴＲＡＮＳ信号」は、データの転送相手であるバススレーブに向けて、データ転送の実行の要求タイプを示す２ｂｉｔの信号である。具体的に、「ＨＴＲＡＮＳ信号」は、データ転送を要求しないＩＤＬＥ状態を“００”で示し、すぐに次の転送を実行しないＢＵＳＹ状態を“０１”で示し、データ転送を開始するＮＯＮＳＥＱ転送状態を“１０” で示し、データ転送を継続するＳＥＱ転送状態を“１１”で示す。また、バスマスタは、対象のバススレーブにデータ転送の実行を要求する場合、“１０”又は“１１”の「ＨＴＲＡＮＳ信号」を送信する。なお、本実施形態において、“１０”及び“１１”の「ＨＴＲＡＮＳ信号」を「ＨＴＲＡＮＳ[１]信号」として説明する。また、バスマスタは、上述した「ＨＧＲＡＮＴ信号」が、“ＨＩＧＨ”の状態で受信している場合のみ、「ＨＴＲＡＮＳ[１]信号」を送信できる。
【００３１】
次に、バスシステム１の構成について具体的に説明する。
【００３２】
処理回路１０は、ディジタル信号処理を行うＤＳＰ（Digital Signal Processor）として機能する。また、本実施形態に係る処理回路１０は、制御装置１００と、データの伝送路であるバス２と接続する。また、本実施形態に係る処理回路１０は、共有信号線Ｌと、内部バスマスタＭ１と、内部バススレーブＳ１とを具備する。
【００３３】
共有信号線Ｌは、内部バスマスタＭ１と内部バススレーブＳ１とに接続する信号線である。
【００３４】
内部バスマスタＭ１は、「ＨＧＲＡＮＴ信号」と、「ＨＲＥＡＤＹ信号」とを制御装置１００から受信する。なお、内部バスマスタＭ１は、かかる「ＨＲＥＡＤＹ信号」を、共有信号線Ｌを介して受信する。
【００３５】
また、内部バスマスタＭ１は、データ転送の実行を要求する際、「ＨＴＲＡＮＳ[１]信号」を、制御装置１００を介して、他のバススレーブへ送信すると共に、当該「ＨＴＲＡＮＳ[１]信号」の送信先の他のバススレーブとの間で、バス２を介して、データ転送を実行する。
【００３６】
また、内部バスマスタＭ１は、データ転送時において、自装置の転送状態を示す「ＨＲＥＡＤＹｉｎ信号」を制御装置１００へ送信する。
【００３７】
内部バススレーブＳ１は、「ＨＲＥＡＤＹ信号」を制御装置１００へ送信する。また、内部バススレーブＳ１は、制御装置１００から送信された「ＨＴＲＡＮＳ[１]信号」を受信し、当該「ＨＴＲＡＮＳ[１]信号」の送信元のバスマスタとの間で、バス２と制御装置１００とを介して、データ転送を実行する。また、内部バススレーブＳ１は、データ転送時において、データ転送相手であるバスマスタの転送状態を示す「ＨＲＥＡＤＹｉｎ信号」を制御装置１００から受信する。なお、内部バススレーブＳ１は、かかる「ＨＲＥＡＤＹｉｎ信号」を、共有信号線Ｌを介して受信する。
【００３８】
ここで、当該共有信号線Ｌを介して送信される信号は、内部バススレーブＳ１において、「ＨＲＥＡＤＹｉｎ信号」として受信されると共に、内部バスマスタＭ１では、「ＨＲＥＡＤＹ信号」として受信される。つまり、内部バススレーブＳ１で受信される「ＨＲＥＡＤＹｉｎ信号」と、内部バスマスタＭ１で受信される「ＨＲＥＡＤＹ信号」とは、同一の状態の信号である。
【００３９】
ＳＲＡＭ（Static Random Access Memory）２０は、記憶装置として機能する。また、ＳＲＡＭ２０は、データの伝送路であるバス２と、調停回路Ａｂと接続する。また、ＳＲＡＭ２０は、外部バススレーブＳ２を備える。
【００４０】
外部バススレーブＳ２は、調停回路Ａｂへ「ＨＲＥＡＤＹ信号」を送信する。また、外部バススレーブＳ２は、調停回路Ａｂを介して、他のバスマスタから送信された「ＨＴＲＡＮＳ[１]信号」を受信すると、当該「ＨＴＲＡＮＳ[１]信号」の送信元のバスマスタとの間で、バス２を介して、データ転送を実行する。また、外部バススレーブＳ２は、データ転送時において、データ転送相手であるバスマスタの転送状態を示す「ＨＲＥＡＤＹｉｎ信号」を調停回路Ａｂから受信する。
【００４１】
ＤＭＡＣ（Direct Memory Access Controller）３０は、ＤＭＡ転送等の処理を実行する装置として機能する。また、ＤＭＡＣ３０は、データの伝送路であるバス２と、調停回路Ａｂと、制御装置１００と接続する。また、ＤＭＡＣ３０は、外部バスマスタＭ２と、外部バススレーブＳ３とを備える。
【００４２】
外部バスマスタＭ２は、「ＨＲＥＡＤＹ信号」を、調停回路Ａｂから受信する。また、外部バスマスタＭ２は、他のバススレーブとのデータ転送の実行を要求する際、「ＨＴＲＡＮＳ[１]信号」を、調停回路Ａｂを介して、バススレーブへ送信する。また、外部バスマスタＭ２は、当該「ＨＴＲＡＮＳ[１]信号」の送信先のバススレーブとの間で、制御装置１００とバス２とを介して、データ転送を実行する。なお、外部バスマスタＭ２は、データ転送時のデータ（例えば、「ＨＷＤＡＴＡ信号」）を制御装置１００との間で送受信する。また、外部バスマスタＭ２は、データ転送時に「ＨＲＥＡＤＹｉｎ信号」を、調停回路Ａｂへ送信する。
【００４３】
外部バススレーブＳ３は、調停回路Ａｂへ「ＨＲＥＡＤＹ信号」を送信する。また、外部バススレーブＳ３は、調停回路Ａｂを介して、バスマスタからの「ＨＴＲＡＮＳ[１]信号」を受信すると、当該「ＨＴＲＡＮＳ[１]信号」の送信元のバスマスタとの間で、バス２を介して、データ転送を実行する。
【００４４】
調停回路Ａｂは、ＳＲＡＭ２０と、ＤＭＡＣ３０と、制御装置１００と接続する。また、調停回路Ａｂは、ＳＲＡＭ２０と、ＤＭＡＣ３０と、制御装置１００とから送信される各種制御信号を受信するとともに、送信先のアドレスをデコードし、当該制御信号をアドレス先に送信する。
【００４５】
制御装置１００は、処理回路１０と接続すると共に、調停回路Ａｂを介して、ＳＲＡＭ２０と、ＤＭＡＣ３０と接続する。また、制御装置１００は、処理回路１０の内部バスマスタＭ１及び内部バススレーブＳ１との間で制御信号を送受信する。また、制御装置１００は、調停回路Ａｂを介して、外部バススレーブＳ２と、外部バスマスタＭ２と、外部バススレーブＳ３との間で制御信号を送受信する。また、外部バスマスタＭ２がデータ転送を実行する際、制御装置１００は、外部バスマスタＭ２との間でデータを送受信する。
【００４６】
また、制御装置１００は、内部バスマスタＭ１と外部バススレーブＳ２乃至Ｓ３との間で実行されるデータ転送（以下、第１のデータ転送）と、内部バススレーブＳ１と外部バスマスタＭ２との間で実行されるデータ転送（以下、第２のデータ転送）とにおいて、送受信される制御信号を制御するように構成されている。
【００４７】
（本発明の実施形態に係る制御装置の構成）
次に、図２を参照し、制御装置１００の構成について具体的に説明する。また、以下、本発明との関連がある部分について主に説明する。したがって、制御装置１００は、バスシステム１の各種信号を制御する制御装置１００としての機能を実現する上で必須な、図示しない或いは説明を省略した機能ブロック（電源部など）を備える場合があることに留意されたい。
【００４８】
制御装置１００は、制御信号通信部１１０と、データ転送要求検出部１２０と、通信管理部１３０と、データ転送完了検出部１４０と、記憶部１５０と、データ通信部１６０とを具備する。
【００４９】
制御信号通信部１１０は、内部バスマスタＭ１、又は内部バススレーブＳ１から制御信号を受信すると共に、調停回路Ａｂを介して、外部バスマスタＭ２、外部バススレーブＳ２、又は外部バススレーブＳ３へ当該制御信号を送信する。
【００５０】
また、制御信号通信部１１０は、調停回路Ａｂを介して、外部バスマスタＭ２、外部バススレーブＳ２、又は外部バススレーブＳ３から送信された制御信号を受信すると共に、当該制御信号を、内部バスマスタＭ１、又は内部バススレーブＳ１へ送信する。
【００５１】
また、本実施形態に係る制御信号通信部１１０は、内部バスマスタＭ１と外部バススレーブＳ２乃至Ｓ３との間で実行される第１のデータ転送の転送状態を示す「ＨＲＥＡＤＹ信号」（状態信号）を、共有信号線Ｌを介して、内部バスマスタＭ１及び内部バススレーブＳ１に送信する第１の送信部を構成する。また、本実施形態に係る制御信号通信部１１０は、内部バススレーブＳ１と外部バスマスタＭ２との間で実行される第２のデータ転送の転送状態を示す「ＨＲＥＡＤＹｉｎ信号」（状態信号）を、共有信号線Ｌを介して、内部バスマスタＭ１及び内部バススレーブＳ１に送信する第２の送信部を構成する。
【００５２】
データ転送要求検出部１２０は、第１のデータ転送の実行の要求、又は第２のデータ転送の実行の要求の一方を検出する。具体的に、データ転送要求検出部１２０は、内部クロックを備えており、タイムサイクル毎に、制御信号通信部１１０で「ＨＴＲＡＮＳ[１]信号」を受信したか否かを検出する。また、データ転送要求検出部１２０は、制御信号通信部１１０において、内部バスマスタＭ１から送信された「ＨＴＲＡＮＳ[１]信号」を受信した場合、第１のデータ転送の実行の要求として検出する。また、データ転送要求検出部１２０は、制御信号通信部１１０において、外部バスマスタＭ２から送信された「ＨＴＲＡＮＳ[１]信号」を受信した場合、第２のデータ転送の実行の要求として検出する。
【００５３】
また、データ転送要求検出部１２０は、制御信号通信部１１０において、第１のデータ転送と第２のデータ転送との実行を要求する「ＨＴＲＡＮＳ[１]信号」の両方を、同じタイムサイクルで受信した場合、第１のデータ転送と第２のデータ転送とを同じタイミングで受信したとして検出する。なお、データ転送要求検出部１２０は、検出結果を通信管理部１３０と、データ転送完了検出部１４０と、データ通信部１６０とへ通知する。
【００５４】
通信管理部１３０は、データ転送要求検出部１２０によって第１のデータ転送又は第２のデータ転送の内いずれか一方の実行の要求が検出された場合、他方の第１のデータ転送又は第２のデータ転送の実行を禁止する。
【００５５】
具体的に、通信管理部１３０は、第１のデータ転送の実行の要求を禁止する場合、データの伝送路であるバスの占有権を与えないことを内部バスマスタＭ１に通知する。この時、通信管理部１３０は、「ＨＧＲＡＮＴ信号」を“Ｌｏｗ”の状態で内部バスマスタＭ１へ送信する。
【００５６】
また、通信管理部１３０は、第２のデータ転送の実行の要求を禁止する場合、内部バススレーブＳ１においてデータを受付けていないことを示す“Ｌｏｗ”の状態の「ＨＲＥＡＤＹ信号」を外部バスマスタＭ２に送信し、第２のデータ転送の実行の要求である「ＨＴＲＡＮＳ[１]信号」を送信させないようにする。また、通信管理部１３０は、データ転送要求検出部１２０が、第１のデータ転送と第２のデータ転送の実行の要求を同じタイミングで検出した場合、第２のデータ転送の実行を禁止する。
【００５７】
データ転送完了検出部１４０は、第１のデータ転送の完了や第２のデータ転送の完了を検出する。具体的に、データ転送完了検出部１４０は、制御信号通信部１１０で受信されている内部バスマスタＭ１又は外部バスマスタＭ２からの「ＨＴＲＡＮＳ[１]信号」が、“００”のＩＤＬＥ状態に切り替わるか否かを検出する。なお、データ転送完了検出部１４０は、上述した「ＨＴＲＡＮＳ信号」以外にも、制御信号通信部１１０で受信されている内部バスマスタＭ１又は外部バスマスタＭ２からの「ＨＲＥＡＤＹｉｎ信号」が、“Ｌｏｗ”から“Ｈｉｇｈ”へ状態が切り替わることを、あわせて検出するように構成されていてもよい。
【００５８】
データ通信部１６０は、第２のデータ転送で送信されるデータ（例えば、外部バスマスタＭ２からのデータ）を受信すると共に、当該データをデータ転送相手（例えば、内部バススレーブＳ１）に送信する。また、データ通信部１６０は、データ転送要求検出部１２０から、第１のデータ転送と第２のデータ転送の要求が同じタイミングである旨の通知を受けると、第２のデータ転送で送信されたデータを記憶部１５０へ記憶する。また、データ通信部１６０は、データ転送完了検出部１４０によって第１のデータ転送の完了を検出した際、記憶部１５０に記憶されているデータから第２のデータ転送を実行する。
【００５９】
記憶部１５０は、データ転送要求検出部１２０が、第１のデータ転送と第２のデータ転送の実行の要求を同じタイミングで検出した場合、通信管理部１３０によって第２のデータ転送を禁止する前に、第２のデータ転送で転送されたデータを保持する。
【００６０】
（バスシステムの動作）  
次に、図３を参照し、上述したバスシステム１の動作について説明する。具体的に、本実施形態に係るバスシステム１において、制御装置１００が、「ＨＴＲＡＮＳ[１]信号」を受信した際の、第１のデータ転送及び第２のデータ転送の制御動作について説明する。
【００６１】
ステップＳ１０において、制御装置１００では、制御信号通信部１１０が、内部バスマスタＭ１、又は外部バスマスタＭ２から送信された「ＨＴＲＡＮＳ[１]信号」を受信する。また、制御信号通信部１１０は、受信した「ＨＴＲＡＮＳ[１]信号」を送信すべき先へ送信する。
【００６２】
ステップＳ２０において、制御装置１００では、データ転送要求検出部１２０が、内部バスマスタＭ１からの「ＨＴＲＡＮＳ[１]信号」であるか、又は外部バスマスタＭ２からの「ＨＴＲＡＮＳ[１]信号」であるか、又は同タイムサイクル内で内部バスマスタＭ１及び外部バスマスタＭ２からの「ＨＴＲＡＮＳ[１]信号」を受信したかを判定する。
【００６３】
ステップＳ３０において、データ転送要求検出部１２０が、内部バスマスタＭ１からの「ＨＴＲＡＮＳ[１]信号」を受信したと判定した場合、通信管理部１３０へ、内部バスマスタＭ１から「ＨＴＲＡＮＳ[１]信号」を受信した旨を通知する。この通知を受けた通信管理部１３０は、外部バスマスタＭ２に対して、「ＨＲＥＡＤＹ信号」を“Ｌｏｗ”の状態で送信し、第２のデータ転送の実行の要求である「ＨＴＲＡＮＳ[１]信号」を送信させないようにする。
【００６４】
ステップＳ３１において、内部バスマスタＭ１は、外部バススレーブＳ２との間で第１のデータ転送を実行する。
【００６５】
ステップＳ４０において、データ転送要求検出部１２０が、外部バスマスタＭ２からの「ＨＴＲＡＮＳ[１]信号」を受信したと判定した場合、通信管理部１３０へ、外部バスマスタＭ２から「ＨＴＲＡＮＳ[１]信号」を受信した旨を通知する。この通知を受けた通信管理部１３０は、内部バスマスタＭ１に対して、「ＨＧＲＡＮＴ信号」を“Ｌｏｗ”の状態で送信し、第１のデータ転送の実行の要求である「ＨＴＲＡＮＳ[１]信号」を送信させないようにする。
【００６６】
ステップＳ４１において、外部バスマスタＭ２は、内部バススレーブＳ１との間で第２のデータ転送を実行する。
【００６７】
ステップＳ５０において、データ転送要求検出部１２０が、同じタイムサイクルに、内部バスマスタＭ１及び外部バスマスタＭ２からの「ＨＴＲＡＮＳ[１]信号」を受信したと判定した場合、通信管理部１３０と、データ転送完了検出部１４０と、データ通信部１６０とへ、同じタイムサイクルに「ＨＴＲＡＮＳ[１]信号」を受信した旨を通知する。
【００６８】
この通知を受けた通信管理部１３０は、外部バスマスタＭ２に対して、「ＨＲＥＡＤＹ信号」を“Ｌｏｗ”の状態で送信し、外部バスマスタＭ２から送信されているデータの送信を停止させる。
【００６９】
また、この通知を受けたデータ通信部１６０は、外部バスマスタＭ２において“Ｌｏｗ”の状態の「ＨＲＥＡＤＹ信号」を受信してデータの送信を停止する前に、外部バスマスタＭ２から送信されたデータを記憶部１５０に記憶する。
【００７０】
ステップＳ５１において、内部バスマスタＭ１は、外部バススレーブＳ２との間で第１のデータ転送を実行する。
【００７１】
ステップＳ５２において、制御装置１００では、データ転送完了検出部１４０が、第１のデータ転送を完了したか否かを検出する。この時、データ転送完了検出部１４０は、制御信号通信部１１０で受信されている内部バスマスタＭ１からの「ＨＴＲＡＮＳ[１]信号」が“００”のＩＤＬＥ状態に切り替わるか否かを検出する。
【００７２】
ステップＳ５３において、データ転送完了検出部１４０が、第１のデータ転送を完了したことを検出した場合、完了した旨を、通信管理部１３０及びデータ通信部１６０へ通知する。
【００７３】
この通知を受けた通信管理部１３０は、内部バスマスタＭ１に対して、「ＨＧＲＡＮＴ信号」を“Ｌｏｗ”の状態で送信すると共に、外部バスマスタＭ２に対して、「ＨＲＥＡＤＹ信号」を“Ｈｉｇｈ”の状態で送信する。
【００７４】
ステップＳ５４において、第１のデータ転送が完了した旨の通知を受けたデータ通信部１６０は、外部バスマスタＭ２から送信されるデータを記憶部１５０に記憶しつつ、第１のデータ転送中に記憶部１５０へ記憶したデータから、内部バススレーブＳ１に送信し、第２のデータ転送におけるデータの送信を実行する。
【００７５】
次に、図４乃至６を参照し、上述したステップＳ３０乃至Ｓ３１と、ステップＳ４０乃至Ｓ４１と、ステップＳ５０乃至Ｓ５４とにおいて、制御装置１００が制御する制御信号と、第１のデータ転送及び第２のデータ転送との時間軸上の関係について説明する。
【００７６】
ここで、図４乃至６の図中に示す各信号について簡潔に説明する。
【００７７】
図中の「ＣＬＫ」は、制御装置１００の内部クロックのタイムサイクルＴ０乃至Ｔ４を示している。図中の「ＨＧＲＡＮＴ」は、制御装置１００から内部バスマスタＭ１へ送信される「ＨＧＲＡＮＴ信号」を示している。図中の「第１のデータ転送」は、内部バスマスタＭ１から外部バススレーブＳ２へ送信されるデータ（例えば、「ＨＷＤＡＴＡ信号」や「ＨＲＤＡＴＡ信号」）を示している。図中の「ＨＲＥＡＤＹ＿Ｍ２」は、制御装置１００から外部バスマスタＭ２へ送信される「ＨＲＥＡＤＹ信号」を示している。図中の「第２のデータ転送」は、外部バスマスタＭ２から内部バススレーブＳ１へ送信されるデータ信号を示している。
【００７８】
なお、図４乃至６では、制御装置１００が、タイムサイクルＴ０のタイミングで「ＨＴＲＡＮＳ[１]信号」を受信する場合を例に示している。
【００７９】
図４は、第１のデータ転送を実施するステップＳ３０乃至Ｓ３１の動作において、制御装置１００が制御する制御信号と、第１のデータ転送との関係を示すタイムチャートである。
【００８０】
図４に示すタイムサイクルＴ０において、制御装置１００が、内部バスマスタＭ１から外部バススレーブＳ２へ送信された「ＨＴＲＡＮＳ[１]信号」を受信した場合、タイムサイクルＴ１において、制御装置１００は、外部バスマスタＭ２へ送信する「ＨＲＥＡＤＹ信号」を“Ｌｏｗ”の状態で送信する（ステップＳ３０）。この時、内部バスマスタＭ１と外部バススレーブＳ２との間において、第１のデータ転送が実行される（ステップＳ３１）。
【００８１】
また、タイムサイクルＴ３において、第１のデータ転送が完了する場合、制御装置１００は、第１のデータ転送の完了を検出し、外部バスマスタＭ２へ送信する「ＨＲＥＡＤＹ信号」を“Ｈｉｇｈ”の状態で送信する。
【００８２】
このようにして、制御装置１００は、第１のデータ転送が実行されると共に、外部バスマスタＭ２へ送信する「ＨＲＥＡＤＹ信号」を制御し、第２のデータ転送の実行を禁止することで、第１のデータ転送と第２のデータ転送とを同一の時間帯で実行されることを防止する。
【００８３】
図５は、第２のデータ転送を実施するステップＳ４０乃至Ｓ４１の動作において、制御装置１００が制御する制御信号と、第２のデータ転送との関係を示すタイムチャートである。
【００８４】
図５に示すタイムサイクルＴ０において、制御装置１００が、外部バスマスタＭ２から内部バススレーブＳ１へ送信された「ＨＴＲＡＮＳ[１]信号」を受信した場合、タイムサイクルＴ１において、制御装置１００は、内部バスマスタＭ１へ送信する「ＨＧＲＡＮＴ信号」を“Ｌｏｗ”の状態で送信する（ステップＳ４０）。この時、外部バスマスタＭ２と内部バススレーブＳ１との間において、第２のデータ転送が実行される（ステップＳ４１）。
【００８５】
また、タイムサイクルＴ３において、第２のデータ転送が完了する場合、制御装置１００は、第２のデータ転送の完了を検出し、内部バスマスタＭ１へ送信する「ＨＧＲＡＮＴ信号」を“Ｈｉｇｈ”の状態で送信する。
【００８６】
このようにして、制御装置１００は、第２のデータ転送が実行されると共に、内部バスマスタＭ１へ送信する「ＨＧＲＡＮＴ信号」を制御し、第１のデータ転送の実行を禁止することで、第１のデータ転送と第２のデータ転送とを同一の時間帯で実行されることを防止する。
【００８７】
図６は、第１のデータ転送及び第１のデータ転送を実施するステップＳ５０乃至Ｓ５４の動作において、制御装置１００が制御する制御信号と、第１のデータ転送及び第２のデータ転送との関係を示すタイムチャートである。
【００８８】
図６に示すタイムサイクルＴ０において、制御装置１００が、内部バスマスタＭ１から外部バススレーブＳ２へ送信された「ＨＴＲＡＮＳ[１]信号」と、外部バスマスタＭ２から内部バススレーブＳ１へ送信された「ＨＴＲＡＮＳ[１]信号」とを受信した場合、タイムサイクルＴ１において、制御装置１００は、外部バスマスタＭ２へ送信する「ＨＲＥＡＤＹ信号」を“Ｌｏｗ”の状態で送信すると共に、外部バスマスタＭ２から送信されたデータを記憶（Ｌａｔｃｈ）する（ステップＳ５０）。この時、内部バスマスタＭ１と外部バススレーブＳ２との間において、第１のデータ転送が実行される（ステップＳ５１）。
【００８９】
また、タイムサイクルＴ２において、第１のデータ転送が完了する場合、制御装置１００は、第１のデータ転送の完了を検出し（ステップＳ５２）、「ＨＲＥＡＤＹ信号」を“Ｈｉｇｈ”の状態に切り替えて外部バスマスタＭ２へ送信すると共に、「ＨＧＲＡＮＴ信号」を“Ｌｏｗ”の状態に切り替えて内部バスマスタＭ１へ送信する（ステップＳ５３）。この時、外部バスマスタＭ２と内部バススレーブＳ１との間において、第２のデータ転送が実行される（ステップＳ５４）。なお、制御装置１００は、第２のデータ転送を実行する際、記憶したデータから内部バススレーブＳ１へ送信する。
【００９０】
このようにして、制御装置１００は、第１のデータ転送と第２のデータ転送とが実行される際、外部バスマスタＭ２へ送信する「ＨＲＥＡＤＹ信号」と、内部バスマスタＭ１へ送信する「ＨＧＲＡＮＴ信号」を制御し、第１のデータ転送と第２のデータ転送とを同一の時間帯で実行されることを防止する。
【００９１】
（作用・効果）
以上説明した本実施形態に係る制御装置によれば、第１のデータ転送の実行を要求する「ＨＴＲＡＮＳ[１]信号」又は第２のデータ転送の実行を要求する「ＨＴＲＡＮＳ[１]信号」のいずれか一方を検出した際、検出されていない他方の第１のデータ転送又は第２のデータ転送の実行を禁止し、第１のデータ転送と第２のデータ転送とを同一の時間帯で実行することを防止する。したがって、かかる制御装置１００によれば、共有信号線Ｌを介して、内部バスマスタＭ１と内部バススレーブＳ１に対して第１のデータ転送及び第２のデータ転送の転送状態を示す信号を送信する処理回路において、内部バスマスタＭ１と外部バススレーブＳ２乃至３間の第１のデータ転送と、外部バスマスタＭ２と内部バススレーブＳ１間の第２のデータ転送とを適切に実行することができる。
【００９２】
また、かかる制御装置１００よれば、第１のデータ転送又は第２のデータ転送の実行を要求する「ＨＴＲＡＮＳ[１]信号」を同じタイムサイクル（タイミング）で検出した場合、第２のデータ転送の実行を禁止し、第１のデータ転送のみを実行させる。したがって、第１のデータ転送と第２のデータ転送とを同一の時間帯で実行することを防止する。
【００９３】
また、かかる制御装置１００よれば、第１のデータ転送又は第２のデータ転送の実行を要求する「ＨＴＲＡＮＳ[１]信号」を同じタイムサイクル（タイミング）で検出した場合、第２のデータ転送を禁止する前に転送されたデータを保持し、第１のデータ転送が完了した際に、保持するデータから第２のデータ転送を実行できる。したがって、外部バスマスタＭ２が、第２のデータ転送におけるデータの転送を、初めから再度実行することなく効率よく実行できる。
【００９４】
（その他の実施形態）
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。
【００９５】
例えば、上述した実施形態に係る制御装置１００の制御信号通信部１１０において、調停回路Ａｂの機能を含むように構成されていても良い。
【００９６】
また、上述した実施形態に係る制御装置１００のデータ転送要求検出部１２０は、制御信号通信部１１０で「ＨＴＲＡＮＳ[１]信号」を受信したか否かに基づいて、第１のデータ転送又は第２のデータ転送の実行の要求を検出するように構成されていたが、「ＨＴＲＡＮＳ[１]信号」以外に、ＡＭＢＡプロトコルにおいて、例えば「ＨＢＵＳＲＥＱｘ信号」等のバスへの接続を要求する信号を、第１のデータ転送又は第２のデータ転送の実行の要求として検出しても良い。
【００９７】
また、例えば、上述した実施形態に係るバスシステムでは、ＡＭＢＡプロトコルにおける各種制御信号を一例に挙げて説明したが、ＡＭＢＡプロトコル以外のプロトコルを用いたバスシステムであっても良い。つまり、本発明に係る制御装置１００は、同一の信号線（共有信号線Ｌ）を介して、内部バスマスタＭ１と内部バススレーブＳ１とに同一の信号を送信する処理回路に対して、データ転送等の通信を実行する様々なバスシステムに適用することが可能である。
【００９８】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施形態に係るバスシステムの構成を示す概略構成図である。
【図２】本発明の実施形態に係る制御装置のブロック構成図である。
【図３】本発明の実施形態に係る制御装置の動作を示すフローチャートである。
【図４】本発明の実施形態に係る制御装置から送信される制御信号とデータ転送との関係を示すタイムチャートである。
【図５】本発明の実施形態に係る制御装置から送信される制御信号とデータ転送との関係を示すタイムチャートである。
【図６】本発明の実施形態に係る制御装置から送信される制御信号とデータ転送との関係を示すタイムチャートである。
【図７】従来技術に係るバスマスタとバススレーブとのデータ転送を示すイメージ図である。
【図８】従来技術に係るバスマスタとバススレーブとのデータ転送を示すイメージ図である。
【図９】従来技術に係るバスマスタとバススレーブとのデータ転送を示すイメージ図である。
【図１０】従来技術に係るバスマスタとバススレーブとのデータ転送を示すイメージ図である。
【符号の説明】
【０１００】
１…バスシステム、２…バス、１０…処理回路、２０…ＳＲＡＭ、３０…ＤＭＡＣ、１００…制御装置、１１０…制御信号通信部、１２０…データ転送要求検出部、１３０…通信管理部、１４０…データ転送完了検出部、１５０…記憶部、１６０…データ通信部、Ａ乃至Ｂ…データ転送、Ａｂ…調停回路、Ｌ…共有信号線、Ｓ１０乃至Ｓ５４…ステップ、Ｍ１…内部バスマスタ、Ｍ２…外部バスマスタ、Ｓ１…内部バススレーブ、Ｓ２乃至Ｓ３…外部バススレーブ、Ｔ０乃至Ｔ４…タイムサイクル
【図１】
2008047033.tif 000003
【図２】
2008047033.tif 000004
【図３】
2008047033.tif 000005
【図４】
2008047033.tif 000006
【図５】
2008047033.tif 000007
【図６】
2008047033.tif 000008
【図７】
2008047033.tif 000009
【図８】
2008047033.tif 000010
【図９】
2008047033.tif 000011
【図１０】
2008047033.tif 000012