【手続補正書】
【提出日】平成21年7月10日(2009.7.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ及び１つ以上のハードウェアとバスを介して相互に接続されたバスマスタ回路であって、
前記バスにバスマスタとしてアクセスして、前記バスを介して相互に接続されたハードウェアの状態を検出する検出手段と、
前記検出手段により検出されたハードウェアの状態を判別する判別手段と、
前記判別手段により判別されたハードウェアの状態に基づいて制御信号を生成する生成手段と、
前記生成手段により生成された制御信号を前記バスに出力する出力手段とを有することを特徴とするバスマスタ回路。
【請求項２】
前記生成手段は、前記判別手段により判別されたハードウェアの状態に基づいて、前記バスを介して相互に接続されたプロセッサに対する割り込み信号を生成し、
前記出力手段は、前記生成手段により生成された割り込み信号を、前記バスを介して、前記プロセッサに出力することを特徴とする請求項１に記載のバスマスタ回路。
【請求項３】
前記生成手段は、前記判別手段により判別されたハードウェアの状態に基づいて、そのハードウェアと異なる第２のハードウェアの動作に関わる制御信号を生成し、
前記出力手段は、前記生成手段により生成された制御信号を、前記バスを介して、前記第２のハードウェアに出力することを特徴とする請求項１に記載のバスマスタ回路。
【請求項４】
前記生成手段は、前記判別手段により判別されたハードウェアの状態に基づいて、前記バスを介して相互に接続されたプロセッサへ供給されるクロックを制御するための制御信号を生成することを特徴とする請求項３に記載のバスマスタ回路。
【請求項５】
前記バスを介して相互に接続されたハードウェアの状態を検出する間隔がプログラマブルに設定される間隔設定手段を有し、
前記検出手段は、バスを介して相互に接続されたハードウェアの状態を前記間隔設定手段に設定された間隔で検出することを特徴とする請求項１〜４の何れか１項に記載のバスマスタ回路。
【請求項６】
前記制御信号の出力先のアドレスがプログラマブルに設定される出力先アドレス設定手段と、
前記制御信号に含めるデータがプログラマブルに設定されるデータ設定手段とを有し、
前記生成手段は、前記データ設定手段に設定されたデータを含む制御信号を生成し、
前記出力手段は、前記バスを介して、前記出力先アドレス設定手段に設定されたアドレスに、前記生成手段により生成された制御信号を出力することを特徴とする請求項１〜５の何れか１項に記載のバスマスタ回路。
【請求項７】
前記検出手段により検出されるハードウェアのアドレスがプログラマブルに設定されるハードウェアアドレス設定手段を有し、
前記検出手段は、前記ハードウェアアドレス設定手段に設定されたアドレスのハードウェアの状態を検出することを特徴とする請求項１〜６の何れか１項に記載のバスマスタ回路。
【請求項８】
前記検出手段により検出されたハードウェアの状態を判別するための条件がプログラマブルに設定される条件設定手段を有し、
前記判別手段は、前記検出手段により検出されたハードウェアの状態が、前記条件設定手段に設定された条件に該当するか否かを判別することを特徴とする請求項１〜７の何れか１項に記載のバスマスタ回路。
【請求項９】
バスにバスマスタとしてアクセスして、前記バスを介して相互に接続されたハードウェアの状態を検出する検出ステップと、
前記検出ステップにより検出されたハードウェアの状態を判別する判別ステップと、
前記判別ステップにより判別されたハードウェアの状態に基づいて制御信号を生成する生成ステップと、
前記生成ステップにより生成された制御信号を前記バスに出力する出力ステップとを有することを特徴とするバス制御方法。
【請求項１０】
前記生成ステップは、前記判別ステップにより判別されたハードウェアの状態に基づいて、前記バスを介して相互に接続されたプロセッサへ供給されるクロックを制御するための制御信号を生成し、
前記出力ステップは、前記生成ステップにより生成された制御信号を、前記バスを介して、前記プロセッサに供給されるクロックを制御するハードウェアに出力することを特徴とする請求項９に記載のバス制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】バスマスタ回路、及びバス制御方法
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、バスマスタ回路、及びバス制御方法に関し、特に、バスに接続されたハードウェアの状態を検出するために用いて好適なものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
条件判定ブロック２０７は、状態検出ブロック２０６からレジスタ２０６ｂの出力信号（data）２４１を受け取り、その出力信号（data）２４１（すなわちリードデータ）と判定条件とを比較し、条件を満たしているか否かを判定するブロックである。そして、条件判定ブロック２０７は、判定した条件を満たしているか否かを示す条件判定フラグの信号（flag）２４２を生成する。また、条件判定ブロック２０７は、制御レジスタ群２０９の判定データレジスタ２１３から信号（Cond＿Val）２２３を、判定マスクレジスタ２１４から信号（Cond＿Mask）２２４を受け取る。尚、信号（Cond＿Val、Cond＿Mask）２２３、２２４の詳細については後述する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
ステップＳ７０４に進むと、リード要求制御機能ブロック２０６ａは、リードリクエスト信号（req）２３２をネゲート（negate）する。すなわち、「０」を示すリードリクエスト信号（req）２３２をバスマスタ機能ブロック２０５に出力する（req=0）。
次に、ステップＳ７０５において、リード要求制御機能ブロック２０６ａは、バスマスタ機能ブロック２０５から出力されたリードデータ（rdata）２３４と、レジスタ２０６ｂに設定されているリードデータとを比較する。そして、リード要求制御機能ブロック２０６ａは、リードデータに変化があるか否かを判断する。この判断の結果、リードデータに変化がない場合には処理を終了する。一方、リードデータに変化がある場合には、ステップＳ７０６に進む。ステップＳ７０６に進むと、リード要求制御機能ブロック２０６ａは、バスマスタ機能ブロック２０５から出力されたリードデータ（rdata）２３４の値を、レジスタ２０６ｂに設定する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
次に、リード要求制御機能ブロック２０６ａは、リードデータに変化があるか否かを判断する（ステップＳ１１０５）。この判断の結果、リードデータに変化がない場合にはステップＳ１１０６を省略して後述するステップＳ１１０７に進む。一方、リードデータに変化がある場合には、リード要求制御機能ブロック２０６ａは、バスマスタ機能ブロック２０５から出力されたリードデータ（rdata）２３４の値を、レジスタ２０６ｂに設定する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
状態検出ブロック２０６は、前述したように、システムバスに接続されたハードウェアの内部状態を検出する。本実施形態では、状態検出ブロック２０６は、ポートステータスレジスタ１２０４の内部状態を検出する。
条件判定ブロック２０７は、前述したように、状態検出ブロック２０６の検出結果に基づいて、条件を満たしているか否かを判定する。本実施形態では、条件判定ブロック２０７は、クロックコントロールレジスタ１２０６へ書き込みを行うための条件を満たしているか否かを判定する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
バス転送制御ブロック１２０８は、バスマスタ機能ブロック３２０５とのインターフェースを有する。バス転送制御ブロック１２０８は、ライトリクエスト信号（req）３２３２とアクセス終了信号（done）３２３３のハンドシェークで、アドレス信号（addr）３２３１とライトデータ（wdata）３２３４をバスマスタ機能ブロック３２０５に渡す。また、バス転送制御ブロック１２０８は、制御レジスタ群２０９から、信号（Trf＿Addr、Trf＿Val）３２１６、３２１７を受け取る。この信号（Trf＿Addr、Trf＿Val）３２１６、３２１７の詳細については後述する。更に、バス転送制御ブロック１２０８は、状態検出ブロック２０６によるポーリング動作を停止させる場合に、ポーリング制御レジスタ２１１へ信号（Clear）３２２６を出力する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
ステップＳ１６０２に進むと、バス転送制御ブロック１２０８は、ポーリング動作を停止させるために、信号（Clear）３２２６をポーリング制御レジスタ１２１８に出力する。
次に、ステップＳ１６０２において、バス転送制御ブロック１２０８は、転送アドレスレジスタ１２１６の設定値「0xA020＿0000」をアドレス信号（addr）に含める。また、バス転送制御ブロック１２０８は、ライトデータ（wdata）３２３４に転送データレジスタの設定値「0x1」を含める。そして、バス転送制御ブロック１２０８は、ライトリクエスト信号（req）３２３２をアサートする(req=1)。すなわち、バス転送制御ブロック１２０８は、「１」を示すライトリクエスト信号（req）３２３２をバスマスタ機能ブロック３２０５に出力する。これにより、バス転送制御ブロック１２０８からバスマスタ機能ブロック２０５へ、ライト転送の要求がなされる。
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2008021040.tif 000001