(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024083079
(43)【公開日】2024-06-20
(54)【発明の名称】電源制御集積回路
(51)【国際特許分類】
G06F 9/445 20180101AFI20240613BHJP
G06F 15/78 20060101ALI20240613BHJP
G06F 11/10 20060101ALI20240613BHJP
【FI】
G06F9/445
G06F15/78 550
G06F11/10 608
【審査請求】未請求
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2022197383
(22)【出願日】2022-12-09
(71)【出願人】
【識別番号】000116024
【氏名又は名称】ローム株式会社
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100133215
【弁理士】
【氏名又は名称】真家 大樹
(72)【発明者】
【氏名】山下 進介
【テーマコード(参考)】
5B062
5B376
【Fターム(参考)】
5B062CC05
5B062DD10
5B062JJ05
5B376EA13
(57)【要約】
【課題】起動時間を短縮した電源制御ICを提供する。
【解決手段】フラッシュメモリ120は、メインプログラムPROG2を格納する。誤り訂正回路142は、フラッシュメモリ120からプログラムPROG2を読み出す際に、誤り訂正を行う。保持レジスタ150は、誤り訂正回路142において誤り訂正が行われたことを示す情報ERRを格納する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
プログラムを格納するフラッシュメモリと、
CPU(Central Processing Unit)と、
RAM(Random Access Memory)と、
前記フラッシュメモリから所定データ幅単位でデータを読み出す際に、誤り訂正を行う誤り訂正回路と、
前記誤り訂正回路において誤り訂正が行われたことを示す情報を格納する保持レジスタと、
を備える、電源制御集積回路。
【請求項2】
前記保持レジスタの情報は、前記CPUが実行するクリア命令に応じてリセット可能である、請求項1に記載の電源制御集積回路。
【請求項3】
前記CPUは、前記保持レジスタに、誤り訂正が行われていたことを示す情報が格納されていた場合、前記保持レジスタをクリアし、前記フラッシュメモリから前記所定データ幅のデータを読み出しては前記保持レジスタの情報をチェックする動作を繰り返す、請求項2に記載の記載の電源制御集積回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電源制御IC(Integrated Circuit)に関する。
【背景技術】
【0002】
さまざまな電子機器に、電源制御集積回路が搭載される。電源制御集積回路は、CPUとフラッシュメモリを内蔵している。フラッシュメモリには、CPUが実行すべきプログラムが格納される。CPUは、このプログラムをフラッシュメモリからロードし、それを実行することで、シーケンサとして機能し、複数の電源レールを制御する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
フラッシュメモリからプログラムをロードする際に、誤りが発生していると、CPUが正しく動作しない。そのため、プログラムのロードに際して、誤り検出が行われる。この誤り検出に時間がかかると、電源制御ICの起動が遅くなる。
【0005】
本開示は係る状況においてされたものであり、そのある態様の例示的な目的のひとつは、起動時間を短縮した電源制御ICの提供にある。
【課題を解決するための手段】
【0006】
本開示のある態様は、電源制御集積回路に関する。電源制御集積回路は、プログラムを格納するフラッシュメモリと、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、フラッシュメモリから所定データ幅単位でデータを読み出す際に、誤り訂正を行う誤り訂正回路と、誤り訂正回路において誤り訂正が行われたことを示す情報を格納する保持レジスタと、を備える。
【0007】
なお、以上の構成要素を任意に組み合わせたもの、構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明あるいは本開示の態様として有効である。さらに、この項目(課題を解決するための手段)の記載は、本発明の欠くべからざるすべての特徴を説明するものではなく、したがって、記載されるこれらの特徴のサブコンビネーションも、本発明たり得る。
【発明の効果】
【0008】
本開示のある態様によれば、起動時間を短縮できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係るPMICのブロック図である。
【
図3】
図3は、
図2のPMICのブート時のCPUの処理を説明するフローチャートである。
【
図4】
図4は、比較技術に係るPMICのブロック図である。
【
図5】
図5は、比較技術に係るPMICのブート時のCPUの処理を説明するフローチャートである。
【
図6】
図6は、実施形態に係るエラー処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
(実施形態の概要)
本開示のいくつかの例示的な実施形態の概要を説明する。この概要は、後述する詳細な説明の前置きとして、実施形態の基本的な理解を目的として、1つまたは複数の実施形態のいくつかの概念を簡略化して説明するものであり、発明あるいは開示の広さを限定するものではない。この概要は、考えられるすべての実施形態の包括的な概要ではなく、すべての実施形態の重要な要素を特定することも、一部またはすべての態様の範囲を線引きすることも意図していない。便宜上、「一実施形態」は、本明細書に開示するひとつの実施形態(実施例や変形例)または複数の実施形態(実施例や変形例)を指すものとして用いる場合がある。
【0011】
一実施形態に係る電源制御集積回路は、プログラムを格納するフラッシュメモリと、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、フラッシュメモリから所定データ幅単位でデータを読み出す際に、誤り訂正を行う誤り訂正回路と、誤り訂正回路において誤り訂正が行われたことを示す情報を格納する保持レジスタと、を備える。
【0012】
誤り訂正回路は、所定データ幅単位でデータを読み出すたびに、誤りエラーチェックを行い、誤り訂正を行った場合には、保持レジスタに、誤り訂正に関する情報を書き込む。複数回の読み出しの結果、誤り訂正が一度も発生していなければ、保持レジスタの値は、初期値(たとえばゼロ)のままであるが、もし誤り訂正が一度でも発生していれば、保持レジスタの値は、初期値とは異なる値をとっている。したがって、CPUは、複数回の読み出しが完了した後に、保持レジスタを参照することで、それまでに読み出したデータが正しいかどうかをまとめて判定することができる。
【0013】
一実施形態において、保持レジスタの情報は、CPUが実行するクリア命令に応答してリセット可能であってもよい。
【0014】
一実施形態において、CPUは、保持レジスタに、誤り訂正が行われていたことを示す情報が格納されていた場合、保持レジスタをクリアし、所定データ幅のデータを読み出しては保持レジスタの情報をチェックする動作を繰り返してもよい。これにより、どのデータにおいて誤り訂正が発生したかをチェックできる。
【0015】
(実施形態)
以下、好適な実施形態について、図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施形態は、開示および発明を限定するものではなく例示であって、実施形態に記述されるすべての特徴やその組み合わせは、必ずしも開示および発明の本質的なものであるとは限らない。
【0016】
本明細書において、「部材Aが、部材Bと接続された状態」とは、部材Aと部材Bが物理的に直接的に接続される場合のほか、部材Aと部材Bが、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
【0017】
同様に、「部材Cが、部材Aと部材Bの間に接続された(設けられた)状態」とは、部材Aと部材C、あるいは部材Bと部材Cが直接的に接続される場合のほか、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
【0018】
図1は、実施形態に係るPM(パワーマネージメント)IC200のブロック図である。PMIC200は、シーケンサ210、インタフェース回路220、DC/DCコンバータ230、リニアレギュレータ240を備える。
【0019】
インタフェース回路220は、外部のコントローラ(不図示)と接続され、コントローラとの間でデータの送受信を行う。
【0020】
シーケンサ210は、PMIC200の起動が指示されると、所定のシーケンスに従って、複数の電源回路を起動する。複数の電源回路は、たとえばDC/DCコンバータ230や、リニアレギュレータ240を含む。またシーケンサ210は、PMIC200の停止が指示されると、所定のシーケンスに従って、複数の電源回路を停止する。また、スリープモードや待機モードをサポートする機器においては、外部のコントローラからの指示にしたがって、複数の電源回路のうちの一部だけを停止したりする。なお、DC/DCコンバータ230やリニアレギュレータ240の出力段は、PMIC200の外部に設けられてもよい。
【0021】
図1のPMIC200において、シーケンサ210は、CPU(Central Processing Unit)およびソフトウェアプログラムの組み合わせによって実装される。
【0022】
図2は、PMIC100のブロック図である。このブロック図は、
図1のシーケンサ210に関連する部分を示したものである。
【0023】
PMIC100は、CPU110、フラッシュメモリ120、SRAM(Static Random Access Memory)130、フラッシュコントローラ140、保持レジスタ150、バス160、ROM(Read Only Memory)170を備える。
【0024】
ROM170には、PMIC100の起動時にCPU110が実行すべきブート用プログラムPROG1が格納される。フラッシュメモリ120には、CPU110を
図1のシーケンサとして機能させるためのメインプログラムPROG2が格納される。
【0025】
PMIC100の起動時に、CPU110は、ブート用プログラムPROG1を実行し、フラッシュメモリ120に格納されているメインプログラムPROG2をSRAM130にロードする。メインプログラムPROG2がSRAM130にロードされると、CPU110は、メインプログラムPROG2を実行し、
図1のシーケンサとして機能する。
【0026】
フラッシュコントローラ140は、誤り訂正回路142を含む。誤り訂正回路142は、フラッシュメモリ120からプログラムPROG2を読み出す際に、誤りチェックおよび誤り訂正を行う。CPU110は、プログラムPROG2を所定データ幅(たとえば1ワード)単位で読み出す。フラッシュコントローラ140は、1ワードごとに、誤りチェックを行い、誤りが無い場合には読み出したデータをそのままバス160に出力し、誤りがあった場合には、訂正後のデータをバス160に出力する。
【0027】
本実施形態では、誤り訂正回路142に付随して、保持レジスタ150が設けられている。保持レジスタ150は、PMIC100の起動直後は、誤り訂正が行われていないことを示す初期値を有している。
【0028】
誤り訂正回路142は、誤りを検出すると、誤り訂正が行われたことを示す情報(エラー情報という)ERRを、保持レジスタ150に書き込む。たとえばこのエラー情報ERRは、誤り訂正を行ったビット数であってもよい。誤りを検出しない場合には、保持レジスタ150の値は変更されず、前回の値が維持される。
【0029】
以上がPMIC100の構成である。続いてその動作を説明する。
【0030】
図3は、
図2のPMIC100のブート時のCPUの処理を説明するフローチャートである。CPUは、フラッシュメモリ120から、メインプログラムPROG2を1ワード読み出す命令を実行する(S100)。
【0031】
この読み出し命令に応答して、フラッシュコントローラ140は、フラッシュメモリ120から1ワードのデータを読み出し、誤りチェックおよび誤り訂正を行う。誤り訂正を行った場合には、誤り訂正回路142は、保持レジスタ150に誤り訂正を行ったことを示すエラー情報ERRを書き込む。これはハードウェア処理であり、CPU110は介在しない。
【0032】
続いて、CPU110は、フラッシュコントローラ140からバス160に出力された1ワードを、SRAM130に書き込む命令を実行する(102)。
【0033】
そして、すべてのワードの読み出しが完了していない場合(S104のN)、処理S100に戻り、同じ処理を繰り返す。
【0034】
すべてのワードの読み出しが完了した場合(S104のY)、CPU110は、保持レジスタ150に格納されているエラー情報ERRを参照する(S106)。そして、保持レジスタ150のエラー情報ERRが訂正が行われたことを示す場合には(S108のY)、エラー処理を実行する(S110)。保持レジスタ150のエラー情報ERRが訂正が行われていないことを示す場合には(S108のN)、終了する。
【0035】
以上がPMIC100のブート時のシーケンスである。
【0036】
このPMIC100の利点は、以下で説明する比較技術との対比によって明確となる。
【0037】
図4は、比較技術に係るPMIC100Rのブロック図である。
図2のPMIC100との違いは、保持レジスタ150が省略されている点である。
【0038】
図5は、比較技術に係るPMIC100Rのブート時のCPUの処理を説明するフローチャートである。CPU110は、フラッシュメモリ120から、メインプログラムPROG2を1ワード読み出す命令を実行する(S200)。
【0039】
この読み出し命令に応答して、フラッシュコントローラ140は、フラッシュメモリ120から1ワードのデータを読み出し、誤りチェックおよび誤り訂正を行う。フラッシュコントローラ140は、誤り訂正に関連するエラー情報ERRとともに、読み出した1ワードをバス160に出力する。
【0040】
続いて、CPU110は、フラッシュコントローラ140からバス160に出力されたエラー情報ERRを参照し、誤り訂正が行われたか否かをチェックする(S202)。そして誤り訂正が行われていた場合には(S202のY)、エラー処理S208を実行する。誤り訂正が行われていない場合には(S202のN)、読み出された1ワードを、SRAM130に書き込む(S204)。
【0041】
そして、すべてのワードの読み出しが完了していない場合(S206のN)、処理S200に戻り、同じ処理を繰り返す。すべてのワードの読み出しが完了した場合(S206のY)、ブート処理は終了する。
【0042】
この比較技術では、1ワードの読み出しごとに、CPU110が、エラー情報ERRを参照して、訂正の有無を判定(S02)する必要がある。そのため、CPU110の処理量が多くなり、起動に多くの時間がかかる。
【0043】
これに対して実施形態では、1ワードの読み出し毎に、CPU110による判定は行わず、すべてのワードの読み出しが完了した後に、1回だけ、保持レジスタ150を参照し、訂正の有無をチェックする。これにより、ブート時のCPU110の処理を簡素化でき、起動時間を短縮できる。
【0044】
続いて、
図3のエラー処理S110の一例を説明する。
【0045】
図6は、実施形態に係るエラー処理S110の一例を示すフローチャートである。このエラー処理S110の前提として、保持レジスタ150の情報は、CPU110が実行するクリア命令に応じてリセット可能となっている。たとえば、PMIC100は、クリア用レジスタを有し、クリア用レジスタに値1が書き込まれると、保持レジスタ150を初期化するように構成される。あるいはCPU110が直接、保持レジスタ150に初期値を書き込めるように構成してもよい。
【0046】
はじめに、CPU110は、クリア命令を実行し、保持レジスタ150の値をクリアする(S300)。
【0047】
CPU110は、フラッシュメモリ120から、メインプログラムPROG2を1ワード読み出す命令を実行する(S302)。
【0048】
この読み出し命令に応答して、フラッシュコントローラ140は、フラッシュメモリ120から1ワードのデータを読み出し、誤りチェックおよび誤り訂正を行う。フラッシュコントローラ140は、読み出した1ワードをバス160に出力し、また誤り訂正を行った場合には、関連するエラー情報ERRを保持レジスタ150に書き込む。
【0049】
続いて、CPU110は、保持レジスタ150のエラー情報ERRを参照し(S304)、誤り訂正が行われたか否かをチェックする(S306)。そして誤り訂正が行われていた場合には(S306のY)、エラー処理S110を終了する。この段階で、どのワードを読み出した段階で、エラーが発生していたかを確認することができる。
【0050】
誤り訂正が行われていない場合には(S306のN)、読み出された1ワードを、SRAM130に書き込む(S308)。
【0051】
そして、すべてのワードの読み出しが完了していない場合(S310のN)、処理S302に戻り、同じ処理を繰り返す。すべてのワードの読み出しが完了した場合(S310のY)、エラー処理S110は終了する。
【0052】
このエラー処理S110を実行することにより、どのワードの読み出しにおいて、エラーが発生しているかをチェックすることができる。もし、エラー処理S110を実行した結果、一度も誤り訂正が発生しなかった場合には、SRAM130に読み出されたプログラムPROG2にもとづいて、動作を行ってもよい。
【0053】
なお、エラー処理S110において、書き込み処理S308は省略してもよい。この場合でも、誤り訂正が発生したワードを特定することは可能である。
【0054】
実施形態では、複数チャンネルの電源(電源レール)を備えるPMICについて説明したが、本開示の適用はそれに限定されず、単一の電源レールの電源制御ICにも、本開示は適用可能である。
【0055】
本開示に係る実施形態について、具体的な用語を用いて説明したが、この説明は、理解を助けるための例示に過ぎず、本開示あるいは請求の範囲を限定するものではない。本発明の範囲は、請求の範囲によって規定されるものであり、したがって、ここでは説明しない実施形態、実施例、変形例も、本発明の範囲に含まれる。
【符号の説明】
【0056】
100 PMIC
110 CPU
120 フラッシュメモリ
130 SRAM
140 フラッシュコントローラ
142 誤り訂正回路
150 保持レジスタ
160 バス
170 ROM
200 PMIC
210 シーケンサ
220 インタフェース回路
230 DC/DCコンバータ
240 リニアレギュレータ