説明

EEPROMのデータエラーチェック方法、及び制御ユニット

【課題】EEPROM内の記憶領域に書き込まれた各種データの正当性の判断に要する検査時間を短縮する。
【解決手段】検査装置3からEEPROM22についてのCRCエラーチェック要求をMCU21に送信する第1ステップと、前記CRCエラーチェック要求に従って、MCU21がEEPROM22内の記憶領域に書き込まれているデータを各アドレス毎に読み出す第2ステップと、MCU21がEEPROMから読み出した各アドレス毎のデータに基づいて各アドレス毎にCRCコードを算出し、当該算出した各CRCコードを検査装置3に送信する第3ステップと、検査装置3が、MCU21から送信されてきたCRCコードが予め定められた値に一致するか否かにより、EEPROM22内の各記憶領域に書き込まれているデータの正当性を判断する第4ステップとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、EEPROMのデータエラーチェック方法、及び制御ユニットに関し、特に、基板上に配設されたEEPROMに書き込まれているデータの正当性をチェックする技術に関する。
【背景技術】
【0002】
従来から、空気調和装置等の駆動制御ユニットのプリント基板に実装されてマイコン(MCU)にて制御されるEEPROMには、出荷時には装置駆動用の各種設定値データが書き込まれており、装置設置後は当該装置の駆動状況を示す現地データが記憶される。しかし、当該EEPROMに予め定められた通りの上記各種設定値データが書き込まれていないと当該装置が誤動作するため、装置設置後に当該装置の駆動状況を示す現地データを書き込む動作が行われず、回収された故障装置の解析時に、当該解析に必要な上記現地データがEEPROMに記憶されていない等の問題が発生するおそれがある。
【0003】
このため、EEPROMに記憶されている各種データの正当性確保のために、出荷時に当該EEPROMに記憶されている各種データの読出しチェックが実施される。EEPROMが、上記現地データの記憶のみに使用されるのであれば、出荷時にEEPROMに記憶されるデータはすべて0であるため、EEPROMの全記憶領域の加算値を求め、当該加算値が0を示すことをもってデータが正当と判断可能である。
【0004】
しかし、機器を駆動するのに必要な上記各種設定値データがEEPROMに書き込まれる場合は、上記のような加算値算出では正当性判断を行えず、EEPROM内の記憶領域に書き込まれているデータについて、各アドレスが示す領域毎に当該領域用のデータが正確に書き込まれているかの正当性確認が必要である。このため、下記特許文献1に示されるように、EEPROM内の記憶領域に書き込まれた上記各種設定値データの全てを読み出して、当該各種設定値データの正当性をチェックする。
【0005】
また、下記特許文献2に示されるように、メモリへのデータ書込時に、全桁が0であるようなデータの書き込みは禁止した上で、このデータについてのCRCチェックコードを発生させ、このCRCチェックコードをデータとともに書き込み、データ正当性チェック時には、読み出したCRCチェックコードの全桁が0であるかを判断し、否定的判断がなされたときには通常のCRCチェック処理を行うデータエラーチェック方式も提案されている。このデータエラーチェック方式では、肯定的判断がなされたときには、読み出したデータの全桁が0であるかを判断し、読み出したデータの全桁が0でないときは通常のチェック処理を行い、読み出したデータの全桁が0であるときには、エラーが生じていると判断する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−210215号公報
【特許文献2】特開平6−161905号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上記特許文献1に示されるデータエラーチェック方式の場合、EEPROMの記憶領域への上記各種設定値データの書込量が多いと、当該EEPROMを制御するメモリ制御装置と、当該メモリ制御装置からのコード送信に基づいてデータ正当性を判断する検査設備との通信周期や通信遅れの影響が、データ書込量に比例して大きく出るため、装置出荷時におけるデータ正当性検査に長時間を要する。
【0008】
また、上記特許文献2に示されるデータエラーチェック方式の場合は、読込み開始時に正しく書込まれていたか否かのチェックは可能であるが、書込まれた値が正しい値(書込みを期待する値)が書込まれたかのチェックを行うことはできない。
【0009】
本発明は、上記の問題を解決するためになされたもので、EEPROM内の記憶領域に書き込まれた各種データの正当性の判断に要する検査時間を短縮することを目的とする。
【課題を解決するための手段】
【0010】
本発明の請求項1に記載の発明は、基板上に配設されたEEPROMに書き込まれているデータの正当性をチェックするデータエラーチェック方法であって、
検査装置から前記EEPROMに対してのCRCエラーチェック要求を、当該EEPROMのメモリ制御装置に送信する第1ステップと、
前記検査装置から受信した前記CRCエラーチェック要求に従って、前記メモリ制御装置が、前記EEPROM内の記憶領域に書き込まれているデータを、前記各アドレス毎に読み出す第2ステップと、
前記メモリ制御装置が、前記EEPROMから読み出した前記各アドレス毎のデータに基づいて、前記各アドレス毎にCRCコードを算出し、当該算出した各CRCコードを前記検査装置に送信する第3ステップと、
前記検査装置が、前記メモリ制御装置から送信されてきた前記CRCコードが、予め定められた値に一致するか否かにより、前記EEPROM内の各記憶領域に書き込まれているデータの正当性を判断する第4ステップと
を備えるものである。
【0011】
また、請求項3に記載の発明は、EEPROM、及び当該EEPROMを制御するメモリ制御装置が設けられた制御ユニットであって、
前記メモリ制御装置は、
検査装置からの前記EEPROMに対するCRCエラーチェック要求に従って、前記メモリ制御装置が、前記EEPROM内の記憶領域に書き込まれているデータを、前記各アドレス毎に読み出し、
前記EEPROMから読み出した前記各アドレス毎のデータに基づいて、前記各アドレス毎にCRCコードを算出し、当該算出した各CRCコードを、前記検査装置で行われる当該各アドレス毎のデータの正当性判断のためのCRCコードとして、前記検査装置に送信するものである。
【0012】
これらの発明によれば、メモリ制御装置が、EEPROMから読み出した各アドレス毎のデータに基づいて、当該各アドレス毎にCRCコードを算出し、上記検査設備で行われる当該各アドレス毎のデータの正当性判断のためのCRCコードとして当該検査装置に送信するので、従来技術のようにEEPROM内における正当性判断のチェック対象とするデータ自体を読み出して当該データの正当性をチェックする場合よりも、メモリ制御装置と検査装置との間のデータ送信回数が低減する。このため、EEPROM内の記憶領域に書き込まれた各種データの正当性の判断に要する検査時間が短縮する。
【0013】
また、従来技術の場合、EEPROMへのデータ書込処理を正しく行うことができたか否かのチェックは可能であるものの、書込処理の行われたデータが正しい値(書込みを期待する値)で書込まれたかのチェックができないのに対し、本発明によれば、書込処理の行われたデータが正しい値であるかをチェックすることが可能である。
【0014】
また、請求項2に記載の発明は、請求項1に記載のEEPROMのデータエラーチェック方法であって、前記EEPROM内の記憶領域に書き込まれている各データの先頭を0以外として配列するものである。
【0015】
また、請求項4に記載の発明は、請求項3に記載の制御ユニットであって、前記EEPROMは、その記憶領域に書き込まれている各データの先頭が0以外として配列されているものである。
【0016】
これらの発明では、EEPROM内の記憶領域に書き込まれている各データの先頭を0以外として配列するので、誤検出の可能性が非常に低いものとなっている。
【発明の効果】
【0017】
本発明によれば、従来技術では行うことができなかったデータチェック(書込処理の行われたデータが正しい値であるかのチェック)、すなわち、EEPROM内の記憶領域に書き込まれた各種データの正当性の判断が可能であり、さらに、当該各種データの正当性の判断に要する検査時間を短縮させることができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態に係るデータエラーチェック方法の実施に用いられるエラーチェックシステムの概略構成を示す図である。
【図2】エラーチェックシステムによるデータエラーチェック処理を示すフローチャートである。
【図3】CRCコードの算出処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の一実施形態に係るデータエラーチェック方法及び制御ユニットについて図面を参照して説明する。
【0020】
図1は、本発明の一実施形態に係るデータエラーチェック方法の実施に用いられるエラーチェックシステムの概略構成を示す図である。
【0021】
図1に示すエラーチェックシステム1は、プリント基板10等の基板上に配設されたEEPROMに書き込まれているデータの正当性をチェックするシステムである。エラーチェックシステム1は、制御ユニット2と、検査装置3とを備える。
【0022】
制御ユニット2は、本実施形態ではプリント基板10上に実装されたMCU(マイクロコンピュータ)21と、EEPROM22とを備える。制御ユニット2は、例えば空気調和装置等の電気機器(以下、空気調和装置を例にして説明する)に内蔵され、空気調和装置の各種動作を制御する。
【0023】
EEPROM22には、空気調和装置の出荷時に当該装置駆動用の各種設定値データ等が書き込まれている。また、当該装置の設置後は、MCU21による制御の下、EEPROM22には、当該装置の駆動状況を示す現地データ等が記憶される。
【0024】
また、EEPROM22の記憶領域の各アドレスが示す領域毎に書き込まれている各データは、その先頭を0以外として配列することが好ましい。
【0025】
MCU(メモリ制御装置の一例)21は、EEPROM22へのデータ書込及びデータ読み出しを制御するマイクロコンピュータである。MCU21は、検査装置3から送信されてくるCRCエラーチェック要求を受信し、このCRCエラーチェック要求に従って、EEPROM22内の記憶領域に書き込まれているデータを、当該EEPROM22の記憶領域から各アドレス毎に読み出す。さらに、MCU21は、EEPROM22から読み出した上記各アドレス毎のデータに基づいて、当該各アドレス毎にCRCコードを算出し、当該算出した各CRCコードを検査装置3に送信する。
【0026】
検査装置3は、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれているデータの正当性を判断する処理等を行う。検査装置3は、EEPROM22についてのCRCエラーチェック要求を、MCU21に送信する。また、検査装置3は、MCU21から送信されてくるCRCコードに基づいて、当該CRCコードが予め定められた値に一致するか否かにより、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれているデータの正当性を判断する。
【0027】
次に、CRC(Cyclical(Cyclic) Redundancy Check)エラーチェックについて説明する。本実施形態では、CRC-CCITTの16bit方式を生成多項式として用いる。但し、本発明に係るデータエラーチェック方法に用いる生成多項式をこれに限定する趣旨ではない。ISO-CCITT規格に基づくCRCコードxは、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれているデータdを、予め定められた上記CRC-CCITTの16bit方式の生成多項式p(X16+X12+X5+X0)で割ったときの余りとして定義される。当該生成多項式p(X16+X12+X5+X0)は、具体的には、2進数表示で「1 0001 0000 0010 0001」である。
【0028】
例えば、EEPROM22内のアドレスa1が示す記憶領域に書き込まれているデータd1についてのCRCコードx1を算出する場合、MCU21は、データd1を生成多項式p(X16+X12+X5+X0)で割ったときの余りとして、CRCコードx1を生成する演算を行う。この演算結果は、MCU21から検査装置3に送信される。
【0029】
検査装置3は、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれている各データについての正確なCRCコードを予め記憶している。検査装置3は、上記の例でいえば、データd1についての正確なCRCコードx1と、上記演算結果が示すCRCコードx1とが一致するか否かを判断する。検査装置3は、当該判断結果が両コードの一致を示す場合、EEPROM22内の記憶領域のアドレスが示す領域に書き込まれているデータが正当である(正確なデータが書き込まれている)と判断する。検査装置3は、当該判断結果が両コードの不一致を示す場合、当該データが不正(正確なデータが書き込まれていない)と判断する。
【0030】
エラーチェックシステム1によるデータエラーチェックを説明する。図2は、エラーチェックシステム1による当該データエラーチェック処理を示すフローチャートである。
【0031】
上記データエラーチェックの開始時、検査装置3が、MCU21にCRCエラーチェック要求を送信する(S1)。
【0032】
MCU21が、検査装置3からCRCエラーチェック要求を受信すると(SS1)、当該CRCエラーチェック要求に従って、EEPROM22内の記憶領域に書き込まれているデータを各アドレス毎に、すなわち、1物理アドレスに対応するデータを読み出す(SS2)。
【0033】
なお、EEPROM22の記憶領域における1物理アドレスは、2byte 構成になっており、制御に使用するデータおよび制御に使用するデータのチェック用コードにそれぞれ1byteが割り当てられて構成されている。制御に使用するデータの正当性確保が必要であるため、チェック用コードに対してはCRCコードの算出は行わず、制御に使用するデータに対してCRCコードを算出する。MCU21は、CRCコード算出の際に上位8ibitを0x00、下位8bitをEEPROMの読込み値として算出を行う。
【0034】
そして、MCU21は、当該読み出した1物理アドレスのデータについて、当該データを上記生成多項式で除算し、その余りをCRCコードとして算出する(SS3)。MCU21は、当該算出したCRCコードを記憶しておく(SS4)。
【0035】
MCU21は、EEPROM22内の記憶領域の各アドレスが示す領域であって、未だデータを読み出していないアドレスが示す領域があるか(すなわち、データを読み出していない残りのアドレスがあるか)を判断し(SS5)、未だデータを読み出していないアドレスが示す領域がある場合は(SS5でYES)、SS2からSS5までの処理を繰り返す。
【0036】
MCU21は、EEPROM22内の記憶領域の各アドレスが示す全ての領域からデータを読み出して上記SS2からSS5までの処理を終えた場合は(SS5でNO)、この時点で得られているEEPROM22の各領域に書き込まれている全てのデータを用いて算出されたCRCコードを検査装置3に送信する(SS6)。
【0037】
なお、MCU21は、上記SS2のCRCコードの算出処理開始前に、内蔵するCRCコード格納用のレジスタをゼロクリアしておく。その後、MCU21は、上記全てのアドレスが示す領域のデータを用いたCRCコードの算出が完了して、当該算出したCRCコードを検査装置3に送信完了するまでは、当該CRCコード格納用のレジスタをゼロクリアしない。
【0038】
検査装置3が、MCU21から上記全てのアドレス領域のデータについてのCRCコードを受信すると(S2)、当該受信した各CRCコードのそれぞれについて、予め記憶している各データについての正確なCRCコードに一致するか否かを判断する(S3)。
【0039】
ここで、検査装置3が、上記受信したCRCコードが、予め記憶している正確なCRCコードに一致しないと判断した場合(S3でNO)、当該両チェックコードが一致しないと判断されたEEPROM22上のデータがエラーであると判断する(S4)。すなわち、検査装置3は、EEPROM22において当該アドレスが示す領域には、本来書き込まれるべき正確なデータが書き込まれていないと判断する。
【0040】
一方、検査装置3が、上記受信したCRCコードが、予め記憶している正確なCRCコードに一致すると判断した場合は(S3でYES)、当該両チェックコードが一致すると判断されたデータが正当であると判断する(S5)。すなわち、検査装置3は、EEPROM22において当該アドレスが示す領域には、本来書き込まれるべき正確なデータが書き込まれていると判断する。
【0041】
次に、CRCコードの算出処理(図2に示すSS3の処理)を説明する。図3は、CRCコードの算出処理を示すフローチャートである。
【0042】
MCU21は、CRCコードの算出時には、上述したように、本実施形態では、CRC-CCITTの16bit方式を生成多項式として用い、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれているデータdを、予め定められた上記生成多項式pで割ったときの余りをCRCコードx1として算出する。以下に、CRCコードx1の算出方法を示す。下記に示す処理は、EEPROM22内の記憶領域から読み出した1物理アドレスのデータdについて、下位8bit,上位8bitの順で算出を行う。
【0043】
MCU21は、CRCコード格納用のレジスタ(以下、CRC格納レジスタ)をゼロクリアした後、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれているデータdを、生成多項式pを用いての除算の対象とされる算出用データとして、算出用データ格納レジスタに代入する(SS31)。ここでは、MCU21は、まず最初に下位8bitの値を算出用データとして代入する。
【0044】
続いて、MCU21は、CRC格納レジスタにおいて、この時点で既に当該CRC格納レジスタに記憶されている算出用データ1Byteに対する初期値としてのCRCコード(後述するSS39により前の8bit(1Byte)計算で得られたCRCコードが存在する場合は、当該前の8bit(1Byte)計算で得られたCRCコード)を1bit左へシフトさせる(SS32)。MCU21は、この1bit左シフト時に、CRC格納レジスタにおいて桁あふれが発生した場合(SS33でYES)、CRCコードx1と生成多項式pとのXOR(排他的論理和)をCRCコード(CRC格納レジスタ)に代入する(SS34)。なお、MCU21は、この1bit左シフト時に、CRC格納レジスタにおいて桁あふれが発生しない場合は(SS33でNO)、SS34の処理をスキップする。
【0045】
さらに、MCU21は、算出用データ格納レジスタにおいて、上記代入した算出用データを1bit左へシフトさせる(SS35)。MCU21は、この1bit左シフト時に、算出用データ格納レジスタにおいて桁あふれが発生した場合(SS36でYES)、CRCコードxと0x0001とのXOR(排他的論理和)をCRCコード(CRC格納レジスタ)に代入する(SS37)。なお、MCU21は、この1bit左シフト時に、算出用データ格納レジスタにおいて桁あふれが発生しない場合は(SS36でNO)、SS37の処理をスキップする。
【0046】
ここで、MCU21は、上記算出用データの1bit左へのシフトを8回行ったかを判断し(SS38)、当該シフトを未だ8回行っていないと判断した場合は(SS38でNO)、処理をSS32に戻す。MCU21は、当該シフトを8回行ったと判断した場合は(SS38でYES)、この時点でのCRC格納レジスタの値を次の8bit(1Byte)計算のための初期値とするCRCコードとして算出する(SS39)。
【0047】
なお、MCU21は、同様に、上位8bitについてもSS31〜SS39の処理を行って、CRCコードを算出する。
【0048】
以上のように、本実施形態によるデータエラーチェック方法によれば、従来技術のようにEEPROM22内における正当性判断のチェック対象とするデータ自体を読み出して当該データの正当性をチェックする場合よりも、メモリ制御装置と検査装置との間のデータ送信回数が低減するため、EEPROM22内の記憶領域の各アドレスが示す領域に書き込まれた各種データの正当性の判断に要する検査時間が短縮する。
【0049】
なお、本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施形態では、EEPROMを例にして本発明を説明しているが、他の不揮発性メモリに対しても本発明の適用が可能である。
【0050】
また、上記実施形態では、上記図1乃至図3に示した構成及び処理は、本発明に係るデータエラーチェック方法及び制御ユニットの一例を示すものに過ぎず、本発明を当該構成及び処理に限定する趣旨ではない。
【符号の説明】
【0051】
1 エラーチェックシステム
2 制御ユニット
21 MCU
22 EEPROM
3 検査装置
10 プリント基板

