(57)【特許請求の範囲】
【請求項１】
データ処理プログラムを書き換え可能であるとともに、このデータ処理プログラムによって用いられるデータを、一方の領域と他方の領域に２重に記憶する記憶手段を有するデータ処理装置において、
前記データ処理プログラムの書き換え前後で、前記記憶手段の前記一方の領域と前記他方の領域とを切り換える制御手段、
を備えたことを特徴とするデータ処理装置。
【請求項２】
前記制御手段は、
前記データ処理プログラムの書き換え前では、前記一方の領域をメインデータ領域、および前記他方の領域をバックアップデータ領域にし、
前記データ処理プログラムの書き換え後では、前記一方の領域をバックアップデータ領域、および前記他方の領域をメインデータ領域にする、
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記制御手段は、
前記データ処理プログラムの書き換え後に用いられるデータを前記他方の領域に記憶させ、この他方の領域を前記データ処理プログラムの書き換え後の前記メインデータ領域にし、
前記データ処理プログラムの書き換え後に起動されるデータ処理プログラムを選択する選択データを書き換え、
前記データ処理プログラムの書き換え後に用いられるデータを前記一方の領域に記憶させ、この一方の領域を前記データ処理プログラムの書き換え後の前記バックアップデータ領域にする、
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
データ処理プログラムを書き換え可能であるとともに、このデータ処理プログラムによって用いられるデータを、一方の領域と他方の領域に２重に記憶して、前記データの処理を行うデータ処理方法において、
前記データ処理プログラムの書き換え前後で、前記一方の領域と前記他方の領域とを切り換える切換ステップ、
を有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き換え可能なデータ処理プログラムによって用いられるデータを、２重に記憶するデータ処理装置およびデータ処理方法に関し、特に、データ記憶方式に関するものである。
【背景技術】
【０００２】
プロセス制御に用いられる圧力伝送器、流量計などのフィールド機器は、内部に記憶されたデータ処理プログラムをＣＰＵ（セントラルプロセッシングユニット）が実行することによって、圧力または流量を算出するとともに、パラメータ設定や調整などの各種機能を実行することができる。
【０００３】
このうち、フィールドバス通信仕様によって規定されたソフトウェアダウンロード機能を有するフィールド機器では、機能追加などが行われたデータ処理プログラムをホストコンピュータから受け取って、書き換えることが可能である。このようなフィールド機器について、図４を用いて説明する。図４は、ソフトウェアダウンロード機能を有するフィールド機器１０の構成図である。
【０００４】
図４において、フィールド機器１０は、センサ２０、ＣＰＵ３０、不揮発性メモリ４０、Ｆｌａｓｈ  ＲＯＭ（フラッシュロム）＃０  ５０、Ｆｌａｓｈ  ＲＯＭ＃１  ６０、ＳＲＡＭ（スタティックラム）７０、ＭＯＤＥＭ（モデム）８０、ＭＡＵ（メディアアタッチメントユニット）８１、Ｇ／Ａ（ゲートアレー）９０および双方向バスＢを備える。なお、Ｆｌａｓｈ  ＲＯＭ＃０  ５０およびＦｌａｓｈ  ＲＯＭ＃１  ６０は、別々のフラッシュロムから構成される。また、不揮発性メモリ４０は、例えば、１つのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）から構成される。
【０００５】
センサ２０によって検出された物理量を示すセンサ信号がＣＰＵ３０に入力され、ＣＰＵ３０は、双方向バスＢを介して、不揮発性メモリ４０、Ｆｌａｓｈ  ＲＯＭ＃０  ５０、Ｆｌａｓｈ  ＲＯＭ＃１  ６０、ＳＲＡＭ７０、ＭＯＤＥＭ８０およびＧ／Ａ９０に接続される。また、ＭＯＤＥＭ８０は、ＭＡＵ８１に双方向接続され、通信データの送受信を行う。
【０００６】
Ｆｌａｓｈ  ＲＯＭ＃０  ５０は書き換え可能な不揮発性メモリーであり、これにはデータ処理プログラムが記憶されている。また、不揮発性メモリ４０は書き換え可能な不揮発性メモリーであり、これにはデータ処理プログラムの演算に用いられるデータが記憶されている。
【０００７】
例えば、ＣＰＵ３０は、配管（図示しない）を流れる流量に対応した起電力をセンサ２０から受け取った場合、Ｆｌａｓｈ  ＲＯＭ＃０  ５０から読み出したデータ処理プログラムに従い、不揮発性メモリ４０に記憶されたセンサ２０の特性値と起電力値とを演算（乗算）し、流量値を算出して、ＭＯＤＥＭ８０およびＭＡＵ８１を介して出力する。
【０００８】
なお、流量値は、ＭＯＤＥＭ８０およびＭＡＵ８１を介して、フィールドバス通信のデジタル通信信号として出力してもよい。また、ＳＲＡＭ７０は書き換え可能な揮発性メモリーであり、これには演算の途中で得られる一時的なデータが記憶される。
【０００９】
さらに、フィールド機器１０は、ソフトウェアダウンロード機能を有しており、ホストコンピュータ（図示しない）から、機能追加などが行われた新たなデータ処理プログラムを含む通信信号が送られてきた場合、ＣＰＵ３０は、これを解読して、現在実行中のＦｌａｓｈ  ＲＯＭ＃０  ５０ではなく、Ｆｌａｓｈ  ＲＯＭ＃１  ６０に新たなデータ処理プログラムを書き込む。
【００１０】
そして、不揮発性メモリ４０は、Ｆｌａｓｈ  ＲＯＭ＃０  ５０に記憶されているデータ処理プログラムの演算で用いられるデータと、Ｆｌａｓｈ  ＲＯＭ＃１  ６０に記憶されているデータ処理プログラムの演算で用いられるデータとを、別々の領域に記憶している。
【００１１】
また、不揮発性メモリ４０に記憶されているデータの化けや喪失に対する保護を図るため、Ｆｌａｓｈ  ＲＯＭ＃０、＃１毎に、データが２重に記憶されている。この２重記憶については、特許文献１に開示されている。
【００１２】
以下に、不揮発性メモリ４０に記憶されているデータ（センサ２０の特性値など）について図５を用いて説明する。
【００１３】
図５は、不揮発性メモリ４０の領域に記憶されているデータの種類を示したものであり、不揮発性メモリ４０の領域の下部（下位アドレス）から上部（上位アドレス）に向かって、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１、Ｆｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１および共通領域ＣＭの各領域に、各データが記憶されている。
【００１４】
Ｆｌａｓｈ  ＲＯＭ＃０  ５０内のデータ処理プログラムの演算で用いられるデータはメインデータ領域Ｍ０に記憶され、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムの演算で用いられるデータはメインデータ領域Ｍ１に記憶されている。
【００１５】
さらに、データの２重化のため、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０のデータのバックアップ用に、同じデータが、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０に記憶されている。
【００１６】
同様に、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１のバックアップデータが、Ｆｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１に記憶されている。
【００１７】
共通領域ＣＭには、フィールド機器１０の起動時に、Ｆｌａｓｈ  ＲＯＭ＃０  ５０またはＦｌａｓｈ  ＲＯＭ＃１  ６０内のいずれか一方のデータ処理プログラムを選択して、処理を開始するかを示すデータが記憶されている。
【００１８】
例えば、共通領域ＣＭのデータが「０」であれば、ＣＰＵ３０は、起動時に、Ｆｌａｓｈ  ＲＯＭ＃０  ５０内のデータ処理プログラムを選択して処理を開始する。また、共通領域ＣＭのデータが「１」であれば、起動時に、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを選択して処理を開始する。
【００１９】
つぎに、Ｆｌａｓｈ  ＲＯＭ＃１  ６０に新たなデータ処理プログラムを書き込むソフトウェアダウンロード処理について、図６を用いて説明する。図６は、ＣＰＵ３０が実行するソフトウェアダウンロード処理のフローチャートである。
【００２０】
図６のステップＳ１０において、ＣＰＵ３０は、現在、Ｆｌａｓｈ  ＲＯＭ＃０  ５０内のデータ処理プログラムに従って、流量演算などのデータ処理を実行している。
【００２１】
ステップＳ２０において、ＣＰＵ３０は、ソフトウェアダウンロード実行コマンドを受信すると、Ｆｌａｓｈ  ＲＯＭ＃１  ６０に新たなデータ処理プログラムを書き込む（ダウンロード）。
【００２２】
ステップＳ３０において、ＣＰＵ３０は、書き込み処理の進捗状況を確認して、終了していなければ（ステップＳ３０のＮｏ）、ステップＳ２０の書き込処理を継続する。一方、終了していれば（ステップＳ３０のＹｅｓ）、ステップＳ４０に移行する。
【００２３】
ステップＳ４０において、ＣＰＵ３０は、不揮発性メモリ４０内の各領域間でデータのコピー処理を行う。この処理の説明は、図７を用いて後述する。
【００２４】
ステップＳ５０において、ＣＰＵ３０は再起動処理を実行する。なお、ステップＳ４０のデータコピー処理（後述）において、共通領域ＣＭのデータは「０」から「１」に書き換えられているので、ＣＰＵ３０は、再起動時に、共通領域ＣＭのデータを参照し、「１」であるので、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを選択して処理を開始する。
【００２５】
以上で、ソフトウェアダウンロード処理は終了するが、以後、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムに従い、流量演算などのデータ処理を実行するとともに、新たに追加された機能を実行する。
【００２６】
つぎに、図６のステップＳ４０における不揮発性メモリデータコピー処理を、図７を用いて説明する。図７は、不揮発性メモリデータコピー処理のフローチャートである。
【００２７】
Ｆｌａｓｈ  ＲＯＭ＃１  ６０への新たなデータ処理プログラムの書き込み終了後（図６のステップＳ３０のＹｅｓ）、追加機能で用いられる新たに追加されたパラメータデータが、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０に記憶される。
【００２８】
これまでのパラメータデータと新たに追加されたパラメータデータ（以下、これらのデータを併せて「新パラメータデータ」という）は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムで用いられるため、図６のステップＳ５０における再起動処理前に、新パラメータデータを不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１に記憶させておく必要がある。
【００２９】
このため、図７のステップＳ４１において、ＣＰＵ３０は、新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０から読み込む。
【００３０】
ステップＳ４２において、ＣＰＵ３０は、新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１に書き込む。
【００３１】
これによって、図６のステップＳ５０における再起動処理後、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムに従い、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１に記憶された新パラメータデータを用いて、演算および追加機能を含む各種機能を実行することができる。
【００３２】
ステップＳ４３において、新パラメータデータの２重化のため、ＣＰＵ３０は、新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１に書き込む。
【００３３】
ステップＳ４４において、図６のステップＳ５０の再起動処理で、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを選択するために、共通領域ＣＭのデータを「０」から「１」に変更する。
【００３４】
これによって、ＣＰＵ３０は、図６のステップＳ５０において、共通領域ＣＭのデータ「１」を参照し、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを選択して処理を開始することができる。
【００３５】
以上、ソフトウェアダウンロードによって、データ処理プログラムが、Ｆｌａｓｈ  ＲＯＭ＃０  ５０からＦｌａｓｈ  ＲＯＭ＃１  ６０へ移行する場合について説明したが、次回のソフトウェアダウンロードが実行されると、逆に、Ｆｌａｓｈ  ＲＯＭ＃１  ６０からＦｌａｓｈ  ＲＯＭ＃０  ５０へ移行する。
【００３６】
このＦｌａｓｈ  ＲＯＭ＃１  ６０からＦｌａｓｈ  ＲＯＭ＃０  ５０への移行を行うために、ＣＰＵ３０は、新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１から読み込み（図７のステップＳ４１）、これを不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０およびバックアップデータ領域Ｂ０に書き込み（ステップＳ４２、Ｓ４３）、共通領域ＣＭのデータを「１」から「０」に変更する（ステップＳ４４）。
【先行技術文献】
【特許文献】
【００３７】
【特許文献１】特開平５−２２５０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００３８】
ソフトウェアダウンロード処理および不揮発性メモリ内データの２重化に対応するため、図５に示したように、不揮発性メモリ４０は、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１およびＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１の４つの領域を必要とし、大規模なメモリ容量を有する不揮発性メモリが必要となる。
【００３９】
例えば、各領域の大きさがほぼ等しいとすると、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０の４倍の領域を必要とする。このため、このような不揮発性メモリは、コストおよび実装面積（スペース）の増大を招く、という問題がある。
【００４０】
本発明は、不揮発性メモリの領域を効率良く使用し、使用領域を小さくして、コストおよび実装面積を低減するデータ処理装置およびデータ処理方法を提供することである。
【課題を解決するための手段】
【００４１】
このような目的を達成するために、請求項１の発明は、
データ処理プログラムを書き換え可能であるとともに、このデータ処理プログラムによって用いられるデータを、一方の領域と他方の領域に２重に記憶する記憶手段を有するデータ処理装置において、
前記データ処理プログラムの書き換え前後で、前記記憶手段の前記一方の領域と前記他方の領域とを切り換える制御手段、
を備えたことを特徴とする。
請求項２の発明は、請求項１に記載の発明において、
前記制御手段は、
前記データ処理プログラムの書き換え前では、前記一方の領域をメインデータ領域、および前記他方の領域をバックアップデータ領域にし、
前記データ処理プログラムの書き換え後では、前記一方の領域をバックアップデータ領域、および前記他方の領域をメインデータ領域にする、
ことを特徴とする。
請求項３の発明は、請求項２に記載の発明において、
前記制御手段は、
前記データ処理プログラムの書き換え後に用いられるデータを前記他方の領域に記憶させ、この他方の領域を前記データ処理プログラムの書き換え後の前記メインデータ領域にし、
前記データ処理プログラムの書き換え後に起動されるデータ処理プログラムを選択する選択データを書き換え、
前記データ処理プログラムの書き換え後に用いられるデータを前記一方の領域に記憶させ、この一方の領域を前記データ処理プログラムの書き換え後の前記バックアップデータ領域にする、
ことを特徴とする。
請求項４の発明は、
データ処理プログラムを書き換え可能であるとともに、このデータ処理プログラムによって用いられるデータを、一方の領域と他方の領域に２重に記憶して、前記データの処理を行うデータ処理方法において、
前記データ処理プログラムの書き換え前後で、前記一方の領域と前記他方の領域とを切り換える切換ステップ、
を有することを特徴とする。
【発明の効果】
【００４２】
本発明によれば、制御手段が、データ処理プログラムの書き換え前後で、記憶手段（例えば、不揮発性メモリ）の一方の領域と他方の領域とを切り換えることによって、記憶手段の領域を効率良く使用し、使用領域を小さくできるとともに、コストおよび実装面積を低減することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明を適用したフィールド機器の構成図の例である。
【図２】本発明を適用した不揮発性メモリに記憶されているデータの例である。
【図３】本発明を適用した不揮発性メモリデータコピー処理のフローチャート図の例である。
【図４】背景技術で示したフィールド機器の構成図の例である。
【図５】不揮発性メモリに記憶されているデータの例である。
【図６】ソフトウェアダウンロード処理のフローチャート図の例である。
【図７】不揮発性メモリデータコピー処理のフローチャート図の例である。
【発明を実施するための形態】
【００４４】
図１は、本実施例を適用した、ソフトウェアダウンロード機能を有するフィールド機器１００の構成図であり、これを用いて説明する。なお、図１において、図４と同一のものは同一符号を付し説明を省略する。
【００４５】
図１において、フィールド機器１００（データ処理装置）は、図４のフィールド機器１０と比較して、ＣＰＵ３０内に制御手段１１０を備える点、および不揮発性メモリ（記憶手段）４０の記憶領域が相違し、これらの相違点が本実施例の特徴である。なお、これ以外の構成および動作は、図４のフィールド機器１０と同等であり、説明を省略する。
【００４６】
つぎに、不揮発性メモリ４０に記憶されているデータについて図２を用いて説明する。
【００４７】
図２（ａ）は、ＣＰＵ３０がＦｌａｓｈ  ＲＯＭ＃０  ５０内のデータ処理プログラムを実行する場合に、不揮発性メモリ４０の領域に記憶されているデータの種類を示したものである。
【００４８】
図２（ｂ）は、ＣＰＵ３０がＦｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを実行する場合に、不揮発性メモリ４０の領域に記憶されているデータの種類を示したものである。
【００４９】
すなわち、図２（ａ）は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０への新たなデータ処理プログラム書き込み前の不揮発性メモリ４０の領域を表し、図２（ｂ）は、書き込み後の不揮発性メモリ４０の領域を表している。
【００５０】
図２（ａ）において、不揮発性メモリ４０の領域の下部（下位アドレス）から上部（上位アドレス）に向かって、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０（一方の領域）、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０（他方の領域）および共通領域ＣＭの各領域に、各データが記憶されている。
【００５１】
図２（ｂ）において、不揮発性メモリ４０の領域の下部（下位アドレス）から上部（上位アドレス）に向かって、Ｆｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１（一方の領域）、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１（他方の領域）、および共通領域ＣＭの各領域に、各データが記憶されている。
【００５２】
すなわち、ＣＰＵ３０が、Ｆｌａｓｈ  ＲＯＭ＃０  ５０またはＦｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを実行する場合、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０とＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１とは同じ領域（一方の領域）を共用し、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０とＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１とは同じ領域（他方の領域）を共用する。
【００５３】
これによって、不揮発性メモリ４０の使用領域を、図５で示した使用領域の約半分にすることができる。
【００５４】
なお、図５で説明したように、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０（図２（ａ）参照）およびＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１（図２（ｂ）参照）は、データの２重化のためである。また、共通領域ＣＭのデータは、起動時に、データ処理プログラムを選択するための選択データである。
【００５５】
つぎに、制御手段１１０によって実行される不揮発性メモリデータコピー処理について図３を用いて説明する。図３は、不揮発性メモリデータコピー処理のフローチャートであり、ステップＳ４１０〜Ｓ４４０によって切換ステップが構成される。なお、この処理は、図７の不揮発性メモリデータコピー処理に代えて実行される。
【００５６】
Ｆｌａｓｈ  ＲＯＭ＃１  ６０への新たなデータ処理プログラムの書き込み終了後（図６のステップＳ３０のＹｅｓ）、図３のステップＳ４１０が実行される。ステップＳ４１０において、制御手段１１０は、新たなデータ処理プログラムで用いられる新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０（一方の領域（図２（ａ）参照））から読み込む。
【００５７】
ステップＳ４２０において、制御手段１１０は、新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１（他方の領域（図２（ｂ）参照））に書き込む。
【００５８】
ステップＳ４３０において、図６のステップＳ５０での再起動処理で、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを選択するために、共通領域ＣＭのデータ（選択データ）を「０」から「１」に変更する。
【００５９】
ステップＳ４４０において、新パラメータデータの２重化のため、制御手段１１０は、新パラメータデータを、不揮発性メモリ４０内のＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１（一方の領域（図２（ｂ）参照））に書き込む。
【００６０】
以上のステップによって、不揮発性メモリ４０内の領域は、図２（ａ）に示した領域から図２（ｂ）に示した領域に変更される。
【００６１】
すなわち、Ｆｌａｓｈ  ＲＯＭ＃１  ６０への新たなデータ処理プログラムの書き込み前後で、一方の領域であるＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０を、他方の領域であるＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１に切り換える。
【００６２】
さらに、他方の領域であるＦｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０を、一方の領域であるＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１に切り換える。
【００６３】
そして、ステップＳ４４０を実行した後、図６のステップＳ５０が実行される。ステップＳ５０において、ＣＰＵ３０は、共通領域ＣＭのデータ「１」を参照し、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを選択して処理を開始することができる。
【００６４】
ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムに従い、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１（図２（ｂ）参照）に記憶された新パラメータデータを用いて、演算および追加機能を含む各種機能を実行することができる。
【００６５】
以上のソフトウェアダウンロードによって、Ｆｌａｓｈ  ＲＯＭ＃０  ５０からＦｌａｓｈ  ＲＯＭ＃１  ６０へ移行することができ、フィールド機器１００では、新たなデータ処理プログラムへの書き換えが行われたことになる。
【００６６】
また、次回のソフトウェアダウンロードによって、逆に、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０およびＦｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０にデータを書き込み（ステップＳ４２０、Ｓ４４０）、共通領域ＣＭのデータを「１」から「０」に変更する（ステップＳ４３０）によって、Ｆｌａｓｈ  ＲＯＭ＃１  ６０からＦｌａｓｈ  ＲＯＭ＃０  ５０へ移行される。
【００６７】
本実施によれば、制御手段１１０は、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１およびＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１にデータを書き込み（ステップＳ４２０、Ｓ４４０）、一方の領域と他方の領域とを切り換えた後、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムを実行する。
【００６８】
これによって、データ処理プログラムの書き換え前後で、不揮発性メモリ４０の記憶領域を図２のように共用できるので、不揮発性メモリ４０の領域を効率良く使用し、使用領域を従来の約半分にできるとともに、コストおよび実装面積を低減することができる。
【００６９】
つぎに、図３の各ステップの実行途中で、フィールド機器１００へ供給される電源が落ち、その後、電源が入って再起動した場合の動作について説明する。
【００７０】
（１）図３のステップＳ４１０を実行中に電源が落ちた場合：
データの読み込み中に電源が落ちたので、図２（ａ）のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０、Ｆｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０には、正常なデータが記憶されたままである。また、共通領域ＣＭには、データ「０」が記憶されている。
【００７１】
このため、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃０  ５０内のデータ処理プログラムおよびＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０のデータを用いて、正常に再起動することができる。
【００７２】
（２）図３のステップＳ４２０を実行中に電源が落ちた場合：
図２（ａ）のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０には、正常なデータが記憶されたままである。
【００７３】
一方、図２（ｂ）のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１には、データ書き込み途中で電源が落ちたので、不正常なデータが記憶されている。また、共通領域ＣＭには、データ「０」が記憶されている。
【００７４】
このため、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃０  ５０内のデータ処理プログラムおよびＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０のデータを用いて、正常に再起動することができる。
【００７５】
なお、図２（ａ）のＦｌａｓｈ  ＲＯＭ＃０用バックアップデータ領域Ｂ０には、その後の２重化処理によって、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０のデータが書き込まれて、正常なデータになる。
【００７６】
（３）図３のステップＳ４３０を実行中に電源が落ちた場合：
図２（ａ）のＦｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０および図２（ｂ）のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１には、正常なデータが記憶されている。
【００７７】
一方、共通領域ＣＭには、データ書き込み途中で電源が落ちたので、データは「０」か「１」かのいずれかである。この場合、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃０か＃１のいずれかのデータ処理プログラムで再起動するため、Ｆｌａｓｈ  ＲＯＭ＃０用メインデータ領域Ｍ０またはＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１のいずれかのデータを用いて、正常に再起動することができる。
【００７８】
なお、バックアップデータ領域Ｂ０またはＢ１には、その後の２重化処理によって、メインデータ領域Ｍ０またはＭ１のデータが書き込まれて、正常なデータになる。
【００７９】
（４）図３のステップＳ４４０を実行中に電源が落ちた場合：
図２（ｂ）のＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１には、正常なデータが記憶されている。また、共通領域ＣＭには、データ「１」が記憶されている。
【００８０】
このため、ＣＰＵ３０は、Ｆｌａｓｈ  ＲＯＭ＃１  ６０内のデータ処理プログラムおよびＦｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１のデータを用いて、正常に再起動することができる。
【００８１】
なお、図２（ｂ）のＦｌａｓｈ  ＲＯＭ＃１用バックアップデータ領域Ｂ１には、データ書き込み途中で電源が落ちたので、不正常なデータが記憶されているが、その後の２重化処理によって、Ｆｌａｓｈ  ＲＯＭ＃１用メインデータ領域Ｍ１のデータが書き込まれて、正常なデータになる。
【００８２】
以上のように、図３のステップＳ４１０〜Ｓ４４０の順番で処理を行うことによって、各処理の途中で電源が落ちても、その後、正常に再起動し、処理を続行することができる。
【００８３】
なお、制御手段１１０は、ＣＰＵ３０の外部に設けてもよく、また論理回路によって実現してもよい。
【００８４】
また、データ処理装置の一例として、フィールド機器１００を用いて説明したが、これに限られず、各種のデータ処理を行う装置や機器などに本発明を適用することができる。
【００８５】
なお、本発明は、前述の実施例に限定されることなく、その本質を逸脱しない範囲で、さらに多くの変更および変形を含む。また、前述した各手段の組み合わせ以外の組み合わせを含むことができる。
【符号の説明】
【００８６】
３０  ＣＰＵ
４０  不揮発性メモリ（記憶手段）
５０    Ｆｌａｓｈ  ＲＯＭ＃０
６０    Ｆｌａｓｈ  ＲＯＭ＃１
１００  フィールド機器（データ処理装置）
１１０  制御手段
【図１】
0005413809.tif 000002
【図２】
0005413809.tif 000003
【図３】
0005413809.tif 000004
【図４】
0005413809.tif 000005
【図５】
0005413809.tif 000006
【図６】
0005413809.tif 000007
【図７】
0005413809.tif 000008