(57)【要約】【課題】コスト及び実装面積の低減を図ることができるとともに信頼性を確保することができる測定装置を提供する。【解決手段】測定装置１は、所定の物理量（例えば、電圧）の測定を行うセンサ部１０と、所定のプログラムに従ってセンサ部１０の制御等を行う制御部２０とを備える。制御部２０は、１ビット単位でのデータの書き込み及び複数ビットからなるセクタ単位でのデータの消去が可能であって、上記のプログラムを記憶するプログラム記憶領域と、センサ部１０における測定を行う上で用いられるデータを記憶するデータ記憶領域とが設けられたフラッシュＲＯＭ２４と、フラッシュＲＯＭ２４のデータ記憶領域に記憶されているデータを更新する場合には、更新されるデータを消去することなく、データ記憶領域内における未使用領域に対して更新すべき新たなデータの書き込みを行うＣＰＵ２３とを備える。【選択図】図１
2010091458.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムに従って動作して、所定の物理量を測定する測定装置において、
１ビット単位でのデータの書き込みが可能であるとともに複数ビットからなるセクタ単位でのデータの消去が可能であって、前記プログラムを記憶する第１領域と前記所定の物理量の測定を行う上で用いられるデータを記憶する第２領域とが設けられた不揮発性メモリと、
前記不揮発性メモリの前記第２領域に記憶されているデータを更新する場合には、更新されるべき当該データを消去することなく、前記第２領域内における未使用領域に対して更新すべき新たなデータの書き込みを行うメモリ制御部と
を備えることを特徴とする測定装置。
【請求項２】
前記不揮発性メモリの前記第２領域に記憶されるデータには、当該データが有効であるか又は無効であるかを示すステータス情報が付随しており、
前記メモリ制御部は、前記第２領域に記憶されているデータであって、更新された元のデータに付随するステータス情報を有効から無効に変えることを特徴とする請求項１記載の測定装置。
【請求項３】
前記不揮発性メモリの前記第２領域に記憶されているデータであって付随する前記ステータス情報が有効であるデータと、当該データが前記第２領域内において記憶されている位置を示すアドレス情報とを組にして一時的に記憶する揮発性メモリを備えることを特徴とする請求項２記載の測定装置。
【請求項４】
前記メモリ制御部は、前記不揮発性メモリの前記第２領域に記憶されているデータの更新を行う必要が生じた場合には、前記揮発性メモリに記憶されたデータのうち更新を行う必要のあるデータに対応するデータの更新を行い、所定時間経過した後に、更新が行われた前記揮発性メモリに記憶されたデータを前記不揮発性メモリの前記第２領域に書き込むことを特徴とする請求項３記載の測定装置。
【請求項５】
前記メモリ制御部は、前記揮発性メモリに記憶されたデータを前記不揮発性メモリの前記第２領域に書き込んだ場合に、前記揮発性メモリに記憶されている前記データに付随するアドレス情報を、新たに書き込まれたデータの前記第２領域内における記憶位置を示すアドレス情報に更新することを特徴とする請求項４記載の測定装置。
【請求項６】
前記不揮発性メモリの前記第２領域は複数設けられており、
前記メモリ制御部は、前記第２領域の何れかにおいて未使用領域が無くなった場合に、未使用領域が無くなった第２領域に記憶されているデータを未使用領域がある他の第２領域にコピーし、未使用領域が無くなった第２領域に記憶されているデータの一括消去を行うことを特徴とする請求項１から請求項５の何れか一項に記載の測定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電圧、電流、その他の各種物理量の測定を行う測定装置に関する。
【背景技術】
【０００２】
従来から、電気信号の測定には電流計、電圧計、オシロスコープ、又はスペクトルアナライザ等の測定装置が用いられている。また、気体や流体の測定には圧力計、流量計、温度計、湿度計等の測定装置が用いられている。更に、近年においては、環境に対する関心が高まっており、ｐＨ計、酸素計、濃度計等の環境に関する物理量の測定を行う測定装置の開発も盛んに行われている。これら各種の測定装置は、発電プラント、石油化学プラント、その他の各種プラントにおいては、フィールド機器として設置される。
【０００３】
近年、上述した各種測定装置の多くは、利便性の向上、機能改善の容易化、多機能化等を図るためにプログラム制御により動作するものになっている。例えば、電圧を測定するフィールド機器は、電圧の測定を行う本来のセンサ部に加えて、センサ部の制御（例えば、バイアス制御等）を行うセンサ制御部と、センサ部で測定された測定データをフィールドバスを介して送信する通信部と、これらセンサ制御部や通信部の動作を所定のプログラムに基づいて統括制御する制御部とを備える構成である。
【０００４】
以上の構成のフィールド機器は、フラッシュＲＯＭ（Read Only Memory）とＥＥＰＲＯＭ（Electrically Erasable and Programmable ＲＯＭ）とを備えており、制御部で用いられるプログラムをフラッシュＲＯＭに格納し、センサ制御部に対する調整値や設定値をＥＥＰＲＯＭに格納するものが多い。これは、フラッシュＲＯＭ及びＥＥＰＲＯＭの性質の相違によるものである。
【０００５】
ここで、フラッシュＲＯＭ及びＥＥＰＲＯＭは共に、電源を遮断してもデータが保持される不揮発性メモリである。しかしながら、フラッシュＲＯＭは１ビット単位でのデータ書き込みが可能であるがデータの消去は複数ビットからなるセクタ単位でしか行うことができないという性質があるのに対し、ＥＥＰＲＯＭはデータの消去と書き込みとをまとめて１ビット単位で行うことが可能であるという性質がある。
【０００６】
また、フラッシュＲＯＭは、セクタ単位でのデータの消去のみが可能であるという上記の性質に加えて、データの消去に長時間（例えば、１秒以上）を要し、しかも消去時の消費電流が大きく（例えば、数十ｍＡ）、更に消去回数にも制限がある（例えば、数万回程度）という性質がある。このため、フラッシュＲＯＭでは、消去が頻繁に行われる状況は望ましくない。
【０００７】
これに対し、ＥＥＰＲＯＭは、データをシリアル通信により転送しており、データの通信及び書き込みに要する時間が数ｍｓｅｃ程度の時間が必要になるという性質がある。また、ＥＥＰＲＯＭは信頼性が十分ではなく、格納されているプログラムやデータの一部が変化してしまうこともある。このため、信頼性を向上させるために、定期的にデータの読み出しを行ってデータが正常であるか否かの確認を行うチェック回路又はプログラムが設けられたり、或いはデータ（プログラム）を複数の領域に記憶して二重化し、一方のデータに変化が生じた場合には他方のデータを用いる切り替え回路が設けられることもある。
【０００８】
尚、以下の特許文献１には、一の半導体チップ上に中央処理装置と不揮発性のフラッシュメモリとが設けられたマイクロコンピュータにおいて、内部昇圧電圧と外部高電圧の何れを用いてもフラッシュメモリに対するデータの消去、書込みを可能とする技術が開示されている。
【特許文献１】特開平０７−０２９３８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、従来の測定装置は、上述した通り、性質の異なる２種類の不揮発性メモリ（フラッシュＲＯＭ及びＥＥＰＲＯＭ）を備えており、記憶させるデータの種類（プログラムであるか、又は調整値若しくは設定値であるか）に応じて使用する不揮発性メモリの使い分けを行っている。また、ＥＥＰＲＯＭを設ける場合には、信頼性を高めるために、ＥＥＰＲＯＭに付随して上述したチェック回路や切り替え回路が設けられることもある。
【００１０】
複数種類の不揮発性メモリを備えることは測定装置のコストを上昇させる一因になるとともに、より多くの実装面積が必要になるという問題がある。また、上記のチェック回路や切り替え回路を設けた場合には、測定装置の更なるコスト上昇を招くとともにより多くの実装面積が必要になる。このため、コスト低減及び実装面積の低減のためには、チェック回路等の実装が必要となるＥＥＰＲＯＭを省略して搭載する不揮発性メモリをフラッシュＲＯＭに統一することが望ましい。
【００１１】
本発明は上記事情に鑑みてなされたものであり、コスト及び実装面積の低減を図ることができるとともに信頼性を確保することができる測定装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の測定装置は、所定のプログラムに従って動作して、所定の物理量を測定する測定装置（１）において、１ビット単位でのデータの書き込みが可能であるとともに複数ビットからなるセクタ単位でのデータの消去が可能であって、前記プログラムを記憶する第１領域（Ｒ１）と前記所定の物理量の測定を行う上で用いられるデータを記憶する第２領域（Ｒ２）とが設けられた不揮発性メモリ（２４）と、前記不揮発性メモリの前記第２領域に記憶されているデータを更新する場合には、更新されるべき当該データを消去することなく、前記第２領域内における未使用領域に対して更新すべき新たなデータの書き込みを行うメモリ制御部（２３）とを備えることを特徴としている。
この発明によると、不揮発性メモリの第１領域に記憶されたプログラムが読み出された場合には測定装置内でそのプログラムに従った動作が行われ、不揮発性メモリの第２領域に記憶されているデータが更新される場合には、第２領域に記憶されている更新されるべきデータの消去が行われることなく、更新すべき新たなデータが第２領域内における未使用領域に書き込まれる。
また、本発明の測定装置は、前記不揮発性メモリの前記第２領域に記憶されるデータには、当該データが有効であるか又は無効であるかを示すステータス情報が付随しており、前記メモリ制御部は、前記第２領域に記憶されているデータであって、更新された元のデータに付随するステータス情報を有効から無効に変えることを特徴としている。
また、本発明の測定装置は、前記不揮発性メモリの前記第２領域に記憶されているデータであって付随する前記ステータス情報が有効であるデータと、当該データが前記第２領域内において記憶されている位置を示すアドレス情報とを組にして一時的に記憶する揮発性メモリ（２５）を備えることを特徴としている。
また、本発明の測定装置は、前記メモリ制御部が、前記不揮発性メモリの前記第２領域に記憶されているデータの更新を行う必要が生じた場合には、前記揮発性メモリに記憶されたデータのうち更新を行う必要のあるデータに対応するデータの更新を行い、所定時間経過した後に、更新が行われた前記揮発性メモリに記憶されたデータを前記不揮発性メモリの前記第２領域に書き込むことを特徴としている。
また、本発明の測定装置は、前記メモリ制御部が、前記揮発性メモリに記憶されたデータを前記不揮発性メモリの前記第２領域に書き込んだ場合に、前記揮発性メモリに記憶されている前記データに付随するアドレス情報を、新たに書き込まれたデータの前記第２領域内における記憶位置を示すアドレス情報に更新することを特徴としている。
また、本発明の測定装置は、前記不揮発性メモリの前記第２領域が複数設けられており、前記メモリ制御部が、前記第２領域の何れかにおいて未使用領域が無くなった場合に、未使用領域が無くなった第２領域に記憶されているデータを未使用領域がある他の第２領域にコピーし、未使用領域が無くなった第２領域に記憶されているデータの一括消去を行うことを特徴としている。
【発明の効果】
【００１３】
本発明によれば、電源を遮断してもデータが保持される不揮発性のメモリとして、１ビット単位でのデータの書き込みが可能であるとともに複数ビットからなるセクタ単位でのデータの消去が可能であって、測定装置で用いられるプログラムを記憶する第１領域と、所定の物理量の測定を行う上で用いられるデータを記憶する第２領域とが設けられた不揮発性メモリのみを備えているため、コスト及び実装面積の低減を図ることができるという効果がある。また、第２領域に記憶されたデータの更新を行う場合には、第２領域に記憶されている更新されるべきデータの消去を行うことなく、第２領域の未使用領域に対して更新すべき新たなデータの書き込みを行っており、データ更新の度にデータの消去が行われることがないため、信頼性の向上及び消費電流の低減を図ることができるという効果がある。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の一実施形態による測定装置について詳細に説明する。図１は、本発明の一実施形態による測定装置の要部構成を示すブロック図である。図１に示す通り、本実施形態の測定装置１は、センサ部１０及び制御部２０を備えており、所定のプログラムに従った動作を行って、所定の物理量の測定を行う。ここで、測定装置１は、センサ部１０の種類に応じて、電流、電圧、圧力、流量、温度、湿度、ｐＨ計、酸素、濃度等の様々な物理量の測定が可能である。本実施形態では、測定装置１が、プラントに設置された設備の電圧を測定するフィールド機器である場合を例に挙げて説明する。
【００１５】
センサ部１０は、電圧の測定が行われる設備に設けられた端子等に電気的に接続され、その端子に現れる電圧の測定を行う。尚、センサ部１０は、周囲の温度変化等によって特性や測定精度が変化することがあるため、例えば特性を補正する制御又は測定精度を一定の精度に保つための制御（例えば、バイアス制御）が制御部２０によって行われる。
【００１６】
制御部２０は、センサ制御部２１、通信部２２、ＣＰＵ（中央処理装置）２３（メモリ制御部）、フラッシュＲＯＭ２４（不揮発性メモリ）、及びＲＡＭ（Random Access Memory）２５（揮発性メモリ）を備える。この制御部２０は、プラント内に敷設されたフィールドバス等のバスＢに接続され、バスＢに接続されたコントローラ（図示省略）の制御の下でセンサ部１０に対する制御を行うとともに、センサ部１０の測定結果をバスＢを介してコントローラに送信する制御等の各種制御を行う。
【００１７】
センサ制御部２１は、ＣＰＵ２３の制御の下で、センサ部１０に対して前述したバイアス制御等の制御を行う。通信部２２は、不図示のコントローラからバスＢを介して送信されてくる各種のデータを受信するとともに、センサ部１０の測定結果をバスＢを介して不図示のコントローラに送信する。ＣＰＵ２３は、フラッシュＲＯＭ２４に記憶されたプログラムに従って測定装置１の各部（センサ制御部２１、通信部２２、フラッシュＲＯＭ２４、及びＲＡＭ２５）を制御することにより測定装置１の動作を統括的に制御する。
【００１８】
具体的に、ＣＰＵ２３は、前述したセンサ部１０に対するバイアス制御をセンサ制御部２１に行わせる制御をし、通信部２２を制御してバスＢを介した不図示のコントローラとの間で行われる通信の制御をする。また、詳細は後述するが、フラッシュＲＯＭ２４に対するデータの書き込み制御を行う。ここで、ＣＰＵ２３は、フラッシュＲＯＭ２４の書き込み制御を行う場合には、フラッシュＲＯＭ２４に対して書き込むべきデータを一時的にＲＡＭ２５に記憶させることで、フラッシュＲＯＭ２４に対する頻繁な書き込みを防止する制御を行う。
【００１９】
フラッシュＲＯＭ２４は、測定装置１の電源を遮断してもデータが保持される不揮発性メモリであって、１ビット単位でのデータ書き込みは可能であるものの、データの消去は複数ビットからなるセクタ単位（例えば、６４ＫＢ）でしか行うことができないという性質がある。つまり、フラッシュＲＯＭ２４は、値が「１」であるビットを値「０」に変えることは容易に行うことができるが、逆に値が「０」であるビットを値「１」に変えることは困難であるという性質を有する。
【００２０】
図２は、フラッシュＲＯＭ２４のメモリマップの一例を示す図である。図２に示す通り、フラッシュＲＯＭ２４は、測定装置１の動作を規定するプログラムが記憶されるプログラム記憶領域Ｒ１（第１領域）、電圧の測定を行う上で用いられるデータが記憶されるデータ記憶領域Ｒ２（第２領域）、及びＣＰＵ２３の割り込み処理に用いられる割り込みベクタテーブルが記憶されるベクタテーブル記憶領域Ｒ３を備える。ここで、上記の電圧の測定を行う上で用いられるデータとは、センサ制御部２１に対する調整値や設定値である。
【００２１】
フラッシュＲＯＭ２４内に確保されるこれらの領域の容量は、基本的には上述した１セクタ（６４ｋＢ）の容量の整数倍の容量である。これは、データの消去を行う場合には、セクタ単位でしか行うことができないからである。プログラム記憶領域Ｒ１は、測定装置１で用いられるプログラムを十分に記憶できる容量が確保される。データ記憶領域Ｒ２は、例えば２セクタ分の容量（１２８ｋＢ）が確保される。ここで、データ記憶領域Ｒ２は、１セクタ分の容量を有する第１データ記憶領域Ｒ２１と第２データ記憶領域Ｒ２２とに分割して用いられる。これは、データの消去を効率的に行うためである。尚、データ記憶領域Ｒ２に対する初期データの書き込みは、プログラム記憶領域Ｒ１に対するプログラムの書き込みが行われる際に合わせて行われる。
【００２２】
ここで、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２に記憶されるデータは、その種類（カテゴリ）毎に分類されており、またデータの状態（ステータス）を示す情報が付随している。図３は、フラッシュＲＯＭ２４に記憶されるデータのフォーマットを示す図である。図３に示す通り、フラッシュＲＯＭ２４に記憶されるデータは、データのステータスを示す情報（ＳＴ）が格納されるステータスフィールドＦ１、カテゴリ名称（Ｃ−Ｎａｍｅ）が格納されるカテゴリフィールドＦ２、及び実際のデータ（例えば、センサ部１０で測定された測定データ：Ｄａｔａ）が格納されるデータフィールドＦ３からなる。
【００２３】
ステータスフィールドＦ１及びカテゴリフィールドＦ２は固定長のフィールドであるが、データフィールドＦ３は可変長のフィールドである。ここで、図２に示す通り、データ記憶領域Ｒ２には、ステータスフィールドＦ１に格納されるステータスを示す情報（ＳＴ）、カテゴリフィールドＦ２に格納されるカテゴリの名称（Ｃ−Ｎａｍｅ）、及びデータフィールドＦ３に格納されるデータ（Ｄａｔａ）を組にしたものが連続して記憶される。また、データフィールドＦ３は可変長のフィールドであるため、図２を参照すると、各組毎のデータ（Ｄａｔａ）の長さがそれぞれ異なることが分かる。
【００２４】
図４は、ステータスフィールドＦ１に格納されるステータスを示す情報の一例を示す図である。図４に示す通り、データのステータスを示す情報（ＳＴ）として、４つのステータス「ＧＤ」，「ＷＲ」，「ＢＤ」，「ＮＵ」が規定されている。ステータス「ＧＤ」はデータが有効（正常）である旨を示し、ステータス「ＷＲ」はフラッシュＲＯＭ２４に対するデータの書き込み中である旨を示す。また、ステータス「ＢＤ」はデータが無効である旨を示し、ステータス「ＮＵ」は未使用である旨を示す。
【００２５】
これら４つのステータス「ＧＤ」，「ＷＲ」，「ＢＤ」，「ＮＵ」の実際の値は、それぞれ１６進数で「０ｘＡＡ」，「０ｘＦＡ」，「０ｘ００」，「０ｘＦＦ」である。これらの値は、値が「１」であるビットを値「０」に変えることは容易に行うことができるが、逆に値が「０」であるビットを値「１」に変えることは困難であるというフラッシュＲＯＭ２４の性質に基づいて定められたものである。つまり、データ記憶領域Ｒ２に記憶されたデータが更新される場合に、ステータスフィールドＦ１に格納されたステータスの変更を容易にするために、上記のステータスの実際の値が定められている。
【００２６】
図５は、カテゴリフィールドＦ２に格納されるカテゴリの名称の一例を示す図である。図５に示す通り、カテゴリの名称（Ｃ−Ｎａｍｅ）として、４つの名称「Ｓｅｎｓｏｒ」，「Ｃａｌｃｕｌａｔｅ」，「ａｄｊｕｓｔ」，「ｏｔｈｅｒ」が規定されている。名称「Ｓｅｎｓｏｒ」は、センサ部１０で測定されたデータ等のセンサ関連のデータに付され、名称「Ｃａｌｃｕｌａｔｅ」は、演算対象であるデータ又は演算を行って得られたデータ等の演算関連のデータに付される。また、名称「ａｄｊｕｓｔ」は、センサ部１０の制御等に用いられる調整関連のデータに付され、名称「ｏｔｈｅｒ」はその他のデータに付される。
【００２７】
尚、データの取り扱いを容易にするために、これら名称がそのままカテゴリフィールドＦ２に格納されることはなく、カテゴリ毎に一意に割り当てられた値がカテゴリフィールドＦ２に格納される。例えば、名称「Ｓｅｎｓｏｒ」，「Ｃａｌｃｕｌａｔｅ」，「ａｄｊｕｓｔ」，「ｏｔｈｅｒ」の代わりに、それぞれ１６進数で「０ｘ０００１」，「０ｘ０００２」，「０ｘ０００３」，「０ｘ０００４」なる値が格納される。
【００２８】
ＲＡＭ２５は、測定装置１の電源を遮断するとデータが消去される揮発性メモリであって、１ビット単位での書き込み及び消去が可能なメモリである。このＲＡＭ２５には、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２に記憶されたデータとデータ記憶領域Ｒ２においてデータが記憶されている位置を示すアドレス（アドレス情報）とを組にして一時的に記憶する。また、フラッシュＲＯＭ２４から読み出されてＣＰＵ２３で実行されるプログラムで用いられる各種変数の値を一時的に記憶する。
【００２９】
次に、上記構成における測定装置１の動作について説明する。尚、ＣＰＵ２３で実行されるべきプログラムは、予めフラッシュＲＯＭ２４のプログラム記憶領域Ｒ１に記憶されているとする。また、センサ制御部２１に対する調整値や設定値等の初期データは、図２に示す通り、予めフラッシュＲＯＭ２４のデータ記憶領域Ｒ２の第１データ記憶領域Ｒ２１に記憶されているものとする。本実施形態の測定装置１の動作は、電源投入時の動作、データ更新時の動作、及びデータ消去時の動作に大別される。以下、これらの動作について順に説明する。
【００３０】
〔電源投入時の動作〕
測定装置１の電源投入等によって測定装置１が起動されると、フラッシュＲＯＭ２４のプログラム記憶領域Ｒ１に記憶されたプログラムがＣＰＵ２３によって読み出されて実行され、そのプログラムに応じた処理が順次行われる。プログラムに応じた処理が開始されると、ＣＰＵ２３はフラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１を検索し、図３に示すステータスフィールドＦ１に格納されているステータスを示す情報（ＳＴ）が「ＧＤ」であるデータ（即ち、ステータスが有効であるデータ）を検索する。
【００３１】
尚、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されたデータは、前述した通り、カテゴリ毎に分類されている。このため、ＣＰＵ２３は、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１から、各々のカテゴリにおいてステータスが有効であるデータを読み出し、このデータと第１データ記憶領域Ｒ２１内におけるそのデータの記憶位置を示すアドレスとを組にしてＲＡＭ２５に記憶させる。
【００３２】
以上の処理を行うのは、データの変更が生じた場合に、フラッシュＲＯＭ２４に記憶されたデータをその都度変更するのではなく、ＲＡＭ２５に記憶されたデータの変更を行い、所定の書き込み条件が成立したときにのみフラッシュＲＯＭ２４に記憶されたデータを変更することで、フラッシュＲＯＭ２４に対する書き込み回数を削減するためである。上記の所定の書き込み条件としては、例えば、ＲＡＭ２５に記憶されたデータが一定時間（例えば、３０秒）更新されないことが挙げられる。つまり、ＲＡＭ２５に記憶されたデータが一定時間更新されない場合には、それらのデータが、ＣＰＵ２３の制御によってフラッシュＲＯＭ２４のデータ記憶領域Ｒ２にコピーされる。
【００３３】
ここで、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１には、１つのカテゴリに対して複数のデータが記憶される場合がある。しかしながら、１つのカテゴリにおいてステータスが有効であるデータは１つのみであり、そのカテゴリにおける他のデータは図４に示すステータス「ＢＤ」が付された無効なデータである。このため、以上の処理では、各カテゴリ毎の有効なデータのみの読み出しが行われる。
【００３４】
図６は、電源投入時にＲＡＭ２５に記憶されるデータの一例を示す図である。図６に示す通り、ＲＡＭ２５には、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２から読み出されたデータと第１データ記憶領域Ｒ２１内におけるそのデータの記憶位置を示すアドレスとが組にされたカテゴリ毎のデータＤ１〜Ｄ４が記憶される。例えば、データＤ１は、名称が「Ｓｅｎｓｏｒ」であるカテゴリに属するデータであって、アドレスａ１とデータｄ１からなる。
【００３５】
また、データＤ２は、名称が「Ｃａｌｃｕｌａｔｅ」であるカテゴリに属するデータであってアドレスａ２とデータｄ２からなり、データＤ３は、名称が「ａｄｊｕｓｔ」であるカテゴリに属するデータであってアドレスａ３とデータｄ３からなる。同様に、データＤ４は、名称が「ｏｔｈｅｒ」であるカテゴリに属するデータであってアドレスａ４とデータｄ４からなる。以上の通り、測定装置１の電源投入時には、フラッシュＲＯＭ２４から読み出したデータ及びアドレスを組にしたデータをＲＡＭ２５に記憶させる動作が行われる。
【００３６】
〔データ更新時の動作〕
次に、フラッシュＲＯＭ２４のデータが更新される場合の動作について説明する。図７は、フラッシュＲＯＭ２４のデータ更新時に行われる動作の一例を示すフローチャートである。尚、図７に示すフローチャートは、上述した電源投入時の動作が終了した後に開始される。まず、ＣＰＵ２３は、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されたデータの更新の有無を判断する（ステップＳ１１）。
【００３７】
データの更新が有ったと判断した場合（ステップＳ１１の判断結果が「ＹＥＳ」である場合）には、ＣＰＵ２３は、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されたデータを直接更新するのではなく、ＲＡＭ２５に記憶されたデータの更新を行う（ステップＳ１２）。これは、前述した通り、フラッシュＲＯＭ２４に対する書き込み回数を削減するためである。例えば、名称が「Ｓｅｎｓｏｒ」であるカテゴリに属するデータＤ１のデータｄ１の更新が生じた場合には、ＣＰＵ２３はＲＡＭ２４に記憶されたデータｄ１を新たなデータに書き替える。
【００３８】
これに対し、データの更新が無いと判断した場合（ステップＳ１１の判断結果が「ＮＯ」である場合）には、ＣＰＵ２３は、ＲＡＭ２５に記憶されたデータの更新を最後に行ってから一定時間（例えば、３０秒）経過したか否かを判断する（ステップＳ１３）。この判断結果が「ＮＯ」である場合は、ステップＳ１１に戻ってフラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されたデータの更新の有無を判断する。
【００３９】
他方、ステップＳ１３の判断結果が「ＹＥＳ」である場合には、ＣＰＵ２３は、ＲＡＭ２５に記憶されたデータをフラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に書き込んでコピーする（ステップＳ１４）。ここで、ＣＰＵ２３は、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されているデータの上書き（即ち、更新されるべきデータを新たなデータに書き換える動作）を行うのではなく、更新されるべき元のデータの消去を行うことなく、第１データ記憶領域Ｒ２１における未使用領域に対して、更新すべき新たなデータの書き込み（追加書き込み）を行う。
【００４０】
図８は、データ更新時におけるフラッシュＲＯＭ２４に記憶されるデータの変化の一例を示す図である。まず、図８（ａ）に示す通り、フラッシュＲＯＭ２４の第１データ記憶領域２１には、名称が「Ｓｅｎｓｏｒ」であるカテゴリに属するデータ、名称が「Ｃａｌｃｕｌａｔｅ」であるカテゴリに属するデータ、名称が「ａｄｊｕｓｔ」であるカテゴリに属するデータ、及び名称が「ｏｔｈｅｒ」であるカテゴリに属するデータであって、ステータスが「ＧＤ」である４つのデータが連続して順に記憶されているとする。
【００４１】
ここで、データが記憶された第１データ記憶領域Ｒ２１に対し、上述したステップＳ１４の処理によって名称が「Ｓｅｎｓｏｒ」であるカテゴリに属するデータの追加書き込みが行われたとする。すると、この新たに追加書き込みされたデータは、図８（ｂ）中において斜線を付して示した通り、第１データ記憶領域Ｒ２１の未使用領域であって、名称が「ｏｔｈｅｒ」であるカテゴリに属するデータに続く位置に書き込まれる。
【００４２】
このとき、ＣＰＵ２３は、第１データ記憶領域Ｒ２１の未使用領域に対する書き込みを行った新たなデータに付随するステータス情報を、図８（ｂ）に示す通り、書き込み中である旨を示すステータス「ＷＲ」に設定する。つまり、書き込むべきデータのステータスフィールドＦ１（図３参照）にステータス「ＷＲ」を設定する。これは、瞬停等が発生してフラッシュＲＯＭ２４に対する書き込みが正常に完了できなかった場合を想定して、その状態を保存するためである。
【００４３】
次に、ＣＰＵ２３は、フラッシュＲＯＭの第１データ記憶領域Ｒ２１に対する上記の書き込みが終了したか否かを判断する（ステップＳ１５）。この判断結果が「ＮＯ」である場合には、ステップＳ１４に戻って書き込みを継続する。これに対し、ステップＳ１５の判断結果が「ＹＥＳ」である場合には、ＣＰＵ２３は、図８（ｃ）中において斜線を付して示した通り、フラッシュＲＯＭ２３の第１データ記憶領域Ｒ２１に新たに書き込みを行ったデータに付随するステータスを、書き込み中である旨を示す「ＷＲ」から有効である旨を示す「ＧＤ」に設定する（ステップＳ１６）。
【００４４】
ここで、図４に示す通り、ステータス「ＷＲ」の実際の値は０ｘＦＡであり、ステータス「ＧＤ」の実際の値は０ｘＡＡである。前述した通り、フラッシュＲＯＭ２４は、値が「１」であるビットを値「０」に変えることは容易に行うことができるが、逆に値が「０」であるビットを値「１」に変えることは困難であるという性質を有する。このため、
第１データ記憶領域Ｒ２１に対する消去を行うことなく、第１記憶領域Ｒ２１の一部のビットの値を「１」から「０」に変えることでデータのステータスを変更することができる。
【００４５】
以上の処理が終了すると、ＣＰＵ２３は、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されていた元のデータ（図８（ａ）において、第１データ記憶領域Ｒ２１の先頭部分に記憶されているデータ）のステータスを無効に設定する処理を行う（ステップＳ１７）。具体的には、図８（ｃ）中において斜線を付して示した通り、有効である旨を示すステータス「ＧＤ」から、無効である旨を示す「ＢＤ」に変更する処理が行われる。
【００４６】
以上の処理によって、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１に記憶されていたデータの更新が完了する。第１データ記憶領域Ｒ２１に記憶されているデータが更新されると、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１内においてそれらのデータが記憶されている位置が変化する。このため、ＣＰＵ２３は、フラッシュＲＯＭ２４の第１データ記憶領域Ｒ２１における新たなデータの書き込みを終えると、その書き込み位置を示すアドレス（ＲＡＭ２５に記憶されているアドレス）の更新も併せて行う（ステップＳ１８）。以上の処理によって、データの更新が終了する。
【００４７】
〔データ消去時の動作〕
次に、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２に記憶されたデータを消去する際の動作について説明する。前述した通り、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２は、第１データ記憶領域Ｒ２１と第２データ記憶領域Ｒ２２とに分割して用いられる。また、データの更新を行う場合には、前述した通り、第１データ記憶領域Ｒ２１の未使用領域に新たなデータを書き込む制御を行っている。このため、データの更新が行われる度に、第１データ記憶領域Ｒ２１の未使用領域は減少することになる。
【００４８】
本実施形態では、第１データ記憶領域Ｒ２１の未使用領域が無くなって第１データ記憶領域Ｒ２１に対する追加書き込みを行えなくなったときに、ＣＰＵ２３は、第１データ記憶領域Ｒ２１に記憶されたデータを第２データ記憶領域Ｒ２２にコピーした後に、第１データ記憶領域Ｒ２１の消去を行う。前述した通り、第１データ記憶領域Ｒ２１の容量はセクタの整数倍であるため、他の領域（例えば、第２データ記憶領域Ｒ２２）に悪影響を与えることなく、第１データ記憶領域Ｒ２１に記憶されたデータのみを一括して消去することができる。
【００４９】
ここで、前述した通り、第１データ記憶領域Ｒ２１に記憶されるデータは、有効なものばかりではなく、無効なもの（データに付随するステータスが「ＢＤ」のもの）も含まれる。データの変化の履歴を必要としない場合には、無効なデータは不要なデータである。このため、ＣＰＵ２３は、ステータスが有効なもの（つまり、付随するステータスが「ＧＤ」のもの）のみを第１データ記憶領域Ｒ２１から第２データ記憶領域Ｒ２２にコピーする。かかる処理を行うことにより、不要なデータが削減され、第２データ記憶領域Ｒ２２の容量オーバーを防止しつつ、第２データ記憶領域Ｒ２２を有効利用することができる。
【００５０】
第１データ記憶領域Ｒ２１に記憶されていたデータを第２データ記憶領域Ｒ２２にコピーすることにより、データ記憶領域Ｒ２内における各々のデータの記憶位置が変化する。このため、ＣＰＵ２３は、第２データ記憶領域Ｒ２２を検索して、ＲＡＭ２５に記憶されている各々のデータのアドレスの変更を行う。
【００５１】
尚、以上の説明では、第１データ記憶領域Ｒ２１の未使用領域が無くなった場合の動作について説明したが、第２データ記憶領域Ｒ２２の未使用領域が無くなった場合にも同様の動作によってデータの消去が行われる。つまり、第２データ記憶領域Ｒ２２の未使用領域が無くなった場合には、第２データ記憶領域Ｒ２２に記憶されたステータスが有効なデータのみが第１データ記憶領域Ｒ２１にコピーされ、第２データ記憶領域Ｒ２２の一括消去が行われた後に、ＲＡＭ２５に記憶されたアドレスが更新される。
【００５２】
以上説明した通り、本実施形態では、従来の測定装置に設けられていたＥＥＰＲＯＭを削減し、プログラムが記憶されるプログラム記憶領域Ｒ１と各種のデータが記憶されるデータ記憶領域Ｒ２とが設けられたフラッシュＲＯＭ２４のみを備えた構成にしたため、コスト及び実装面積の低減を図ることができ、更にはノイズ対策にも有効である。また、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２に記憶されたデータを更新する場合には、既に書き込まれているデータの消去は行わずに、データ記憶領域Ｒ２の未使用領域に新たなデータを書き込むようにし、データが更新される度にデータ記憶領域Ｒ２に記憶されたデータの消去が行われることがないため、信頼性の向上及び消費電流の低減を図ることができる。
【００５３】
また、従来の測定装置に設けられていたＥＥＰＲＯＭは、書き込みが完了するまでにが数ｍｓｅｃ程度の時間が必要であったが、フラッシュＲＯＭ２４に対するデータの書き込みはＩ／Ｏアクセスにより高速に行うことができる。このため、本実施形態の測定装置１では、データの書き込みに要する時間を大幅に短縮することができる。また、ＥＥＰＲＯＭを備える従来の測定装置は、信頼性を高めるために、定期的にデータの読み出しを行ってデータが正常であるか否かの確認を行うチェック回路等を設ける必要があった。しかしながら、本実施形態では、フラッシュＲＯＭ２４の信頼性が高いため、チェック回路等を備える必要はない。これによっても、コストの低減及び実装面積の低減を図ることができる。
【００５４】
更に、従来は、測定装置の製造時に、測定装置で用いられるプログラムをフラッシュＲＯＭに格納するとともに、センサ制御部に対する調整値や設定値をＥＥＰＲＯＭに格納するという工程が別々に必要であった。しかしながら、本実施形態では、これらを同時にフラッシュＲＯＭに書き込むだけで良いため、測定装置１の製造工程を大幅に削減することができる。また更に、本実施形態では、測定装置１の起動時に、高速なフラッシュＲＯＭ２４からプログラム及びデータの読み出しが行われるため、起動に要する時間を短縮することも可能である。
【００５５】
以上、本発明の一実施形態による測定装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、データ記憶領域Ｒ２を第１データ記憶領域Ｒ２１と第２データ記憶領域Ｒ２２との２つに分割して用いる例について説明したが、データ記憶領域Ｒ２に対する書き込みが頻繁に発生する場合や、大量のデータを書き込む必要がある場合等には、データ記憶領域Ｒ２の容量を増加させて、データ記憶領域Ｒ３を３つ以上に分割してもよい。データ記憶領域Ｒ２の分割数を増加することで、消去回数を更に低減することができる。
【００５６】
また、上記実施形態では、フラッシュＲＯＭ２４のデータ記憶領域Ｒ２に記憶されたデータの更新を行った場合には、元のデータのステータスを無効にする例（つまり、データに付随するステータスを「ＢＤ」に設定する例）について説明した。しかしながら、例えば１つ前に更新されたデータである旨を示すステータス「ｏｌｄ１」、２つ前に更新されたデータである旨を示すステータス「ｏｌｄ２」等を新たに設け、データの更新が行われる度に、順次ステータスの変更を行ってもよい。かかるステータスを設けることにより、例えばデータの変更履歴を得ることができ、測定装置１の設定を、必要に応じて１つ前の設定又は２つ前の設定に戻すことができる。
【００５７】
また、フラッシュＲＯＭ２４においてデータの消去を行う場合には大電流を伴うが、急激な電流増加を抑えるために間欠消去を実施しても良い。間欠消去を行うことで、データの消去に要するトータルの時間は長くなるものの、１回当たりの消去時間を短くすることで既存プログラムへの影響を軽減することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態による測定装置の要部構成を示すブロック図である。
【図２】フラッシュＲＯＭ２４のメモリマップの一例を示す図である。
【図３】フラッシュＲＯＭ２４に記憶されるデータのフォーマットを示す図である。
【図４】ステータスフィールドＦ１に格納されるステータスを示す情報の一例を示す図である。
【図５】カテゴリフィールドＦ２に格納されるカテゴリの名称の一例を示す図である。
【図６】電源投入時にＲＡＭ２５に記憶されるデータの一例を示す図である。
【図７】フラッシュＲＯＭ２４のデータ更新時に行われる動作の一例を示すフローチャートである。
【図８】データ更新時におけるフラッシュＲＯＭ２４に記憶されるデータの変化の一例を示す図である。
【符号の説明】
【００５９】
１        測定装置
２３      ＣＰＵ
２４      フラッシュＲＯＭ
２５      ＲＡＭ
Ｒ１      プログラム記憶領域
Ｒ２      データ記憶領域
Ｒ２１    第１データ記憶領域
Ｒ２２    第２データ記憶領域
【図１】
2010091458.tif 000003
【図２】
2010091458.tif 000004
【図３】
2010091458.tif 000005
【図４】
2010091458.tif 000006
【図５】
2010091458.tif 000007
【図６】
2010091458.tif 000008
【図７】
2010091458.tif 000009
【図８】
2010091458.tif 000010