(57)【要約】【課題】、マスクオプション、トリミング、専用端子のいずれをも必要とせずに、機能マクロの機能選択、特性補正が可能で、且つマイクロコンピュータの動作開始を早めるように改善されたマイクロコンピュータを提供する。【解決手段】本発明のマイクロコンピュータは、メインクロック信号生成回路に加えて短時間で安定するサブクロック信号を発生するリング発振回路を有し、サブクロック信号に同期させて初期設定データをフラッシュＲＯＭから読み出して設定データレジスタに格納し、機能選択、特性補正が可能な機能マクロを初期設定するので、メインクロック信号が必要とするクロック安定化時間の間に機能マクロの設定を完了することができ、クロック安定化時間の経過後メインクロック信号に切り替えることにより直ちにプログラムを実行することができる。【選択図】      図１
2004355362.tif 000002
【特許請求の範囲】
【請求項１】
システムクロックに応答してプログラムを実行するＣＰＵと、
メインクロック信号を生成して出力するメインクロック生成回路と、
前記メインクロック生成回路とは独立して設けられサブクロック信号を発生して出力する発振回路と、
初期設定データを保持する設定データレジスタと、
制御信号に応答して前記システムクロック信号として前記サブクロック信号を選択する機能と、前記システムクロック信号のパルスをカウントする機能と、不揮発的に記憶された前記初期設定データを読み出して前記設定データレジスタに設定する機能と、前記初期設定データのうちのクロック安定化時間データと前記パルスのカウント値とが一致したときに前記システムクロック信号として前記メインクロック信号を選択して出力する機能とを有する設定制御部と、
を備えることを特徴とするマイクロコンピュータ。
【請求項２】
プログラムとクロック安定化時間データおよび設定可変な機能マクロのスイッチデータを含む初期設定データとを記憶した不揮発性メモリと、
第１の内部リセット信号に応答して前記初期設定データの読み出し準備を開始しシステムクロック信号に同期して前記不揮発性メモリからの前記初期設定データの読み出しを制御する初期設定データ読み出し制御手段と、
システムクロックに応答して前記プログラムを実行するＣＰＵと、
メインクロック信号を生成して出力するメインクロック生成回路と、
前記メインクロック生成回路とは独立して設けられサブクロック信号を発生して出力する発振回路と、
前記不揮発性メモリから読み出された前記初期設定データを保持する設定データレジスタと、
制御信号に応答して第１の内部リセット信号を非活性レベルとし前記システムクロック信号として前記サブクロック信号を選択して出力すると共にシステムクロック信号のパルスのカウントを開始し、前記設定データレジスタに保持された前記クロック安定化時間データと前記パルスのカウント値とが一致したときに第２の内部リセット信号を非活性レベルとするとともに前記システムクロック信号として前記メインクロック信号を選択して出力する設定制御部と、
前記設定データレジスタの出力により初期設定されるスイッチ回路を含む設定可変な機能マクロと、
を備えることを特徴とするマイクロコンピュータ。
【請求項３】
前記初期設定データ読み出し制御手段は、前記ＣＰＵから独立して設けられた専用のメモリ制御回路であり、
前記メモリ制御回路は前記第１の内部リセット信号が非活性レベルになると初期設定データの読み出し制御を開始し
前記ＣＰＵは、前記第２の内部リセット信号が非活性レベルになるとリセット状態が解除されることを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項４】
前記発振回路は、前記不揮発性メモリに内蔵されるリング発振回路と兼用されることを特徴とする請求項３に記載のマイクロコンピュータ。
【請求項５】
前記発振器に換えて、前記不揮発性メモリに内蔵される発振回路の出力を分周し前記サブクロック信号として出力する分周回路を備えることを特徴とする請求項３に記載のマイクロコンピュータ。
【請求項６】
前記初期設定データ読み出し制御手段は、初期設定データの読み出し制御プログラムが記憶されたマスクＲＯＭと前記初期設定データの読み出し制御プログラムを実行する前記ＣＰＵとからなり、
前記ＣＰＵは、前記第１の内部リセット信号が非活性レベルになるとリセット状態が解除されて前記初期設定データの読み出し制御プログラムの実行を開始することを特徴とする請求項２に記載のマイクロコンピュータ。
【請求項７】
前記発振回路は、前記不揮発性メモリに内蔵される発振回路と兼用されることを特徴とする請求項６に記載のマイクロコンピュータ。
【請求項８】
前記発振器に換えて、前記不揮発性メモリに内蔵される発振回路の出力を分周し前記サブクロック信号として出力する分周回路を備えることを特徴とする請求項６に記載のマイクロコンピュータ。
【請求項９】
前記設定制御部は、
内部にクロック安定化時間カウント回路を有し、前記外部からのリセット信号が非活性レベルに変化したときにこれに応答して前記第１の内部リセット信号を非活性レベルに変化させるとともに前記クロック安定化時間カウント回路が前記システムクロック信号のパルスのカウントを開始し、前記設定データレジスタからクロック安定化時間データが送られると該クロック安定化時間データを前記クロック安定化時間カウント回路が保持し、前記システムクロック信号のパルスのカウント値が前記クロック安定化時間データと一致したときに前記第２の内部リセット信号を非活性レベルに変化させるリセット制御回路と、
前記メインクロック信号と前記サブクロック信号とを入力し、前記第１の内部リセット信号が非活性レベルで前記第２の内部リセット信号が活性レベルのときには前記サブクロック信号を選択して前記システムクロック信号として出力し、前記第２の内部リセット信号が非活性レベルのときには前記メインクロック信号を選択して前記システムクロック信号として出力するクロック制御回路と、
を有していることを特徴とする請求項２乃至８の何れかに記載のマイクロコンピュータ。
【請求項１０】
前記クロック安定化時間カウント回路は、
前記システムクロックのパルスをカウントし出力するカウンタと、
前記クロック安定化時間データが入力され保持されるコンペアレジスタと、
前記カウンタのカウント値出力と前記コンペアレジスタに保持された前記クロック安定化時間データとを比較し一致したときに前記第２の内部リセット信号を非活性レベルにする比較器と、
を有することを特徴とする請求項９に記載のマイクロコンピュータ。
【請求項１１】
前記メインクロック生成回路が水晶発振回路であることを特徴とする請求項１乃至１０の何れかに記載のマイクロコンピュータ。
【請求項１２】
前記メインクロック生成回路がＰＬＬ若しくはＤＬＬであることを特徴とする請求項１乃至１０の何れかに記載のマイクロコンピュータ。
【請求項１３】
通常動作状態でシステムクロック信号に使用されるメインクロック信号と短期間で信号が安定するサブクロック信号とを制御信号に応答して選択し出力するステップと、
前記システムクロック信号として選択された前記サブクロック信号のパルスをカウントするステップと、
前記システムクロック信号として選択された前記サブクロック信号に同期してクロック安定化時間データおよび設定可変な機能マクロのスイッチデータを含む初期設定データを不揮発性メモリから読み出すステップと、
設定データレジスタに前記不揮発性メモリから読み出された前記初期設定データを格納するステップと、
前記システムクロック信号のパルスのカウント値と前記クロック安定化時間データとの一致を検出したとき前記メインクロック信号を前記システムクロック信号として選択変更し出力するステップと、
を備えることを特徴とするマイクロコンピュータの初期設定方法。
【請求項１４】
前記初期設定データ読み出し制御手段は、ＣＰＵから独立して設けられた専用のメモリ制御回路であることを特徴とする請求項１３に記載のマイクロコンピュータの初期設定方法。
【請求項１５】
前記初期設定データ読み出し制御手段は、初期設定データの読み出し制御プログラムが記憶されたマスクＲＯＭと前記初期設定データの読み出し制御プログラムを実行するＣＰＵとからなることを特徴とする請求項１３に記載のマイクロコンピュータの初期設定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロコンピュータに関し、特に、機能選択、特性補正の初期設定が可能なマイクロコンピュータおよびその初期設定方法に関する。
【０００２】
【従来の技術】
シングルチップマイクロコンピュータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリおよび種々の周辺機能マクロを１チップ上に集積した装置である。シングルチップマイクロコンピュータでは、例えば、入出力ポートのプルアップを有効とするか否か、マイクロコンピュータの起動時にウオッチドッグタイマをデフォルト動作させるか否か、等の周辺機能の初期設定に対する要求がユーザ毎に異なっている。また、Ａ／Ｄコンバータマクロの精度向上ためのオフセット電圧の補正、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）の高電界によるストレス低減のための書き込み／消去電圧の調整、などの製造後の微調整が特性向上および歩留まり向上に有効である。
【０００３】
このような要求に対して、マスクパタンを変更することにより機能を初期設定するマスクオプション、フューズの切断などを用いて特性を調整するトリミング、外部からの入力端子の電圧レベルにより機能や特性を選択するための専用端子設置、等の方法が広く使用されている。しかしながら、マスクオプションでは製品種類が増大し、トリミングでは製造工程が複雑化し、専用端子設置では端子数が増大するという欠点がある。
【０００４】
不揮発性メモリを内蔵したマイクロコンピュータにおいてこれらの問題点を解決できる従来例が特許文献１に開示されている。図１２はこの従来例のブロック図である。
【０００５】
従来例のマイクロコンピュータ４００は、機能マクロ内の配線の接続を切り替えるスイッチデータを格納するフラッシュＲＯＭ４１と、その格納データを入力し保持するレジスタ４２と、レジスタ４２の出力が供給された機能マクロ４３と、フラッシュＲＯＭ４１およびレジスタ４２を制御する制御回路４４を備えている。
【０００６】
マイクロコンピュータ４００の起動時に、制御回路４４は先ずフラッシュＲＯＭ４１に対して読み出し命令を出し、同時にレジスタ４２にアドレス信号と書き込み信号を送り、フラッシュＲＯＭ４１からレジスタ４２へのデータ転送を行う。データ転送後に、レジスタ４２が常時出力状態となることにより、フラッシュＲＯＭ４１に格納されていたスイッチデータが機能マクロ４３に供給され、機能マクロ４３が所望の機能となるように配線の接続が切り替えられる。このように、この従来例では、予めフラッシュＲＯＭ４１に格納されスイッチデータがマイクロコンピュータの起動時にレジスタ４２に移され、機能マクロ内のスイッチが設定されることにより機能マクロ４３の機能が選択される。このため、フラッシュＲＯＭ４１に格納するスイッチデータを書き換えるだけで、マスクオプション、トリミング、専用端子のいずれをも必要とせずに、多種類の機能が実現できる。
【０００７】
【特許文献１】
特開２００１−０９２８０３号公報（段落００１１〜００１８、図２）
【０００８】
【発明が解決しようとする課題】
上記特許文献１では言及されていないが、制御回路の制御４４のもとに複数のスイッチデータを順次フラッシュＲＯＭ４１からレジスタ４２へ転送するには、同期信号としてクロック信号が必要である。しかしながら、クロック信号は、それが水晶発振回路等を用いてチップ内で生成されてマイクロコンピュータに供給される場合であっても、または外部から供給された外部クロック信号をＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）やＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）により位相調整したのちにマイクロコンピュータに供給される場合であっても、マイクロコンピュータを起動後に安定したクロック信号が内部に供給されるまでには数ミリ秒（ｍｓ）以上のクロック安定化時間が必要である。すなわち、上記従来例では、マイクロコンピュータが起動されてからクロック安定化時間経過した後にフラッシュＲＯＭの読み出し準備が開始され、さらに所定の読み出し準備時間後に漸くフラッシュＲＯＭからレジスタへスイッチデータの転送が開始されることになる。マイクロコンピュータの機能確定には、さらにフラッシュＲＯＭからレジスタへの転送が完了し、機能マクロ内のスイッチがスイッチデータに従って設定されるまで待たなければならないので、実質的なマイクロコンピュータの動作開始が遅れてしまうという問題点が残っていた。
【０００９】
本発明は上記のような状況を鑑みてなされたものであり、本発明の目的は、マスクオプション、トリミング、専用端子のいずれをも必要とせずに、機能マクロの機能選択、特性補正が可能で、且つマイクロコンピュータの動作開始を早めるように改善されたマイクロコンピュータを提供することである。
【００１０】
【課題を解決するための手段】
本発明のマイクロコンピュータは、システムクロックに応答してプログラムを実行するＣＰＵと、メインクロック信号を生成して出力するメインクロック生成回路と、前記メインクロック生成回路とは独立して設けられサブクロック信号を発生して出力するリング発振回路と、初期設定データを保持する設定データレジスタと、制御信号に応答して前記システムクロック信号として前記サブクロック信号を選択する機能と、前記システムクロック信号のパルスをカウントする機能と、不揮発的に記憶された前記初期設定データを読み出して前記設定データレジスタに設定する機能と、前記初期設定データのうちのクロック安定化時間データと前記パルスのカウント値とが一致したときに前記システムクロック信号として前記メインクロック信号を選択して出力する機能とを有する設定制御部と、を備えて構成される。
【００１１】
または、本発明のマイクロコンピュータは、プログラムとクロック安定化時間データおよび設定可変な機能マクロのスイッチデータを含む初期設定データとを記憶した不揮発性メモリと、第１の内部リセット信号に応答して前記初期設定データの読み出し準備を開始しシステムクロック信号に同期して前記不揮発性メモリからの前記初期設定データの読み出しを制御する初期設定データ読み出し制御手段と、システムクロックに応答して前記プログラムを実行するＣＰＵと、メインクロック信号を生成して出力するメインクロック生成回路と、前記メインクロック生成回路とは独立して設けられサブクロック信号を発生して出力するリング発振回路と、前記不揮発性メモリから読み出された前記初期設定データを保持する設定データレジスタと、制御信号に応答して第１の内部リセット信号を非活性レベルとし前記システムクロック信号として前記サブクロック信号を選択して出力すると共にシステムクロック信号のパルスのカウントを開始し、前記設定データレジスタに保持された前記クロック安定化時間データと前記パルスのカウント値とが一致したときに第２の内部リセット信号を非活性レベルとするとともに前記システムクロック信号として前記メインクロック信号を選択して出力する設定制御部と、前記設定データレジスタの出力により初期設定されるスイッチ回路を含む設定可変な機能マクロと、を備えて構成される。
【００１２】
また、本発明のマイクロコンピュータの初期設定方法は、通常動作状態でシステムクロック信号に使用されるメインクロック信号と短期間で信号が安定するサブクロック信号とを制御信号に応答して選択し出力するステップと、前記システムクロック信号として選択された前記サブクロック信号のパルスをカウントするステップと、前記システムクロック信号として選択された前記サブクロック信号に同期してクロック安定化時間データおよび設定可変な機能マクロのスイッチデータを含む初期設定データを不揮発性メモリから読み出すステップと、設定データレジスタに前記不揮発性メモリから読み出された前記初期設定データを格納するステップと、前記システムクロック信号のパルスのカウント値と前記クロック安定化時間データとの一致を検出したとき前記メインクロック信号を前記システムクロック信号として選択変更し出力するステップと、を備えることを特徴とするマイクロコンピュータの初期設定方法。
【００１３】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について添付図面を参照しながら詳細に説明する。なお、以下の説明は、本発明の実施の形態を例示するものであり、本発明が以下の説明に限定されて解釈されるものではない。
【００１４】
図１は、本発明の第１の実施の形態のブロック図である。図１において、マイクロコンピュータ１００は、メモリ部１と、ＣＰＵ２と、メインクロック生成回路３と、リング発振回路４と、設定データレジスタ５と、設定制御部６と、設定データレジスタ５の出力により初期設定されるスイッチ回路を含む設定可変な機能マクロを備えて構成される。
【００１５】
メモリ部１は、記憶領域の一部に機能選択または特性補正が設定可変な機能マクロ（図１の周辺マクロ−Ａ、周辺マクロ−Ｂ）を設定するためのスイッチデータとクロック安定化時間データとを含む初期設定データを不揮発的に記憶するフラッシュＲＯＭ１１と、初期設定データ読み出し制御手段としてシステムクロック信号ＣＬＫに同期してフラッシュＲＯＭ１１からの初期設定データの読み出しを制御する専用のメモリ制御回路１２とを有する。メモリ制御回路１２は、第１の内部リセット信号／ＲＥＳＥＴ１が非活性レベルになってからフラッシュＲＯＭ１１の読み出し電圧が設定され、最初の読み出しアドレスが設定されるまでの所定の動作準備期間が経過した後に、リード信号／ＲＤをフラッシュＲＯＭ１１に送る。フラッシュＲＯＭ１１は、リード信号／ＲＤを入力したときにアドレス信号ＡＤで示されるアドレスに格納されたデータを初期設定データＳＤＡＴＡとして出力する。フラッシュＲＯＭが、ユーザがマイクロコンピュータに所望の動作を実行させるように作成したユーザプログラムやデータが格納されるユーザ領域と、ユーザのアクセスが禁止された製造者領域とに分割されている場合には、ユーザが選択できる機能についてのスイッチデータと設定するクロック安定化時間とはユーザ設定データＳＤＡＴＡ（Ｕ）としてユーザ領域に格納され、製造者のみが設定できる製造者設定データＳＤＡＴＡ（Ｍ）は製造者領域に格納される。なお、先頭に／（スラッシュ）が付されている信号は、ローレベルがアクティブレベルであることを表す。
【００１６】
ＣＰＵ２は、第２の内部リセット信号／ＲＥＳＥＴ２が非活性レベルになった後にシステムクロック信号ＣＬＫに同期してフラッシュＲＯＭ１１からユーザプログラムをフェッチし実行する。
【００１７】
メインクロック生成回路３はユーザプログラムの実行動作などの通常動作状態においてシステムクロック信号に使用されるメインクロック信号ＭＣＫを生成して出力する。リング発振回路４は、マイクロコンピュータ１００の電源がオンになるとサブクロック信号ＳＣＫを発生して出力する。リング発振回路４は、奇数段のインバータをリング上に縦列接続して構成される。
【００１８】
メインクロック生成回路３は、図２（ａ）に示すように、マイクロコンピュータチップ内でメインクロック信号ＭＣＫを発生する例えば水晶発振回路のような発振回路であってもよい。または、メインクロック生成回路３は、図２（ｂ）に示すように、外部クロック信号を入力し位相調整してメインクロック信号ＭＣＫを生成する例えばＰＬＬ、ＤＬＬのような位相同期回路であってもよい。
【００１９】
設定データレジスタ５は、フラッシュＲＯＭから出力された初期設定データＳＤＡＴＡを読み込みクロック安定化時間データＮＣＮＴを設定制御部６へ出力するとともにスイッチデータを機能選択または特性補正が設定可変な機能マクロ（周辺マクロ−Ａ、周辺マクロ−Ｂ）のそれぞれに対して出力する。
【００２０】
設定制御部６は、外部からのリセット信号／ＲＥＳＥＴの非活性レベルへの変化に応答して第１の内部リセット信号／ＲＥＳＥＴ１を非活性レベルとするとともにシステムクロック信号ＣＬＫとしてサブクロック信号ＳＣＫを選択して出力し、同時にシステムクロック信号ＣＬＫのパルスのカウントを開始する。設定制御部６は、システムクロック信号ＣＬＫのパルスのカウントを行い、カウント値が先行して設定データレジスタ５から入力され保持されているクロック安定化時間データＮＣＮＴと等しくなったときに、第２の内部リセット信号／ＲＥＳＥＴ２を非活性レベルとするとともに、システムクロック信号ＣＬＫとしてメインクロック信号ＭＣＫを選択して出力する。
【００２１】
さらに詳細には、設定制御部６はリセット制御回路１３とクロック制御回路１５とを有している。リセット制御回路１３は、外部からのリセット信号／ＲＥＳＥＴが非活性レベルに変化したときにこれに応答して第１の内部リセット信号／ＲＥＳＥＴ１を非活性レベルにする。また、リセット制御回路１３は、クロック安定化時間カウント回路１４を有し、外部リセット信号／ＲＥＳＥＴの非活性レベルへの変化に応答してシステムクロック信号ＣＬＫのパルスのカウントを開始し、設定データレジスタ５からクロック安定化時間データＮＣＮＴが送られるとこれを保持し、システムクロック信号ＣＬＫのカウント値（すなわちクロック安定化時間のカウント値）がクロック安定化時間データＮＣＮＴに達したときに第２の内部リセット信号／ＲＥＳＥＴ２を非活性レベルにする。クロック制御回路１５は、メインクロック信号ＭＣＫとサブクロック信号ＳＣＫとを入力し、第１の内部リセット信号／ＲＥＳＥＴ１が非活性レベルで第２の内部リセット信号／ＲＥＳＥＴ２が活性レベルのときにはサブクロック信号ＳＣＫを選択しシステムクロック信号ＣＬＫとして出力し、第２の内部リセット信号／ＲＥＳＥＴ２が非活性レベルのときにはメインクロック信号ＭＣＫを選択しシステムクロック信号ＣＬＫとして出力する。
【００２２】
図３は、クロック安定化時間カウント回路１４の構成の一例を示すブロック図である。クロック安定化時間カウント回路１４は、入力されるシステムクロックＣＬＫのパルスをカウントし出力するカウンタ３１と、クロック安定化時間データＮＣＮＴが設定されるコンペアレジスタ３２と、カウンタ３１のカウント値出力とコンペアレジスタ３２に設定されたクロック安定化時間データＮＣＮＴとを比較し一致したときに第２の内部リセット信号／ＲＥＳＥＴ２を非活性レベルにする比較器３３とを有している。
【００２３】
コンペアレジスタ３２は、最初に（例えば外部リセット信号／ＲＥＳＥＴが非活性レベルに変化したときに）デフォルト値として設定可能な最大値が設定されるように構成される。カウンタ３１は、システムクロック信号ＣＬＫとしてサブクロック信号ＳＣＫが選択されてパルスをカウントできる状態になると自動的にカウントを開始する。カウンタ３１にてパルスをカウント中にコンペアレジスタ３２にクロック安定化時間ＮＣＮＴが入力され設定される。このとき、カウンタ３１はその時点でのカウント値を出力しているが、クロック安定化時間ＮＣＮＴの方がカウント値よりもずっと大きい値であるためにカウントが支障なく継続される。カウンタ３１の出力とコンペアレジスタ３２に設定されたクロック安定化時間データＮＣＮＴとが一致したときに比較器３３がこれを検出し、第２の内部リセット信号／ＲＥＳＥＴ２を非活性レベルにする。
【００２４】
図４は、本実施の形態の起動時の動作を示すタイミング図である。図４を参照してマイクロコンピュータ１００の起動時の動作を説明する。
【００２５】
マイクロコンピュータ１００の電源がオンになるとメインクロック生成回路３およびリング発振回路４が動作を開始する。すでに述べたように、メインクロック生成回路３が例えば水晶発振回路であるときには、微弱な振動を徐々に増幅して安定なメインクロック信号ＭＣＫが得られるまでに数ミリ秒の時間を要する。これに対して、リング発振回路４は短時間で発振が安定するので、サブクロック信号ＳＣＫは短期間で周期、位相、振幅共に安定した信号となる。
【００２６】
マイクロコンピュータ１００の電源がオンになった時、図示しないパワーオンリセット回路により電源オンから所定時間経過の後、外部リセット信号／ＲＥＳＥＴが非活性レベルになり、これに応答してリセット制御回路１３が第１の内部リセット信号／ＲＥＳＥＴ１を非活性レベルにする。第１の内部リセット信号／ＲＥＳＥＴ１が非活性レベルになることによりクロック制御回路１５はサブクロック信号ＳＣＫを選択しシステムクロック信号ＣＬＫとして出力する。同時に、クロック安定化時間カウント回路１４がシステムクロックＣＬＫのパルスのカウントを開始する。また、フラッシュＲＯＭ１１に格納された初期設定データの読み出し準備が、システムクロック信号ＣＬＫとして選択されたサブクロック信号ＳＣＫに同期して開始される。
【００２７】
読み出し開始アドレスであるユーザ設定データ格納アドレスＡＤ（Ｕ）の設定が完了しフラッシュＲＯＭ１１の読み出し準備が完了するとメモリ制御回路１２はリード信号／ＲＤを活性レベルにする。これにより、フラッシュＲＯＭ１１のユーザ設定データ格納アドレスＡＤ（Ｕ）からユーザ設定データＳＤＡＴＡ（Ｕ）が読み出されて出力され、クロック安定化時間データＮＣＮＴおよびユーザが設定したスイッチデータが設定データレジスタ５に格納される。同様に、製造者設定データ格納アドレスＡＤ（Ｍ）から製造者設定データＳＤＡＴＡ（Ｍ）が読み出されて出力され設定データレジスタ５に追加格納される。
【００２８】
続いて、設定データレジスタ５に格納されたユーザ設定データＳＤＡＴＡ（Ｕ）のうちクロック安定化時間データＮＣＮＴがクロック安定化時間カウント回路１４に設定されるとともに、ユーザが設定を選択できる機能マクロ（例えば図１の周辺マクロ−Ａ）にスイッチデータが送られ、ユーザが設定可変な機能マクロ内のスイッチ回路がスイッチデータにしたがって設定される。同様に、製造者が設定を選択できる機能マクロ（例えば図１の周辺マクロ−Ｂ）にスイッチデータが送られ、製造者が設定可変な機能マクロ内のスイッチ回路がスイッチデータにしたがって設定される。このようにしてクロック安定化時間カウント回路１４へのクロック安定化時間データの設定および各設定可変な機能マクロ内のスイッチ回路の設定が行われる。
【００２９】
クロック安定化時間カウント回路１４がシステムクロック信号ＣＬＫとして選択されているサブクロック信号ＳＣＫのパルスをカウントし、クロック安定化時間データＮＣＮＴに一致したときにクロック安定化時間カウント回路１４は第２の内部リセット信号／ＲＥＳＥＴ２を非活性レベルにする。
【００３０】
クロック制御回路１５は、第２の内部リセット信号／ＲＥＳＥＴ２の非活性レベルへの変化に応答して選択する信号をサブクロック信号ＳＣＫからメインクロック信号ＭＣＫに変更し、メインクロック信号ＭＣＫをシステムクロック信号ＣＬＫとして出力する。ＣＰＵ２は、第２の内部リセット信号／ＲＥＳＥＴ２の非活性化によりリセット状態から解除された後に、システムクロック信号ＣＬＫとして選択されたメインクロック信号ＭＣＫに同期してフラッシュＲＯＭ１１のユーザ領域に格納されたユーザプログラムを順次読み出し実行する。
【００３１】
図５は、設定データレジスタ５に格納されたスイッチデータによる周辺マクロの機能選択、特性補正の例を示す図であり、図５（ａ）は、ユーザが設定可変な機能マクロ（例えば図１の周辺マクロ−Ａ）の一例を示し、図５（ｂ）は製造者が設定可変な機能マクロ（例えば図１の周辺マクロ−Ｂ）の一例を示す。
【００３２】
図５（ａ）は、周辺マクロ−Ａが入出力ポートであり、ユーザが入出力ポートのプルアップ抵抗Ｒｐを設けるか否かを、スイッチデータに基づくスイッチ回路の設定により選択できるように構成された例である。ユーザが選択可能な他の例として、ウオッチドッグタイマが起動時に自動的に動作するように設定するかまたはＣＰＵからの指示により動作開始するかをスイッチデータにより選択できるようにしてもよい。さらに他の応用例としてフラッシュＲＯＭのユーザプログラム格納領域への外部からのアクセスが禁止されるか許可されるかをスイッチデータにより選択できるようにしてもよい。
【００３３】
図５（ｂ）は、周辺マクロ−ＢがＡ／Ｄ変換器であり、製造者が出荷前にＡ／Ｄ変換器のオフセット量をスイッチデータでオフセット抵抗ＲＯ１またはＲＯ２の何れを選択するかを、スイッチデータに基づくスイッチ回路の設定により補正できるように構成された例である。製造者が選択可能な他の例として、低電圧インタフェースやパワーオンクリア回路等のアナログ回路の特性をスイッチデータにより調整できるように応用してもよい。また、フラッシュＲＯＭの書き込み／消去時の高電圧印加によるメモリセルの特性劣化を軽減するために、スイッチデータによりフラッシュＲＯＭの書き込み／消去用の電圧を発生する昇圧回路の出力電圧を調整できるように応用してもよい。また、クロック安定化時間の計時精度をより向上させるために、リング発振器の発振周波数をスイッチデータにより調整できるように応用してもよい。
【００３４】
さらに、スイッチデータによる機能設定は、従来は専用端子を用いて設定していたテストモードへの切り替え設定、プログラム開発用で内部のＲＯＭを使用せずに外部から命令を供給するＲＯＭなしモードへの切り替え設定およびＰＬＬの逓倍率の設定等にも応用できる。
【００３５】
以上のように、本実施形態のマイクロコンピュータは、メインクロック信号生成回路に加えて短時間で安定するサブクロック信号ＳＣＫを発生するリング発振回路を有し、サブクロック信号ＳＣＫに同期させてスイッチデータをフラッシュＲＯＭから読み出して設定データレジスタに格納し、機能選択、特性補正の設定が可変な機能マクロを初期設定するので、メインクロック信号が必要とするクロック安定化時間の間に設定可変な機能マクロの設定を完了することができ、クロック安定化時間の経過後メインクロック信号に切り替えることにより直ちにプログラムを実行することができる。
【００３６】
なお、本実施形態では、不揮発的に初期設定データを記録するメモリがフラッシュＲＯＭである場合を例として説明したがこれに限定されるものではない。メモリが電気的に書き込み可能な不揮発性メモリであれば本実施形態におけるフラッシュＲＯＭと置換可能である。また、フラッシュＲＯＭはユーザ領域と製造者領域に区別されているものとして説明したが、本実施の形態は電気的に書き込み可能な不揮発性メモリがユーザ領域と製造者領域とを区別せずに用いられる場合においても実施可能である。この場合にはユーザ設定データと製造者設定データとがメモリ内に混在して記憶されることになるが、基本的には本実施形態の実現に支障は生じない。
【００３７】
図６は、本発明の第２の実施の形態を示すブロック図である。マイクロコンピュータ１００ａは、メモリ部１ａ内にフラッシュＲＯＭ１１の書き込み／消去用電圧を発生する昇圧回路にクロック信号を供給するリング発振回路１６を備えており、図１の第１の実施の形態におけるリング発振器４の役割をリング発振器１６が兼ねて構成されている。マイクロコンピュータ１００ａでは、サブクロック信号ＳＣＫがリング発振回路１６から供給されてクロック制御回路１５に入力する点が第１の実施の形態と異なるが、ＣＰＵ２，メインクロック生成回路３，設定データレジスタ５およびリセット設定制御部６については第１の実施の形態と同様であり、マイクロコンピュータ１００ａの動作についても図４のタイミング図に示された第１の実施の形態のマイクロコンピュータ１００の動作と同様である。したがって、本実施形態のマイクロコンピュータ１００ａは、第１の実施の形態と同様に、メインクロック信号が必要とするクロック安定化時間の間に機能可変な機能マクロの設定を完了することができるので、クロック安定化時間の経過後直ちにプログラムを実行することができる。
【００３８】
なお、本実施形態においても第１の実施の形態と同様に、メインクロック生成回路３は、水晶発振回路などの発振回路であってもよく、ＰＬＬ、ＤＬＬ等の位相を調整する回路であってもよい。また、フラッシュＲＯＭは他の電気的に書き込み可能な不揮発性メモリに置換可能であり、本実施例は不揮発性メモリにユーザ領域と製造者領域の区別を設けずに用いても支障なく実施できる。
【００３９】
図７は、本発明の第３の実施の形態を示すブロック図である。マイクロコンピュータ１００ｂは、メモリ部１ａ内にフラッシュＲＯＭ１１の書き込み／消去用電圧を発生する昇圧回路にクロック信号を供給するリング発振回路１６を備えている点では、図６の第２の実施の形態と同様であるが、本実施の形態のマイクロコンピュータ１１ｂは、さらに、メモリ部１ａ内のリング発振回路１６が発生する昇圧用クロック信号ＲＣＫを入力し所定の分周比で分周してサブクロック信号ＳＣＫとして出力する分周回路７を有している。本実施の形態は、分周回路７が追加された点のみが第２の実施の形態と異なり、この点以外は第２の実施の形態と同様であり、マイクロコンピュータ１００ｂの動作についても図４のタイミング図に示されたマイクロコンピュータ１００の動作と同様である。したがって、本実施形態のマイクロコンピュータ１００ａは、第１の実施の形態、第２の実施の形態と同様に、メインクロック信号が必要とするクロック安定化時間の間に機能可変な機能マクロの設定を完了することができるので、クロック安定化時間の経過後直ちにプログラムを実行することができる。本実施例では昇圧用クロック信号ＲＣＫの周波数がメインクロック信号ＭＣＫに比較して遙かに高いためにメモリ部１の動作が追随できないなどの理由でＲＣＫを直接にサブクロック信号として用いることができない場合においても、分周することによりサブクロック信号ＳＣＫとして用いることが可能となる。
【００４０】
なお、本実施形態においても第１、第２の実施の形態と同様に、メインクロック生成回路３は、水晶発振回路などの発振回路であってもよく、ＰＬＬ、ＤＬＬ等の位相を調整する回路であってもよい。また、フラッシュＲＯＭは他の電気的に書き込み可能な不揮発性メモリに置換可能であり、本実施例は不揮発性メモリにユーザ領域と製造者領域の区別を設けずに用いても支障なく実施できる。
【００４１】
図８は、本発明の第４の実施の形態を示すブロック図である。リング発振器４から供給されるサブクロック信号ＳＣＫの周波数がメインクロック信号ＭＣＫとほぼ同じか低い故に、ＣＰＵ２がサブクロック信号ＳＣＫに同期して動作することが可能である場合には、初期設定データ読み出し制御手段としてＣＰＵ２および初期設定データの読み出しプログラムが記憶されたマスクＲＯＭとを用いることができる。すなわち、本実施の形態では、図１の第１の実施の形態におけるメモリ制御回路１２の役割をマスクＲＯＭ１７に記憶されたプログラムにしたがってＣＰＵ２が代行する。
【００４２】
本実施の形態のマイクロコンピュータ１００ｃは、第１の実施の形態とはメモリ部１ｂ内にメモリ制御回路１２の代わりにマスクＲＯＭ１７が設けられている点と、ＣＰＵ２に第２の内部リセット信号／ＲＥＳＥＴ２の代わりに第１の内部リセット信号／ＲＥＳＥＴ１が入力される点とが相違するのみで、他は第１の実施の形態と同様に構成される。マスクＲＯＭ１７とはチップの製造時にマスクパタンによりコードが書きこまれるＲＯＭで、マスクＲＯＭ１７にはメモリ制御回路１２の動作をＣＰＵ２に代替動作させるプログラムが不揮発的に記憶されている。起動時にＣＰＵ２はサブクロック信号ＳＣＫに同期してマスクＲＯＭ１７から命令をフェッチし、フラッシュＲＯＭ１１から初期設定データＳＤＡＴＡを読み出して設定データレジスタ５に格納する。
【００４３】
図９は、本実施の形態における起動時の動作を示すフロー図である。図９および図８を参照して本実施の形態の動作を説明する。
【００４４】
マイクロコンピュータ１００ｃの電源がオンになった後に、図示しないパワーオンリセット回路により、ステップＳ１０で外部リセット信号／ＲＥＳＥＴが非活性レベルに変化する。これに応答してリセット制御回路６は第１の内部リセット信号／ＲＥＳＥＴ１を発生し、ＣＰＵ２のリセットが解除されるとともにＣＰＵ２のアクセスアドレスがマスクＲＯＭ１７の０番地（先頭アドレス）になるようにマッピングされる。またクロック制御回路１５はリング発振回路４が出力するサブクロック信号ＳＣＫをシステムクロック信号ＣＬＫとして選択して出力する。
【００４５】
次にステップＳ１１で、ＣＰＵ２の制御の下でフラッシュＲＯＭ１１のセットアップが開始され、また、リセット制御回路１３内のクロック安定化時間カウント回路１４においてクロック安定化時間の計時が開始される。
【００４６】
次にステップＳ１２で、ＣＰＵ２は、フラッシュＲＯＭ１１のセットアップのための所定の準備時間が経過したかを判断し、準備時間が経過したときに次のステップＳ１３へ移る。
【００４７】
ステップＳ１３では、ＣＰＵ２の制御の下にフラッシュＲＯＭ１１のユーザ設定データ格納アドレスＡＤ（Ｕ）に格納されたユーザ設定データＳＤＡＴＡ（Ｕ）が読み出される。
【００４８】
次にステップＳ１４で、ユーザ設定データＳＤＡＴＡ（Ｕ）が設定データレジスタ５に格納されるとともに、クロック安定化時間データＮＣＮＴがクロック安定化時間カウント回路１４に設定される。
【００４９】
ステップＳ１５では、ＣＰＵ２の制御の下にフラッシュＲＯＭ１１の製造者設定データ格納アドレスＡＤ（Ｍ）に格納された製造者設定データＳＤＡＴＡ（Ｍ）が読み出される。
【００５０】
次にステップＳ１６で、製造者設定データＳＤＡＴＡ（Ｍ）が設定データレジスタ５に追加格納される。設定データレジスタ５に格納された初期設定データＳＤＡＴＡのスイッチデータはユーザが設定可変な機能マクロおよび製造者が設定可変な機能マクロに送られ、スイッチデータにしたがって各設定可変な機能マクロのスイッチ回路を設定する。
【００５１】
次にステップＳ１７で、クロック安定化時間カウント回路１４は、カウント値がクロック安定化時間データＮＣＮＴに一致するまでシステムクロックのパルスのカウントを継続し、両者が一致したときにリセット制御回路１３は第２の内部リセット信号／ＲＥＳＥＴ２を非活性レベルにしてステップＳ１８に移る。
【００５２】
ステップＳ１８では、クロック制御回路１５が第２の内部リセット信号／ＲＥＳＥＴ２の非活性レベルへの変化に応答してシステムクロック信号ＣＬＫとして出力する信号をサブクロック信号ＳＣＫからメインクロック信号ＭＣＫに切り替える。
【００５３】
次にステップＳ１９で、ＣＰＵ２は、次にアクセスするアドレスがフラッシュＲＯＭ１１に格納されたユーザプログラムの先頭アドレスになるように、メモリマッピングを変更する。
【００５４】
次にステップＳ２０で、ＣＰＵ２はフラッシュＲＯＭ１１の０番地（先頭アドレス）へ処理を分岐する。続いてＣＰＵ２はフラッシュＲＯＭ１１から命令をフェッチしてユーザプログラムを実行するが、以下のステップについては省略する。
【００５５】
本実施形態のマイクロコンピュータ１００ｃは、第１の実施の形態においてメモリ制御回路１２が行うフラッシュＲＯＭ１１からの初期設定データ読み出し操作をＣＰＵ２が代行するものであるので、基本的には第１の実施形態のタイミング図である図４に示された動作と同様に動作し、メインクロック信号が必要とするクロック安定化時間の間に設定可変な機能マクロの設定を完了することができるため、クロック安定化時間の経過後直ちにプログラムを実行することができる。
【００５６】
マイクロコンピュータには通信ポートの通信アルゴリズムやフラッシュＲＯＭの読み出し、書き込みおよび消去の手順が予め不揮発的に記憶されているマスクＲＯＭを備えているものが多いが、このような場合には上記の用途のマスクＲＯＭの記憶データに初期設定データの読み出し制御プログラムを追加しておくことによりＲＯＭ１７の役割を兼用するようにしてもよい。
【００５７】
なお、本実施の形態においても第１乃至第３の実施の形態と同様に、メインクロック生成回路３は、水晶発振回路などの発振回路であってもよく、ＰＬＬ、ＤＬＬ等の位相を調整する回路であってもよい。また、フラッシュＲＯＭは他の電気的に書き込み可能な不揮発性メモリに置換可能であり、本実施例は不揮発性メモリにユーザ領域と製造者領域の区別を設けずに用いても支障なく実施できる。
【００５８】
図１０は、本発明の第５の実施の形態を示すブロック図である。マイクロコンピュータ１００ｄは、メモリ部１ｃ内にフラッシュＲＯＭ１１の書き込み／消去用電圧を発生する昇圧回路にクロック信号を供給するリング発振回路１６を備えており、図８の第４の実施の形態におけるリング発振器４の役割をリング発振器１６が兼ねて構成され、他の部分は第４の実施の形態と同様に構成されている。本実施の形態のマイクロコンピュータ１００ｄは、第４の実施の形態と同様に、メインクロック信号が必要とするクロック安定化時間の間に設定可変な機能マクロの設定を完了することができるので、クロック安定化時間の経過後直ちにプログラムを実行することができる。
【００５９】
なお、本実施形の態においても第１乃至第４の実施の形態と同様に、メインクロック生成回路３は、水晶発振回路などの発振回路であってもよく、ＰＬＬ、ＤＬＬ等の位相を調整する回路であってもよい。また、フラッシュＲＯＭは他の電気的に書き込み可能な不揮発性メモリに置換可能であり、本実施例は不揮発性メモリにユーザ領域と製造者領域の区別を設けずに用いても支障なく実施できる。
【００６０】
図１１は、本発明の第６の実施の形態を示すブロック図である。本実施の形態のマイクロコンピュータ１１ｅは、メモリ部１ｃ内のリング発振回路１６が発生する昇圧用クロック信号ＲＣＫを入力し所定の分周比で分周してサブクロック信号ＳＣＫとして出力する分周回路７を有し、これ以外は第５の実施の形態と同様に構成される。本実施形態のマイクロコンピュータ１００ｅは、第１乃至第５の実施の形態と同様に、メインクロック信号が必要とするクロック安定化時間の間に設定可変な機能マクロの設定を完了することができるので、クロック安定化時間の経過後直ちにプログラムを実行することができる。
【００６１】
なお、本実施形態においても第１、第２の実施の形態と同様に、メインクロック生成回路３は、水晶発振回路などの発振回路であってもよく、ＰＬＬ、ＤＬＬ等の位相を調整する回路であってもよい。また、フラッシュＲＯＭは他の電気的に書き込み可能な不揮発性メモリに置換可能であり、本実施例は不揮発性メモリにユーザ領域と製造者領域の区別を設けずに用いても支障なく実施できる。
【００６２】
また、第１及び第２の実施の形態では、サブクロックを発生させる回路としてリング発振回路を用いて説明したが、メインクロック生成回路よりも早く発振が安定する発振回路であれば、リング発振回路に限定されない。
【００６３】
【発明の効果】
以上のように、本発明のマイクロコンピュータは、メインクロック信号生成回路に加えて短時間で安定するサブクロック信号を発生するリング発振回路を有し、サブクロック信号に同期させて初期設定データを不揮発性メモリから読み出して設定データレジスタに格納し、機能選択、特性補正の設定が可変な機能マクロを初期設定するので、メインクロック信号が必要とするクロック安定化時間の間に設定可変な機能マクロの初期設定を完了することができ、クロック安定化時間の経過後メインクロック信号に切り替えることにより直ちにプログラムを実行することができる。これにより、本発明のマイクロコンピュータは、マスクオプション、トリミング、専用端子のいずれをも必要とせずに、機能マクロの機能選択、特性補正が可能で、且つ実質的な動作開始であるユーザプログラムの実行開始を早めることが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態のブロック図である。
【図２】（ａ），（ｂ）は、メインクロック生成回路の例を示す図である。
【図３】クロック安定化時間カウント回路の構成の一例を示すブロック図である。
【図４】第１の実施の形態の起動時の動作を示すタイミング図である。
【図５】（ａ），（ｂ）は、スイッチデータによる周辺マクロの機能選択、特性補正の例を示す図である。
【図６】本発明の第２の実施の形態を示すブロック図である。
【図７】本発明の第３の実施の形態を示すブロック図である。
【図８】本発明の第４の実施の形態を示すブロック図である。
【図９】第４の実施の形態における起動時の動作を示すフロー図である。
【図１０】本発明の第５の実施の形態を示すブロック図である。
【図１１】本発明の第６の実施の形態を示すブロック図である。
【図１２】従来例のブロック図である。
【符号の説明】
１，１ａ，１ｂ，１ｃ    メモリ部
２    ＣＰＵ
３    メインクロック生成回路
４，１６    リング発振回路
５    設定データレジスタ
６    設定制御部
７    分周回路
１１    フラッシュＲＯＭ
１２    メモリ制御回路
１３    リセット制御回路
１４    クロック安定化時間カウント回路
１５    クロック制御回路
１７    マスクＲＯＭ
１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ    マイクロコンピュータ
ＭＣＫ    メインクロック信号
ＳＣＫ    サブクロック信号
ＣＬＫ    システムクロック信号
ＳＤＡＴＡ    初期設定データ
【図１】
2004355362.tif 000003
【図２】
2004355362.tif 000004
【図３】
2004355362.tif 000005
【図４】
2004355362.tif 000006
【図５】
2004355362.tif 000007
【図６】
2004355362.tif 000008
【図７】
2004355362.tif 000009
【図８】
2004355362.tif 000010
【図９】
2004355362.tif 000011
【図１０】
2004355362.tif 000012
【図１１】
2004355362.tif 000013
【図１２】
2004355362.tif 000014