(57)【特許請求の範囲】
【請求項１】
複数の電源に対する電源シーケンスが規定された集積回路の内部レジスタに対してレジスタ値を設定するレジスタ設定手段と、
前記内部レジスタに設定されているレジスタ値を読み出す値読出し手段と、
前記内部レジスタに設定されるべき正規レジスタ値を予め記憶する正規値記憶手段と、
前記内部レジスタに設定されているレジスタ値と前記正規レジスタ値とを比較して両値が一致しているか否かを判定する判定手段と、
前記判定手段によって前記両値が一致していないと判定した場合、前記電源シーケンスを調整する電源シーケンス調整手段と、
を備える集積回路初期化装置。
【請求項２】
前記電源シーケンス調整手段は、第１電源を起動した後、前記第１電源に比べて低い電源電圧を供給する第２電源を起動するタイミングを変更する、
請求項１記載の集積回路初期化装置。
【請求項３】
前記電源シーケンス調整手段は、前記判定手段によって前記両値が一致するまで、前記電源シーケンスの調整処理を繰り返す、
請求項１または２記載の集積回路初期化装置。
【請求項４】
前記電源シーケンス調整手段は、前記電源シーケンスの調整処理の実行回数を所定回数に制限する、
請求項１または２記載の集積回路初期化装置。
【請求項５】
内部レジスタを有し、複数の電源に対する電源シーケンスが規定される集積回路と、
電源を供給する第１電源と、
前記第１電源に比べて低い電源電圧を供給する第２電源と、
前記第１電源および前記第２電源を起動させるタイミングをコントロールする電源制御回路と、
前記電源制御回路の起動処理に伴って前記内部レジスタに対してレジスタ値を設定するレジスタ設定手段と、
前記内部レジスタに設定されているレジスタ値を読み出す値読出し手段と、
前記内部レジスタに設定されるべき正規レジスタ値を予め記憶する正規値記憶手段と、
前記内部レジスタに設定されているレジスタ値と前記正規レジスタ値とを比較して両値が一致しているか否かを判定する判定手段と、
前記判定手段によって前記両値が一致していないと判定した場合、前記電源シーケンスを調整する電源シーケンス調整手段と、
前記電源制御回路に対する再起動を実行する再起動手段と、
を備える電子機器。
【請求項６】
コンピュータを、
複数の電源に対する電源シーケンスが規定された集積回路の内部レジスタに対してレジスタ値を設定するレジスタ設定手段と、
前記内部レジスタに設定されているレジスタ値を読み出す値読出し手段と、
前記内部レジスタに設定されるべき正規レジスタ値を予め記憶する正規値記憶手段と、
前記内部レジスタに設定されているレジスタ値と前記正規レジスタ値とを比較して両値が一致しているか否かを判定する判定手段と、
前記判定手段によって前記両値が一致していないと判定した場合、前記電源シーケンスを調整する電源シーケンス調整手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、集積回路初期化装置、電子機器およびプログラムに関する。
【背景技術】
【０００２】
例えばパーソナルコンピュータやＰＯＳ（Point  Of  Sales）端末などの電子機器に組み込まれるＣＰＵ（Central  Processing  Unit）やＡＳＩＣ（Application  Specific  Integrated  Circuit）は、一般に、ＬＳＩ（Large  Scale  Integration：大規模集積回路）等を主体とした回路部品である。このようなＬＳＩ等を主体とした回路部品は、ＬＳＩの内部レジスタに設定される初期化データ（レジスタ値）によってその仕様が特定される。このような初期化データ（レジスタ値）は、例えばＲＯＭ（Read  Only  Memory）などに格納されるファームウェアに記述される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、従来、ＬＳＩはシステム電源投入時に初期化データ（レジスタ値）を読み込み、自身の内部レジスタを初期化するが、ＬＳＩへ供給する電源の電源シーケンスにより初期化データ（レジスタ値）が書き換わってしまうことがある。
【０００４】
そして、レジスタ値が書き換わってしまったレジスタがシステムの起動に関係するものである場合には、起動できずにシステム停止となるという問題がある。また、レジスタ値が書き換わってしまったレジスタがシステム起動後にアプリケーションが使用するところに関係するものであった場合にも、システム障害に繋がる可能性がある。
【課題を解決するための手段】
【０００５】
実施形態の集積回路初期化装置は、レジスタ設定手段と、値読出し手段と、正規値記憶手段と、判定手段と、電源シーケンス調整手段と、を備える。前記レジスタ設定手段は、複数の電源に対する電源シーケンスが規定された集積回路の内部レジスタに対してレジスタ値を設定する。前記値読出し手段は、前記内部レジスタに設定されているレジスタ値を読み出す。前記正規値記憶手段は、前記内部レジスタに設定されるべき正規レジスタ値を予め記憶する。前記判定手段は、前記内部レジスタに設定されているレジスタ値と前記正規レジスタ値とを比較して両値が一致しているか否かを判定する。前記電源シーケンス調整手段は、前記判定手段によって前記両値が一致していないと判定した場合、前記電源シーケンスを調整する。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態にかかるＰＯＳ端末の構成を示すブロック図である。
【図２】図２は、ＰＯＳ制御部の構成を示すブロック図である。
【図３】図３は、レジスタ初期化処理にかかる機能を示す機能ブロック図である。
【図４】図４は、レジスタ不良時のリカバリー処理を含むレジスタ初期化処理の流れを示すフローチャートである。
【図５】図５は、電源制御回路の動作を例示的に示す模式図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、この発明にかかる集積回路初期化装置、電子機器およびプログラムの最良な実施の形態を詳細に説明する。本実施形態は、電子機器（集積回路初期化装置）として店舗などに設置されるＰＯＳ（Point  Of  Sales）端末を適用したものである。また、集積回路としては、ＣＰＵ（Central  Processing  Unit）を適用したものである。なお、電子機器（集積回路初期化装置）としては、ＰＯＳ（Point  Of  Sales）端末に限るものではなく、パーソナルコンピュータなどの各種の電子機器を適用可能である。
【０００８】
図１は、実施形態にかかるＰＯＳ端末１の構成を示すブロック図である。ＰＯＳ端末１は、店舗の精算場所に配設されてキャッシャが売上処理を行うためのものであり、図１に示すような構成とされている。ＰＯＳ端末１は、制御の主体となるＰＯＳ制御部２を備え、バス１９を介して接続された通信インタフェース２０から、ＬＡＮ（図示せず）を介して相互にオンライン通信を実行し得るように構成されている。
【０００９】
ＰＯＳ制御部２には、バス１９及びＩ／Ｏ機器制御部２１を介して、キーボード１２、タッチパネルを併設した表示器１４、クレジットカード等の磁気カード（図示せず）の読み取りを行うためのカードリーダ１５、商品コードを光学的に読み取るためのバーコードスキャナ１６とともに、プリンタ２２及びハードディスクドライブ装置（ＨＤＤ）１８が接続されている。プリンタ２２は、ＰＯＳ端末１の本体１１内に内蔵されたレシート／ジャーナルプリンタであり、売上処理に伴い、取引単位でレシートを発行するとともに、並行してジャーナル用紙への印字を行うものである。
【００１０】
図２は、ＰＯＳ制御部２の構成を示すブロック図である。図２に示すように、ＰＯＳ制御部２は、ＬＳＩ（Large  Scale  Integration：大規模集積回路）で構成されていて各部を集中的に制御するＣＰＵ３、ファームウェア４ａ等の制御プログラムを格納するＲＯＭ（Read  Only  Memory）４、ＲＡＭ（Random  Access  Memory）５を備えている。ＣＰＵ３は、レジスタ値の設定によって様々な設定を行う内部レジスタ３ａを内部に備えている。
【００１１】
ＲＯＭ４に格納されたファームウェア４ａは、正規値記憶手段としても機能するものであって、内部レジスタ３ａに対する正常な場合の全ての正規レジスタ値が設定されている。
【００１２】
なお、ＨＤＤ１８には、ＰＯＳ制御部２のＣＰＵ３を動作させるＯＳ（Operating  System）やアプリケーションが格納されている。
【００１３】
図２に示すように、ＣＰＵ３は複数の電源レールを備えていて２種類の異なった電源を使用するマルチ電源ＩＣであり、周辺部分に対する３．３Ｖの第１電源６とコア部分に対する１．０Ｖの第２電源７とを使用する。これらの電源（第１電源６、第２電源７）は、ＣＰＵ３に接続された電源制御回路８によって制御されている。
【００１４】
電源制御回路８は、第１電源６と第２電源７とを起動させるタイミングをコントロールする。電源制御回路８は、遅延時間を設定する端子（図示せず）を備えており、この端子によって第１電源６が起動してから第２電源７が起動するまでの遅延時間（例えば、初期値１０ｍｓ）をハードウェア設定している。
【００１５】
次に、ＲＯＭ４に格納されたファームウェア４ａがＰＯＳ制御部２のＣＰＵ３に実行させる機能について説明する。なお、従来から行なわれている処理と同様の処理についてはその説明を省略する。ここでは、レジスタ不良時のリカバリー処理について説明する。
【００１６】
図３に示すように、ＰＯＳ端末１は、ＰＯＳ制御部２のＣＰＵ３がＲＯＭ４に格納されたファームウェア４ａは、レジスタ設定手段３１，値読出し手段３２，判定手段３３，電源シーケンス調整手段３４，再起動手段３５を含むモジュール構成となっており、実際のハードウェアとしてはＰＯＳ制御部２のＣＰＵ３がＲＯＭ４からファームウェア４ａを読み出して実行することにより上記各部がＲＡＭ５上にロードされ、レジスタ設定手段３１，値読出し手段３２，判定手段３３，電源シーケンス調整手段３４，再起動手段３５がＲＡＭ５上に生成されるようになっている。
【００１７】
図４は、レジスタ不良時のリカバリー処理を含むレジスタ初期化処理の流れを示すフローチャートである。ＰＯＳ端末１に電源が投入されるとファームウェア４ａがＲＡＭ５にロードされ、図４に示すように、ＣＰＵ３は、電源ＯＮ／ＯＦＦ信号で電源制御回路８をＯＮモードにし、電源制御回路８の起動処理を実行する（ステップＳ１）。
【００１８】
ここで、図５は電源制御回路８の動作を例示的に示す模式図である。図５に示す例では、起動時においては、初期値である１０ｍｓの遅延時間で第１電源６と第２電源７が起動している。
【００１９】
次いで、図４に示すように、ＣＰＵ３（レジスタ設定手段３１）は、内部レジスタ３ａに対するレジスタ値の設定処理を実行するとともに（ステップＳ２）、ＣＰＵ３は、レジスタの設定値の比較処理を実行する（ステップＳ３）。
【００２０】
ここで、内部レジスタ３ａに対して設定されるレジスタ値は、ＬＳＩへ供給する電源の電源シーケンスにより書き換わってしまうことがある。電源シーケンスとは、複数の電源レールを備えるＣＰＵ、ＡＳＩＣなどのＬＳＩにおいて、その電源レールを投入／遮断する際の順番のことである。このようなＬＳＩにおいては、基本的には、高い電圧の電源レールから低い電圧の電源レールへと順番にオンに切り替えることになるが、電源を投入する順番やタイミングを間違えた場合に、内部レジスタ３ａに対して正しいレジスタ値が設定されないという現象が生じる。そして、レジスタ値が書き換わってしまった内部レジスタ３ａがシステムの起動に関係するものである場合には、起動できずにシステム停止となる可能性がある。また、レジスタ値が書き換わってしまった内部レジスタ３ａがシステム起動後にアプリケーションが使用するところに関係するものであった場合にも、システム障害に繋がる可能性がある。そこで、本実施形態においては、内部レジスタ３ａに対するレジスタ値の設定処理後に、レジスタの設定値の比較処理を実行することでレジスタ不良を判定するようにしたものである。
【００２１】
レジスタの設定値の比較処理は、まず、ステップＳ１で内部レジスタ３ａに設定された現在の全てのレジスタ値を読み取り（値読出し手段３２）、ＲＡＭ５へ保存する。次に、設定されているべき正規レジスタ値をＲＯＭ４に格納されたファームウェア４ａからリードしてＲＡＭ５へ保存した現在の設定値と比較する（判定手段３３）。
【００２２】
ステップＳ３における比較判定の結果、内部レジスタ３ａに設定された全てのレジスタ値が正しければ（ステップＳ４のＹｅｓ）、ＣＰＵ３は、内部レジスタ３ａの初期化を終了し、システムを起動させる。
【００２３】
一方、ステップＳ３における比較判定の結果、内部レジスタ３ａに設定されたレジスタ値が正しくなければ（ステップＳ４のＮｏ）、ステップＳ５に進み、ＣＰＵ３（電源シーケンス調整手段３４）は、電源シーケンス調整処理を実行する。
【００２４】
電源シーケンス調整処理について説明する。電源シーケンス調整処理としては、ＣＰＵ３が遅延時間設定信号で電源制御回路８に対して遅延時間を所定時間延長して（例えば、１回目の遅延時間を５ｍｓ延長した１５ｍｓにする）、ハードウェア設定して電源シーケンスを微調整するとともに、再度の電源のＯＦＦ→ＯＮのために、電源ＯＮ／ＯＦＦ信号で電源制御回路８をＯＦＦモードにして第１電源６と第２電源７とを切断する。なお、遅延時間はＲＯＭ４に設定されている。
【００２５】
以上のような電源シーケンス調整処理の実行後、ステップＳ１に戻り、ＣＰＵ３（再起動手段３５）は、電源制御回路８の起動処理を実行する。すなわち、図５に示すように、ＣＰＵ３が電源ＯＮ／ＯＦＦ信号で電源制御回路８をＯＮモードにすると、第１電源６と第２電源７の遅延時間は先に設定した１５ｍｓで再起動することになる。ここで、遅延時間を１０ｍｓから１５ｍｓに延長したのは、低い電圧の電源レールに対して電源を投入するタイミングを変更するためである。
【００２６】
ステップＳ１〜Ｓ５の処理は、ステップＳ３における比較判定の結果、全てのレジスタ値が正しくなるまで（ステップＳ４のＹｅｓ）、すなわち内部レジスタ３ａの初期化が終了するまで繰り返される。
【００２７】
なお、本実施形態においては内部レジスタ３ａの初期化が終了するまで遅延時間を延長して再設定して起動を行うようにしたが、リトライの回数を制限（例えば、３〜５回）するようにしても良い。
【００２８】
このように、実施形態によれば、複数の電源レールに対する電源シーケンスが規定された集積回路の内部レジスタ３ａに対して設定されたレジスタ値と予め記憶された当該内部レジスタに設定されるべき正規レジスタ値とを比較してレジスタ不良を判定し、両値が一致していないと判定した場合、電源シーケンスを調整することにより、電源制御回路８の再起動に伴って前回とは異なるタイミングで電源レールに対して電源投入することができ、内部レジスタ３ａに対して正しいレジスタ値を設定する確率を上げることができるので、今までユーザが意識していなかったところでのレジスタ不良を取り除き、安定動作することが可能なシステムを構築することができる。
【００２９】
本実施形態のＰＯＳ端末１で実行されるファームウェア４ａは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００３０】
さらに、本実施形態のＰＯＳ端末１で実行されるファームウェア４ａを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のＰＯＳ端末１で実行されるファームウェア４ａをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００３１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００３２】
１      集積回路初期化装置、電子機器
３      集積回路
３ａ    内部レジスタ
４ａ    正規値記憶手段
６      第１電源
７      第２電源
８      電源制御回路
３１    レジスタ設定手段
３２    値読出し手段
３３    判定手段
３４    電源シーケンス調整手段
３５    再起動手段
【先行技術文献】
【特許文献】
【００３３】
【特許文献１】特開平０５−６１７２４号公報
【図１】
0005502940.tif 000002
【図２】
0005502940.tif 000003
【図３】
0005502940.tif 000004
【図４】
0005502940.tif 000005
【図５】
0005502940.tif 000006