(57)【特許請求の範囲】
【請求項１】
外部からのダウンロードデータを入力するダウンロードデータ入力端子を備えたマイクロプロセッサと、
前記ダウンロードデータ入力端子からダウンロードされた前記マイクロプロセッサが動作するためのプログラムを格納するための２つ以上のＰＲＯＭと、
前記各ＰＲＯＭエリアのサムチェックを行うと共に、前記マイクロプロセッサが  前記プログラムで動作している状態をウォッチドッグタイマ機能により監視する診断回路とがバス接続され；
前記サムチェックおよび前記ウォッチドッグタイマ監視の結果により前記ＰＲＯＭのいずれかを選択するためのＰＲＯＭセレクト信号を生成するチップセレクト生成回路を設け；
前記診断回路は、前記ＰＲＯＭセレクト信号により、前記マイクロプロセッサを動作させるように選択されたＰＲＯＭについて前記ウォッチドッグタイマ監視を行い、
前記マイクロプロセッサは、前記ＰＲＯＭセレクト信号により選択されていないＰＲＯＭに前記ダウンロードを行い、
前記診断回路は、前記ＰＲＯＭセレクト信号により選択されていないＰＲＯＭについて前記ダウンロードされたプログラムのサムチェックを行なうことを特徴とするＰＲＯＭ切替制御システム。
【請求項２】
前記チップセレクト生成回路は、前記サムチェックおよび前記ウォッチドッグタイマ監視の結果に関わらず外部からの切替信号によって前記ＰＲＯＭセレクト信号を生成できることを特徴とする請求項１に記載のＰＲＯＭ切替制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリ等の書き換え可能なプログラムＲＯＭ（ＰＲＯＭ）領域を２面以上備え、ＰＲＯＭの正常／異常の状態を診断した結果に基づいてＰＲＯＭの切替を行いながら情報処理システムの運用を行うＰＲＯＭ切換制御に関する。
【０００２】
【従来の技術】
図６は、一般的なＰＲＯＭ切替制御システムのブロック図でる。マイクロプロセッサ１は、ダウンロードデータ入力端子６からプログラムをＰＲＯＭ−Ａ（２）またはＰＲＯＭ−Ｂ（３）にアドレス／データバス５を介してダウンロードする。マイクロプロセッサ１は、通常の運用状態の場合には制御信号８をＬＯＷとし、ダウンロード状態の場合は制御信号８をＨＩＧＨとする。チップセレクト生成回路４０は、制御信号８がＨＩＧＨになると、ＰＲＯＭセレクト信号７により、ダウンロードされたＰＲＯＭ−Ａ（２）またはＰＲＯＭ−Ｂ（３）を選択し、また、リセット信号９をマイクロプロセッサ１に出力する。この結果、マイクロプロセッサ１は、選択されたＰＲＯＭを使用し、ダウンロードされたプログラムによって処理を始める。
【０００３】
ところで、一昔前のプログラム制御される電子機器では、プログラムはＲＯＭに格納するのが常套手段になっていた。そして、バージョンアップやバグの改修のためにプログラムの内容を変更する場合は、ＲＯＭを取り替えるという手間をかけていた。その後、フラッシュメモリのように書き換え可能なＲＯＭが開発されてからは、プログラムのダウンロードにより、アップデートできるので上述のような手間を省けるようになった。しかし、アップデートされたプログラムにもバグがあることが少なくない。そこで、新旧のプログラムを共存させ、新プログラムにバグがあるときには、旧プログラムに戻して運用することが行なわれてる。
【０００４】
例えば、この種の従来技術の例が、特開平10-63498号公報に「無線基地局の運用プログラム変更方法」として記載されている。この方法では、現用の運用プログラムに従った無線基地局の運用中に、上位装置から送出された新規な運用プログラムを無線基地局内の一時記憶部にダウンロードする。ダウンロード完了後で、かつ現用の運用プログラムに従った無線基地局の運用中に、新規な運用プログラムをプログラム記憶部に書き込む。そして、新規な運用プログラムに従って無線基地局をテスト運用し、その適否を判定する。その結果、適性であると判定された後、現用の運用プログラムに替えて、新規な運用プログラムに従って無線基地局を運用する。
【０００５】
また、この種の従来技術の他の例が、特開平11-15672号公報に「データ格納状態判定方法及び装置」として記載されている。この方法では、書き換え可能な記憶装置に対してデータを書き込む際に、データの本質部分である本体のチェックサム及び予め定められている特定データを、それぞれについて定められた個々の格納領域に書き込む。そして、データ本体が正しく書き込まれているか否かの判定に際しては、チェックサムを用いてデータ本体の格納領域に対するサムチェックを行うと共に、特定データの格納領域に特定データが正しく格納されているか否かも判定する。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した第１の例と第２の例を組み合わせてみても、新規なプログラムに切り替えて運用に供するのに、「予め定められている特定データ」だけの格納の正当性チェックでよいのか、大いに疑問であるという第１の問題点がある。
【０００７】
また、上述した技術では、ダウンロードした新規なプログラムに問題が無くても、そもそも運用プログラム自体に問題があったり、ダウンロードプログラムに問題があってダウンロードできないような場合には言及していないため、このような不具合には対応できないという第２の問題点がある。
【０００８】
本発明の第１の目的は、ＰＲＯＭを使用するシステムの信頼性を向上させるＰＲＯＭ切替制御システムおよびＰＲＯＭ切替制御方法を提供することにある。
【０００９】
本発明の第２の目的は、運用プログラム自体やダウンロードプログラムに問題がある場合にも対応可能なＰＲＯＭ切替制御システムおよびＰＲＯＭ切替制御方法を提供することにある。
【００１０】
【課題を解決するための手段】
本発明のＰＲＯＭ切替制御システムは、外部からのダウンロードデータを入力するダウンロードデータ入力端子（６）を備えたマイクロプロセッサ（１）と、ダウンロードデータ入力端子（６）からダウンロードされたマイクロプロセッサ（１）が動作するためのプログラムを格納するための２つ以上のＰＲＯＭ（２，３）と、ＰＲＯＭ（２，３）エリアのサムチェックを行うと共に、マイクロプロセッサ（１）がプログラムで動作している状態をウォッチドッグタイマ（以下、「ＷＤＴ」と記す）機能により監視する診断回路（１０）とがバス（５）接続され；サムチェックおよびＷＤＴ監視の結果によりＰＲＯＭ（２，３）のいずれかを選択するためのＰＲＯＭセレクト信号（７）を生成するチップセレクト生成回路（４）を設け；マイクロプロセッサ（１）は、ＰＲＯＭセレクト信号により選択されていないＰＲＯＭにダウンロードを行い、診断回路（１０）は、ＷＤＴ機能がマイクロプロセッサ（１）の異常を検出したときに、ＰＲＯＭセレクト信号に応じて、選択されたＰＲＯＭを特定するエラー信号を出力することを特徴とする。
【００１１】
本発明では、外部からのダウンロードデータを複数のＰＲＯＭの内のいずれかにダウンロードしたときに、ダウンロードされた各ＰＲＯＭエリアのサムチェックを行うと共に、マイクロプロセッサがそれぞれのＰＲＯＭで動作している状態をＷＤＴ機能により監視する。そして、サムチェックおよびＷＤＴ監視の結果により外部に警報を出力する。また、サムチェックおよびＷＤＴ監視の結果によりＰＲＯＭのいずれかを選択するためのＰＲＯＭセレクト信号を生成する。
【００１２】
なお、ＰＲＯＭセレクト信号を生成するときに、外部からの切替信号を外部切替信号入力端子（１１、１２）から入力して、これを加え、サムチェック診断信号および診断信号の内容に関わらず切替信号によって指定されるＰＲＯＭ（２、３）を選択するためのＰＲＯＭセレクト信号（７）を生成するようにしてもよい。
【００１３】
本発明によれば、サムチェックによりＰＲＯＭのチェックを行うと共に、ＷＤＴ機能によりマイクロプロセッサの動作状態を監視することとしたため、不具合があるプログラムによる誤動作を未然に防ぐので、信頼性を向上させることができる。
【００１４】
また、２面以上の全てのＰＲＯＭ領域に、何らかの異常を検出し動作させることができない場合に警報を出力し、外部から動作させたいＰＲＯＭに強制的に切替を行う構成としたため、保守性を向上させることができる。
【００１５】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明のＰＲＯＭ切換制御システムの一実施例を示す。マイクロプロセッサ（１）は、ＰＲＯＭ−Ａ（２）またはＰＲＯＭ−Ｂ（３）が格納しているプログラムに従って処理を実行する。ＰＲＯＭ−Ａ（２）とＰＲＯＭ−Ｂ（３）は同一構成のプログラム書き換え可能なＲＯＭである。このプログラムは、ダウンロードデータ入力端子（６）から、一方のＰＲＯＭ内のプログラムに従って、マイクロプロセッサ（１）により他方のＰＲＯＭにアドレス／データバス（５）を介してダウンロードされる。
【００１６】
診断回路（１０）は、ＰＲＯＭ−Ａ（２）およびＰＲＯＭ−Ｂ（３）をサムチェックする機能と、マイクロプロセッサ（１）の動作状態を監視するＷＤＴ機能を有する。ＷＤＴ（Watchdog  timer）機能とは、マイクロプロセッサから一定周期毎に送られてくる信号を監視し、ハードウェア／ソフトウェアのエラー発生による暴走を防ぐ機能をいう。診断回路（１０）は、ＰＲＯＭ−Ａ（２）のサムチェックの結果はＰＲＯＭ−Ａサムチェック信号（１３）、ＰＲＯＭ−Ｂ（３）のサムチェックの結果はＰＲＯＭ−Ｂサムチェック信号（１４）、ＰＲＯＭ−Ａ（２）でのＷＤＴ機能による動作状態はＰＲＯＭ−Ａエラー信号（１５）、ＰＲＯＭ−Ｂ（３）でのＷＤＴ機能による動作状態はＰＲＯＭ−Ｂエラー信号（１６）として、それぞれチップセレクト生成回路（４）に報告する。また、診断回路（１０）は、上記各信号（１３）〜（１６）の内容により、本システムの動作を禁止する場合の警報をＰＲＯＭ警報出力端子（１７）に出力して外部に報告する。さらに、リセット信号（９）によりマイクロプロセッサ（１）に対してリセット（再起動）をかける機能を有する。
【００１７】
チップセレクト生成回路（４）は、診断回路（１０）が出力する上記の各信号（１３）〜（１６）の信号と、外部からの切替信号（１１）〜（１２）を組み合わせることにより、ＰＲＯＭ−Ａ（２）またはＰＲＯＭ−Ｂ（３）のいずれか一方をセレクトするためにＰＲＯＭセレクト信号（１０７）を出力する。なお、（１１）および（１２）は、外部切替信号入力端子であるが、説明上、そこから入力する外部切替信号としても用いる。
【００１８】
次に、本実施例において、起動されてからダウンロード処理を行い、また再起動されるまでの動作を図２の動作フローにより説明する。
【００１９】
マイクロプロセッサ（１）はリセット信号（９）によって起動し、その時に制御信号（８）にＬＯＷを出力する（Ｓ１）。このとき、チップセレクト生成回路（４）がＰＲＯＭセレクト信号（７）にＨＩＧＨを出力し、ＰＲＯＭ−Ａ（２）を選択して、ＰＲＯＭ−Ａ（２）に格納されているプログラムで動作しているとする（Ｓ２）。マイクロプロセッサ１がＰＲＯＭ−Ａ（２）で動作している場合、ダウンロードの対象はＰＲＯＭ−Ｂ（３）となる。
【００２０】
マイクロプロセッサ（１）はダウンロードデータ入力端子（６）からダウンロード開始要求の信号を受信するとダウンロードモードとなり、ダウンロードデータ入力端子（６）からダウンロードデータを受信し（Ｓ３）、この受信したデータをダウンロードの対象であるＰＲＯＭ−Ｂ（３）に書き込む（Ｓ４）。このとき、マイクロプロセッサ（１）は、ダウンロードデータのチェックサムをもＰＲＯＭ−Ｂ（３）に書き込んでおく。マイクロプロセッサ（１）は全てのダウンロードデータを受信し終わると、診断回路（１０）およびチップセレクト生成回路（４）に対し、ダウンロード処理の終了を知らせるために制御信号（８）にＨＩＧＨを出力する（Ｓ５）。
【００２１】
診断回路（１０）は、チップセレクト生成回路（４）から入力しているＰＲＯＭセレクト信号（７）がＨＩＧＨなので、ダウンロード処理を行ったのはＰＲＯＭ−Ｂ（３）と認識して、ＰＲＯＭ−Ｂ（３）に対してサムチェックを行う（Ｓ６）。サムチェックの結果が正しい場合にはＰＲＯＭ−Ｂサムチェック信号（１４）にＨＩＧＨを（Ｓ７）、またサムチェック結果が正しくない場合にはＰＲＯＭ−Ｂサムチェック信号（１４）にＬＯＷを出力して（Ｓ８）、マイクロプロセッサ（１）に対してリセット信号（９）を出力し再起動をかける（Ｓ９）。
【００２２】
診断回路（１０）からリセット信号（９）を受け取ったマイクロプロセッサ（１）は、制御信号（８）にＬＯＷを出力し（Ｓ１）、チップセレクト生成回路（４）が出力するＰＲＯＭセレクト信号（７）によって選択されたＰＲＯＭで動作を再開する。チップセレクト生成回路（４）は、ＰＲＯＭ−Ｂ（３）のサムチェックの結果が正しい場合は、ＰＲＯＭセレクト信号（７）にＬＯＷを出力し、ＰＲＯＭ−Ｂ（３）で動作を開始する（Ｓ１０）。すなわち、ダウンロードされたプログラムで動作するようになるのである。一方、ＰＲＯＭ−Ｂ（３）のサムチェックの結果が正しくない場合は、ＰＲＯＭセレクト信号（７）にＨＩＧＨを出力し、ＰＲＯＭ−Ａ（２）で動作を開始する（Ｓ２）。すなわち、ダウンロードされたプログラムは使用せず、ＰＲＯＭ−Ａ（２）に格納されている元のプログラムで動作するのである。
【００２３】
ここでは、マイクロプロセッサ（１）が最初の起動時にＰＲＯＭ−Ａ（２）で動作を開始する例を示したが、ＰＲＯＭ−Ｂ（３）で動作を開始した場合も同様である（Ｓ１０〜Ｓ１６）。
【００２４】
次に、診断回路（１０）の動作を図３の動作フローにより詳細に説明する。診断回路（１０）はマイクロプロセッサ（１）が出力する制御信号（８）を入力することにより、マイクロプロセッサ（１）の動作状態を判定することができる。すなわち、制御信号（８）がＬＯＷであれば通常運用状態、ＨＩＧＨであればダウンロード処理終了である（Ｓ２１）。
【００２５】
また、診断回路（１０）はチップセレクト生成回路（４）からＰＲＯＭセレクト信号（７）を入力することにより、動作しているＰＲＯＭとダウンロード対象のＰＲＯＭを判定することができる。ＰＲＯＭセレクト信号（７）がＨＩＧＨであればＰＲＯＭ−Ａ（２）をセレクトして動作しており（Ｓ２２）、ダウンロードの対象はＰＲＯＭ−Ｂ３である（Ｓ２３）。ＰＲＯＭセレクト信号がＬＯＷであればＰＲＯＭ−Ｂ（３）をセレクトして動作しており（Ｓ２４）、ダウンロードの対象はＰＲＯＭ−Ａ２である（Ｓ２５）。
【００２６】
前述のように、診断回路（１０）はＷＤＴ機能を内蔵しており、マイクロプロセッサ（１）が出力する制御信号（８）がＬＯＷの間はＷＤＴ機能により、動作しているＰＲＯＭを監視している。
【００２７】
チップセレクト生成回路（４）が出力しているＰＲＯＭセレクト信号（７）がＨＩＧＨの場合に、ＷＤＴ機能が異常を検出したとき（Ｓ４１）は、ＰＲＯＭ−Ａ（２）が検出対象なので、ＰＲＯＭ−Ａエラー信号（１５）にＬＯＷを出力し（Ｓ４２）、マイクロプロセッサ（１）に対してリセット信号（９）を出力する（Ｓ４３）。
【００２８】
また、チップセレクト生成回路（４）が出力しているＰＲＯＭセレクト信号（７）がＬＯＷの場合に、ＷＤＴ機能が異常を検出したとき（Ｓ４４）は、ＰＲＯＭ−Ｂ（３）が検出対象なので、ＰＲＯＭ−Ｂエラー信号（１６）にＬＯＷを出力し（Ｓ４５）、マイクロプロセッサ（１）に対してリセット信号（９）を出力する（Ｓ４３）。
【００２９】
このＰＲＯＭ−Ａエラー信号（１５），ＰＲＯＭ−Ｂエラー信号（１６）は該当するＰＲＯＭ上のプログラムがダウンロードによって更新されない限りは状態を保持されており、ダウンロードによりプログラムが更新された場合にＨＩＧＨにリセットされる（Ｓ２８，Ｓ３３）。
【００３０】
ステップＳ２１において、診断回路（１０）は、マイクロプロセッサ（１）が出力する制御信号（８）がＬＯＷからＨＩＧＨに変化したことを検出すると、そのときチップセレクト生成回路（４）が出力しているＰＲＯＭセレクト信号（７）からダウンロードを行ったＰＲＯＭを判定し（Ｓ２６）、サムチェックを行う。
【００３１】
このとき、ＰＲＯＭセレクト信号（７）がＬＯＷであればＰＲＯＭ−Ａ（２）がダウンロード及びサムチェックの対象である（Ｓ２７）。まず、ＰＲＯＭ−Ａエラー信号（１５）にＨＩＧＨを出力して（Ｓ２８）、ＰＲＯＭ−Ａ（２）に対してサムチェックを行い（Ｓ２９）、その結果が正常であればＰＲＯＭ−Ａサムチェック信号１３にＨＩＧＨを出力し（Ｓ３０）、サムチェックに異常があればＬＯＷを出力する（Ｓ３１）。
【００３２】
また、ＰＲＯＭセレクト信号（７）がＨＩＧＨであればＰＲＯＭ−Ｂ（３）がダウンロード及びサムチェックの対象である（Ｓ３２）。まず、ＰＲＯＭ−Ｂエラー信号（１６）にＨＩＧＨを出力して（Ｓ３３）、ＰＲＯＭ−Ｂ（３）に対してサムチェックを行い（Ｓ３４）、その結果が正常であればＰＲＯＭ−Ｂサムチェック信号（１４）にＨＩＧＨを出力し（Ｓ３５）、サムチェックに異常があればＬＯＷを出力する（Ｓ３６）。
【００３３】
診断回路（１０）はＰＲＯＭに対するサムチェックが正常に終了すると、マイクロプロセッサ（１）に対してリセット信号（９）を出力して再起動をかける（Ｓ３７）。
【００３４】
さらに、診断回路１０はＰＲＯＭ−Ａ（２），ＰＲＯＭ−Ｂ（３）のどちらも動かせないような状態を検出した場合、つまり、ＰＲＯＭ−Ａサムチェック信号（１３）およびＰＲＯＭ−Ｂエラー信号（１６）がＬＯＷの場合か、ＰＲＯＭ−Ｂサムチェック信号（１４）およびＰＲＯＭ−Ａエラー信号（１５）がＬＯＷの場合か、ＰＲＯＭ−Ａエラー信号（１５）およびＰＲＯＭ−Ｂエラー信号（１６）がＬＯＷの場合か、ＰＲＯＭ−Ａサムチェック信号（１３）およびＰＲＯＭ−Ｂサムチェック信号（１４）がＬＯＷの場合には、ＰＲＯＭ警報出力端子（１７）に警報を出力する。このような動作禁止状態の場合における診断回路１０の動作を図４に動作フローの形で示す。
【００３５】
次に、チップセレクト生成回路（４）の動作を説明する。チップセレクト生成回路（４）は、図５にその真理値表を示すように、外部切替信号（１１）〜（１２），ＰＲＯＭサムチェック信号（１３）〜（１４）およびＰＲＯＭエラー信号（１５）〜（１６）の組合せにより、ＰＲＯＭセレクト信号（７）を生成して出力する。
【００３６】
外部切替信号（１１）がＨＩＧＨの場合は、外部切替信号（１２）の状態に関わらず、ＰＲＯＭサムチェック信号（１３）〜（１４）とＰＲＯＭエラー信号（１５）〜（１６）との組合せでＰＲＯＭセレクト信号（７）を出力する。ＰＲＯＭサムチェック信号（１３）〜（１４），ＰＲＯＭエラー信号（１５）〜（１６）が全てＨＩＧＨの場合には、全てのエラーチェックに異常がなかった場合であり、マイクロプロセッサ（１）が出力する制御信号（８）の状態によってＰＲＯＭセレクト信号（７）の出力が変わる。
【００３７】
制御信号（８）がＨＩＧＨの場合にはダウンロード処理の終了であり、現状動作しているＰＲＯＭと逆のＰＲＯＭにダウンロードを行ったことになるので、ダウンロードを行った側、つまり、ＰＲＯＭセレクト信号（７）にＨＩＧＨを出力しているならばＬＯＷを出力し、ＰＲＯＭセレクト信号（７）にＬＯＷを出力しているならばＨＩＧＨを出力する。一方、制御信号（８）がＬＯＷの場合には現状動作している側、つまり、ＰＲＯＭセレクト信号（７）にＨＩＧＨを出力しているならばＨＩＧＨを出力し、ＰＲＯＭセレクト信号（７）にＬＯＷを出力しているならばＬＯＷを出力する。
【００３８】
ＰＲＯＭサムチェック信号（１３）〜（１４）およびＰＲＯＭ−Ａエラー信号（１５）がＨＩＧＨで、ＰＲＯＭ−Ｂエラー信号（１６）がＬＯＷの場合には、ＰＲＯＭ−Ｂ（３）の動作に異常があるので、ＰＲＯＭセレクト信号（７）にＨＩＧＨを出力しＰＲＯＭ−Ａ（２）を選択する。
【００３９】
ＰＲＯＭサムチェック信号（１３）〜（１４）およびＰＲＯＭ−Ｂエラー信号（１６）がＨＩＧＨで、ＰＲＯＭ−Ａエラー信号（１５）がＬＯＷの場合には、ＰＲＯＭ−Ａ（２）の動作に異常があるので、ＰＲＯＭセレクト信号（７）にＬＯＷを出力しＰＲＯＭ−Ｂ（３）を選択する。
【００４０】
ＰＲＯＭ−Ａサムチェック信号（１３）およびＰＲＯＭエラー信号（１５）〜（１６）がＨＩＧＨで、ＰＲＯＭ−Ｂサムチェック信号（１４）がＬＯＷの場合には、ＰＲＯＭ−Ｂ（３）のチェックサムに異常があるので、ＰＲＯＭセレクト信号（７）にＨＩＧＨを出力しＰＲＯＭ−Ａ（２）を選択する。
【００４１】
ＰＲＯＭ−Ｂサムチェック信号（１４）およびＰＲＯＭエラー信号（１５）〜（１６）がＨＩＧＨで、ＰＲＯＭ−Ａサムチェック信号（１３）がＬＯＷの場合には、ＰＲＯＭ−Ａ（２）のチェックサムに異常があるので、ＰＲＯＭセレクト信号（７）にＬＯＷを出力しＰＲＯＭ−Ｂ（３）を選択する。
【００４２】
その他の場合は、前述のように、ＰＲＯＭ−Ａ（２）とＰＲＯＭ−Ｂ（３）のどちらも動作させられない状態であるから双方の動作を禁止する。
【００４３】
一方、外部切替信号（１１）がＬＯＷの場合は、外部からの強制切替モードである。この場合は、ＰＲＯＭサムチェック信号（１３）〜（１４）およびＰＲＯＭエラー信号（１５）〜（１６）の組合せに関わらず、ＰＲＯＭセレクト信号（７）は外部切替信号（１１）によって定まる。外部切替信号（１１）がＬＯＷで、かつ、外部切替信号（１２）がＨＩＧＨの場合は、ＰＲＯＭセレクト信号（７）にＨＩＧＨを出力してＰＲＯＭ−Ａ（２）を選択する。また、外部切替信号（１１）がＬＯＷで、かつ、外部切替信号（１２）がＬＯＷの場合は、ＰＲＯＭセレクト信号（７）にＬＯＷを出力してＰＲＯＭ−Ｂ（３）を選択する。
【００４４】
以下に、ＰＲＯＭ−Ｂ（３）からＰＲＯＭ−Ａ（２）に強制切替を行う例を示す。例えば、ＰＲＯＭ−Ａ（２）のプログラムによりＰＲＯＭ−Ｂ（３）にダウンロードを行う。このＰＲＯＭ−Ｂ（３）に対するダウンロードデータのチェックサムが正しい場合には、マイクロプロセッサ１はＰＲＯＭ−Ｂ（３）で再起動する。しかし、ＰＲＯＭ−Ｂ（３）に書き込んだプログラムのダウンロード機能に不具合があった場合、次に、ＰＲＯＭ−Ａ（２）に対してプログラムのダウンロードを行うことができなくなってしまう。
【００４５】
このような場合、外部切替信号（１１）をＬＯＷにして外部からの強制切替えモードにし、外部切替信号（１２）をＨＩＧＨにしてＰＲＯＭ−Ａ（２）に強制的に切替を行い、マイクロプロセッサ（１）をＰＲＯＭ−Ａ（２）で再起動する。そして、ＰＲＯＭ−Ａ（２）のダウンロード機能によりＰＲＯＭ−Ｂ（３）に対して、新しいプログラムをダウンロードすることができる。ＰＲＯＭ−Ａ（２）からＰＲＯＭ−Ｂ（３）に強制切替を行う場合も同様である。
【００４６】
なお、この例では、ＰＲＯＭがＰＲＯＭ−Ａ（２）とＰＲＯＭ−Ｂ（３）の２面の場合を示したが、診断回路（１０）にＰＲＯＭの数に対応するだけのＰＲＯＭサムチェック機能と信号、およびＰＲＯＭエラー信号を追加することで実現することが可能である。
【００４７】
また、以上に説明したＰＲＯＭ切替制御方法をコンピュータに実行させるためのプログラムを半導体メモリ，フロッピーディスク，ＣＤ−ＲＯＭ等の記録媒体に記録して、ＰＲＯＭ切換制御システムを構成するコンピュータに読み込んで実行させるようにしてもよい。そのプログラムのうち、マイクロプロセッサが実行する部分を除いた部分は、コンピュータを診断回路（１０）およびチップセレクト生成回路（４）として機能させる。
【００４８】
【発明の効果】
本発明の第１の効果は、ダウンロードしたＰＲＯＭ領域のデータに不具合がある場合、あるいは運用プログラムそのものに不具合がある場合に、不具合のある領域のプログラムをそのまま動作させないことにより、ＰＲＯＭを使用するシステムの信頼性を向上させるということである。その理由は、ＰＲＯＭ領域のデータのチェックを行うとともに、ＰＲＯＭ上のプログラムの動作をＷＤＴ機能により監視し、その結果によってＰＲＯＭを選択して動作する構成としたからである。
【００４９】
また、第２の効果は、動作させたいＰＲＯＭに強制的に切替ができるということである。特に、現状動作しているＰＲＯＭがサムチェックも、ＷＤＴ機能によるエラー検出も問題ないが、プログラムのダウンロード機能に問題がある場合に、新しいプログラムをダウンロードすることができなくなるという問題が発生しなくなる。その理由は、外部からＰＲＯＭを強制的に切り替えて選択することができるような構成としたからである。
【図面の簡単な説明】
【図１】本発明のＰＲＯＭ切替制御システムの一実施例を示すブロック図
【図２】本発明のＰＲＯＭ切替制御方法における起動からダウンロード処理までの動作フローチャート
【図３】本発明における診断回路１０が動作禁止状態を検出しない場合の動作フローチャート
【図４】本発明における診断回路１０が動作禁止状態を検出する場合の動作フローチャート
【図５】本発明におけるチップセレクト生成回路４の動作真理値表を示す図
【図６】従来の一実施例を示すブロック図
【符号の説明】
１      マイクロプロセッサ
２      ＰＲＯＭ−Ａ
３      ＰＲＯＭ−Ｂ
４      チップセレクト生成回路
５      アドレス／データバス
６      ダウンロードデータ入力端子
７      ＰＲＯＭセレクト信号
８      制御信号
９      リセット信号
１０    診断回路
１１    外部切替信号入力端子
１２    外部切替信号入力端子
１３    ＰＲＯＭ−Ａサムチェック信号
１４    ＰＲＯＭ−Ｂサムチェック信号
１５    ＰＲＯＭ−Ａエラー信号
１６    ＰＲＯＭ−Ｂエラー信号
１７    ＰＲＯＭ警報出力端子
４０    チップセレクト生成回路
【図１】
0004689792.tif 000002
【図２】
0004689792.tif 000003
【図３】
0004689792.tif 000004
【図４】
0004689792.tif 000005
【図５】
0004689792.tif 000006
【図６】
0004689792.tif 000007