(57)【要約】【課題】出力バッファに正しいドライブ強度を設定することによって信号伝達の信頼性を確保し、品質を高めることができるようにする。【解決手段】測定指示部３１は、ドライブ強度測定部３２への測定指示信号をアクティブにしてドライブ強度を測定させ、バス監視部３０からのバス動作検出信号に基づいて任意の測定期間中にバス動作を検出したか否かを判断し、ＡＧＰバスが使用されたと判定したら、ドライブ強度値保持部３３にドライブ強度を更新しないように制御し、バス監視部３０からのバス動作検出信号があったらＡＧＰバスが使用されなかったと判定して、ドライブ強度値保持部３３へ更新パルスを送ってドライブ強度値保持部３３のドライブ強度をドライブ強度測定部３２によって測定されたドライブ強度の最適値に変更するように制御する。【選択図】      図３
2004157983.tif 000002
【特許請求の範囲】
【請求項１】
外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段と、該ドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して前記出力バッファのドライブ強度を設定するドライブ強度設定手段とを備えた信号線制御装置において、
前記信号線の使用状態を監視する信号線使用状態監視手段と、該信号線使用状態監視手段からの監視情報に基づいて前記測定期間中に前記信号線が使用されなかったと判定した場合は前記ドライブ強度設定手段のドライブ強度を前記ドライブ強度測定手段によって測定されたドライブ強度の最適値に変更するように制御し、前記測定期間中に前記信号線が使用されたと判定した場合は前記ドライブ強度設定手段のドライブ強度を変更しないように制御するドライブ強度変更制御手段とを設けたことを特徴とする信号線制御装置。
【請求項２】
外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段と、該ドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して前記出力バッファのドライブ強度を設定するドライブ強度設定手段とを備えた信号線制御装置において、
前記信号線をドライブして前記信号線に接続されたデバイスにアクセスするマスタ動作をプロトコル制御するマスタ動作制御手段と、該マスタ動作制御手段にマスタ動作の開始を指示するマスタ動作開始指示手段と、前記ドライブ強度測定手段によって出力バッファのドライブ強度を測定する際、前記マスタ動作開始指示手段が前記マスタ動作制御手段に対して任意アドレスに対するリード動作の開始を指示してその後の要求を一旦停止するように制御し、前記ドライブ強度測定手段が前記リード動作によるリードデータを受信したときに計測を開始するように制御し、前記信号線マスタ調停手段が前記ドライブ強度測定手段で計測が終了したときに調停動作を再開するように制御する制御手段を設けたことを特徴とする信号線制御装置。
【請求項３】
請求項１又は２記載の信号線制御装置において、
前記信号線使用状態監視手段からの監視情報に基づいて前記測定期間中に前記信号線が使用されたと判定した場合は前記ドライブ強度測定手段にドライブ強度の測定を一旦中止させ、前記信号線が使用されなくなった後に再度測定を行わせるように制御する手段を設けたことを特徴とする信号線制御装置。
【請求項４】
前記信号線が、グラフィックス／ビデオ用のアドバンスト・グラフィックス・ポート・バスであることを特徴とする請求項１乃至３のいずれか一項に記載の信号線制御装置。
【請求項５】
外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段と、該ドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して前記出力バッファのドライブ強度に設定するドライブ強度設定手段とを備えた信号線制御装置において、
前記ドライブ強度測定手段がドライブ強度の測定を実行する前に、前記信号線の使用権を調停する信号線使用権調停手段に前記信号線の使用権を要求し、前記信号線使用権調停手段から前記信号線の使用権を得てから前記ドライブ強度測定手段にドライブ強度の測定を行わせる手段を設けたことを特徴とする信号線制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バスを制御するバス制御回路，バスを使用する装置等の信号線制御装置に関する。
【０００２】
【従来の技術】
一般に、コンピュータシステムにおける信号線（バス）を使ったデータ転送は、扱うデータの種類によって転送データ量や転送速度などが様々であり、そのバス規格も拡張バス等によって多様化してきている。
例えば、汎用バスであるペリフェラル・コンポーネント・インターフェイス（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ：ＰＣＩ）バスがよく知られているが、近年では、３次元グラフィックスや動画などの大容量の画像データをＣＰＵに依存せずに高速に転送させるために、ＰＣＩバスとは独立したグラフィックス／ビデオ用の専用バスであるアドバンスト・グラフィックス・ポート（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ：ＡＧＰ）バスが実用に供せられている。
【０００３】
そのＡＧＰバス技術には、グラフィックス／ビデオプロトコルが使用されている。従って、マイコンを内蔵し、大容量の画像データを扱う複合機／プリンタ等の画像処理機器においてもＡＧＰバス技術は活用されることになる。
ところで、上記グラフィックス／ビデオプロトコルによれば、ＡＧＰのデータ転送において基準レベルとなるリファレンス電圧という信号を用いて、入力電圧とそのリファレンス電圧とを比較し、入力信号のハイ（Ｈｉｇｈ：Ｈ）レベル、ロー（Ｌｏｗ：Ｌ）レベルの判定をするように規定されている。
また、ＡＧＰバスへの信号の出力においては、出力ドライブ強度をデジタル的に可変とし、その強度に対する温度，電圧の変動による影響を取り除くため、リファレンス電圧との比較によって最適値を随時測定し、その測定された出力ドライブ強度の最適値に更新する仕組みが推奨されている。
【０００４】
図９は、ハイレベルからローレベルに出力電圧レベルを遷移させるためのスイッチングトランジスタに関する回路構成を示すブロック図である。
次に、そのスイッチングトランジスタの仕組みを簡単に説明する。
図中の左側に破線で囲んで示す回路４０はドライブ強度の最適値をデジタル的に決定するための回路であり、電圧比較器４１の出力はコントロールロジック４２へ入力するように接続されている。電圧比較器４１のマイナス入力側にはリファレンス電圧：ＶＲＥＦが入力され、そのリファレンス電圧：ＶＲＥＦを基準にしてレベル判定を行って信号をやり取りする。一方、プラス入力側にはオンするトランジスタＷＮ１〜ＷＮ３によって変動する電圧が入力される。そのオンするトランジスタはコントロールロジック４２から入力されるデジタル値によって決定される。
【０００５】
トランジスタＷＮ１〜ＷＮ３が全てオフしている場合は電流が流れず、その場合はプラス入力側の電圧は抵抗Ｒ１，Ｒ２，ＲＺ０が接続された電圧に等しくリファレンス側の電圧より高い。ドライブ強度の最適値を測定（計測）する場合はオンするトランジスタＷＮ１〜ＷＮ３を変えて徐々に流す電流を増加させ、リファレンス電圧と交差する値を探すことによって最適値を決定する。ローレベルからハイレベルに出力電圧レベルを遷移させるためのスイッチングトランジスタに関する回路は抵抗とトランジスタの関係が逆にした構成になる。
図中の右側に破線で囲んで示す回路は、回路４０によって決定されたデジタル値にしたがってドライブ強度を可変に設定する出力バッファ４３である。
【０００６】
また、ＡＧＰバス技術では、ドライブ強度の更新を、バスがアイドル状態又はバス駆動してないときと、電源立ち上げ時とその後は数百μ秒毎に１回行うべきとしている。その理由は、バスが動作している状態にあると、電源に影響して正しいドライブ強度の測定が困難になるからである。バスのアイドル状態を作り出すためには、バスのアクセスを起動するマスタ動作を止める必要があり、そのためにはバスの使用権（マスタ権）を調停するアービタにバスがアイドル状態でバス権を渡さないような仕組みが必要になる（例えば、特許文献１参照）。
【０００７】
【特許文献１】
特開２０００−１３２２８９号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、ＡＧＰバスのアービタ機能はノースブリッジと呼ばれるチップセット側に内蔵されており、ＡＧＰバスに接続されたデバイスがアービタの中の論理まで介入することができない。また、自らのデバイスがマスタになるような要求を止めることや待たせることは可能でも、チップセット側のマスタがＡＧＰバス経由でアクセスする所謂自らのデバイスがターゲットとなる場合、ターゲット動作を止めるようなことはできず、そうした場合、ＰＣＩのプロトコル違反となってしまうという問題があった。
【０００９】
すなわち、自らのデバイスのマスタ要求は止める、又は待たせることは可能ではあるが、ＡＧＰバスを制御している回路部分では、ノースブリッジに出力するコマンドの数を管理するキュー管理を行っており、ライトデータ又はリードデータの転送と切り離されているため、マスタ動作に関する全てのやりとりを終了させる必要があるが、キュー管理を行っている回路部分での対応は容易ではない。また、チップセット側のマスタがＡＧＰバス経由でアクセスする、いわゆる自らのデバイスがターゲットとなる場合は、ターゲット動作を止めるようなことはできず、そうした場合、ＰＣＩのプロトコル違反となってしまう。
【００１０】
この発明は上記の課題を解決するためになされたものであり、出力バッファに正しいドライブ強度を設定することによって信号伝達の信頼性を確保し、品質を高めることができるようにすることを目的とする。
【００１１】
【課題を解決するための手段】
この発明は上記の目的を達成するため、次の（１）〜（５）の信号線制御装置を提供する。
（１）外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段と、そのドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して上記出力バッファのドライブ強度を設定するドライブ強度設定手段を備えた信号線制御装置において、上記信号線の使用状態を監視する信号線使用状態監視手段と、その信号線使用状態監視手段からの監視情報に基づいて上記測定期間中に上記信号線が使用されなかったと判定した場合は上記ドライブ強度設定手段のドライブ強度を上記ドライブ強度測定手段によって測定されたドライブ強度の最適値に変更するように制御し、上記測定期間中に上記信号線が使用されたと判定した場合は上記ドライブ強度設定手段のドライブ強度を変更しないように制御するドライブ強度変更制御手段を設けた信号線制御装置。
【００１２】
（２）外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段と、そのドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して上記出力バッファのドライブ強度を設定するドライブ強度設定手段を備えた信号線制御装置において、上記信号線をドライブして上記信号線に接続されたデバイスにアクセスするマスタ動作をプロトコル制御するマスタ動作制御手段と、そのマスタ動作制御手段にマスタ動作の開始を指示するマスタ動作開始指示手段と、上記ドライブ強度測定手段によって出力バッファのドライブ強度を測定する際、上記マスタ動作開始指示手段が上記マスタ動作制御手段に対して任意アドレスに対するリード動作の開始を指示してその後の要求を一旦停止するように制御し、上記ドライブ強度測定手段が上記リード動作によるリードデータを受信したときに計測を開始するように制御し、上記信号線マスタ調停手段が上記ドライブ強度測定手段で計測が終了したときに調停動作を再開するように制御する制御手段を設けた信号線制御装置。
【００１３】
（３）（１）又は（２）の信号線制御装置において、上記信号線使用状態監視手段からの監視情報に基づいて上記測定期間中に上記信号線が使用されたと判定した場合は上記ドライブ強度測定手段にドライブ強度の測定を一旦中止させ、上記信号線が使用されなくなった後に再度測定を行わせるように制御する手段を設けた信号線制御装置。
（４）（１）乃至（３）のいずれかの信号線制御装置において、上記信号線を、グラフィックス／ビデオ用のアドバンスト・グラフィックス・ポート・バスにした信号線制御装置。
【００１４】
（５）外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段と、そのドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して上記出力バッファのドライブ強度に設定するドライブ強度設定手段を備えた信号線制御装置において、上記ドライブ強度測定手段がドライブ強度の測定を実行する前に、上記信号線の使用権を調停する信号線使用権調停手段に上記信号線の使用権を要求し、上記信号線使用権調停手段から上記信号線の使用権を得てから上記ドライブ強度測定手段にドライブ強度の測定を行わせる手段を設けた信号線制御装置。
【００１５】
【発明の実施の形態】
以下、この発明の実施形態を図面に基づいて具体的に説明する。
図１は、この発明の一実施形態であるバス制御回路を含むＡＧＰバス対応コントローラとその周辺回路との接続関係を示すブロック図である。
ＡＧＰバス対応コントローラ１は、グラフィックス／ビデオ用のアドバンスド・グラフィックス・ポート・バスであるＡＧＰバス６を介してメインシステムのノースブリッジシステムコントローラ２に連結されている。
【００１６】
また、ノースブリッジシステムコントローラ２は、フロントサイドバス（Ｆｒｏｎｔｓｉｄｅ  Ｂｕｓ：ＦＳＢ）７を介してＣＰＵ３を、メモリバス８を介してメモリ５を、チップセット間バス９を介してサウスブリッジシステムコントローラ４をそれぞれ接続しており、図示を省略したＣＰＵインターフェース回路，メモリコントローラ，ＰＣＩコントローラ及びＡＧＰコントローラを内部に有し、それらは上記各種装置とそれぞれ接続するのに使用される。
ノースブリッジシステムコントローラ２は、ＣＰＵ３，ＡＧＰバス対応コントローラ１，サウスブリッジシステムコントローラ４及びメモリ５等の異なる装置間におけるデータの転送及び情報の制御を司る。
【００１７】
図２は、図１に示したＡＧＰバス対応コントローラ１とノースブリッジシステムコントローラ２のＡＧＰバスを挟んでの内部構成を示すブロック図である。
ノースブリッジシステムコントローラ２は、ＰＣＩマスタ回路２０，ＡＧＰターゲット回路２１，ＡＧＰバスアービタ２２，ＣＰＵ・Ｉ／Ｆ回路２３及びＩ／Ｏ部２４からなり、バスマスタとなり、ＰＣＩマスタ回路２０がＰＣＩプロトコルに則ってＡＧＰバス６を介してＡＧＰバス対応コントローラ１にアクセスする。図中の矢印付破線はＣＰＵ３がノースブリッジシステムコントローラ２を介してＡＧＰバス対応コントローラ１をアクセスした場合のアクセス経路を示すものである。
【００１８】
ＡＧＰバス対応コントローラ１は、ＡＧＰマスタ制御回路１０，ＰＣＩターゲット回路１１，Ｉ／Ｏ部１２からなり、ノースブリッジシステムコントローラ２からＰＣＩプロトコルに則ってアクセスされた場合には、ＰＣＩターゲット回路１１によってＰＣＩターゲット動作を行う。また、ＡＧＰバス対応コントローラ１はバスマスタとなり、ＡＧＰマスタ制御回路１０がＡＧＰプロトコルに則ってＡＧＰバス６を介してノースブリッジシステムコントローラ２に接続されるメモリをアクセスする。ノースブリッジシステムコントローラ２はその場合にはＡＧＰターゲット回路２１によってＡＧＰターゲット動作を行う。さらに、ノースブリッジシステムコントローラ２内部のＡＧＰバスアービタ２２は、ノースブリッジシステムコントローラ２内部のＰＣＩマスタ回路２０からのバス要求と、ＡＧＰバス対応コントローラ１からのＡＧＰバスの使用権の要求に対し、ＡＧＰバスマスタの調停、ＡＧＰバスのバス使用権の調停を行う。
【００１９】
ＡＧＰバスの詳細は、各種のＡＧＰ規格に記載されていて公知であり、その詳細な説明を省略するが、ここでは、この発明に係わるＡＧＰバスのドライブ強度の更新動作について説明する。
図３は、図２に示したＡＧＰバス対応コントローラ１のＩ／Ｏ部１２の内部構成を示すブロック図である。
Ｉ／Ｏ部１２は、バス監視部３０，測定指示部（計測指示部）３１，ドライブ強度測定部（ドライブ強度計測部）３２，ドライブ強度値保持部（ドライブ強度可変バッファ）３３，出力バッファ３４からなる。
ドライブ強度測定部３２は、外部のノースブリッジシステムコントローラ２と信号をやり取りするＡＧＰバス（信号線）のリファレンス電圧に対する出力バッファ３４のドライブ強度の最適値を任意の測定期間中に測定する。
【００２０】
測定指示部３１は図示を省略したタイマを持っており、ドライブ強度測定部３２に対して上記タイマのカウントに基づいて１００μ秒周期でドライブ強度の測定（計測）をさせる指示をするための測定指示信号を出力する。もし、その測定指示信号を出力するタイミングで、バス監視部３０からＡＧＰバス（信号線）が動作中（使用中）であることを示すバス動作検出信号を受けていた場合、ＡＧＰバスがアイドル状態（使用されない状態）になるのを待って測定指示信号を出力する。ドライブ強度の測定（計測）には動作クロックで数クロックの期間（任意の測定期間）が必要であるので、通常はその時間幅だけ測定指示信号をアクティブにする。
【００２１】
また、測定期間中にバス監視部３０からバス動作検出信号を受け取らずにバスが使用されなかったと判定した場合はドライブ強度値保持部３３へ更新パルスを出力してドライブ強度をドライブ強度測定部３２によって測定されたドライブ強度の最適値に変更するように制御し、測定期間中にバス監視部３０からバス動作検出信号を受け取ってバスが使用されたと判定した場合はドライブ強度値保持部３３へ更新パルスを出力しないでドライブ強度を変更しないように制御する。
こうして、ドライブ強度値保持部３３は、測定指示部３１から更新パルスがあったときにドライブ強度測定部３２で測定されたドライブ強度デジタル値Ａに更新し、更新された値のドライブ強度デジタル値Ｂを出力バッファ３４に設定する。
【００２２】
さらに、測定期間中にバス監視部３０からバス動作検出信号を受け取ってバスが使用されたと判定した場合はドライブ強度測定部３２への測定指示信号を非アクティブにしてドライブ強度の測定を一旦中止させ、バス動作検出信号を受け取らなくなってＡＧＰバスが使用されなくなったと判定した後、測定指示信号をアクティブにして再度測定を行わせるように制御する。
ドライブ強度値保持部３３は、ドライブ強度測定部３２で測定されたドライブ強度の最適値を保持して出力バッファ３４のドライブ強度を可変に設定する。
【００２３】
すなわち、上記ドライブ強度測定部３２が、外部と信号をやり取りする信号線のリファレンス電圧に対する出力バッファのドライブ強度の最適値を任意の測定期間中に測定するドライブ強度測定手段の機能を果たす。
また、上記ドライブ強度値保持部３３が、ドライブ強度測定手段によって測定されたドライブ強度の最適値を保持して出力バッファ３４のドライブ強度を設定するドライブ強度設定手段の機能を果たす。さらに、上記バス監視部３０が、上記信号線の使用状態を監視する信号線使用状態監視手段の機能を果たす。
【００２４】
また、上記測定指示部３１が、信号線使用状態監視手段からの監視情報に基づいて上記測定期間中に上記信号線が使用されなかったと判定した場合は上記ドライブ強度設定手段のドライブ強度を上記ドライブ強度測定手段によって測定されたドライブ強度の最適値に変更するように制御し、上記測定期間中に上記信号線が使用されたと判定した場合は上記ドライブ強度設定手段のドライブ強度を変更しないように制御するドライブ強度変更制御手段の機能を果たす。
さらに、上記測定指示部３１は、上記信号線使用状態監視手段からの監視情報に基づいて上記測定期間中に上記信号線が使用されたと判定した場合は上記ドライブ強度測定手段にドライブ強度の測定を一旦中止させ、上記信号線が使用されなくなった後に再度測定を行わせるように制御する手段の機能も果たす。
【００２５】
図４は、図３に示したＩ／Ｏ部１２におけるドライブ強度の測定に関する処理のフローチャート図である。
測定指示部３１は、ステップ（図中「Ｓ」で示す）１のドライブ強度測定処理でドライブ強度測定部への測定指示信号をアクティブにしてドライブ強度を測定させる。
ステップ２でバス監視部からのバス動作検出信号に基づいて任意の測定期間中にバス動作を検出したか否かを判断する。バス監視部からバス動作検出信号を受け取ったらバス動作検出、すなわちＡＧＰバスが使用されたと判定し、バス動作検出信号を受け取らなければＡＧＰバスが使用されなかったと判定する。
【００２６】
ＡＧＰバスが使用されたと判定したら、ステップ５でドライブ強度の測定が良好な状態ではないとしてドライブ強度値保持部へ更新パルスを送らずにドライブ強度値保持部にドライブ強度を更新しないように制御し、さらにドライブ強度測定部への測定指示信号を非アクティブにし、ドライブ強度測定部に対してドライブ強度の測定を一旦中止させ、ステップ６でバスアイドル（ＡＧＰバスが使用されていない状態）か否かを判断する。バス監視部からバス動作検出信号を受けとっている間はステップ６の処理を繰り返して次の処理への移行をウエイトし、バス監視部からバス動作検出信号を受けとらなくなるとバスアイドル、すなわちＡＧＰバスが使用されなくなった状態と判断し、ステップ１へ戻ってドライブ強度測定部への測定指示信号をアクティブにして再度ドライブ強度の測定を行わせるように制御するリトライ処理を行う。
【００２７】
こうして、測定を途中で中止した場合は、ＡＧＰバスがアイドル状態になるのを待ってから再度測定するために、ドライブ強度測定部に測定指示信号を出力する。その後、測定が良好となるまで繰り返す。
一方、ステップ２の判断でバス動作検出信号を受けなければバス動作検出無しと判断し、ＡＧＰバスが使用されなかったと判定して、ステップ３で任意の測定期間のドライブ強度の測定が終了か否かを判断し、終了していなければステップ１へ戻ってドライブ強度測定部にドライブ強度の測定を継続させ、終了していれば、ステップ４でドライブ強度の測定が良好な状態であるとしてドライブ強度値保持部へ更新パルスを送ってドライブ強度値保持部のドライブ強度をドライブ強度測定部によって測定されたドライブ強度の最適値に変更するように制御し、この処理を終了する。
【００２８】
このようにして、出力バッファに正しいドライブ強度の計測値に従ったドライブ強度を選択して設定することができ、信号伝達の信頼性が確保し、品質を高めることができる。また、リファレンス電圧でやりとりを行うＡＧＰバスを用いる場合に好適に適用することが可能になる。
【００２９】
次に、図３に示したＩ／Ｏ部１２におけるＡＧＰバスのマスタ権を獲得してからドライブ強度の測定を行うときの処理について説明する。
測定指示部３１は、ドライブ強度測定部３２にドライブ強度の測定を実行させる前に、ノースブリッジシステムコントローラ２のＡＧＰバスアービタ２２にＡＧＰバス６にＡＧＰバス６の使用権を要求し、ＡＧＰバスアービタ２２からＡＧＰバス６にＡＧＰバス６の使用権を獲得したらドライブ強度測定部３２への測定指示信号をアクティブにしてドライブ強度測定部３２にドライブ強度の測定を行わせる。
【００３０】
すなわち、上記測定指示部３１が、上記ドライブ強度測定手段がドライブ強度の測定を実行する前に、上記信号線の使用権を調停する信号線使用権調停手段に上記信号線の使用権を要求し、上記信号線使用権調停手段から上記信号線の使用権を得てから上記ドライブ強度測定手段にドライブ強度の測定を行わせる手段の機能を果たす。
【００３１】
図５は、図３に示したＩ／Ｏ部１２におけるＡＧＰバスのマスタ権を獲得してからドライブ強度の測定を行うときの処理を示すフローチャート図である。
測定指示部３１は、測定開始時にステップ（図中「Ｓ」で示す）１１でノースブリッジシステムコントローラのＡＧＰバスアービタにＡＧＰバスのバス使用権（マスタ権）を要求し、ステップ１２でＡＧＰバスアービタからＡＧＰバスのバス使用権を許可するバス許可信号を受信したか否かを判断して、受信しなければステップ１１へ戻って再びバス使用権を要求し、受信したらステップ１３のドライブ強度測定処理でドライブ強度測定部への測定指示信号をアクティブにしてドライブ強度の測定を開始させる。
【００３２】
ステップ１４でバス監視部からのバス動作検出信号に基づいて任意の測定期間中にバス動作を検出したか否かを判断する。バス監視部からバス動作検出信号を受け取ったらバス動作検出、すなわちＡＧＰバスが使用されたと判定し、バス動作検出信号を受け取らなければＡＧＰバスが使用されなかったと判定する。
ＡＧＰバスが使用されたと判定したら、ステップ１７でドライブ強度の測定が良好な状態ではないとしてドライブ強度値保持部へ更新パルスを送らずにドライブ強度値保持部にドライブ強度を更新しないように制御し、さらにドライブ強度測定部への測定指示信号を非アクティブにし、ドライブ強度測定部の測定を一旦中止させ、ステップ１８でバスアイドル（ＡＧＰバスが使用されていない状態）か否かを判断する。
【００３３】
バス監視部からバス動作検出信号を受けとっている間はステップ１８の処理を繰り返して次の処理への移行をウエイト（待機）し、バス監視部からバス動作検出信号を受けとらなくなるとバスアイドル、すなわちＡＧＰバスが使用されなくなったと判断し、ステップ１３へ戻ってドライブ強度測定部への測定指示信号をアクティブにして再度ドライブ強度の測定を行わせるように制御するリトライ処理を行う。
こうして、測定を途中で中止した場合は、ＡＧＰバスがアイドル状態になるのを待ってから再度測定するために、ドライブ強度測定部に測定指示信号を出力する。その後、測定が良好となるまで繰り返す。
【００３４】
一方、ステップ１４の判断でバス動作検出信号を受けなければバス動作検出なしと判断し、ＡＧＰバスが使用されなかったと判定して、ステップ１５で任意の測定期間の測定が終了か否かを判断し、終了していなければステップ１３へ戻ってドライブ強度測定部にドライブ強度の測定を継続させ、終了していれば、ステップ１６で測定が良好な状態であるとしてドライブ強度値保持部へ更新パルスを送ってドライブ強度値保持部のドライブ強度をドライブ強度測定部によって測定されたドライブ強度の最適値に変更するように制御し、この処理を終了する。
【００３５】
また、この実施形態では、ＡＧＰバスマスタとして許可されても実際のアクセスは行わせていないが、ドライブ強度の測定終了後に仮のアクセスとしてリード動作を行ってもよい。ＡＧＰバスアービタではＡＧＰバスの使用権を許可して数クロック経ってもＡＧＰバス対応コントローラからマスタアクセスが開始されなければ使用権を放棄したとみなし、再びＡＧＰバスの調停を開始する。そのため、図５に示した処理におけるステップ１４のＡＧＰバス動作の検出はＡＧＰバス対応コントローラ１としてはターゲット動作となる。
このようにして、ＡＧＰバスの使用権を得てからドライブ強度の測定を行うので、ＡＧＰバスがアイドル状態である期間を確保できる可能性が高くなり、高性能なバス制御が可能になる。
【００３６】
次に、この発明の他の実施形態について説明する。
この実施形態のバス制御回路を含むＡＧＰバス対応コントローラとその周辺回路は図１と同じ構成であるが、そのＡＧＰバス対応コントローラの内部構成が異なる。
図６は、図１に示したＡＧＰバス対応コントローラとノースブリッジシステムコントローラのＡＧＰバスを挟んでの内部構成の他の例を示すブロック図である。ノースブリッジシステムコントローラ２は、ＰＣＩマスタ回路２０，ＡＧＰターゲット回路２１，ＡＧＰバスアービタ２２，ＣＰＵ・Ｉ／Ｆ回路２３及びＩ／Ｏ部２４からなり、バスマスタとなり、ＰＣＩマスタ回路２０がＰＣＩプロトコルに則ってＡＧＰバス６を介してＡＧＰバス対応コントローラ１にアクセスする。図中の矢印付破線（イ）はＣＰＵ３がノースブリッジシステムコントローラ２を介してＡＧＰバス対応コントローラ１をアクセスした場合のアクセス経路を示すものである。
【００３７】
ＡＧＰバス対応コントローラ１′は、ＡＧＰマスタ制御回路１０，ＰＣＩターゲット回路１１，Ｉ／Ｏ部１２，マスタ調停回路１３，ドライブ電流制御回路１４からなり、ノースブリッジシステムコントローラ２からＰＣＩプロトコルに則ってアクセスされた場合には、ＰＣＩターゲット回路１１によってＰＣＩターゲット動作を行う。また、ＡＧＰバス対応コントローラ１′はバスマスタとなり、ＡＧＰマスタ制御回路１０がＡＧＰプロトコルに則ってＡＧＰバス６を介してノースブリッジシステムコントローラ２に接続されるメモリ（デバイス）をアクセスするマスタ動作を行う。
図中の矢印付一点鎖線（ロ）はＡＧＰバス対応コントローラ１′がノースブリッジシステムコントローラ２に接続されるメモリをアクセスした場合のアクセス経路を示すものである。
【００３８】
ノースブリッジシステムコントローラ２はその場合にはＡＧＰターゲット回路２１によってＡＧＰターゲット動作を行う。さらに、ノースブリッジシステムコントローラ２内部のＡＧＰバスアービタ２２は、ノースブリッジシステムコントローラ２内部のＰＣＩマスタ回路２０からのバス要求と、ＡＧＰバス対応コントローラ１からのＡＧＰバスの使用権の要求に対し、ＡＧＰバスマスタの調停、ＡＧＰバスのバス使用権の調停を行う。
ＡＧＰバス６のバスプロトコルはＰＣＩバスと異なり、コマンド要求とライトデータ又はリードデータの転送がＡＧＰバス６上で別々に行われる。
図中の矢印付二点鎖線（ハ）はＡＧＰバス対応コントローラ１′がノースブリッジシステムコントローラ２に接続されるメモリをリードアクセスした場合のリードデータ転送のパス（アクセス経路）を示すものである。
【００３９】
すなわち、上記ＡＧＰマスタ制御回路１０が信号線をドライブして上記信号線に接続されたデバイスにアクセスするマスタ動作をプロトコル制御するマスタ動作制御手段の機能を、上記マスタ調停回路１３が上記マスタ動作制御手段にマスタ動作の開始を指示するマスタ動作開始指示手段の機能をそれぞれ果たす。
【００４０】
ＡＧＰバスの詳細は、各種のＡＧＰ規格に記載されていて公知であり、その詳細な説明を省略するが、ここでは、この発明に係わるＡＧＰバスのドライブ強度の更新動作について説明する。
図７は、図６に示したＡＧＰバス対応コントローラ１′のドライブ電流制御回路１４の内部構成を示すブロック図である。
ドライブ電流制御回路１４は、バス監視部３０′，測定指示部（計測指示部）３１′，ドライブ強度測定部（ドライブ強度計測部）３２′，ドライブ強度値保持部（ドライブ強度可変バッファ）３３′，出力バッファ３４′からなる。
ドライブ強度測定部３２′は、外部のノースブリッジシステムコントローラ２と信号をやり取りするＡＧＰバス（信号線）６のリファレンス電圧に対する出力バッファ３４′のドライブ強度の最適値を任意の測定期間中に測定する。
【００４１】
測定指示部３１′は内部に図示を省略したタイマを持っており、ドライブ強度測定部３２′に対して上記タイマのカウントに基づいて１００μ秒周期で測定指示信号を出力してドライブ強度の測定（計測）を開始させ、
まず、ＡＧＰバス６のマスタ調停回路１３に対してリード要求信号を出力する。マスタ調停回路１３は測定指示部３１′からのリード要求信号を受け、他の要求との調停を行って許可信号を出力する。また、マスタ調停回路１３はドライブ電流制御回路１４に許可信号を出力すると共にＡＧＰマスタ制御回路１０によるＡＧＰバス６の調停を一旦停止させる。
【００４２】
ＡＧＰマスタ制御回路１０はドライブ電流制御回路１４の要求したリードデータを受信すると、ドライブ電流制御回路１４にリードデータ受信検出信号を出力する。ドライブ電流制御回路１４はマスタ動作に関するバス使用が停止したとみなし、測定指示部３１′はドライブ強度測定部３２に対してドライブ強度の測定を指示するための測定指示信号を出力し、ドライブ強度測定部３２′はドライブ強度の測定を開始する。
測定指示部３１′は、もし、その測定指示信号を出力するタイミングで、バス監視部３０′からＡＧＰバス（信号線）６が動作中（使用中）であることを示すバス動作検出信号を受けていた場合、ＡＧＰバス６がアイドル状態（使用されない状態）になるのを待って測定指示信号を出力する。ドライブ強度の測定（計測）には動作クロックで数クロックの期間（任意の測定期間）が必要であるので、通常はその時間幅だけ測定指示信号をアクティブにする。
【００４３】
上記測定期間中にバス監視部３０′からバス動作検出信号を受け取ってバスが使用されたと判定した場合は、測定が良好でないとして測定を中止するために測定指示信号を非アクティブにして、ドライブ強度値保持部３３′へ更新パルスを出力しないでドライブ強度を変更しないように制御する。
また、上記測定期間中にバス監視部３０′からバス動作検出信号を受け取らずにバスが使用されなかったと判定した場合は、測定が良好であるとしてドライブ強度値保持部３３′へ更新パルスを出力してドライブ強度をドライブ強度測定部３２′によって測定されたドライブ強度の最適値に変更するように制御する。
【００４４】
このとき、測定指示部３１′はマスタ調停回路１３に対して測定終了通知信号を出力して測定終了を伝えてＡＧＰマスタ制御回路１０によるＡＧＰバス６の調停動作を再開させる。
こうして、ドライブ強度値保持部３３′は、測定指示部３１から更新パルスがあったときにドライブ強度測定部３２′で測定されたドライブ強度デジタル値Ａに更新し、更新された値のドライブ強度デジタル値Ｂを出力バッファ３４′に設定する。
【００４５】
さらに、測定期間中にバス監視部３０′からバス動作検出信号を受け取ってバスが使用されたと判定した場合はドライブ強度測定部３２′への測定指示信号を非アクティブにしてドライブ強度の測定を一旦中止させ、バス動作検出信号を受け取らなくなってＡＧＰバス６が使用されなくなったと判定した後、測定指示信号をアクティブにして再度測定を行わせるように制御する。ドライブ強度値保持部３３′は、ドライブ強度測定部３２′で測定されたドライブ強度の最適値を保持して出力バッファ３４′のドライブ強度を可変に設定する。
もし、測定を途中で中止した場合は、バスがアイドル状態になるのを待ってから再度測定を開始し、測定指示部３１′は再度ドライブ強度測定部３２′に測定指示信号を出力する。その後、測定が良好となるまで繰り返す。これによって、正しいドライブ強度の計測値に従った出力バッファ３４′のドライブ強度が選択され、信頼性が確保でき、高品質となるバス制御回路を提供することが可能となる。
【００４６】
すなわち、上記ドライブ電流制御回路１４が、上記ドライブ強度測定手段によって出力バッファのドライブ強度を測定する際、上記マスタ動作開始指示手段が上記マスタ動作制御手段に対して任意アドレスに対するリード動作の開始を指示してその後の要求を一旦停止するように制御し、上記ドライブ強度測定手段が上記リード動作によるリードデータを受信したときに計測を開始するように制御し、上記信号線マスタ調停手段が上記ドライブ強度測定手段で計測が終了したときに調停動作を再開するように制御する制御手段の機能を果たす。
【００４７】
また、上記測定指示部３１′が、信号線使用状態監視手段からの監視情報に基づいて上記測定期間中に上記信号線が使用されなかったと判定した場合は上記ドライブ強度設定手段のドライブ強度を上記ドライブ強度測定手段によって測定されたドライブ強度の最適値に変更するように制御し、上記測定期間中に上記信号線が使用されたと判定した場合は上記ドライブ強度設定手段のドライブ強度を変更しないように制御するドライブ強度変更制御手段の機能を果たす。
さらに、上記測定指示部３１′は、上記信号線使用状態監視手段からの監視情報に基づいて上記測定期間中に上記信号線が使用されたと判定した場合は上記ドライブ強度測定手段にドライブ強度の測定を一旦中止させ、上記信号線が使用されなくなった後に再度測定を行わせるように制御する手段の機能も果たす。
【００４８】
図８は、図３に示したドライブ電流制御回路１４におけるドライブ強度の測定に関する処理のフローチャート図である。
測定指示部３１′は、ステップ（図中「Ｓ」で示す）２１でＡＧＰバスダミーリード要求を出力し、すなわち、マスタ調停回路へリード要求信号を出力し、ステップ２２でマスタ調停回路からバス許可（許可信号）を受信したか否かを判断し、受信しなければステップ２１へ戻って再びマスタ調停回路へリード要求信号を出力する処理を繰り返し、受信したらステップ２３でＡＧＰバスの調停を停止させて、ステップ２４でＡＧＰマスタ制御回路からのリードデータ受信検出信号の有無に基づいてリードデータ受信があったか否かを判断し、無ければこの判断処理を繰り返し、有ればステップ２５のドライブ強度測定処理でドライブ強度測定部への測定指示信号をアクティブにしてドライブ強度を測定させる。
ステップ２６でバス監視部からのバス動作検出信号に基づいて任意の測定期間中にバス動作を検出したか否かを判断する。バス監視部からバス動作検出信号を受け取ったらバス動作検出、すなわちＡＧＰバスが使用されたと判定し、バス動作検出信号を受け取らなければＡＧＰバスが使用されなかったと判定する。
【００４９】
ＡＧＰバスが使用されたと判定したら、ステップ３０でドライブ強度の測定が良好な状態ではないとしてドライブ強度値保持部へ更新パルスを送らずにドライブ強度値保持部にドライブ強度を更新しないように制御し、さらにドライブ強度測定部への測定指示信号を非アクティブにし、ドライブ強度測定部に対してドライブ強度の測定を一旦中止させ、ステップ３１でバスアイドル（ＡＧＰバスが使用されていない状態）か否かを判断する。バス監視部からバス動作検出信号を受けとっている間はステップ３１の処理を繰り返して次の処理への移行をウエイトし、バス監視部からバス動作検出信号を受けとらなくなるとバスアイドル、すなわちＡＧＰバスが使用されなくなった状態と判断し、ステップ２５へ戻ってドライブ強度測定部への測定指示信号をアクティブにして再度ドライブ強度の測定を行わせるように制御するリトライ処理を行う。
【００５０】
こうして、測定を途中で中止した場合は、ＡＧＰバスがアイドル状態になるのを待ってから再度測定するために、ドライブ強度測定部に測定指示信号を出力する。その後、測定が良好となるまで繰り返す。
一方、ステップ２６の判断でバス動作検出信号を受けなければバス動作検出無しと判断し、ＡＧＰバスが使用されなかったと判定して、ステップ２７で任意の測定期間のドライブ強度の測定が終了か否かを判断し、終了していなければステップ２４へ戻ってリードデータ受信か否かの判定処理をし、測定が終了していれば、ステップ２８でドライブ強度の測定が良好な状態であるとしてドライブ強度値保持部へ更新パルスを送ってドライブ強度値保持部のドライブ強度をドライブ強度測定部によって測定されたドライブ強度の最適値に変更（ドライブ強度更新）するように制御し、ステップ２９でＡＧＰバスの調停を再開して、この処理を終了する。
【００５１】
このようにして、出力バッファに正しいドライブ強度の計測値に従ったドライブ強度を選択して設定することができ、信号伝達の信頼性が確保し、品質を高めることができる。また、リファレンス電圧でやりとりを行うＡＧＰバスを用いる場合に好適に適用することが可能になる。
【００５２】
【発明の効果】
以上説明してきたように、この発明の信号線制御装置によれば、出力バッファに正しいドライブ強度を設定することによって信号伝達の信頼性を確保し、品質を高めることができるようにすることができる。
【図面の簡単な説明】
【図１】この発明の一実施形態であるバス制御回路を含むＡＧＰバス対応コントローラとその周辺回路との接続関係を示すブロック図である。
【図２】図１に示したＡＧＰバス対応コントローラ１とノースブリッジシステムコントローラ２のＡＧＰバスを挟んでの内部構成を示すブロック図である。
【図３】図２に示したＡＧＰバス対応コントローラ１のＩ／Ｏ部１２の内部構成を示すブロック図である。
【図４】図３に示したＩ／Ｏ部１２におけるドライブ強度の測定に関する処理のフローチャート図である。
【図５】図３に示したＩ／Ｏ部１２におけるＡＧＰバスのマスタ権を獲得してからドライブ強度の測定を行うときの処理を示すフローチャート図である。
【図６】図１に示したＡＧＰバス対応コントローラとノースブリッジシステムコントローラのＡＧＰバスを挟んでの内部構成の他の例を示すブロック図である。
【図７】図６に示したＡＧＰバス対応コントローラ１′のドライブ電流制御回路１４の内部構成を示すブロック図である。
【図８】図３に示したドライブ電流制御回路１４におけるドライブ強度の測定に関する処理のフローチャート図である。
【図９】ハイレベルからローレベルに出力電圧レベルを遷移させるためのスイッチングトランジスタに関する回路構成を示すブロック図である。
【符号の説明】
１，１′：ＡＧＰバス対応コントローラ
２：ノースブリッジシステムコントローラ
３：ＣＰＵ
４：サウスブリッジシステムコントローラ
５：メモリ        ６：ＡＧＰバス
７：フロントサイドバス
８：メモリバス    ９：チップセット間バス
１０：ＡＧＰマスタ制御回路
１１：ＰＣＩターゲット回路
１２，２４：Ｉ／Ｏ部
１３：マスタ調停回路
１４：ドライブ電流制御回路
２０：ＰＣＩマスタ回路
２１：ＡＧＰターゲット回路
２２：ＡＧＰバスアービタ
２３：ＣＰＵ・Ｉ／Ｆ回路
３０，３０′：バス監視部
３１，３１′：測定指示部
３２，３２′：ドライブ強度測定部
３３，３３′：ドライブ強度値保持部
３４，３４′：出力バッファ
【図１】
2004157983.tif 000003
【図２】
2004157983.tif 000004
【図３】
2004157983.tif 000005
【図４】
2004157983.tif 000006
【図５】
2004157983.tif 000007
【図６】
2004157983.tif 000008
【図７】
2004157983.tif 000009
【図８】
2004157983.tif 000010
【図９】
2004157983.tif 000011