【特許請求の範囲】
【請求項1】
基板上に配設されたEEPROMに書き込まれているデータの正当性をチェックするデータエラーチェック方法であって、
検査装置から前記EEPROMに対してのCRCエラーチェック要求を、当該EEPROMのメモリ制御装置に送信する第1ステップと、
前記検査装置から受信した前記CRCエラーチェック要求に従って、前記メモリ制御装置が、前記EEPROM内の記憶領域に書き込まれているデータを、前記各アドレス毎に読み出す第2ステップと、
前記メモリ制御装置が、前記EEPROMから読み出した前記各アドレス毎のデータに基づいて、前記各アドレス毎にCRCコードを算出し、当該算出した各CRCコードを前記検査装置に送信する第3ステップと、
前記検査装置が、前記メモリ制御装置から送信されてきた前記CRCコードが、予め定められた値に一致するか否かにより、前記EEPROM内の各記憶領域に書き込まれているデータの正当性を判断する第4ステップと
を備えるEEPROMのデータエラーチェック方法。
【請求項2】
前記EEPROM内の記憶領域に各アドレス毎に書き込まれている各データの先頭を0以外として配列する請求項1に記載のEEPROMのデータエラーチェック方法。
【請求項3】
EEPROM、及び当該EEPROMを制御するメモリ制御装置が設けられた制御ユニットであって、
前記メモリ制御装置は、
検査装置からの前記EEPROMに対するCRCエラーチェック要求に従って、前記メモリ制御装置が、前記EEPROM内の記憶領域に書き込まれているデータを、前記各アドレス毎に読み出し、
前記EEPROMから読み出した前記各アドレス毎のデータに基づいて、前記各アドレス毎にCRCコードを算出し、当該算出した各CRCコードを、前記検査装置で行われる当該各アドレス毎のデータの正当性判断のためのCRCコードとして、前記検査装置に送信する制御ユニット。
【請求項4】
前記EEPROMは、その記憶領域に各アドレス毎に書き込まれている各データの先頭が0以外として配列されている請求項3に記載の制御ユニット。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2010−250700(P2010−250700A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−101337(P2009−101337)
【出願日】平成21年4月17日(2009.4.17)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000002853)ダイキン工業株式会社 (7,604)
【Fターム(参考)】