(57)【要約】【課題】メモリから出力される信号の波形を、短時間で最適な振幅に調整する。【解決手段】ＰＯＳ端末１に搭載されたＣＰＵチップセット２０１は、メインメモリ３０４に対してデータのリード又はライトが要求された場合に、当該メインメモリ３０４から出力されたデジタル信号の波形が、第２の閾値Ｖref2を超えたオーバーシュート又は、第１の閾値Ｖref1を下回るアンダーシュートが発生しているか否かを自動的に判定する複数のオペアンプと、複数のオペアンプのそれぞれでオーバーシュート及びアンダーシュートが発生しないと判定されるまでメインメモリ３０４内部の終端抵抗値を大きい値に切り替える抵抗値切替回路３２１と、を備えたことを特徴とする。【選択図】図３
2011081733.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対してデータのリード又はライトが指示された場合に、当該メモリから出力されたデジタル信号の波形が、第１の閾値を超えたオーバーシュート又は、第２の閾値を下回るアンダーシュートが発生しているか否かを自動的に判定する判定手段と、
前記判定手段により、前記オーバーシュート及びアンダーシュートが発生しないと判定されるまで、前記メモリから出力される前記デジタル信号の振幅を小さくする制御を行う制御手段と、
を備えたことを特徴とするメモリ制御回路。
【請求項２】
前記制御手段は、前記判定手段によりオーバーシュート又はアンダーシュートであると判定された場合に、前記メモリ内部の終端抵抗値を大きい値に切り替える、又は前記メモリから出力される前記デジタル信号を駆動させる電流を小さい値に切り替えること、
を特徴とする請求項１に記載のメモリ制御回路。
【請求項３】
前記制御手段は、前記メモリから出力される前記デジタル信号を駆動させる電流を小さい値に切り替えることよりも優先的に、前記メモリ内部の終端抵抗値を大きい値に切り替えること、
を特徴とする請求項２に記載のメモリ制御回路。
【請求項４】
前記判定手段は、前記メモリから出力されたデジタル信号と、第１の閾値を示す電圧又は第２の閾値を示す電圧と、が入力されたオペアンプであること、を特徴とする請求項１乃至３のいずれか一つに記載のメモリ制御回路。
【請求項５】
データのリード及びライトが可能なメモリと、
前記メモリに対してデータのリード又はライトを指示する指示手段と、
前記指示手段によりメモリに対してデータのリード又はライトが指示された場合に、当該メモリから出力されたデジタル信号の波形が、第１の閾値を超えたオーバーシュート又は、第２の閾値を下回るアンダーシュートが発生しているか否かを自動的に判定する判定手段と、
前記判定手段により、前記オーバーシュート及びアンダーシュートが発生しないと判定されるまで、前記メモリから出力される前記デジタル信号の振幅を小さくする制御を行う制御手段と、
を備えたことを特徴とする電子機器。
【請求項６】
メモリに対してデータのリード又はライトが指示された場合に、当該メモリから出力されたデジタル信号の波形が、第１の閾値を超えたオーバーシュート又は、第２の閾値を下回るアンダーシュートが発生しているか否かを自動的に判定する判定ステップと、
前記判定ステップにより、前記オーバーシュート及びアンダーシュートが発生しないと判定されるまで、前記メモリから出力される前記デジタル信号の振幅を小さくする指示を行う指示ステップと、
をコンピュータに実行させるためのメモリ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御回路、電子機器、及びメモリ制御プログラムに関する。
【背景技術】
【０００２】
従来から、エレキ関係の技術者は、製作している電気機器について、実装された基板波形の品質を確保するように設計する必要がある。例えば、当該技術者は、メモリから出力されるデジタル制御信号に対してシンクロスコープで波形計測しながら、当該波形を調整する必要がある。
【０００３】
メモリから出力されるデジタル制御信号の波形の調整手法としては、メモリの終端抵抗値の切り替えや、信号駆動させる電流値の変更などがある。例えば、特許文献１には、メモリの終端抵抗を切り替える手法が提案されている。この特許文献１に記載された技術等を用いることで、精度良く終端抵抗値を変更できる。
【０００４】
このようなメモリの終端抵抗値を切り替える回路や、信号を駆動させる電流値を変更させる回路は、従来から電子機器に適用されている。図８は、従来の電気機器に搭載されているＣＰＵチップセット周辺の電気回路を示した図である。図８に示すように、ＣＰＵ８０１と、メモリコントローラ８０２と、ＩＯコントローラ８０３と、メインメモリ８０４とが、バスにより接続されている。そして、メインメモリ８０４に抵抗値を切り替える抵抗値切替回路８１１が搭載され、メモリコントローラ８０２に信号を駆動させる電流値を変更させる信号駆動能力制御回路８１２が搭載されている。
【０００５】
そして、エレキ関係の技術者は、メインメモリ８０４から出力される、主なデジタル制御信号に対して、シンクロスコープで波形の測定と、データシートで波形品質の判断と、上述した回路（抵抗値切替回路８１１、及び信号駆動能力制御回路８１２）による波形の調整と、を繰り返す。これにより、メモリの終端抵抗値又は信号駆動させる電流値の最適な値を導き出すことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の手法では、エレキ関連の技術者が手動で調整と計測とを行う必要があるため、最適な値を導き出すまでに、非常に時間を要するという問題がある。
【０００７】
さらには、計測する技術者毎の判断基準に微妙に相違がある。このため、実際には波形調整精度にばらつきが生じるという問題がある。
【０００８】
本発明は、上記に鑑みてなされたものであって、技術者を介さずに、メモリから出力される波形の調整を行うメモリ制御回路、電子機器、及びメモリ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるメモリ制御回路は、メモリに対してデータのリード又はライトが指示された場合に、当該メモリから出力されたデジタル信号の波形が、第１の閾値を超えたオーバーシュート又は、第２の閾値を下回るアンダーシュートが発生しているか否かを自動的に判定する判定手段と、前記判定手段により、前記オーバーシュート及びアンダーシュートが発生しないと判定されるまで、前記メモリから出力される前記デジタル信号の振幅を小さくする制御を行う制御手段と、を備えたことを特徴とする。
【００１０】
また、本発明にかかる電子機器は、データのリード及びライトが可能なメモリと、前記メモリに対してデータのリード又はライトを指示する指示手段と、前記指示手段によりメモリに対してデータのリード又はライトが指示された場合に、当該メモリから出力されたデジタル信号の波形が、第１の閾値を超えたオーバーシュート又は、第２の閾値を下回るアンダーシュートが発生しているか否かを自動的に判定する判定手段と、前記判定手段により、前記オーバーシュート及びアンダーシュートが発生しないと判定されるまで、前記メモリから出力される前記デジタル信号の振幅を小さくする制御を行う制御手段と、を備えたことを特徴とする。
【００１１】
メモリ制御プログラムは、メモリに対してデータのリード又はライトが指示された場合に、当該メモリから出力されたデジタル信号の波形が、第１の閾値を超えたオーバーシュート又は、第２の閾値を下回るアンダーシュートが発生しているか否かを自動的に判定する判定ステップと、前記判定手段により、前記オーバーシュート及びアンダーシュートが発生しないと判定されるまで、前記メモリから出力される前記デジタル信号の振幅を小さくする制御を行う制御ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明にかかるメモリ制御回路、電子機器、及びメモリ制御プログラムは、メモリから出力されるデジタル制御信号の波形を最適な振幅に調整できるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態となるＰＯＳ端末の概観構成を示す図である。
【図２】図２は、ＰＯＳ端末の制御系の構成を示した図である。
【図３】図３は、ＰＯＳ端末のＣＰＵチップセットに搭載された部品によるハードウェア構成を示した図である。
【図４】図４は、メインメモリから出力されるデジタル制御信号の波形の第１の例を示したグラフである。
【図５】図５は、メインメモリから出力されるデジタル制御信号の波形の第２の例を示したグラフである。
【図６】図６は、ＩＯコントローラに入力されるGP_Under信号とGP_Over信号との出力値を示したテーブルである。
【図７】図７は、実施の形態にかかるＰＯＳ端末において、電源投入時における、デジタル制御信号の波形調整の処理の手順を示すフローチャートである。
【図８】図８は、従来のＣＰＵチップセットにおいて、メインメモリから出力されるデジタル制御信号を、技術者が計測及び調整を行っていることを示した説明図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、この発明にかかるメモリ制御回路、電子機器、及びメモリ制御プログラムの最良な実施の形態を詳細に説明する。以下に示す実施の形態では、電子機器の一実施の形態としてＰＯＳ(Point  Of  Sales)端末を例示する。但し、本発明を適用可能な電子機器をＰＯＳ端末に限定することはなく、終端抵抗が切り替え可能なメインメモリが搭載された電子機器であれば、あらゆる機器に適用することができる。
【００１５】
始めに、図１を参照して、本実施の形態となるＰＯＳ端末の概観構成を説明する。図１に示すＰＯＳ端末１は、現金等を収容するドロワ２の上に載置され、ドロワ２の引出し２ａの開閉を制御する。ＰＯＳ端末１の正面側にはキーボード３とモードスイッチ４が設けられている。キーボード３は、オペレータが預かり金額等を入力するための操作部である。モードスイッチ４は、登録，点検，精算，設定等の各種業務モードを選択するための操作部であり、鍵により操作される。
【００１６】
ＰＯＳ端末１の正面側にはオペレータ用のメインディスプレイ５が接続され、背面側には客用のサブディスプレイ６が接続されている。メインディスプレイ５及びサブディスプレイ６は、バックライトを備えた液晶カラーディスプレイ等で構成され、販売登録された商品の品名及び価格や１取引の合計金額や釣銭額等を表示する。
【００１７】
ＰＯＳ端末１はレシート及びジャーナルを印字するＲ／Ｊプリンタ７を有し、Ｒ／Ｊプリンタ７により印字されたレシートはＰＯＳ端末１の正面側に形成されたレシート発行口８から発行される。ＰＯＳ端末１には、商品の販売登録の際に商品ラベルに印刷されたバーコードを読取るためのコードスキャナ９が接続されている。このようなＰＯＳ端末１の構成は、例えば特開2000-194940号公報に開示されているため、その詳細な説明は省略する。
【００１８】
〔制御系の構成〕
次に、図２を参照して、上記ＰＯＳ端末１の制御系の構成を説明する。
【００１９】
図２に示すＰＯＳ端末１は、制御系として、ＣＰＵチップセット２０１と、制御Ｉ／Ｏ２０２と、電源回路２０３と、を備える。さらに、ＰＯＳ端末１は、制御Ｉ／Ｏ２０２を介して、キーボード３と、メインディスプレイ５と、サブディスプレイ６と、コードスキャナ９等を備える。
【００２０】
電源回路２０３は、ＣＰＵチップセット２０１を含むＰＯＳ端末１全体に対して、駆動電力を供給する回路である。
【００２１】
また、ＣＰＵチップセット２０１は、ＰＯＳ端末１の全体を制御する。具体的には、ＣＰＵチップセット２０１は、制御Ｉ／Ｏ２０２を介して接続された、キーボード３と、メインディスプレイ５と、サブディスプレイ６と、コードスキャナ９と、との制御を行う。次にＣＰＵチップセット２０１の具体的な構成について説明する。
【００２２】
図３は、ＣＰＵチップセット２０１に搭載された部品によるハードウェア構成を示した図である。図３に示すように、ＰＯＳ端末１は、ＣＰＵチップセット２０１内部に、ＣＰＵ３０１と、メモリコントローラ３０２と、ＩＯコントローラ３０３と、メインメモリ３０４と、第１オペアンプ３０５と、第２オペアンプ３０６と、第１ラッチ回路３０７と、第２ラッチ回路３０８と、を備えている。
【００２３】
本実施の形態では、ＰＯＳ端末１に電源を投入された直後に、これらＣＰＵチップセット２０１の構成に基づいて、メインメモリ３０４から出力されるデジタル制御信号の波形でオーバーシュート又はアンダーシュートが生じないように調整を行うこととする。
【００２４】
ＣＰＵ（Central  Processing  Unit）３０１は、図示しない記憶領域に格納されたプログラムに従って、ＰＯＳ端末１に関する処理をおこなう。その際、ＣＰＵ３０１は、メインメモリ３０４を作業領域として用いる。
【００２５】
その際、ＣＰＵ３０１は、図示しない記憶領域から読み出されたプログラムを実行することで、判定部３３１と、指示部３３２と、を実現する。なお、ＣＰＵ３０１は、終端抵抗値を切り替え可能なメインメモリ３０４を利用可能なＣＰＵであれば良く、例えば、Ｉｎｔｅｌ（登録商標）社のＣｏｒｅ  ２  Ｄｕｏ（登録商標）を用いることができる。
【００２６】
また、ＣＰＵ（Central  Processing  Unit）３０１の判定部３３１は、後述するＩＯコントローラ３０３に入力される信号に基づいて、オーバーシュート又はアンダーシュートが発生しているか判定する。そして、指示部３３２は、オーバーシュート又はアンダーシュートが発生していると判定した場合には、メモリコントローラ３０２に対して、デジタル制御信号の波形の振幅を小さくするように指示する。また、指示部３３２は、メインメモリ３０４に対して、必要に応じて、データのリード又はライトを指示する。
【００２７】
メインメモリ３０４は、ＣＰＵ３０１の作業領域として用いられる（図示しない）メモリ領域の他に、第１内部終端抵抗Ｒ１と、第２内部終端抵抗Ｒ２と、第３内部終端抵抗Ｒ３と、抵抗値切替回路３２１と、コマンド解釈回路３２２と、を備える。また、本実施の形態においては、メインメモリ３０４として、ＤＤＲ２（Double  Data  Rate  ２  ＳＤＲＡＭ）を用いることとする。なお、メインメモリ３０４は、ＤＤＲ２に制限するものではなく、内部で終端抵抗値を切り替え可能なメモリであればよい。例えばメインメモリとして、ＤＤＲ３（Double  Data  Rate  ３  ＳＤＲＡＭ）を適用しても良い。
【００２８】
次に、メインメモリ３０４に対してデータのリード又はライトが指示された場合に、メインメモリ３０４から出力されるデジタル制御信号の波形について説明する。図４は、メインメモリ３０４から出力されるデジタル制御信号の波形を示したグラフである。デジタル制御信号の波形は、信号として検出する際、誤検出などを抑止するために振幅が大きい方が望ましいが、図４に示す波形のようにオーバーシュート及びアンダーシュートが生じないように調整する必要がある。なお、本実施の形態においては、第１の閾値−０．３Ｖ〜第２の閾値２．１Ｖの範囲内が正常な値となる。つまり、第２の閾値２．１Ｖの基線を越えた場合にはオーバーシュートとなり、第１の閾値−０．３を下回った場合にアンダーシュートとなる。
【００２９】
本実施の形態では、波形の測定対象となるデジタル制御信号として、ＤＱＳ（データ・ストローブ信号）を用いることとする。ＤＱＳは、データを取り込むタイミングを調整するための制御信号とする。このように、メインメモリ３０４から出力される主要なデジタル制御信号を調整することで、メインメモリ３０４から出力される信号の波形の全体の品質を向上させることができる。なお、波形の測定対象となるデジタル制御信号は、ＤＱＳに制限するものではなく、様々な制御信号を対象として良い。
【００３０】
図５は、オーバーシュート又はアンダーシュートが生じたデジタル制御信号の波形を示したグラフである。図５に示す波形５０２は、第２の閾値２．１Ｖの基線を超えるとともに、第１の閾値−０．３Ｖの基線を下回っているためオーバーシュートとアンダーシュートとが生じている。波形５０１は、第１の閾値−０．３Ｖの基線を下回っているためアンダーシュートが生じている。さらに、波形５０３は、第２の閾値２．１Ｖの基線を越えているためオーバーシュートが生じている。これら全ての波形は、第１の閾値−０．３Ｖ以上、第２の閾値２．１Ｖ以内に収まるように調整する必要がある。そこで、本実施の形態においては、メインメモリ３０４内の内部終端抵抗値の切り替えと、デジタル制御信号の駆動能力の調整と、により、波形の調整を行う。
【００３１】
図３に戻り、コマンド解釈回路３２２は、コントロールバスを介して入力されたコマンドの解釈を行う。なお、入力されるコマンドの種類については、ＪＩＳ等で規定されているために説明を省略する。
【００３２】
第１内部終端抵抗Ｒ１、第２内部終端抵抗Ｒ２、及び第３内部終端抵抗Ｒ３は、それぞれ異なる抵抗値の抵抗であり、メインメモリ３０４内部で切り替え可能な終端抵抗とする。
【００３３】
本実施の形態では、第１内部終端抵抗Ｒ１の抵抗値を５５Ωとし、第２内部終端抵抗Ｒ２の抵抗値を７５Ωとし、第３内部終端抵抗Ｒ３を１００Ωとする。なお、本実施の形態は、３つの終端抵抗の例について説明するが、終端抵抗の数を３個に制限するものではなく、抵抗値も５５，７５、１００Ωに制限するものでもない。
【００３４】
抵抗値切替回路３２１は、コマンド解釈回路３２２が抵抗値を切り替えるコマンドを入力されたと解釈した場合に、終端抵抗を、第１内部終端抵抗Ｒ１、第２内部終端抵抗Ｒ２、及び第３内部終端抵抗Ｒ３のうちいずれか一つに切り替える。本実施の形態では、第１内部終端抵抗Ｒ１がデフォルトとして用いられる終端抵抗とする。つまり、抵抗値が一番小さい終端抵抗を、デフォルトの終端抵抗としている。
【００３５】
そして、抵抗値切替回路３２１は、抵抗値を切り替えるコマンドを受け付ける毎に、第１内部終端抵抗Ｒ１から、第２内部終端抵抗Ｒ２、第３内部終端抵抗Ｒ３の順に終端抵抗を切り替える。当該切替制御により、切り替えられる度に抵抗値が大きくなるため、デジタル制御信号の波形の振幅が小さくなり、オーバーシュート又はアンダーシュートが抑えられることになる。なお、本実施の形態では、終端抵抗の切替のみでオーバーシュート又はアンダーシュートが抑止できない場合に、デジタル制御信号の駆動能力の調整を行うこととする。
【００３６】
メモリコントローラ３０２は、信号駆動能力制御回路３１１を備え、メインメモリ３０４と、ＣＰＵ３０１と、を接続するコントローラとする。また、メモリコントローラ３０２は、ＣＰＵ３０１からのコマンドに従って、コントロールバスを介して、メインメモリ３０４に対するコマンドを出力する。なお、メモリコントローラ３０２は、例えばＩｎｔｅｌ（登録商標）社のＭＣＨに相当する。
【００３７】
また、メモリコントローラ３０２は、後述するＩＯコントローラ３０３に入力されたGP_Under信号及びGP_Over信号によりＣＰＵ３０１がオーバーシュート又はアンダーシュートが生じていると判定した場合に、終端抵抗値を切り替えるコマンドを、コントロールバスを介してメインメモリ３０４のコマンド解釈回路３２２に出力する。
【００３８】
信号駆動能力制御回路３１１は、メインメモリ３０４から出力されるデジタル制御信号の駆動能力を制御する。本実施の形態においては、信号駆動能力制御回路３１１は、メインメモリ３０４から出力されるデジタル制御信号を駆動させる電流を小さい値に切り替えることで、駆動能力を制御する。本実施の形態においては、終端抵抗値の切り替えを優先的に行い、終端抵抗値を切り替えてもなお、オーバーシュート又はアンダーシュートが生じている場合に、駆動能力を制御する。
【００３９】
第１オペアンプ３０５は、第１の閾値Ｖref1である−０．３Ｖと、メインメモリ３０４からデジタル制御信号（ＤＱＳ）と、が入力され、第１の閾値Ｖref1（−０．３Ｖ）を、デジタル制御信号（ＤＱＳ）が下回るか否かを自動的に判定し、判定結果を第１ラッチ回路３０７に出力する。
【００４０】
第２オペアンプ３０６は、第２の閾値Ｖref2である２．１Ｖと、メインメモリ３０４からデジタル制御信号（ＤＱＳ）と、が入力され、第２の閾値Ｖref2（２．１Ｖ）を、デジタル制御信号（ＤＱＳ）が超えるか否かを自動的に判定し、判定結果を第２ラッチ回路３０８に出力する。
【００４１】
第１ラッチ回路３０７は、ＩＯコントローラ３０３に対して、GP_Under信号を出力する。第１ラッチ回路３０７は、GP_Reset信号でリセットされた後、GP_Under信号としてデフォルト値（０）を出力する。そして、第１ラッチ回路３０７は、第１オペアンプ３０５から、第１の閾値Ｖref1（−０．３Ｖ）をデジタル制御信号（ＤＱＳ）が下回った旨の判定結果が入力された場合、GP_Reset信号でリセットされるまで、GP_Under信号としてアンダーシュートが生じたことを示す値（１）を出力する。
【００４２】
第２ラッチ回路３０８は、ＩＯコントローラ３０３に対して、GP_Over信号を出力する。第２ラッチ回路３０８は、GP_Reset信号でリセットされた後、GP_Over信号としてデフォルト値（０）を出力する。そして、第２ラッチ回路３０８は、第２オペアンプ３０６から、第２の閾値Ｖref2（２．１Ｖ）をデジタル制御信号（ＤＱＳ）が超えた旨の判定結果が入力された場合、GP_Reset信号でリセットされるまで、GP_Over信号としてオーバーシュートが生じたことを示す値（１）を出力する。
【００４３】
ＩＯコントローラ３０３は、メモリコントローラ３０２と（図示しない）ＰＣＩバスやＵＳＢ等の他の構成要素を接続するためコントローラとする。ＩＯコントローラ３０３は、メモリコントローラ３０２と高速なデータ転送が可能なインターフェースで接続されている。なお、ＩＯコントローラ３０３は、例えばＩｎｔｅｌ（登録商標）社のＩＣＨに相当する。
【００４４】
また、ＩＯコントローラ３０３は、第１ラッチ回路３０７からGP_Under信号の入力を、第２ラッチ回路３０８からGP_Over信号の入力を受け付ける。図６は、ＩＯコントローラ３０３に入力されるGP_Under信号とGP_Over信号の出力値を示したテーブルである。図６に示すように、ＩＯコントローラ３０３は、オーバーシュート（２．１Ｖより大きい）又はアンダーシュート（−０．３Ｖを下回る）を生じていない限り、GP_Under信号及びGP_Over信号として、デフォルト値である‘０’の入力を受け付ける。
【００４５】
ＩＯコントローラ３０３は、オーバーシュート（２．１Ｖより大きい）が生じている場合には、GP_Over信号として‘１’の入力を受け付ける。一方、ＩＯコントローラ３０３は、アンダーシュート（−０．３Ｖを下回る）が生じている場合には、GP_Under信号として‘１’の入力を受け付ける。そして、ＩＯコントローラ３０３は、入力されたGP_Under信号及びGP_Over信号の出力値を、ＣＰＵ３０１に通知する。
【００４６】
そして、ＣＰＵ３０１の判定部３３１が、入力された各信号の出力値に基づいて、オーバーシュート又はアンダーシュートが発生しているか判定する。このように、ＣＰＵ３０１の判定部３３１は、GP_Under信号及びGP_Over信号のいずれか一つ以上の信号で出力値‘１’の入力を受け付けた場合に、オーバーシュート又はアンダーシュートであると判定する。当該判定結果の場合に、指示部３３２は、オーバーシュート又はアンダーシュートが生じないように調整する旨を、メモリコントローラ３０２に指示する。
【００４７】
その後、ＣＰＵ３０１の指示部３３２は、メモリコントローラ３０２に通知して所定時間経過した後に、ＩＯコントローラ３０３にGP_Reset信号により、第１ラッチ回路３０７及び第２ラッチ回路３０８に対してリセット処理を行うよう指示する。なお、所定時間とは、終端抵抗値の切り替えやデジタル制御信号の駆動能力を調整するために要する時間とする。
【００４８】
そして、ＩＯコントローラ３０３は、GP_Reset信号により、第１ラッチ回路３０７及び第２ラッチ回路３０８に対してリセットした後、GP_Under信号及びGP_Over信号の出力値をＣＰＵ３０１に通知する。そして、ＣＰＵ３０１は、いずれか一つ以上の信号で出力値‘１’の入力を受け付けた場合、オーバーシュート又はアンダーシュートが発生していると判定し、再び、オーバーシュート又はアンダーシュートが生じないように調整する旨をメモリコントローラ３０２に通知する。
【００４９】
このような処理を、オーバーシュート又はアンダーシュートが生じていると判定されなくなるまで繰り返し行う。換言すれば、デジタル制御信号の波形が、第２の閾値Ｖref2を超えず、第１の閾値Ｖref1を下回らないと判定されるまで（GP_Under信号及びGP_Over信号でデフォルト値である‘０’が入力され続けるまで）、終端抵抗値の切り替えやデジタル制御信号の駆動能力の調整を行う。
【００５０】
次に、本実施の形態にかかるＰＯＳ端末１の電源投入時における、デジタル制御信号の波形調整の処理について説明する。図７は、本実施の形態にかかるＰＯＳ端末１における上述した処理の手順を示すフローチャートである。
【００５１】
まず、ＰＯＳ端末１の電源が投入された際に、メインメモリ３０４内部の抵抗値切替回路３２１は、終端抵抗として、第１内部終端抵抗Ｒ１を設定する（ステップＳ７０１）。
【００５２】
次に、信号駆動能力制御回路３１１は、メインメモリ３０４から出力されるデジタル制御信号の駆動能力として、電流を２４ｍＡに設定する（ステップＳ７０２）。次に、ＩＯコントローラ３０３が、GP_Reset信号で第１ラッチ回路３０７及び第２ラッチ回路３０８をリセットする（ステップＳ７０３）。
【００５３】
そして、ＣＰＵ３０１の指示部３３２が、メモリコントローラ３０２を介して、メインメモリ３０４のリード・ライトを指示する（ステップＳ７０４）。このように、当該指示に従って、メインメモリ３０４に対するリード・ライトが行われることで、デジタル制御信号の波形が発生する。
【００５４】
これにより、メインメモリ３０４が、波形が発生したデジタル制御信号を、第１オペアンプ３０５及び第２オペアンプ３０６に出力する（ステップＳ７０５）。
【００５５】
そして、第１オペアンプ３０５及び第２オペアンプ３０６のそれぞれが、入力されたデジタル制御信号の波形に基づいて、オーバーシュート又はアンダーシュートが生じているか否かの判定結果を出力する（ステップＳ７０６）。
【００５６】
その後、第１ラッチ回路３０７及び第２ラッチ回路３０８が、入力された判定結果をラッチし、GP_Under信号及びGP_Over信号として出力する（ステップＳ７０７）。GP_Under信号及びGP_Over信号は、ＩＯコントローラ３０３に入力される。そして、ＩＯコントローラ３０３はこれら信号の出力値をＣＰＵ３０１に出力する。そして、ＣＰＵ３０１の判定部３３１は、入力信号の出力値より、オーバーシュート又はアンダーシュートが発生しているか否かを判定する（ステップＳ７０８）。
【００５７】
そして、ＣＰＵ３０１の判定部３３１は、オーバーシュート又はアンダーシュートが発生していると判定した場合（ステップＳ７０８：Ｙｅｓ）、指示部３３２が、オーバーシュート又はアンダーシュートの発生を抑止するようメモリコントローラ３０２に指示する。
【００５８】
そして、メモリコントローラ３０２が、当該指示を受け付けた場合に、終端抵抗が第３内部終端抵抗Ｒ３であるか否かを判定する（ステップＳ７０９）。終端抵抗が第３内部終端抵抗Ｒ３ではないと判定した場合（ステップＳ７０９：Ｎｏ）、終端抵抗を切り替えるコマンドを、コントロールバスを介して、コマンド解釈回路３２２に出力する（ステップＳ７１０）。そして、コマンド解釈回路３２２が当該コマンドを解釈する。その後、抵抗値切替回路３２１が、当該コマンドに従って抵抗値を切り替える（ステップＳ７１１）。例えば、第１内部終端抵抗Ｒ１が設定されている場合に、第２内部終端抵抗Ｒ２に切り替える。また、第２内部終端抵抗Ｒ２が設定されている場合に、第３内部終端抵抗Ｒ３に切り替える。
【００５９】
一方、終端抵抗が第３内部終端抵抗Ｒ３であると判定した場合（ステップＳ７０９：Ｙｅｓ）、信号駆動能力制御回路３１１が、デジタル制御信号の駆動能力を低くするために、電流を小さくする制御を行う（ステップＳ７１２）。ステップＳ７１０の制御が行われる毎に、２４ｍＡ、１６ｍＡ、８ｍＡ、４ｍＡの順に電流を小さくする制御を行うこととする。
【００６０】
そして、ステップＳ７１１又はステップＳ７１２の処理が行われた後、再びステップＳ７０２から開始される。
【００６１】
一方、ＣＰＵ３０１の判定部３３１は、オーバーシュート又はアンダーシュートが発生していないと判定した場合（ステップＳ７０８：Ｎｏ）、正常に処理がおこなわれていると判定して、処理を終了する。
【００６２】
上述した処理手順により、アンダーシュートやオーバーシュートが生じないようデジタル制御信号を調整することが可能となる。
【００６３】
なお、本実施の形態では、デジタル制御信号がアンダーシュートやオーバーシュートが生じないよう調整するのみであったが、これ以外の要素を考慮した上でデジタル制御信号を調整しても良い。調整する要素としては、例えば立ち上がり時間か、立ち下がり時間等が考えられる。
【００６４】
本実施の形態では、第１の閾値−０．３Ｖ以上で第２の閾値２．１Ｖ以内が適切な例について説明したが、閾値をこれらの値に制限するものではなく、規格等に応じて異なる値となる。
【００６５】
本実施の形態にかかるＰＯＳ端末１は、メインメモリ３０４から出力されるデジタル制御信号の波形を最適な振幅に調整できる。また、本実施の形態にかかるＰＯＳ端末１では、測定対象となるデジタル制御信号が第１の閾値及び第２の閾値の範囲内に収まるように調整するため、波形調整制度のばらつきを抑止することができる。
【００６６】
本実施の形態にかかるＰＯＳ端末１では、上述したように処理をおこなうことで、メインメモリ３０４から出力される各デジタル制御信号の波形を短期間且つ高い精度で調整することができる。また、ＰＯＳ端末１では、主なデジタル制御信号の波形を適切に調整することで、メインメモリ３０４から出力される各信号の波形の品質も向上させることができる。また、自動的に調整することで、人件費が削減できるため、開発費の削減に寄与することができる。
【００６７】
なお、本実施の形態においては、ＣＰＵ３０１で実行されるメモリ制御プログラムは、予め組み込まれて提供される。
【００６８】
本実施の形態にかかるＣＰＵ３０１で実行されるメモリ制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００６９】
さらに、本実施の形態にかかるＣＰＵ３０１で実行されるメモリ制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態にかかるプログラマブルＩＣ３０１で実行される電源制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００７０】
本実施の形態にかかるＣＰＵ３０１で実行されるメモリ制御プログラムは、上述した各部（判定部、指示部）を含むモジュール構成となっており、実際のハードウェアとしては、ＣＰＵ３０１が、図示しないＲＯＭから電源制御プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、判定部、指示部が主記憶装置上に生成されるようになっている。
【００７１】
また、本実施の形態では、ＰＯＳ端末１に適用した例について説明したが、他の組み込み系電子機器に適用しても良い。適用可能な組み込み系電子機器としては、例えば携帯可能なデジタルカメラなどがある。
【産業上の利用可能性】
【００７２】
以上のように、本発明にかかるメモリ制御回路、電子機器、及びメモリ制御プログラムは、メモリの制御に有用であり、特に、メモリから出力される信号の波形の調整に適している。
【符号の説明】
【００７３】
１  ＰＯＳ端末
２０１  ＣＰＵチップセット
２０２  制御Ｉ／Ｏ
２０３  電源回路
３０１  ＣＰＵ
３０２  メモリコントローラ
３０３  ＩＯコントローラ
３０４  メインメモリ
３０５  第１オペアンプ
３０６  第２オペアンプ
３０７  第１ラッチ回路
３０８  第２ラッチ回路
３１１  信号駆動能力制御回路
３２１  抵抗値切替回路
３２２  コマンド解釈回路
【先行技術文献】
【特許文献】
【００７４】
【特許文献１】特開２００６−６６８３３公報
【図１】
2011081733.tif 000003
【図２】
2011081733.tif 000004
【図３】
2011081733.tif 000005
【図４】
2011081733.tif 000006
【図５】
2011081733.tif 000007
【図６】
2011081733.tif 000008
【図７】
2011081733.tif 000009
【図８】
2011081733.tif 000010