(57)【要約】【課題】  信号線の負荷容量に依らず、デバイスを正常に駆動することのできる電子機器を提供すること。【解決手段】  アドレスバス６３に接続された複数のＳＤＲＡＭチップからなるメモリモジュール１５Ｍは、ＣＰＵ命令解析部４１と、ＳＤＲＡＭ制御部４３と、バッファ回路４５と、切替制御回路４９と、を備えるメモリコントローラ４０によって制御される。バッファ回路は、ＳＤＲＡＭ制御部が備えるアドレス制御回路５３とアドレスバスとの間に設けられており、複数種類のバッファチップから構成されている。切替制御回路４９は、ＣＰＵ１１からの指令に従って、メモリモジュール１５Ｍの記憶容量の総計が閾値未満であるときには、バッファ回路においてバッファ能力の小さいバッファチップが使用されるようにし、記憶容量の総計が閾値以上であるとには、バッファ回路においてバッファ能力の大きいバッファチップが使用されるようにする。【選択図】  図３
2005217653.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のデバイスが共用する信号線と、
該信号線を介し、該信号線に接続されたデバイスに信号入力を行うことで、該デバイスを制御する制御手段と、
該制御手段と前記信号線との間に介在し、前記制御手段からの入力信号を整形して前記信号線に出力するバッファ回路と、
を備える電子機器であって、
前記バッファ回路は、前記制御手段からの入力信号を整形して前記信号線に出力するための複数種類のバッファチップを有し、
当該機器は、更に、
前記信号線の負荷容量を推定する推定手段と、
該推定手段の推定結果に基づいて、前記バッファ回路が前記信号線への信号出力の際に使用するバッファチップを切り替える切替制御手段と、
を備えることを特徴とする電子機器。
【請求項２】
複数種類のデバイスが共用する信号線と、
該信号線を介し、該信号線に接続されたデバイスに信号入力を行うことで、該デバイスを制御する制御手段と、
該制御手段から前記デバイスへ前記信号線を介して入力される信号の受付を、前記デバイスに対して指示する受付指示手段と、
を備える電子機器であって、
前記信号線の負荷容量を推定する推定手段と、
該推定手段の推定結果に基づいて、前記受付指示手段が前記デバイスに対して行う前記指示の出力タイミングを変更する変更手段と、
を備えることを特徴とする電子機器。
【請求項３】
複数種類のデバイスが共用する信号線と、
該信号線を介し、該信号線に接続されたデバイスに信号入力を行うことで、該デバイスを制御する制御手段と、
該制御手段から前記デバイスへ前記信号線を介して入力される信号の受付を、前記デバイスに対して指示する受付指示手段と、
前記制御手段及び受付指示手段を同期動作させるためのクロック信号を、前記制御手段及び受付指示手段に入力するクロック信号入力手段と、
を備える電子機器であって、
前記信号線の負荷容量を推定する推定手段と、
該推定手段の推定結果に基づいて、前記クロック信号入力手段が前記制御手段及び受付指示手段に入力するクロック信号の周波数を変更する変更手段と、
を備えることを特徴とする電子機器。
【請求項４】
前記推定手段は、前記信号線に接続されているデバイスを判別し、その結果に基づいて、前記信号線の負荷容量を推定することを特徴とする請求項１〜請求項３のいずれかに記載の電子機器。
【請求項５】
複数種類のデバイスが共用する信号線と、
該信号線を介し、該信号線に接続されたデバイスに信号入力を行うことで、該デバイスを制御する制御手段と、
該制御手段と前記信号線との間に介在し、前記制御手段からの入力信号を整形して前記信号線に出力するバッファ回路と、
を備える電子機器であって、
前記バッファ回路は、前記制御手段からの入力信号を整形して前記信号線に出力するための複数種類のバッファチップを有し、
当該機器は、更に、
前記信号線に接続されているデバイスが記憶する該デバイスの特徴を表すデバイス情報を、該デバイス情報を記憶する前記デバイスから取得するデバイス情報取得手段と、
該デバイス情報取得手段が取得したデバイス情報に基づいて、前記バッファ回路が前記信号線への信号出力の際に使用するバッファチップを切り替える切替制御手段と、
を備えることを特徴とする電子機器。
【請求項６】
複数種類のデバイスが共用する信号線と、
該信号線を介し、該信号線に接続されたデバイスに信号入力を行うことで、該デバイスを制御する制御手段と、
該制御手段から前記デバイスへ前記信号線を介して入力される信号の受付を、前記デバイスに対して指示する受付指示手段と、
を備える電子機器であって、
前記信号線に接続されているデバイスが記憶する該デバイスの特徴を表すデバイス情報を、該デバイス情報を記憶する前記デバイスから取得するデバイス情報取得手段と、
該デバイス情報取得手段が取得したデバイス情報に基づいて、前記受付指示手段が前記デバイスに対して行う前記指示の出力タイミングを変更する変更手段と、
を備えることを特徴とする電子機器。
【請求項７】
複数種類のデバイスが共用する信号線と、
該信号線を介し、該信号線に接続されたデバイスに信号入力を行うことで、該デバイスを制御する制御手段と、
該制御手段から前記デバイスへ前記信号線を介して入力される信号の受付を、前記デバイスに対して指示する受付指示手段と、
前記制御手段及び受付指示手段を同期動作させるためのクロック信号を、前記制御手段及び受付指示手段に入力するクロック信号入力手段と、
を備える電子機器であって、
前記信号線に接続されているデバイスが記憶する該デバイスの特徴を表すデバイス情報を、該デバイス情報を記憶する前記デバイスから取得するデバイス情報取得手段と、
該デバイス情報取得手段が取得したデバイス情報に基づいて、前記クロック信号入力手段が前記制御手段及び受付指示手段に入力するクロック信号の周波数を変更する変更手段と、
を備えることを特徴とする電子機器。
【請求項８】
前記信号線に接続されるデバイスは、メモリモジュールであることを特徴とする請求項１〜請求項７のいずれかに記載の電子機器。
【請求項９】
前記信号線に接続されるデバイスは、メモリモジュールであり、
前記推定手段は、前記信号線に接続されるメモリモジュールに割り当てられるアドレスに、データの書込及び読込の少なくとも一方を実行することにより、前記信号線に接続されているメモリモジュールを判別し、その結果に基づいて、前記信号線の負荷容量を推定することを特徴とする請求項４に記載の電子機器。
【請求項１０】
前記信号線に接続されるデバイスは、ＳＰＤ（Serial Presence Detection）チップを内蔵するメモリモジュールであり、
前記デバイス情報取得手段は、前記信号線に接続された各メモリモジュールのＳＰＤチップに記録された情報を、前記デバイス情報として、該メモリモジュールから取得することを特徴とする請求項５〜請求項７のいずれかに記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号線を複数のデバイスで共用する電子機器に関する。
【背景技術】
【０００２】
従来より、電子機器としては、パーソナルコンピュータ（以下、「パソコン」と表現する。）などの電子計算機やレーザプリンタ装置などの画像形成装置が知られている。この種の電子機器では、信号線としてのバスを介して複数のデバイスと、それら各デバイスを統括制御する制御装置と、が接続される。デバイスとしては、例えば、メモリモジュールやＰＣＩ（Peripheral Component Interconnect）機器を挙げることができ、メモリモジュールは、バスを通じてメモリコントローラと接続され、ＰＣＩ機器は、ＰＣＩバスを介してＰＣＩコントローラと接続される。
【０００３】
また、上記電子機器としては、デバイス（メモリモジュール等）を増設・付替することが可能なものが知られている（例えば特許文献１，２参照）。デバイスを増設・付替可能な構成の電子機器では、利用者の目的に応じて、種類（能力）の異なるデバイスが接続される。このため、従来装置では、増設・付替されたデバイスに応じた処理の切替を行うことがなされている。
【特許文献１】特開平６−３５０９０７号公報
【特許文献２】特開平６−２１４８７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、デバイスを増設・付替可能な上記電子機器では、バスに接続されるデバイスの数・種類によって、バスの負荷容量が変化することが知られている。即ち、バスを複数のデバイスにて共用する場合には、デバイスの接続によって信号入力側から見たバスの静電容量等が変化し、特にバスの負荷容量が増大した場合には、信号の遅延が生じて、バスに入力された信号が受け側のデバイスに到達するまでの時間が増大する。
【０００５】
通常、デバイスを制御する制御装置（メモリコントローラ等）では、上記複数のデバイスで共用するバスと、各デバイス毎に用意された専用線と、を用いて各種制御信号を入力し、複数のデバイスの一つを選択的に制御する。このため、複数のデバイスで共用するバスにおいて過度の信号の遅延が起こると、専用線を介した制御信号のデバイスへの入力タイミングと、バスを介した制御信号のデバイスへの入力タイミングと、が合わなくなり、デバイスを正常に駆動することができなくなる。
【０００６】
このような問題から、デバイスを増設・付替可能な従来の電子機器では、製品マニュアル等を用いて利用者に対し推奨するデバイスを提示し、利用者に対して、増設・付替するデバイスを制約するなどしていた。しかしながら、このような手法では、単にデバイスの選択自由度を狭めるだけであるため、デバイスの選択自由度を求める利用者に、不満が及ぶ可能性が高かった。
【０００７】
本発明は、こうした問題に鑑みなされたものであって、様々な種類のデバイスの増設・付替に対応でき、信号線の負荷容量の変化に依らず、従来より確実に、デバイスを正常に駆動することのできる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するためになされた請求項１記載の発明は、複数種類のデバイスが共用する信号線と、その信号線を介し、信号線に接続されたデバイスに信号入力を行うことで、デバイスを制御する制御手段と、制御手段からの入力信号を整形して信号線に出力するバッファ回路と、を備える電子機器であって、上記バッファ回路が、制御手段からの入力信号を整形して信号線に出力するための複数種類のバッファチップを備えることを特徴とする。ここでいう複数種類のバッファチップとは、夫々異なるバッファ能力を有する複数のバッファチップのことである。
【０００９】
この電子機器は、推定手段及び切替制御手段を備えており、推定手段にて信号線の負荷容量を推定し、その推定結果に基づき、切替制御手段にて、バッファ回路が信号線への信号出力の際に使用するバッファチップを切り替える。
【００１０】
電子機器としては、デバイスを増設・付替可能なものが知られているが、このような電子機器では、上述したように、信号線に接続されるデバイスの種類・数等によって、各デバイスで共用される信号線の負荷容量が変化する。
【００１１】
信号線に送出する信号の整形（電流増幅等）を行うバッファチップの能力に対して、信号線の負荷容量が大きくなると、その信号においてはパルスの立ち上がり時に遅延が生じる。この遅延が大きいと、その電子機器では、もはや適切なタイミングでデバイスに信号を入力することができなくなり、デバイスを駆動することができなくなる。
【００１２】
一方、信号線の負荷容量に対して、バッファチップの能力が高いと、パルスの立ち上がり時においてオーバーシュートが生じる。このようなオーバーシュートが発生すると、そのオーバーシュートによる信号波形の乱れがデバイスの挙動を不安定にし、最悪の場合、デバイスに損傷を与えることになる。
【００１３】
従って、従来の電子機器では、バッファ能力の低いバッファチップを用いてオーバーシュートの発生を防止していたが、このような従来機器では、バッファ能力が小さいため、負荷の高いデバイスが搭載された場合に、そのデバイスを駆動できない可能性があった。
【００１４】
これに対し、請求項１記載の電子機器では、推定手段が推定した信号線の負荷容量に基づいて、切替制御手段が、使用するバッファチップを切り替えるので、信号線の負荷容量に適したバッファチップを用いて、制御信号を整形し信号線に送出することができる。従って、この電子機器によれば、信号線の負荷容量の変化に依らず、デバイスを良好に駆動することができる。
【００１５】
ところで、信号線の負荷容量の変化を原因とする上記問題は、上記手法の他、デバイスに信号の受付を指示するタイミングを、信号の遅延量に応じて変更することで、解消されてもよい。
【００１６】
請求項２記載の発明は、複数種類のデバイスが共用する信号線と、その信号線を介し、信号線に接続されたデバイスに信号入力を行うことで、そのデバイスを制御する制御手段と、制御手段から上記デバイスへ信号線を介して入力される信号の受付を、デバイスに対して指示する受付指示手段と、を備える電子機器において、推定手段と、変更手段と、を設けたことを特徴とする。推定手段は、信号線の負荷容量を推定し、変更手段は、この推定手段の推定結果に基づいて、受付指示手段が上記デバイスに対して行う指示の出力タイミングを変更する。
【００１７】
請求項２記載の電子機器によれば、変更手段が、信号線の負荷容量に応じて、信号の受付時期を変更するので、デバイスの追加などにより信号線の負荷容量が増大し、デバイスに入力される信号の遅延量が大きくなった場合であっても、不適切なタイミングで、デバイスが制御手段からの入力信号の受付を開始してしまうのを防止することができる。従って、この電子機器によれば、信号線の負荷容量の変化に依らず、各デバイスを良好に駆動することができ、様々なデバイスの接続に対応することができる。
【００１８】
その他、信号線の負荷容量の変化を原因とする上記問題は、制御手段及び受付指示手段の動作タイミングを規定するクロック信号の周波数を変更することで解消されてもよい。
請求項３記載の発明は、複数種類のデバイスが共用する信号線と、その信号線を介し、信号線に接続されたデバイスに信号入力を行うことで、デバイスを制御する制御手段と、制御手段からデバイスへ信号線を介して入力される信号の受付を、デバイスに対して指示する受付指示手段と、制御手段及び受付指示手段を同期動作させるためのクロック信号を、制御手段及び受付指示手段に入力するクロック信号入力手段と、を備える電子機器に、信号線の負荷容量を推定する推定手段と、クロック信号の周波数を変更する変更手段と、を設けたものである。この電子機器においては、変更手段が、推定手段の推定結果に基づいて、クロック信号入力手段が制御手段及び受付指示手段に入力するクロック信号の周波数を変更する。
【００１９】
このように構成された請求項３記載の電子機器では、制御手段及び受付指示手段がクロック信号に基づいて同期動作するため、制御手段が信号線に信号を出力してから受付指示手段がデバイスに対して信号の受付を指示するまでの期間は、クロック信号の周期で定まる。従って、変更手段によりクロック信号の周波数を低くすれば、制御手段が信号線に信号を出力してから受付指示手段がデバイスに対して信号の受付を指示するまでの期間が長くなる。
【００２０】
従って、この電子機器によれば、制御手段からデバイスへ入力される信号に遅延が生じる場合であっても、遅延量に相当する時間、信号の受付時期を遅らせることができ、信号線の負荷容量に依らず、デバイスを良好に駆動することができる。
【００２１】
ところで、請求項１〜請求項３記載の電子機器においては、推定手段を請求項４記載のように構成するとよい。請求項４記載の電子機器における推定手段は、信号線に接続されているデバイスを判別し、その結果に基づいて、信号線の負荷容量を推定する。このように構成された請求項４記載の電子機器によれば、負荷容量の推定に必要なハードウェア構成を必要とせず、ソフトウェア的に負荷容量の推定を効率よく行うことができる。
【００２２】
また、信号線に接続されているデバイスが、自身（デバイス）の特徴を表すデバイス情報を記憶するものである場合には、電子機器に、デバイス情報を、そのデバイス情報を記憶するデバイスから取得するデバイス情報取得手段を設け、デバイス情報取得手段が取得したデバイス情報に基づいて、信号線の負荷容量を推定し、その推定結果に基づいて、バッファチップの切替、受付指示のタイミング変更、クロック信号の周波数変更を行うようにするとよい。デバイス情報に基づいて信号線の負荷容量を推定し、それに応じた処理を行うようにすれば、電子機器の構成を簡単にすることができる。
【００２３】
請求項５記載の電子機器は、複数種類のデバイスが共用する信号線と、信号線を介し、信号線に接続されたデバイスに信号入力を行うことで、そのデバイスを制御する制御手段と、制御手段と信号線との間に介在し、制御手段からの入力信号を整形して信号線に出力するバッファ回路と、デバイス情報取得手段と、切替制御手段と、を備える電子機器である。バッファ回路は、制御手段からの入力信号を整形して上記信号線に出力するための複数種類のバッファチップを備える。この電子機器における切替制御手段は、デバイス情報取得手段が取得した上記信号線に接続されているデバイスが記憶するデバイス情報に基づいて、バッファ回路が信号線への信号出力の際に使用するバッファチップを切り替える。
【００２４】
請求項５記載の発明によれば、請求項１記載の電子機器と同様の効果を得ることができる他、デバイス情報を用いるため、信号線の負荷容量に応じたバッファチップの切替を、簡単な機器構成で実現することができる。
【００２５】
また、請求項６記載の電子機器は、複数種類のデバイスが共用する信号線と、信号線を介し、信号線に接続されたデバイスに信号入力を行うことで、そのデバイスを制御する制御手段と、制御手段からデバイスへ信号線を介して入力される信号の受付を、デバイスに対して指示する受付指示手段と、デバイス情報取得手段と、変更手段と、を備える電子機器である。この電子機器における変更手段は、デバイス情報取得手段が取得した上記信号線に接続されているデバイスが記憶するデバイス情報に基づき、受付指示手段がデバイスに対して行う上記指示の出力タイミングを変更する。
【００２６】
請求項６記載の発明によれば、請求項２記載の電子機器と同様の効果を得ることができる他、デバイス情報を用いるため、信号線の負荷容量に応じた受付時期の変更を、簡単な機器構成で実現することができる。
【００２７】
また、請求項７記載の電子機器は、複数種類のデバイスが共用する信号線と、信号線を介し、信号線に接続されたデバイスに信号入力を行うことで、そのデバイスを制御する制御手段と、制御手段からデバイスへ信号線を介して入力される信号の受付を、デバイスに対して指示する受付指示手段と、制御手段及び受付指示手段を同期動作させるためのクロック信号を、制御手段及び受付指示手段に入力するクロック信号入力手段と、デバイス情報取得手段と、クロック信号の周波数を変更する変更手段と、を備える電子機器である。この電子機器における変更手段は、デバイス情報取得手段が取得した上記信号線に接続されているデバイスが記憶するデバイス情報に基づいて、クロック信号入力手段が制御手段及び受付指示手段に入力するクロック信号の周波数を変更する。
【００２８】
請求項７記載の発明によれば、請求項３記載の電子機器と同様の効果を得ることができる他、デバイス情報を用いるため、信号線の負荷容量の応じたクロック信号の周波数変更を、簡単な機器構成で実現することができる。
【００２９】
尚、請求項１〜請求項７記載の発明は、請求項８記載のように、信号線に接続されるデバイスがメモリモジュールである電子機器に適用されるとよい。パーソナルコンピュータや、レーザプリンタ装置などは、メモリモジュールを増設することが可能な構成にされていることが多いが、このような電子機器に、請求項８記載の発明を適用すれば、増設するメモリモジュールの種類（例えば、メモリモジュールの記憶容量）によっては、メモリモジュールを駆動することができなくなる問題を解消することができる。
【００３０】
また、請求項４記載の電子機器において、デバイスをメモリモジュールとする場合には、推定手段を請求項９記載のように構成するのがよい。
請求項９記載の電子機器においては、推定手段が、信号線に接続されるメモリモジュールに割り当てられるアドレスに、データの書込及び読込の少なくとも一方を実行することにより、信号線に接続されているメモリモジュールを判別し、その結果に基づいて、信号線の負荷容量を推定する。このように構成された請求項９記載の発明によれば、簡単な機器構成で、請求項４記載の電子機器を構成することができる。
【００３１】
その他、請求項５〜請求項７記載の電子機器において、信号線に接続されるデバイスが、ＳＰＤ（Serial Presence Detection）チップを内蔵するメモリモジュールである場合には、信号線に接続されたメモリモジュールのＳＰＤチップに記録された情報を、デバイス情報として、メモリモジュールから取得するように上記デバイス情報取得手段を構成するとよい。ＳＰＤチップに記録された情報に基づけば、メモリモジュールの記憶容量等が容易にわかるため、信号線の負荷容量に応じたバッファチップの切替等を簡単に行うことができる。
【発明を実施するための最良の形態】
【００３２】
以下に、本発明の実施例について、図面とともに説明する。図１は、本発明が適用された電子機器としてのプリンタ装置１の構成を表すブロック図である。
本実施例のプリンタ装置１は、当該装置各部を統括制御するＣＰＵ１１と、各種プログラムやパラメータ等を記憶するＲＯＭ１３と、画像データの格納やＣＰＵ１１の作業領域に用いられるＲＡＭ１５と、ＣＰＵ１１からの指令に従って装置各部に制御信号を入力するＡＳＩＣ１７と、当該プリンタ装置１各部を同期動作させるための基準クロック信号ＣＬＫ０を生成する発振器１９と、ネットワーク伝送線を介して接続される外部装置と当該プリンタ装置１との間でデータ授受を行うネットワークインタフェース２１と、ＵＳＢ（Universal Serial Bus）規格に基づくデータを入出力するＵＳＢ端子２３と、ネットワークインタフェース２１やＵＳＢ端子２３を介して外部装置から入力された画像データに従って画像を用紙に形成（印刷）する画像形成部２５と、ユーザが操作可能な各種キーからなる操作部２７と、プリンタ装置１に関する各種情報を表示する表示部（液晶パネル等）２９と、を備える。
【００３３】
画像形成部２５は、周知のレーザプリンタ装置と同様、レーザユニットや、帯電器、感光体、現像器、転写器、定着器、これら各部をＡＳＩＣ１７からの制御信号に従って動作させるためのエンジン基板、などからなる。画像形成部２５は、ＡＳＩＣ１７からの制御信号に従って、帯電器にて帯電された感光体にレーザを照射し、それによって感光体上に静電潜像を形成し、その静電潜像を現像器を用いて現像し、それによって感光体上に形成された現像剤像を転写器を用いて用紙に転写し、その像を定着器にて用紙に定着させることで、用紙に画像を形成する。
【００３４】
図１に一点鎖線で示すように、ＣＰＵ１１、ＲＯＭ１３、ＲＡＭ１５、ＡＳＩＣ１７、発振器１９、ネットワークインタフェース２１、及びＵＳＢ端子２３は、メイン基板１０上に実装されている。本実施例のＲＯＭ１３は、複数のＲＯＭチップから構成され、本実施例のＲＡＭ１５は、複数のＳＤＲＡＭチップが搭載されたメモリモジュール１５Ｍから構成されている。
【００３５】
図２は、メイン基板１０の構成を表す説明図である。メイン基板１０には、メモリモジュール１５Ｍを装着するため複数のスロットＳＬ１〜ＳＬ３が設けられている。製品出荷時には、複数のスロットＳＬ１〜ＳＬ３の内の一つにメモリモジュール１５Ｍが装着されており、他のスロットＳＬ２，ＳＬ３は、メモリモジュール１５Ｍ増設用のスロットとして機能する。尚、スロットＳＬ２，ＳＬ３には、利用者の目的に応じて、記憶容量やメーカ等の異なる様々な種類のメモリモジュールが装着される。
【００３６】
その他、ＡＳＩＣ１７には、ＣＰＵ１１からの指令に従ってメモリモジュール１５Ｍを制御するメモリコントローラ（以下に説明する第一実施例又は第二実施例又は第三実施例のメモリコントローラ）が内蔵されている。
【実施例１】
【００３７】
図３は、第一実施例のＳＤＲＡＭ制御システム３０の構成を表す説明図である。ＣＰＵ１１は、ＲＯＭ１３に格納されたプログラム等に基づいて各種演算処理を実行するＣＰＵコア、ＡＳＩＣ１７とＣＰＵコアとの間で相互に伝送される各種データ・制御信号を中継するインタフェース回路、発振器１９から入力される基準クロック信号ＣＬＫ０を逓倍するＰＬＬ回路、などから構成されている。このＣＰＵコアは、ＰＬＬ回路により高周波数化されたクロックに同期して動作する。
【００３８】
一方、第一実施例のＳＤＲＡＭ制御システム３０におけるメモリコントローラ４０は、ＣＰＵ命令解析部４１、ＳＤＲＡＭ制御部４３などからなり、ＣＰＵ１１からの制御信号に従って、メモリモジュール１５Ｍへ制御信号やアドレス信号ＡＤＲ、データ信号などを出力する。上述したメモリモジュール１５Ｍは、このメモリコントローラ４０から入力される制御信号及びアドレス信号ＡＤＲに基づいて動作する。
【００３９】
ＣＰＵ命令解析部４１は、ＣＰＵ１１からの制御信号をデコード処理して、それがメモリモジュール１５Ｍに対する制御信号であるか否か判断し、その信号がメモリモジュール１５Ｍに対する制御信号であると判断すると、その内容（ＣＰＵ１１の命令内容）をＳＤＲＡＭ制御部４３に入力する構成にされている。
【００４０】
ＳＤＲＡＭ制御部４３は、データ制御回路５１、アドレス制御回路５３、制御信号生成回路５５、などからなり、ＣＰＵ命令解析部４１から入力されたＣＰＵ１１の命令内容に従って、メモリモジュール１５Ｍを制御するための制御信号やアドレス信号ＡＤＲなどを生成し、これをメモリモジュール１５Ｍに入力する。
【００４１】
データ制御回路５１は、制御信号と共にＣＰＵ１１から入力されたデータ信号のメモリモジュール１５Ｍへの出力を制御し、又、メモリモジュール１５Ｍからデータバス６１を介して入力されたデータ信号のＣＰＵ１１への出力を制御する。一方、アドレス制御回路５３は、ＣＰＵ１１から入力された制御信号に従って、メモリモジュール１５Ｍにおけるデータ読出又は書込先のアドレスの指定を、アドレス信号ＡＤＲをメモリモジュール１５Ｍに入力することにより行う。
【００４２】
その他、制御信号生成回路５５は、メモリモジュール１５Ｍの制御信号として、周知のチップセレクト（ＣＳ＃）信号、ローアドレスストローブ（ＲＡＳ＃）信号、カラムアドレスストローブ（ＣＡＳ＃）信号、ライトイネーブル（ＷＥ＃）信号、クロック（ＣＬＫ）信号を生成し、出力するものである。この制御信号生成回路５５は、第一信号生成部５７と第二信号生成部５９とを備えており、第一信号生成部５７にて、上記ＲＡＳ＃信号、ＣＡＳ＃信号、ＷＥ＃信号を生成し、第二信号生成部５９にて、ＣＳ＃信号、ＣＬＫ信号を生成する。
【００４３】
メモリコントローラ４０及び各メモリモジュール１５Ｍは、データ信号を伝送するためのデータバス６１と、アドレス信号ＡＤＲを伝送するためのアドレスバス６３と、により相互に接続されており、メモリコントローラ４０とメモリモジュール１５Ｍとの間におけるデータの授受は、このデータバス６１を介して行われる。その他、メモリモジュール１５Ｍに対するデータの読出又は書込先のアドレスの指定は、アドレス制御回路５３からアドレスバス６３に、そのアドレスを示したアドレス信号ＡＤＲを送出することにより行われる。
【００４４】
尚、データバス６１及びアドレスバス６３は夫々、スロットＳＬ１〜ＳＬ３を介して全てのメモリモジュール１５Ｍと接続される構成にされており、データバス６１及びアドレスバス６３は、全メモリモジュール共通の信号線として使用される。
【００４５】
その他、第一信号生成部５７は、上記ＲＡＳ＃信号、ＣＡＳ＃信号及びＷＥ＃信号の夫々を伝送するための信号線Ｌ１を介して、全メモリモジュール１５Ｍと接続されており、この全メモリモジュール共通の信号線Ｌ１を介して、各メモリモジュール１５Ｍに、上記ＲＡＳ＃信号、ＣＡＳ＃信号及びＷＥ＃信号を入力する。
【００４６】
一方、ＣＳ＃信号及びＣＬＫ信号を伝送するための信号線Ｌ２は、メモリモジュール１５Ｍ毎に用意されており（以下、メモリモジュール１５Ｍ毎に用意された信号線を「専用の信号線」と称する。）、第二信号生成部５９は、ＣＳ＃信号及びＣＬＫ信号を伝送するための上記専用の信号線Ｌ２を介して、各メモリモジュール１５Ｍに、ＣＳ＃信号及びＣＬＫ信号を入力する。
【００４７】
ところで、第一実施例のメモリコントローラ４０は、アドレス制御回路５３と、アドレスバス６３との間に、バッファ回路４５を備えると共に、そのバッファ回路４５を制御するための切替制御回路４９を備える。
【００４８】
図４は、バッファ回路４５の構成を表す説明図である。バッファ回路４５は、アドレス制御回路５３から入力されたアドレス信号ＡＤＲを増幅して、その信号波形を整形する複数種類のバッファチップ４７Ｈ，４７Ｌを備える。バッファチップ４７Ｈ，４７Ｌとしては、夫々バッファ能力（信号増幅率等）の異なるものが用いられており、これらのバッファチップ４７Ｈ，４７Ｌは、アドレスバス６３の負荷容量に応じて使い分けられる。
【００４９】
即ち、バッファ回路４５は、使用するバッファチップ４７Ｈ，４７Ｌを変更することによって、メモリモジュール１５Ｍの搭載数により変化するアドレスバス６３の負荷容量に応じた信号増幅を行う構成にされている。各バッファチップ４７Ｈ，４７Ｌの電源端子は、切替制御回路４９と接続されている。
【００５０】
ＣＰＵ命令解析部４１は、ＣＰＵ１１から入力されるバッファ切替信号（Ｈ選択信号又はＬ選択信号）を、切替制御回路４９に入力する構成にされており、切替制御回路４９は、このバッファ切替信号に従って、複数のバッファチップ４７Ｈ，４７Ｌの中からＣＰＵ１１により選択されたバッファチップ４７Ｈ，４７Ｌの一つを選択し、その選択したバッファチップ４７Ｈ，４７Ｌの電源端子に電源供給を行って、そのバッファチップ４７Ｈ，４７Ｌを動作させる。
【００５１】
具体的に、切替制御回路４９は、Ｈ選択信号が入力されると、バッファ能力の高いバッファチップ４７Ｈに対してＨｉｇｈ信号を入力して、そのバッファチップ４７Ｈを作動させると共に、バッファ能力の低いバッファチップ４７Ｌに対してＬｏｗ信号を入力して、そのバッファチップ４７Ｌをオフにする。一方、切替制御回路４９は、Ｌ選択信号が入力されると、バッファ能力の低いバッファチップ４７Ｌに対してＨｉｇｈ信号を入力して、そのバッファチップ４７Ｌを作動させると共に、バッファ能力の高いバッファチップ４７Ｈに対してＬｏｗ信号を入力して、そのバッファチップ４７Ｈをオフにする。即ち、切替制御回路４９は、未選択のバッファチップに対してＬｏｗ信号を入力し、そのバッファチップを動作させないようにする。
【００５２】
このようにして作動されるバッファチップ４７Ｈ，４７Ｌは、入力端（ＣＰＵ１１側）から入力されるアドレス信号ＡＤＲを増幅（整形）して、その増幅（整形）後のアドレス信号ＡＤＲを出力端（アドレスバス６３側）に出力する。
【００５３】
また、ＣＰＵ１１は、当該プリンタ装置１の電源投入直後に、図５に示すチップ切替処理を実行して、上述したバッファチップ４７Ｈ，４７Ｌの切り替えを行う。図５は、ＣＰＵ１１が実行するチップ切替処理を表すフローチャートである。
【００５４】
ＣＰＵ１１は、チップ切替処理を実行すると、図６に示すように、周知の方法でメモリモジュール１５Ｍに内蔵されているＳＰＤチップ１６からデバイスの特徴を表すデバイス情報を取得する（Ｓ１１０）。ＣＰＵ１１がＳＰＤチップ１６から取得するデバイス情報は、ＳＰＤチップ１６に記録されているバンク数、バンク毎の容量等が記載された周知のＳＰＤデータであり、ＣＰＵ１１は、このＳＰＤデータに基づいて、アドレスバス６３に接続されたメモリモジュール１５Ｍの記憶容量の総計を算出する（Ｓ１２０）。
【００５５】
その後、ＣＰＵ１１は、メモリモジュール１５Ｍの記憶容量の総計が予め設定された閾値以上であるか否か判断し（Ｓ１３０）、閾値未満であると判断すると（Ｓ１３０でＮｏ）、バッファ能力をＬｏｗ（ロウ）に設定するためのバッファ切替信号として、上記Ｌ選択信号をメモリコントローラ４０に入力する（Ｓ１４０）。メモリコントローラ４０では、このバッファ切替信号（Ｌ選択信号）がＣＰＵ１１から入力されると、ＣＰＵ命令解析部４１が、そのバッファ切替信号（Ｌ選択信号）を切替制御回路４９に伝達し、この信号を受けて切替制御回路４９は、バッファ能力の低いバッファチップ４７Ｌを、上記手法により選択的に動作させる。
【００５６】
一方、Ｓ１３０においてメモリモジュール１５Ｍの記憶容量の総計が予め設定された閾値以上であると判断すると（Ｓ１３０でＹｅｓ）、ＣＰＵ１１は、バッファ能力をＨｉｇｈ（ハイ）に設定するためのバッファ切替信号として、上記Ｈ選択信号をメモリコントローラ４０に入力する（Ｓ１５０）。メモリコントローラ４０では、このバッファ切替信号（Ｈ選択信号）がＣＰＵ１１から入力されると、ＣＰＵ命令解析部４１が、そのバッファ切替信号（Ｈ選択信号）を切替制御回路４９に伝達し、この信号を受けて切替制御回路４９は、バッファ能力の高いバッファチップ４７Ｈを、上記手法により選択的に動作させる。ＣＰＵ１１は、このようなＳ１４０又はＳ１５０での処理を終えると、当該チップ切替処理を終了する。
【００５７】
図７（ａ）は、バッファ回路でのバッファ能力が適値である場合の理想的な信号波形（点線）と、バッファ能力が大きすぎる場合の信号波形（実線）を示した説明図であり、図７（ｂ）は、バッファ回路でのバッファ能力が適値である場合の理想的な信号波形（点線）と、バッファ能力が小さすぎる場合の信号波形（実線）を示した説明図である。
【００５８】
一般的に、アドレスバス６３に接続されるメモリモジュール１５Ｍの数が多くなると、アドレスバス６３の負荷容量が増加し、アドレスバス６３に入力されるアドレス信号ＡＤＲの立ち上がりがなまってしまうため、バッファ回路４５のバッファ能力を上げる必要があるが、必要以上にバッファ能力の高いバッファチップを用いると、バッファ能力に対してアドレスバス６３の負荷容量が小さいため、信号波形にオーバーシュート及びアンダーシュートが発生してしまう。オーバーシュート及びアンダーシュートが発生してしまう状況下ではメモリモジュール１５Ｍを正常に駆動することができないばかりでなく、最悪の場合メモリモジュール１５Ｍに損傷を与えてしまう可能性がある。
【００５９】
一方、オーバーシュート及びアンダーシュートを防止するために、バッファ能力の小さいバッファチップを用いると、メモリモジュール１５Ｍが増設されアドレスバス６３の負荷容量が増加した場合に、アドレスバス６３の負荷容量に対してバッファ能力が小さいため、信号波形の立ち上がりがなまってしまい、メモリモジュール１５Ｍを正常に駆動することができなくなってしまう。
【００６０】
これに対して、第一実施例のメモリコントローラ４０では、ＣＰＵ１１から入力されるバッファ切替信号を受けて、切替制御回路４９が、使用するバッファチップ４７Ｈ，４７Ｌを、アドレスバス６３の負荷容量に最適なバッファチップ４７Ｈ，４７Ｌに切り替えるので、アドレスバス６３に入力されるアドレス信号ＡＤＲを適切に整形することができる。従って、このメモリコントローラ４０によれば、オーバーシュート及びアンダーシュートを発生させることなく、アドレスバス６３の負荷容量増大に伴う信号遅延（立ち上がりのなまり）の問題を解消することができ、メモリモジュール１５Ｍを良好に駆動することができる。
【００６１】
尚、上記実施例では、アドレスバス６３とアドレス制御回路５３との間に、本発明を適用したバッファ回路４５を設けることで、信号遅延の問題を解消するようにしたが、データバス６１の伝送信号においても同様の信号遅延の問題が発生する場合には、データバス６１とデータ制御回路５１との間に、図４に示すバッファ回路４５を挿入して、その信号遅延の問題を解消されればよい。
【実施例２】
【００６２】
次に、第二実施例のＳＤＲＡＭ制御システム７０について説明する。図８（ａ）は、第二実施例のＳＤＲＡＭ制御システム７０の構成を表す説明図であり、図８（ｂ）は、第二実施例のＳＤＲＡＭ制御システム７０におけるメモリコントローラ８０が備える第二信号生成部８９の構成を表す説明図である。また、図８（ｃ）は、第二信号生成部８９内に設けられた各信号生成部９０の構成を表す説明図である。
【００６３】
第二実施例のＳＤＲＡＭ制御システム７０は、メモリコントローラ８０にバッファチップ４７Ｈ，４７Ｌを切り替えるための切替制御回路４９がないこと、バッファ回路８３が単一のバッファチップ（図示せず）で構成されていること、制御信号生成回路８５における第二信号生成部８９が本実施例特有の構成になっていること、を除けば概ね第一実施例のＳＤＲＡＭ制御システム３０と同一構成であるので、同一構成の部位については同一符号を付し、その説明を一部省略することにする。
【００６４】
図８（ａ）に示すように、第二実施例のＳＤＲＡＭ制御システム７０におけるメモリコントローラ８０は、ＣＰＵ命令解析部８１と、ＳＤＲＡＭ制御部８２と、ＳＤＲＡＭ制御部８２のアドレス制御回路５３から出力されるアドレス信号ＡＤＲを増幅（整形）してアドレスバス６３に入力するバッファ回路８３と、から構成されている。
【００６５】
ＳＤＲＡＭ制御部８２は、データバス６１に接続されたデータ制御回路５１と、バッファ回路８３を介してアドレスバス６３に接続されたアドレス制御回路５３と、制御信号生成回路８５と、からなり、制御信号生成回路８５は、上記ＲＡＳ＃信号及びＣＡＳ＃信号並びにＷＥ＃信号を生成し、これらを全メモリモジュール共通の信号線Ｌ１を介して各メモリモジュール１５Ｍに入力する第一信号生成部５７と、アドレス信号ＡＤＲ、ＲＡＳ＃信号、ＣＡＳ＃信号及びＷＥ＃信号の受付タイミングを示す上記ＣＳ＃信号及びＣＬＫ信号を生成し、メモリモジュール１５Ｍ毎に用意された専用の信号線Ｌ２を通じて、それらの信号（ＣＳ＃信号及びＣＬＫ信号）を各メモリモジュール１５Ｍに入力する第二信号生成部８９と、を備える。
【００６６】
アドレスバス６３とアドレス制御回路５３との間に介在するバッファ回路８３は、単一のバッファチップ（図示せず）からなり、そのバッファチップにて、アドレス制御回路５３から入力されたアドレス信号ＡＤＲを増幅（整形）し、その後のアドレス信号ＡＤＲを、アドレスバス６３に送出する。
【００６７】
一方、制御信号生成回路８５が備える第二信号生成部８９は、図８（ｂ）に示すように、各メモリモジュール１５Ｍ毎の信号生成部９０を備える。各信号生成部９０は、図８（ｃ）に示すように、ＣＬＫ信号生成部９１と、ＣＳ信号生成部９３と、からなり、ＣＬＫ信号生成部９１は、発振器１９から入力される基準クロック信号ＣＬＫ０に基づいて、当該信号生成部９０に割り当てられたメモリモジュール１５Ｍの基準クロックとなるＣＬＫ信号を生成し、これを専用の信号線Ｌ２を介して、そのメモリモジュール１５Ｍに入力する。
【００６８】
尚、基準クロック信号ＣＬＫ０と、メモリモジュール１５Ｍに入力するＣＬＫ信号とが同一のものである場合においては、ＣＬＫ信号生成部９１が、発振器１９から受けた基準クロック信号ＣＬＫ０を、ＣＬＫ信号として、メモリモジュール１５Ｍとメモリコントローラ８０との間に設けられた上記専用の信号線Ｌ２に入力する。
【００６９】
一方、ＣＳ信号生成部９３は、元信号生成部９５と、遅延回路部９７と、切替回路部９９と、から構成されている。元信号生成部９５は、通常時（アドレスバス６３の負荷容量が小さい場合）にメモリモジュール１５Ｍに入力するＣＳ＃信号を生成するものである。この元信号生成部９５の出力端は、遅延回路部９７及び切替回路部９９に接続されており、元信号生成部９５が生成したＣＳ＃信号（以下、元信号生成部９５が生成したＣＳ＃信号を特に「第一のＣＳ＃信号」と称する。）は、切替回路部９９及び遅延回路部９７に入力される。
【００７０】
遅延回路部９７は、元信号生成部９５から出力される第一のＣＳ＃信号を所定時間分ΔＴ（例えば、基準クロック信号ＣＬＫ０（周波数ｆ）の１周期分ΔＴ＝１／ｆ）遅らせて、この信号（以下、遅延回路部９７から出力される遅延後のＣＳ＃信号を特に「第二のＣＳ＃信号」と称する。）を、切替回路部９９に入力するものである。この遅延回路部９７は、例えば、フリップフロップ回路を用いて構成される。
【００７１】
その他、切替回路部９９は、元信号生成部９５から入力される第一のＣＳ＃信号と、遅延回路部９７から入力される第二のＣＳ＃信号のいずれか一方を、ＣＰＵ１１からＣＰＵ命令解析部８１を通じて入力される切替信号に基づいて選択出力するものである。この切替回路部９９の出力端は、専用の信号線Ｌ２を介して、当該信号生成部９０に割り当てられたメモリモジュール１５Ｍに接続されている。具体的に、本実施例の切替回路部９９は、切替信号としてＣＰＵ命令解析部８１からＬｏｗ信号が入力されると、元信号生成部９５が出力する第一のＣＳ＃信号を信号線Ｌ２に出力し、Ｈｉｇｈ信号が入力されると、遅延回路部９７が出力する第二のＣＳ＃信号を信号線Ｌ２に出力する。
【００７２】
図９は、第一のＣＳ＃信号（上図）と、第二のＣＳ＃信号（下図）を表した説明図である。周知のように、アドレスバス６３を通じてメモリモジュール１５Ｍに入力されるアドレス信号ＡＤＲは、メモリモジュール１５Ｍに入力されるＣＳ＃信号（第一のＣＳ＃信号又は第二のＣＳ＃信号）がＨｉｇｈからＬｏｗに移行した後ＣＬＫ信号がＬｏｗからＨｉｇｈに移行した時点で、メモリモジュール１５Ｍ側で受け付けられ、アドレス信号ＡＤＲが示すアドレス先へのデータ書込、又は、アドレスからのデータ読出、又は、その他のコマンド（制御信号）に従う処理が行われる。
【００７３】
アドレスバス６３の負荷容量が小さい場合には、アドレス信号ＡＤＲの立ち上がりがなまることなく信号遅延が生じないので、図９上図に示すように、第一のＣＳ＃信号をメモリモジュール１５Ｍに入力した場合であっても、アドレスの受付が正確に行われるが、アドレスバス６３の負荷容量が大きく、アドレス信号ＡＤＲの立ち上がりが遅くなると（図９上図点線）、アドレス信号ＡＤＲが完全にメモリモジュール１５Ｍに伝達される前に、アドレス信号ＡＤＲの受付がメモリモジュール１５Ｍ側で開始されてしまう。このため、第一のＣＳ＃信号をメモリモジュール１５Ｍに入力したのでは、メモリモジュール１５Ｍを正常に駆動することができなくなってしまう。
【００７４】
一方、アドレスバス６３の負荷容量が大きく、アドレス信号ＡＤＲの伝送に遅延が生じる場合には、図９下図に示すようにメモリモジュール１５Ｍに第二のＣＳ＃信号を入力すると、ＣＳ＃信号がＨｉｇｈからＬｏｗに切り替わるタイミングが遅れるのに伴って、メモリモジュール１５Ｍ側でのアドレス信号ＡＤＲの受付タイミングが第一のＣＳ＃信号を入力する場合と比べて遅くなる。このため、アドレス信号ＡＤＲが完全にメモリモジュール１５Ｍに伝達されてから、メモリモジュール１５Ｍ側でアドレスの受付が開始される。
【００７５】
このため第二実施例のＳＤＲＡＭ制御システム７０では、アドレスバス６３の負荷容量が大きい場合であっても、メモリモジュール１５Ｍを正常に駆動することができる。勿論、実際のアドレスバス６３の負荷容量に拘わらず、アドレスバス６３の負荷容量が大きい場合におけるアドレス信号ＡＤＲの遅延を考慮して、ＣＳ＃信号のＨｉｇｈからＬｏｗへの切替タイミングを設定してもよいが、そうすると、アドレスバス６３の負荷容量が小さい場合に、メモリモジュール１５Ｍの応答性が悪くなってしまう。この点、第二実施例のＳＤＲＡＭ制御システム７０では、切替信号に応じて、ＣＳ＃信号の位相をずらすので、アドレスバス６３の負荷容量が小さい場合においては、メモリモジュール１５Ｍの応答性を悪化させることがなく、メモリモジュール１５Ｍを正常に駆動することができる。
【００７６】
尚、第一のＣＳ＃信号及び第二のＣＳ＃信号の選択は、当該プリンタ装置１の電源投入時にＣＰＵ１１が実行するＣＳ切替処理にて実行される。図１０は、当該プリンタ装置１の電源投入時にＣＰＵ１１が実行するＣＳ切替処理を表すフローチャートである。
【００７７】
ＣＳ切替処理を実行すると、ＣＰＵ１１は、図６に示すように、周知の方法でメモリモジュール１５Ｍに搭載されているＳＰＤチップ１６からデバイス情報を取得する（Ｓ２１０）。ＣＰＵ１１がＳＰＤチップ１６から取得するデバイス情報は、バンク数、バンク毎の容量等が記載された周知のＳＰＤデータであり、ＣＰＵ１１は、このＳＰＤデータに基づいて、アドレスバス６３に接続されたメモリモジュール１５Ｍの記憶容量の総計を算出する（Ｓ２２０）。
【００７８】
その後、ＣＰＵ１１は、メモリモジュール１５Ｍの記憶容量の総計が予め設定された閾値以上であるか否か判断し（Ｓ２３０）、閾値未満であると判断すると（Ｓ２３０でＮｏ）、上記切替信号として、Ｌｏｗ信号をメモリコントローラ８０に入力する（Ｓ２４０）。メモリコントローラ８０では、このＬｏｗ信号がＣＰＵ１１から入力されると、ＣＰＵ命令解析部８１が、このＬｏｗ信号をＣＳ信号生成部９３の切替回路部９９に入力する。この信号を受けて切替回路部９９は、元信号生成部９５から出力される第一のＣＳ＃信号がメモリモジュール１５Ｍに入力されるようにする（通常設定）。
【００７９】
一方、Ｓ２３０においてメモリモジュール１５Ｍの記憶容量の総計が予め設定された閾値以上であると判断すると（Ｓ２３０でＹｅｓ）、ＣＰＵ１１は、上記切替信号として、Ｈｉｇｈ信号をメモリコントローラ８０に入力する（Ｓ２５０）。メモリコントローラ８０では、このＨｉｇｈ信号がＣＰＵ１１から入力されると、ＣＰＵ命令解析部８１が、このＨｉｇｈ信号をＣＳ信号生成部９３の切替回路部９９に入力する。この信号を受けて、切替回路部９９は、遅延回路部９７から出力される第二のＣＳ＃信号がメモリモジュール１５Ｍに入力されるようにする。ＣＰＵ１１は、このようにしてＳ２４０又はＳ２５０での処理を終えると、当該ＣＳ切替処理を終了する。
【００８０】
尚、ＣＳ切替処理は、図１１に示すように構成されてもよい。図１１は、ＣＰＵ１１が実行する変形例のＣＳ切替処理を表すフローチャートである。
変形例のＣＳ切替処理を実行すると、ＣＰＵ１１は、Ｓ３０５にて、メモリモジュール１５Ｍの数を表すパラメータＤｅｖに、製品出荷時の状態におけるメモリモジュール１５Ｍの個数を初期値（本実施例の場合１）として設定し、続くＳ３１０にて、増設用のスロットＳＬ２，ＳＬ３の一つを選択する。その後、ＣＰＵ１１は、そのスロットのメモリモジュール１５Ｍに割り当てられる予定のアドレスに、周知の方法で、データバス６１を介してテストデータの書込を実行し（Ｓ３２０）、更にその後、上記テストデータの書込対象としたアドレスからデータの読出を実行する（Ｓ３３０）。
【００８１】
その後、ＣＰＵ１１は、上記アドレスから読み出したデータが、Ｓ３２０にて書き込んだテストデータと一致するか否か判断し（Ｓ３４０）、一致すると判断すると（Ｓ３４０でＹｅｓ）、その増設用のスロットＳＬ２，ＳＬ３にはメモリモジュール１５Ｍが装着されているとして、上記パラメータＤｅｖを１加算し（Ｓ３４５）、処理をＳ３５０に移行する。
【００８２】
一方、ＣＰＵ１１は、上記アドレスから読み出したデータが、Ｓ３２０にて書き込んだテストデータと一致しないと判断すると（Ｓ３４０でＮｏ）、その増設用のスロットＳＬ２，ＳＬ３にはメモリモジュール１５Ｍが装着されていないとして、パラメータＤｅｖのカウントを行わず、処理をＳ３５０に移行する。
【００８３】
Ｓ３５０において、ＣＰＵ１１は、増設用のスロットＳＬ２，ＳＬ３の全てを上記Ｓ３１０の処理にて選択したか否か判断し、選択していないと判断すると（Ｓ３５０でＮｏ）、処理をＳ３１０に戻して、未選択のスロットＳＬ２，ＳＬ３を一つ選択し、後続の処理（Ｓ３２０〜Ｓ３５０）を再び実行する。一方、Ｓ３５０において増設用のスロットＳＬ２，ＳＬ３の全てを上記Ｓ３１０の処理にて選択したと判断すると（Ｓ３５０でＹｅｓ）、ＣＰＵ１１は、Ｓ３６０に移行し、当該ＳＤＲＡＭ制御システム７０に接続されたメモリモジュール１５Ｍが所定数以上であるか否か判断する。
【００８４】
ここで、メモリモジュール１５Ｍが所定数未満であると判断すると（Ｓ３６０でＮｏ）、ＣＰＵ１１は、上記切替信号として、Ｌｏｗ信号をメモリコントローラ８０に入力する（Ｓ３７０）。メモリコントローラ８０では、このＬｏｗ信号がＣＰＵ１１から入力されると、切替回路部９９が、第一のＣＳ＃信号を出力するようにされる。
【００８５】
一方、Ｓ３６０において当該ＳＤＲＡＭ制御システム７０に接続されたメモリモジュール１５Ｍが所定数以上であると判断すると（Ｓ３６０でＹｅｓ）、ＣＰＵ１１は、上記切替信号として、Ｈｉｇｈ信号をメモリコントローラ８０に入力する（Ｓ３８０）。メモリコントローラ８０では、このＨｉｇｈ信号がＣＰＵ１１から入力されると、切替回路部９９が、第二のＣＳ＃信号をメモリモジュール１５Ｍに入力するようにされる。ＣＰＵ１１は、このようにしてＳ３７０又はＳ３８０での処理を終えると、当該ＣＳ切替処理を終了する。
【００８６】
この変形例によれば、ＳＰＤデータを読み込むことなく、アドレスバス６３に接続されたメモリモジュール１５Ｍを判別することができるので便利である。
【実施例３】
【００８７】
続いて、第三実施例について説明する。図１２（ａ）は、第三実施例におけるＳＤＲＡＭ制御システム１００の構成を表す説明図であり、図１２（ｂ）は、第三実施例のＳＤＲＡＭ制御システム１００におけるメモリコントローラ１１０が備える周波数変換部１２０の構成を表す説明図である。
【００８８】
第三実施例のＳＤＲＡＭ制御システム１００は、メモリコントローラ１１０にバッファチップ４７Ｈ，４７Ｌを切り替えるための切替制御回路４９がないこと、バッファ回路８３が単一のバッファチップ（図示せず）で構成されていること、メモリコントローラ１１０に本実施例特有の周波数変換部１２０を備えること、を除けば概ね第一実施例のＳＤＲＡＭ制御システム３０と同一構成であるので、同一構成の部位については、同一符号を付して、その説明を一部省略することにする。
【００８９】
図１２（ａ）に示すように、第三実施例のＳＤＲＡＭ制御システム１００におけるメモリコントローラ１１０は、ＣＰＵ命令解析部１１１と、ＳＤＲＡＭ制御部４３と、ＳＤＲＡＭ制御部４３のアドレス制御回路５３から出力されるアドレス信号ＡＤＲを増幅（整形）してアドレスバス６３に入力するバッファ回路８３と、図１２（ｂ）に示す構成の周波数変換部１２０と、を備える。
【００９０】
ＳＤＲＡＭ制御部４３は、データバス６１に接続されたデータ制御回路５１と、バッファ回路８３を介してアドレスバス６３に接続されたアドレス制御回路５３と、制御信号生成回路５５と、からなり、制御信号生成回路５５は、上記ＲＡＳ＃信号及びＣＡＳ＃信号並びにＷＥ＃信号を生成し、これらを全メモリモジュール共通の信号線Ｌ１を介して各メモリモジュール１５Ｍに入力する第一信号生成部５７と、アドレス信号ＡＤＲ、ＲＡＳ＃信号、ＣＡＳ＃信号及びＷＥ＃信号のメモリモジュール１５Ｍ側での受付タイミングを示す上記ＣＳ＃信号及びＣＬＫ信号を生成し、これらの信号（ＣＳ＃信号及びＣＬＫ信号）をメモリモジュール１５Ｍ毎に用意された専用の信号線Ｌ２を通じて、各メモリモジュール１５Ｍに入力する第二信号生成部５９と、を備える。
【００９１】
アドレスバス６３とアドレス制御回路５３との間に介在するバッファ回路８３は、単一のバッファチップ（図示せず）からなり、そのバッファチップにて、アドレス制御回路５３から入力されたアドレス信号ＡＤＲを増幅（整形）し、その後のアドレス信号ＡＤＲを、アドレスバス６３に送出する。
【００９２】
一方、周波数変換部１２０は、発振器１９から入力される基準クロック信号ＣＬＫ０に基づいて、ＳＤＲＡＭ制御部４３の各部を同期動作させるための基準クロック信号ＣＬＫ１を生成するものである。基準クロック信号ＣＬＫ１は、データ制御回路５１、アドレス制御回路５３、制御信号生成回路５５に入力され、データ信号、アドレス信号ＡＤＲ、上記各種制御信号を同期出力するために用いられる。
【００９３】
周波数変換部１２０は、発振器１９から入力された基準クロック信号ＣＬＫ０を切替回路部１２３に入力するための伝送路と、変換部１２１に入力するための伝送路と、を備えており、発振器１９から入力された基準クロック信号は、当該周波数変換部１２０が備える切替回路部１２３と、変換部１２１と、に入力される。
【００９４】
変換部１２１は、発振器１９から入力された基準クロック信号ＣＬＫ０を、基準クロック信号ＣＬＫ０よりも低い所定の周波数に変換して出力するものである。この変換部１２１は、例えば分周器などで構成される。変換部１２１から出力される周波数変換後の基準クロック信号ＣＬＫ０は、切替回路部１２３に入力される。
【００９５】
切替回路部１２３は、ＣＰＵ１１からＣＰＵ命令解析部１１１を通じて入力される切替信号に基づいて、発振器１９から入力される基準クロック信号ＣＬＫ０、及び、変換部１２１から入力される周波数変換後の基準クロック信号ＣＬＫ０のいずれか一方を、上記基準クロック信号ＣＬＫ１として、選択出力するものである。この切替回路部１２３から出力される基準クロック信号ＣＬＫ１は、データ制御回路５１、アドレス制御回路５３及び制御信号生成回路５５に入力される。
【００９６】
具体的に、本実施例の切替回路部１２３は、切替信号としてＣＰＵ命令解析部１１１からＬｏｗ信号が入力されると、発振器１９から入力される基準クロック信号ＣＬＫ０を、そのまま基準クロック信号ＣＬＫ１としてＳＤＲＡＭ制御部４３の各部に入力し、Ｈｉｇｈ信号が入力されると、変換部１２１から入力される周波数変換後の基準クロック信号ＣＬＫ０を、基準クロック信号ＣＬＫ１として、ＳＤＲＡＭ制御部４３の各部に入力する。
【００９７】
図１３（ａ）は、発振器１９から入力される基準クロック信号ＣＬＫ０を、そのまま基準クロック信号ＣＬＫ１としてＳＤＲＡＭ制御部４３に入力した場合に、ＳＤＲＡＭ制御部４３から出力されるＣＬＫ信号及びアドレス信号ＡＤＲ並びにＣＳ＃信号を示したタイムチャートである。また、図１３（ｂ）は、上記周波数変換後の基準クロック信号ＣＬＫ０を、基準クロック信号ＣＬＫ１としてＳＤＲＡＭ制御部４３に入力した場合に、ＳＤＲＡＭ制御部４３から出力されるＣＬＫ信号及びアドレス信号ＡＤＲ並びにＣＳ＃信号を示したタイムチャートである。
【００９８】
第二実施例と同様、第三実施例のＳＤＲＡＭ制御システム１００では、メモリモジュール１５Ｍに入力されるＣＳ＃信号がＨｉｇｈからＬｏｗに移行した後ＣＬＫ信号がＬｏｗからＨｉｇｈに移行した時点で、アドレスバス６３を通じてメモリモジュール１５Ｍに入力されるアドレス信号ＡＤＲがメモリモジュール１５Ｍ側で受け付けられ、アドレス信号ＡＤＲが示すアドレス先へのデータ書込、又は、アドレスからのデータ読出、又は、その他のコマンド（制御信号）に従う処理が行われる。
【００９９】
アドレスバス６３の負荷容量が小さい場合には、アドレス信号ＡＤＲの立ち上がりがなまることなく信号遅延が生じないので、図１３（ａ）に示すように、基準クロック信号ＣＬＫ０をＳＤＲＡＭ制御部４３に入力して、その基準クロック信号ＣＬＫ０に同期した制御信号等（アドレス信号ＡＤＲ、ＲＡＳ＃信号、ＣＡＳ＃信号、ＷＥ＃信号、ＣＳ＃信号、ＣＬＫ信号など）をＳＤＲＡＭ制御部４３に生成させ、それらをメモリモジュール１５Ｍに入力しても、アドレスの受付が正確に行われるが、アドレスバス６３の負荷容量が大きく、アドレス信号ＡＤＲの立ち上がりが遅くなると（図１３（ａ）点線参照）、アドレス信号ＡＤＲが完全にメモリモジュール１５Ｍに伝達される前に、アドレス信号ＡＤＲの受付がメモリモジュール１５Ｍ側で開始されてしまう。
【０１００】
このため、アドレスバス６３の負荷容量が大きく、アドレス信号ＡＤＲの伝送に遅延が生じる場合において、基準クロック信号ＣＬＫ０をそのままＳＤＲＡＭ制御部４３での信号生成の基準となる基準クロック信号ＣＬＫ１として入力したのでは、メモリモジュール１５Ｍを正常に駆動することができなくなってしまう。
【０１０１】
これに対し、図１３（ｂ）に示すようにＳＤＲＡＭ制御部４３に入力する基準クロック信号ＣＬＫ１を、発振器１９から出力される基準クロック信号ＣＬＫ０よりも低い周波数にすると、基準クロック信号ＣＬＫ１の低周波数化に伴って、メモリコントローラ１１０からの制御信号等の出力タイミングが遅くなる。なぜなら、制御信号等は、基準クロック信号ＣＬＫ１に同期して出力されるからである。
【０１０２】
よって、基準クロック信号ＣＬＫ０よりも低い周波数の基準クロック信号ＣＬＫ１を用いると、メモリモジュール１５Ｍに入力されるＣＳ＃信号がＨｉｇｈからＬｏｗに切り替わるタイミングが遅れ、メモリモジュール１５Ｍ側でのアドレス信号ＡＤＲの受付タイミングが遅くなる。
【０１０３】
従って、アドレスバス６３の負荷容量が大きく、アドレス信号ＡＤＲの伝送に遅延が生じる場合に、発振器１９から出力される基準クロック信号ＣＬＫ０よりも低い周波数を、基準クロック信号ＣＬＫ１として用いると、アドレス信号ＡＤＲが完全にメモリモジュール１５Ｍに伝達されてから、メモリモジュール１５Ｍにアドレスの受付を開始させることができる。
【０１０４】
この結果、第三実施例のＳＤＲＡＭ制御システム１００では、アドレスバス６３の負荷容量が大きい場合であっても、メモリモジュール１５Ｍを正常に駆動することができる。
尚、切替回路部１２３を用いた基準クロック信号ＣＬＫ１の切替は、当該プリンタ装置１の電源投入時にＣＰＵ１１が実行するクロック切替処理にて実行される。図１４は、当該プリンタ装置１の電源投入時にＣＰＵ１１が実行するクロック切替処理を表すフローチャートである。
【０１０５】
クロック切替処理を実行すると、ＣＰＵ１１は、図６に示すように、周知の方法でメモリモジュール１５Ｍに搭載されているＳＰＤチップ１６からデバイス情報としてのＳＰＤデータを取得する（Ｓ４１０）。ＣＰＵ１１は、第一及び第二実施例と同様、このＳＰＤデータに基づいて、アドレスバス６３に接続されたメモリモジュール１５Ｍの記憶容量の総計を算出する（Ｓ４２０）。
【０１０６】
その後、ＣＰＵ１１は、メモリモジュール１５Ｍの記憶容量の総計が予め設定された閾値以上であるか否か判断し（Ｓ４３０）、閾値未満であると判断すると（Ｓ４３０でＮｏ）、上記切替信号として、Ｌｏｗ信号をメモリコントローラ１１０に入力する（Ｓ４４０）。メモリコントローラ１１０では、このＬｏｗ信号がＣＰＵ１１から入力されると、ＣＰＵ命令解析部１１１が、このＬｏｗ信号を周波数変換部１２０の切替回路部１２３に入力する。この信号を受けて切替回路部１２３は、発振器１９から入力される基準クロック信号ＣＬＫ０をそのまま、上記基準クロック信号ＣＬＫ１として、ＳＤＲＡＭ制御部４３の各部に入力する。
【０１０７】
一方、Ｓ４３０においてメモリモジュール１５Ｍの記憶容量の総計が予め設定された閾値以上であると判断すると（Ｓ４３０でＹｅｓ）、ＣＰＵ１１は、上記切替信号として、Ｈｉｇｈ信号をメモリコントローラ１１０に入力する（Ｓ４５０）。メモリコントローラ１１０では、このＨｉｇｈ信号がＣＰＵ１１から入力されると、ＣＰＵ命令解析部１１１が、このＨｉｇｈ信号を周波数変換部１２０の切替回路部１２３に入力する。この信号を受けて、切替回路部１２３は、変換部１２１から入力される周波数変換後の基準クロック信号ＣＬＫ０を、基準クロック信号ＣＬＫ１として、ＳＤＲＡＭ制御部４３の各部に入力する。ＣＰＵ１１は、このようにしてＳ４４０又はＳ４５０での処理を終えると、当該クロック切替処理を終了する。
【０１０８】
尚、第二実施例と同様に、クロック切替処理は、Ｓ３０５からＳ３６０までの処理を実行した後、Ｓ３６０でＮｏである場合には、上記Ｓ４４０の処理を実行し、Ｓ３６０でＹｅｓである場合には、Ｓ４５０の処理を実行するように、構成されてもよい。
【０１０９】
以上、本実施例のプリンタ装置１及び、プリンタ装置１に用いる第一実施例から第三実施例までのＳＤＲＡＭ制御システム３０，７０，１００の構成について説明したが、本発明における複数種類のデバイスが共用する信号線は、アドレスバス６３に相当し、制御手段は、ＳＤＲＡＭ制御部４３，８２に相当する。
【０１１０】
また、本発明の推定手段は、ＣＰＵ１１が実行するＳ１１０及びＳ１２０（又はＳ２１０及びＳ２２０、又はＳ３０５〜Ｓ３５０、又はＳ４１０及びＳ４２０）での処理にて実現されており、切替制御手段は、ＣＰＵ１１が実行するＳ１３０〜Ｓ１５０での処理にて実現されている。尚、アドレスバス６３の負荷容量は、メモリモジュール１５Ｍの記憶容量又はメモリモジュール１５Ｍの個数と、相関関係があるものであるため、上記実施例では、メモリモジュール１５Ｍの記憶容量又はメモリモジュール１５Ｍの個数を、アドレスバス６３の負荷容量の推定値として、後続の判断処理（Ｓ１３０，Ｓ２３０，Ｓ３６０，Ｓ４３０）で用いるようにした。
【０１１１】
また、本発明の受付指示手段は、ＣＳ＃信号を生成する第二信号生成部５９，８９に相当する。また、受付指示の出力タイミングを変更する変更手段は、ＣＳ信号生成部９３が備える遅延回路部９７及び切替回路部９９と、ＣＰＵ１１が実行するＣＳ切替処理のＳ２３０〜Ｓ２５０（又はＳ３６０〜Ｓ３８０）とにより実現されている。
【０１１２】
その他、本発明のクロック信号入力手段は、第三実施例の周波数変換部１２０に相当し、クロック信号の周波数を変更する変更手段は、周波数変換部１２０が備える変換部１２１及び切替回路部１２３と、ＣＰＵ１１が実行するクロック切替処理のＳ４３０〜Ｓ４５０）とにより実現されている。また、デバイス情報取得手段は、ＣＰＵ１１が実行するＳ１１０、Ｓ２１０、Ｓ３１０での処理にて実現されている。
【０１１３】
また、本発明の電子機器は、上記実施例に限定されるものではなく、種々の態様を採ることができる。
例えば、本発明は、ＣＰＵ２０１と、ＰＣＩコントローラ２０３と、ＰＣＩバス２０５と、ＰＣＩバス２０５に接続されたＰＣＩデバイス２０９ａ，２０９ｂ，２０９ｃ，２０９ｄと、からなる図１５に示すようなＰＣＩデバイス制御システム２００に適用されてもよい。図１５は、そのＰＣＩデバイス制御システム２００の構成を表す説明図である。
【０１１４】
ＰＣＩバス２０５は、複数種類のＰＣＩデバイス２０９ａ，２０９ｂ，２０９ｃ，２０９ｄが共用する信号線として機能するものであり、ＰＣＩコントローラ２０３は、このＰＣＩバス２０５を介して、ＰＣＩデバイス２０９ａ，２０９ｂ，２０９ｃ，２０９ｄに制御信号等を入力し、ＰＣＩデバイス２０９ａ，２０９ｂ，２０９ｃ，２０９ｄを制御する。
【０１１５】
このＰＣＩデバイス制御システム２００においても、ＰＣＩバス２０５と、ＰＣＩコントローラ２０３との間に、図４に示すバッファ回路４５を設ければ、ＰＣＩバス２０５の負荷容量に応じたバッファチップ４７Ｈ，４７Ｌの切替が可能となり、各ＰＣＩデバイス２０９ａ，２０９ｂ，２０９ｃ，２０９ｄを良好に駆動することができる。その他、チップセレクト（ＣＳ＃）信号の出力タイミングを変更したり、制御信号生成回路に入力する基準クロック信号の周波数を変更すれば、ＰＣＩバスの負荷容量に応じて、適切にＰＣＩデバイス２０９ａ，２０９ｂ，２０９ｃ，２０９ｄを駆動することができる。
【図面の簡単な説明】
【０１１６】
【図１】本発明が適用されたプリンタ装置１の構成を表すブロック図である。
【図２】メイン基板１０の構成を表す説明図である。
【図３】第一実施例のＳＤＲＡＭ制御システム３０の構成を表すブロック図である。
【図４】バッファ回路４５の構成を表す回路図である。
【図５】ＣＰＵ１１が実行するチップ切替処理を表すフローチャートである。
【図６】ＳＰＤデータの読取態様に関する説明図である。
【図７】バッファ能力が適値である場合の理想的な信号波形及びバッファ能力が大きすぎる場合の信号波形を示した説明図（ａ）と、理想的な信号波形及びバッファ能力が小さすぎる場合の信号波形を示した説明図（ｂ）である。
【図８】第二実施例のＳＤＲＡＭ制御システム７０の構成を表すブロック図である。
【図９】第一のＣＳ＃信号（上図）と第二のＣＳ＃信号（下図）を示すタイムチャートである。
【図１０】ＣＰＵ１１が実行するＣＳ切替処理を表すフローチャートである。
【図１１】ＣＰＵ１１が実行する変形例のＣＳ切替処理を表すフローチャートである。
【図１２】第三実施例のＳＤＲＡＭ制御システム１００の構成を表すブロック図である。
【図１３】第三実施例のメモリコントローラ１１０から出力されるＣＬＫ信号及びアドレス信号ＡＤＲ並びにＣＳ＃信号を示したタイムチャートである。
【図１４】ＣＰＵ１１が実行するクロック切替処理を表すフローチャートである。
【図１５】ＰＣＩデバイス制御システム２００の構成を表す説明図である。
【符号の説明】
【０１１７】
１…プリンタ装置、１０…メイン基板、１１…ＣＰＵ、１３…ＲＯＭ、１５…ＲＡＭ、１５Ｍ…メモリモジュール、１６…ＳＰＤチップ、１７…ＡＳＩＣ、１９…発振器、２１…ネットワークインタフェース、２３…ＵＳＢ端子、２５…画像形成部、２７…操作部、２９…表示部、３０，７０，１００…ＳＤＲＡＭ制御システム、４０，８０，１１０…メモリコントローラ、４１，８１，１１１…ＣＰＵ命令解析部、４３，８２…ＳＤＲＡＭ制御部、４５，８３…バッファ回路、４７Ｈ，４７Ｌ…バッファチップ、４９…切替制御回路、５１…データ制御回路、５３…アドレス制御回路、５５，８５…制御信号生成回路、５７…第一信号生成部、５９，８９…第二信号生成部、６１…データバス、６３…アドレスバス、９０…信号生成部、９１…ＣＬＫ信号生成部、９３…ＣＳ信号生成部、９５…元信号生成部、９７…遅延回路部、９９，１２３…切替回路部、１２０…周波数変換部、１２１…変換部、２００…ＰＣＩデバイス制御システム、２０３…ＰＣＩコントローラ、２０５…ＰＣＩバス、２０９ａ〜２０９ｄ…ＰＣＩデバイス、Ｌ１，Ｌ２…信号線、ＳＬ１〜ＳＬ３…スロット
【図１】
2005217653.tif 000003
【図２】
2005217653.tif 000004
【図３】
2005217653.tif 000005
【図４】
2005217653.tif 000006
【図５】
2005217653.tif 000007
【図６】
2005217653.tif 000008
【図７】
2005217653.tif 000009
【図８】
2005217653.tif 000010
【図９】
2005217653.tif 000011
【図１０】
2005217653.tif 000012
【図１１】
2005217653.tif 000013
【図１２】
2005217653.tif 000014
【図１３】
2005217653.tif 000015
【図１４】
2005217653.tif 000016
【図１５】
2005217653.tif 000017