(57)【要約】この発明は、レジスタと内部及び／又は外部コンポーネントを初期化するために必要な情報を外部メモリに保存するとともに、そこから読み出す、プログラム可能なシステムの初期化方法に関し、この発明の課題は、すべてのレジスタとコンポーネントの初期化が可能であり、外部電子回路の順応性の有る初期化が可能であり、ＡＳＩＣの開発が容易であり、様々なＥＥＰＲＯＭ型式をサポートする方法を提供することである。この課題は、この発明にもとづき、電源投入後又はその他の新たな始動を生起する事象後に、命令メモリのプログラムによる制御のもとで、外部又は内部の不揮発性の記憶媒体から内部メモリへの初期化情報の転送が実行されることと、これらの初期化情報が、初期化データ及び／又は少なくとも一つの初期化プログラムを含むことと、これらのレジスタ及びコンポーネントの初期化は、このシステム内に配置された一つ又は複数のプロセッサ部品又は別のインテリジェントなモジュールによる制御のもとで実行され、これらのプロセッサ部品又はモジュールは、それらの側で、この初期化プログラムによって制御されることとによって解決される。
2005537575.tif 000002
【特許請求の範囲】
【請求項１】
特にプログラム可能なシステム・オン・チップのＡＳＩＣ部品で使用するための、レジスタと内部及び／又は外部コンポーネントを初期化するために必要な情報を、外部メモリに保存するとともに、そこから読み出す、プログラム可能なシステムの初期化方法において、
電源投入後又はその他の新たな始動を生起する事象後に、命令メモリ（９）のプログラムによる制御のもとで、外部又は内部の不揮発性の記憶媒体（１４）から内部メモリ（１０）への初期化情報の転送が実行されることと、
これらの初期化情報が、初期化データ及び／又は少なくとも一つの初期化プログラムを含むことと、
これらのレジスタ（５）及びコンポーネントの初期化は、このシステム内に配置された一つ又は複数のプロセッサ部品（８）又は別のインテリジェントなモジュールによる制御のもとで実行され、これらのプロセッサ部品又はモジュールは、それらの側で、この初期化プログラムによって制御されることと、
を特徴とする方法。
【請求項２】
当該の転送後に、初期化情報の一貫性の検査を実行することと、この一貫性の検査の結果によって制御する形で、プログラムの分岐を実行することとを特徴とする請求項１に記載の方法。
【請求項３】
内部又は外部の記憶媒体が誤りを有すること又は存在しないことを検出した場合、エラールーチンを実行し、このエラールーチンは、標準値を用いて、当該の初期化を実行するか、或いは内部又は外部の記憶媒体（１４）の内容を完全又は部分的に復元することを特徴とする請求項１に記載の方法。
【請求項４】
当該の初期化データが、標準値として、記憶媒体（１４）から読み出されて、プロセッサ部品（８）によって変更され、そしてこれらの変更された初期化データが、初期化に使用されることを特徴とする請求項１に記載の方法。
【請求項５】
当該のプロセッサ部品（８）の初期化プログラムによって、初期化データを算出して、初期化に使用することを特徴とする請求項１に記載の方法。
【請求項６】
周辺コンポーネント（７）及び／又は内部コンポーネントの状態データに依存して、これらの初期化データ及び内部コンポーネント用のデータを算出することを特徴とする請求項５に記載の方法。
【請求項７】
当該のプロセッサ部品（８）が、初期化を実行した後に省電力モードに移行することを特徴とする請求項１に記載の方法。
【請求項８】
別のプロセッサ部品（８）の初期化を始動して、監視することを特徴とする請求項１に記載の方法。
【請求項９】
様々な記憶媒体への適合が実行されることを特徴とする請求項１に記載の方法。
【請求項１０】
当該の初期化プログラムが、記憶媒体（１４）から、別のデータ及び／又はプログラムコードをリロードすることを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、特にプログラム可能なシステム・オン・チップのＡＳＩＣ部品で使用するための、レジスタと内部及び／又は外部コンポーネントを初期化するために必要な情報を、外部メモリに保存するとともに、そこから読み出す、プログラム可能なシステムの初期化方法に関する。
【背景技術】
【０００２】
特にパーソナルコンピュータ周辺機器の分野における、複雑なマイクロコントローラ支援による電子システムは、大抵製造技術及び経済上の理由から、少ない構成部品から構成されている。一般的に、アプリケーションに特有の集積モジュール（ＡＳＩＣ＝特定用途向け集積回路）にロジック回路全体を搭載することが追求されている。このＡＳＩＣは、ＰＣとの接続を行うインタフェース、例えばＰＣＩ（ＰＣＩ＝周辺部品相互接続規格）、カードバス又はＵＳＢ（ＵＳＢ＝ユニバーサル・シリアル・バス）コントローラを有する。低価格で大量に生産される製品の特性から、半導体設計会社では、ハードウェアに組み込んだ解決法を開発するのが普通であり、その方法は、契約を結んだ会社で製作して、その半導体を自社の周辺機器に統合したＯＥＭ（ＯＥＭ＝相手先商標製造）顧客に販売するものである。この場合、出来上がった最終製品は、大抵各解決法に対して、どのような回路と追加構成部品を採用するかに応じて、その機能の範囲、性能、電力消費及び価格が異なってくる。
【０００３】
この回路技術的な相違によって、様々なハードウェア機器は、ソフトウェア的に別々に呼び出されて、処理されなければならない。そのように調整されたオペレーティングシステム側のドライバは、必要であり、しばしばそれによって競争製品との一層の差別化を図るために、ＯＥＭ顧客によっても望まれている。
【０００４】
更に、ボードに追加した電子回路を、電源投入又は差し込み時に確かに、様々な方法で初期状態に設定しなければならない。
【０００５】
前述した要求条件からは、二つの論ずべき問題が生じる。
【０００６】
一つには、各外部機器に関する認識を行って、それに応じた機器のドライバーを割り当てなければならない。最新のＰＣオペレーティングシステムは、動作中（例えばＵＳＢ，カードバス）又は動作前（例えばＰＣＩ）に、追加された外部コンポーネントを自動的に識別して、相応のドライバーを割り当てることが可能である。しかし、このオペレーティングシステムでの識別を可能としている特徴が、もっぱらＡＳＩＣに搭載されている場合、異なるＯＥＭ製品間の区別は不可能である。
【０００７】
その他には、ＯＥＭ特有の部品の初期化は、電源投入時に実行されなければならない。発光ダイオード又はディスプレイによる、例えば損傷、過渡の電力消費又は紛らわしい状態表示を防止するためには、機器上に有るＡＳＩＣ以外の外部電子回路部品を、電源投入時又は差し込み時に直ぐに、或いはその後短時間以内に、所定の初期状態に設定しなければならないということが起こる場合がある。しかし、大抵ＡＳＩＣは、回路内において、この課題を実行可能な唯一の「インテリジェントな」モジュールであり、前述したとおり、外部回路は異なるので、それに応じてＡＳＩＣが初期化を行うことができるように、別のコンポーネントの初期化に関する情報をＡＳＩＣに伝える方法を見い出さなければならない。
【０００８】
周知の方法は、小さなＥＥＰＲＯＭ（電気的消去可能・プログラム可能読出し専用メモリ）を機器のボードに搭載して、大抵シリアルバスを介してＡＳＩＣと接続することを基礎としている。ＥＥＰＲＯＭには、識別記号とシリアル番号が保存されている。この識別記号により、例えばＰＣＩ／カードバスでは、製品識別子、ベンダー識別子、サブシステム識別子及びサブシステムベンダー識別子が、リビジョン標識及び機器クラスとして認識される。シリアル番号の例として、イーサネット（登録商標）・ネットワークカードにおけるＭＡＣ識別子が有る。
【０００９】
このＯＥＭ特有の情報は、機器の電源投入時に、エンド・ユーザーによって、ハードウェアロジック回路を用いてＥＥＰＲＯＭから読み出されて、ＡＳＩＣのＰＣＩ／ＵＳＢコアにある相応のレジスタに転送される。これによって、この機器を、コンピュータが認識することができる。
【００１０】
機器の残りの電子回路を制御する、ＩＯブロック内のレジスタは、初期化されないままであるか、若しくはＡＳＩＣ内の固定的に「焼き込まれた」リセット値に設定するか、ハードウェアロジック回路によって、ＥＥＰＲＯＭの内容にもとづき設定することができるかのどれかである。
【００１１】
この周知の解決法は、以下に詳しく説明する欠点を有する。
【００１２】
一つには、そのために必要なハードウェアが比較的複雑である。このロジック回路は、ＡＳＩＣにハードウェアに組み込みの形で実装しなければならない。特にＩ2 Ｃのような複雑なバスプロトコルでは、このロジック回路（追加したシリコンダイへのゲート、トランジスタ、面）の検証と実装は、負担のかかるものである。
【００１３】
その他には、既存の方法は、順応性がない。ＡＳＩＣのどのレジスタ（アドレス）を、どのタイミングで、ＥＥＰＲＯＭのどの内容（データ）を用いて書き込み（初期化）しなければならないのかを、チップ設計段階の間にもう規定しなければならない。前述したロジック回路は、この要求に対応して構成しなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従って、この発明の課題は、すべてのレジスタ及びコンポーネントが初期化可能であり、外部電子回路の順応性のある初期化が可能であり、ＡＳＩＣの開発が容易であり、かつ異なる外部及び内部記憶媒体をサポートする方法を提供することである。
【課題を解決するための手段】
【００１５】
この最初に述べた種類のプログラム可能なシステムの初期化方法に関する課題は、この発明にもとづき、電源投入又はその他の新たな始動を引き起こす事象後に、命令メモリのプログラムによる制御のもとで、外部又は内部の不揮発性の記憶媒体から内部メモリへの初期化情報の転送を実行することと、これらの初期化情報が、初期化データ及び／又は少なくとも一つの初期化プログラムを含むことと、レジスタ及びコンポーネントの初期化は、システム内に配置された一つ又は複数のプロセッサ部品或いは別のインテリジェントなモジュールによる制御のもとで実行され、これらのプロセッサ部品又はモジュールは、それらの側では、この初期化プログラムによって制御されることとよって解決される。
【００１６】
この発明では、レジスタ及びコンポーネントの初期化は、一つ又は複数のプロセッサ部品によって実行される。それには、電源投入後又は機器の外部からのリスタート事象後に、実行するプログラムを必要とする。この初期化フェーズを始動するためのプログラムは、所謂命令メモリ（ブートストラップローダー）に含まれている。このプログラムは、外部ＥＥＰＲＯＭからＲＡＭメモリ（命令及び／又はデータＲＡＭ、ＲＡＭ＝ランダムアクセスメモリ）への初期化情報の伝送を制御する。この場合、この初期化情報は、初期化データと初期化プログラムの両方を含む。初期化データは、例えば製品識別子、ベンダー識別子、サブシステムベンダー識別子又はイーサネット（登録商標）・ネットワークカードのシリアル番号などの識別子（ＩＤ）である。命令ＲＡＭへの初期化情報の伝送後に、初期化プログラムは、プロセッサ部品を制御して、レジスタ及びコンポーネントの初期化を行う。
【００１７】
この発明の一つの実施形態では、この伝送後に、初期化情報の一貫性の検査を行い、この一貫性の検査の結果による制御のもとで、プログラムの分岐を実行するものと規定する。
【００１８】
この発明の一つの実施形態では、内部又は外部の記憶媒体が誤りを有すること又は存在しないことを検出した場合、標準値による初期化を実行するか、或いは内部又は外部記憶媒体の内容を完全に又は部分的に復元するエラールーチンを実行するものと規定する。
【００１９】
同様に、この情報は、実行可能なマクロプログラムとして存在させて、プロセッサ部品によってインタープリートすることも考えられる。これら二つの方法を混合させた構成を導出することができる。
【００２０】
初期化情報の命令ＲＡＭへの伝送後に、例えばチェックサムを算出することによって、データの一貫性の検査が行われる。この結果に応じて、プロセッサ部品は、ちょうど伝送されてきた初期化プログラム又はマクロ文を実行するか、或いは命令メモリ内の例外処理用のルーチンにジャンプするかのどちらかとなる。このルーチンによって、ＡＳＩＣ内の機能的に最も重要なレジスタは、その時点のＰＣインタフェースを介した機器の呼出しが、少なくとも基本的に可能であるようにプログラムされる。この電源投入段階において、記憶媒体が存在しないこと又は誤りを有することを検出した場合、同様に初期化するためのルーチンが標準値により実行される。
【００２１】
この発明の別の実施形態では、この初期化データを、標準値として記憶媒体から読み出して、プロセッサ部品によって変更し、そして変更した初期化データを初期化に使用するものと規定する。
【００２２】
ＥＥＰＲＯＭでは、例えば製品識別子、ベンダー識別子、サブシステムベンダー識別子又はイーサネット（登録商標）・ネットワークカードのシリアル番号等に対する標準値が保存されている。これらの値は、そのままレジスタ及び／又はコンポーネントの初期化のために使用することができる。しかし、プロセッサ部品によって、これらの標準値の変更、又は事象による制御のもとでの代替値の選定を行うこともできる。このことから、エラーハンドリングの観点において、支援ロジック回路を用いて、外部ＥＥＰＲＯＭの初期化情報を変更又は復元し、その際チェックサムの新規算出を行うこともできるという方法が得られる。
【００２３】
この発明の一つの実施構成では、プロセッサ部品の初期化プログラムによって、初期化データを算出して、初期化に使用するものと規定する。
【００２４】
このプロセッサ部品は、初期化プログラムによる制御のもとで、例えばポート又はレジスタの状態に依存して、初期化データを算出することができる。
【００２５】
この発明の一つの実施形態では、周辺コンポーネント及び／又は内部コンポーネントの状態データに依存して、これらの初期化データ及び内部コンポーネントに対するデータを算出するものと規定する。
【００２６】
初期化プログラムのプログラムフローは、個々の内部又は外部レジスタ或いはコンポーネントの状態に依存して、初期化値を選定又は算出するように構成することができる。このために、例えば第一ステップにおいて、レジスタ又はポートのポーリングを行って、その結果に依存して、それに対応するプログラムフロー内の所定の位置にジャンプした後に初期化を実行する。
【００２７】
この発明の特別な実施形態では、プロセッサ部品は、初期化を実行した後、省電力モードに移行するものと規定する。
【００２８】
初期化を実行した後、プロセッサ部品を省電力モードに設定して、例えばＰＣ又は周辺コンポーネントからの信号によって、そのモードから元に戻すという方法が得られる。
【００２９】
この発明の特別な実施構成では、別のプロセッサ部品の初期化を始動して、監視するものと規定する。
【００３０】
プロセッサ部品は、システム内に存在する別のプロセッサの初期化を行うことができ、そのプロセッサは、その後それ自身の初期化ルーチンを始動する。この初期化の終了を、第一のプロセッサに折り返し通報するようにするか、或いは第一のプロセッサが、別のプロセッサに制御を渡すようにするかのどちらかである。
【００３１】
この発明の別の実施構成では、様々な記憶媒体への適合を行うものと規定する。
【００３２】
ＡＳＩＣ内に配置された命令メモリは、機器の電源投入後に実行する始動プログラムを保存しており、外部ＥＥＰＲＯＭからの初期化情報の読出しと命令ＲＡＭへの伝送を行う。この始動プログラムは、接続している記憶媒体を検知して、それぞれ必要な伝送プロトコルを遵守したルーチンを有する。
【００３３】
この発明の別の実施構成では、別のデータ及び／又はプログラムコードの初期化プログラムを、記憶媒体からリロードするものと規定する。
【００３４】
所定の状態又は結果を達成した場合、プロセッサ部品は、別の初期化情報（プログラムコード又は状態データ）をリロードすることができる。
【発明を実施するための最良の形態】
【００３５】
以下において、実施例にもとづき、この発明をより詳しく説明する。
【００３６】
この発明による方法を実行するために、ＡＳＩＣ１には、第一バスシステム４によってＰＣ３とのリンケージを行うとともに、初期化対象のＩＤレジスタ５を有する、従来技術で周知のバスインタフェース２と、外部電子回路７とのリンケージを行うＩ／Ｏインタフェース６以外に、以下の構成部品が統合されている。それらは、従来技術では必ずしもＡＳＩＣロジック回路１の構成部品とは見なされていないプロセッサ部品８、命令メモリ９（ブートストラップローダー）、命令ＲＡＭ１０、データＲＡＭ１１、ＥＥＰＲＯＭインタフェース１２及び支援ロジック回路１３である。従来技術で周知の外部ＥＥＰＲＯＭ１４は、同様にＡＳＩＣ１の外に配置されており、第二バスシステム１５を介して、このＡＳＩＣと接続されている。第二バスシステム１５としては、Ｉ2 Ｃ、ＳＰＩ又はマイクロワイヤバスを使用することができる。ＡＳＩＣ１、外部ＥＥＰＲＯＭ１４及び外部電子回路７は、ＰＣ３による制御対象の周辺機器１８を構成する。
【００３７】
ＡＳＩＣ内に配置された命令メモリ９は、機器の電源投入後に実行する始動プログラムを保存しており、外部ＥＥＰＲＯＭ１４からの初期化情報の読出しと命令ＲＡＭ１０への伝送を実行する。バス信号の切換えは、それぞれ使用されている外部ＥＥＰＲＯＭ１４とバスシステム１５に依存するとともに、そのプロセスは、プログラムによって制御されるので、様々なバスシステム１５又はＥＥＰＲＯＭ型式１４への適合は、プログラム技術にもとづき実施することが可能である。従って、接続されているＥＥＰＲＯＭ型式１４の自動検知を行う方法も有る。
【００３８】
命令メモリ９の開発に関しては、高価な特別な装置の代わりに、標準的な開発・デバッグ装置を使用することができる。
【００３９】
伝送する初期化情報は、初期化データと初期化プログラムから構成される。初期化情報の命令ＲＡＭ１０への伝送後に、データの誤りの無い伝送を保証するための一貫性の検査が実行される。
【００４０】
例えばチェックサムによる、この検査において、その伝送が誤りが無かったことが確認された場合、ちょうど命令ＲＡＭ１０に伝送されてきた初期化プログラムを用いて、別のプログラムの実行が行われる。このプログラムは、初期化データの助けを借りて、レジスタ５及びコンポーネントの本来の初期化を実行する。この初期化によって、例えばバスインタフェース２に必要な設定を行って、ＰＣ３との通信並びに外部電子回路７を制御するための別の内部コンポ−ネント及びＩ／Ｏインタフェース６の初期化が可能となる。
【００４１】
例えばチェックサムが不正又はＥＥＰＲＯＭ１４が全く接続されていないために、この一貫性の検査が、誤りとなった場合、命令メモリ９内の例外処理用のルーチンにジャンプして、その時点のＰＣインタフェース４を介した機器の呼出しが少なくとも基本的に可能であるように、ＡＳＩＣ１内で機能的に最も重要なレジスタをプログラムすることができる。この基本設定とＡＳＩＣ１内に統合された支援ロジック回路１３とによって、関連するチェックサムを新たに算出して、ＥＥＰＲＯＭ１４を新たにプログラミングすることにより誤りのあった機器を修復する、或いは製品機器における初期プログラミングを実行する方法が得られる。
【００４２】
このプログラム制御による初期化によって、プロセッサ部品８から直接的又は間接的にアドレス指定可能な、すべてのレジスタ５又はコンポーネント並びにそれらに関連する状態オートマトンを設定することが可能となる。更に、ダイナミックに、即ち入力値に依存して、初期化を実行する方法が得られる。従って、機器の使用開始フェーズにおいて、直ちにディスプレイ７に所定の条件が満たされたか否かを表示することが可能となる。
【００４３】
その上、この発明による方法により、周辺機器１８が自主的に動作して、ＰＣ３を初期の休止状態から「目覚めさせる」ことが可能である（例えばウェークオンＬＡＮ又はＦＡＸコールによるウェークアップ）。
【図面の簡単な説明】
【００４４】
【図１】従来技術による回路構成
【図２】この発明による方法に移行した回路構成
【符号の説明】
【００４５】
１    ＡＳＩＣ
２    バスインタフェース
３    パーソナルコンピュータ（ＰＣ）
４    第一バスシステム
５    ＩＤレジスタ
６    Ｉ／Ｏインタフェース
７    外部電子回路
８    プロセッサ部品
９    命令メモリ
１０    命令ＲＡＭ
１１    データＲＡＭ
１２    ＥＥＰＲＯＭインタフェース
１３    支援ロジック回路
１４    記憶媒体（例えばＥＥＰＲＯＭ）
１５    第二バスシステム
１６    初期化制御部
１７    メイン機能ロジック回路
１８    周辺機器
【図１】
2005537575.tif 000003
【図２】
2005537575.tif 000004
【国際調査報告】
2005537575.tif 000005
2005537575.tif 000006
2005537575.tif 000007
2005537575.tif 000008
2005537575.tif 000009
2005537575.tif 000010