JP5465164B2 - 列車情報管理装置および多数決処理方法 - Google Patents

列車情報管理装置および多数決処理方法 Download PDF

Info

Publication number
JP5465164B2
JP5465164B2 JP2010280927A JP2010280927A JP5465164B2 JP 5465164 B2 JP5465164 B2 JP 5465164B2 JP 2010280927 A JP2010280927 A JP 2010280927A JP 2010280927 A JP2010280927 A JP 2010280927A JP 5465164 B2 JP5465164 B2 JP 5465164B2
Authority
JP
Japan
Prior art keywords
data
cpu
memories
address
pld
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010280927A
Other languages
English (en)
Other versions
JP2012128741A (ja
Inventor
憲吾 小畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010280927A priority Critical patent/JP5465164B2/ja
Publication of JP2012128741A publication Critical patent/JP2012128741A/ja
Application granted granted Critical
Publication of JP5465164B2 publication Critical patent/JP5465164B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、多数決機能を備えた列車情報管理装置および多数決処理方法に関するものである。
システムのブート(起動)に必要なプログラムやデータは、電気的に書き換え可能な不揮発メモリであるフラッシュメモリ(「フラッシュROM」あるいは「EEPROM:Electrically Erasable Programmable ROM」)ともいう)に保存されるのが一般的である。このフラッシュメモリには書き換え回数に上限があり、上限に達すると記録されているデータやプログラムが保障されなくなる。また、書き換え寿命に達しない場合でも、メモリセルの電荷漏れなどにより記録されているビットが変化する「ビット化け」が生じることがある。このようなビット化けが発生した場合、ブートプログラムにエラーが生じてシステムが正常に起動できなくなる場合や、記録されているデータが化けてシステムに異常をきたしてしまう場合がある。
他方、近年の鉄道車両には、乗務員の負荷低減や乗客に対するサービスの向上を目的として、サービス機器などの動作状態の制御および監視を行う列車情報管理装置が搭載されている。この列車情報管理装置は、例えば、主幹制御器(マスコン)等の制御操作装置へ接続され、列車識別情報、列車位置情報、列車運行情報、および列車指令情報等の情報(列車情報)が記録される。
ただし、列車情報管理装置に内蔵されるメモリにおいて、ビット化けなどが発生すると、列車の運用に大きな影響を与える可能性がある。そのため、ビットエラーなどに起因する誤動作を回避し、列車運用への影響を軽減する措置が不可欠である。
このような問題を解決する手段として、下記特許文献1に代表される従来技術は、フラッシュメモリを複数個実装し、それぞれのフラッシュメモリに同一の内容を記録して、読み出し時にデータの多数決を取る多数決検知方式を採用している。他方、ビット化け対策としては、1ビットのエラー訂正、2ビットのエラー検知が可能ECC(Error Checking and Correction)と呼ばれる誤り訂正方式が存在する。
特開2009−187199号公報
しかしながら、上記特許文献1に代表される従来技術では、各種の演算処理を実行するCPUの処理負担が多数決処理によって増大するという課題があった。また、ECC方式を採用した場合、ECCを作成しあるいはECCをチェックするハードウェアと、冗長ビットを生成するためのメモリ領域とを実装する必要があるだけでなく、CPU側で誤り訂正処理を行う必要があるためCPUの負荷が増加するという問題があった。
本発明は、上記に鑑みてなされたものであって、CPUの負荷を増大させることなく多数決演算を実行可能な列車情報管理装置および多数決処理方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、列車情報を含むデータを記録する少なくとも3つのメモリを備え、前記各メモリから読み出されたデータの多数決をとる機能を有する列車情報管理装置であって、前記全てのメモリにアクセスする第1のアドレスが割り当てられたCPUと、前記CPUから出力された前記第1のアドレスを検知したとき、前記第1のアドレスと前記各メモリに対応する第2のアドレスとを区別して、前記第2のアドレスに対応する同一のデータを前記各メモリから読み出し、読み出されたデータ同士が一致するか否かの多数決結果を前記CPUへ通知するPLD(Programmable Logic Device)と、を備えたことを特徴とする。
この発明によれば、少なくとも3つのメモリから読み出されたデータの多数決処理を実行するPLDを備えるようにしたので、CPUの負荷を増大させることなく多数決処理を実行することができる、という効果を奏する。
図1は、本発明の実施の形態にかかる列車情報管理装置の構成を示す図である。 図2は、図1に示される列車情報管理装置に内蔵される多数決処理システムの構成を示す図である。 図3は、フラッシュメモリにデータを書き込むときのフローチャートを示す図である。 図4は、フラッシュメモリ内のデータを読み出すときのフローチャートを示す図である。 図5は、多数決処理を行う際のフローチャートを示す図である。 図6は、CPUが自己診断処理を行う際のフローチャートを示す図である。 図7は、CPU内のメモリマップの一例を示す図である。
以下に、本発明にかかる列車情報管理装置および多数決処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態.
図1は、本発明の実施の形態にかかる列車情報管理装置の構成を示す図であり、図2は、図1に示される列車情報管理装置に内蔵される多数決処理システムの構成を示す図である。
図1に示される列車の編成は、複数台の車両からなり、一例として両先頭車両10aと先頭車両以外の車両10bとで構成されている。車両10aには、情報制御中央装置(以下単に「中央装置」と称する)11が搭載され、車両10bには、車両間伝送路20を介して相互に接続された情報制御端末装置(以下単に「端末装置」と称する)12が搭載されている。さらに、各車両10a、10bには、編成内伝送路21を介して端末装置12に接続された複数の列車搭載機器(以下単に「機器」と称する)1〜nが設置されている。
中央装置11および端末装置12は列車情報管理装置を構成し、中央装置11は、図示しない主幹制御器(マスコン)等の制御操作装置へ接続され列車情報の入出力処理を行う。端末装置12は、各中央装置11から出力された制御情報などを含むデータを各機器1〜nに対して送信すると共に、各機器1〜nからのデータを収集し各中央装置11に対して送信する。
中央装置11および端末装置12には、図2に示されるフラッシュメモリ(以下単に「メモリ」と称する)3が内蔵され、このメモリ3には前述した列車情報の他にも、各機器1〜nから出力されたデータやブートプログラムなど(以下「データ等」と称する)が記録される。このデータ等は、例えば、データ送信元の機器1〜nを識別するための機器IDや、機器1〜nの動作状態情報(例えば、空調の現在温度、VVVFの出力など)が含まれている。各機器1〜nからのデータを受信した中央装置11では、どの機器から送信された動作状態情報であるかを識別することが可能である。ただし、メモリ3においてエラーが生じた場合には、動作状態情報などを識別することが困難になるため列車の運用に大きな影響を与える可能性がある。
本実施の形態にかかる列車情報管理装置には、図2に示される多数決処理システムが内蔵され、例えば、仕業点検時に多数決処理が実行されることにより、列車の円滑な運行を図るように構成されている。さらに、多数決処理システムは、定期的にPLD2の状態をチェックする機能(自己診断機能)を有し、多数決処理システムの信頼性を向上させるように構成されている。以下、図2を用いて、本実施の形態にかかる多数決処理システムを詳細に説明する。
図2に示される多数決処理システムは、主たる構成として、所定の情報処理を行うCPU1と、メモリ3と、CPU1とメモリ3との間に介在し多数決処理などを実施するPLD2と、を有して構成されている。メモリ3は、一例として、3つのメモリ3a、3b、3cで構成されている。
なお、本実施の形態にかかる多数決処理システムには、不揮発性のメモリだけでなく、揮発性のメモリであるSRAM(Static Random Access Memory)を用いてもよい。通常、メモリ3a〜3cにはプログラムを起動するためのブートプログラムや数値データなどが記録され、SRAMには様々な数値データが記録される。
CPU1とPLD2の間には、CPU1がメモリ3を選択する信号であるCS(Chip Select)信号0と、CPU1がPLD2を選択する信号であるCS信号1と、メモリ3へのデータ書き込みを可能にする信号であるWE(Write Enable)信号と、メモリ3からのデータ読み出しを可能にする信号であるOE(Output Enable)信号と、メモリ3へのデータ書き込みが完了したことをCPU1へ通知するBUSY信号と、CPU1に対する割込み要求信号であるIRQ(Interrupt ReQuest)信号と、が伝達される。さらに、CPU1とPLD2は、アドレスバスAとデータバスDとで接続されている。
CPU1からPLD2へ向かう信号は、アドレスバスAを介してPLD2あるいはメモリ3a〜3cへ送信されるアドレスと、CS信号0と、CS信号1と、WE信号と、OE信号とである。PLD2からCPU1へ向かう信号は、BUSY信号とIRQ信号であり、双方向の信号は、データバスDを介してCPU1とPLD2との間で送受信されるデータである。
一方、PLD2とメモリ3a〜3cとの間には、PLD2がメモリ3aを選択する信号であるCS信号0と、PLD2がメモリ3bを選択する信号であるCS信号1と、PLD2がメモリ3cを選択する信号であるCS信号2と、メモリ3a〜3cへのデータ書き込みを可能にする信号であるWE信号と、メモリ3a〜3cからのデータ読み出しを可能にする信号であるOE信号と、メモリ3aのデータ書き込みが完了したことをPLD2へ通知するBUSY(図1には便宜上「BSY」と表記)信号0と、メモリ3bのデータ書き込みが完了したことをPLD2へ通知するBUSY信号1と、メモリ3cのデータ書き込みが完了したことをPLD2へ通知するBUSY信号2と、が伝達される。さらに、PLD2とメモリ3a〜3cは、アドレスバスAとデータバスDとで接続されている。
PLD2から各メモリ3a〜3cへ向かう信号線は、アドレスバスAを介してメモリ3a〜3cへ送信されるアドレスと、CS信号0〜2と、WE信号と、OE信号とである。各メモリ3a〜3cからPLD2へ向かう信号は、BUSY信号0〜2であり、双方向の信号は、データバスDを介してPLD2とメモリ3a〜3cとの間で送受信されるデータである。
CPU1からPLD2の間におけるBUSY信号と、CPU1からメモリ3a〜3cの間におけるBUSY信号0〜2と、の関係を説明する。
例えば、CPU1から各メモリ3a〜3cへのデータ書き込みを実行している場合、各メモリ3a〜3cからPLD2に対するBUSY信号0〜2の状態は例えばH(又はL)である。そして、各メモリ3a〜3cのデータ書き込みが完了したとき、BUSY信号0〜2は、例えばL(又はH)に変化する。一方、PLD2からCPU1に対するBUSY信号は、BUSY信号0〜2の何れかがH(又はL)のときにはH(又はL)であり、BUSY信号0〜2の全てがL(又はH)に変化したときにL(又はH)となる。このようにBUSY信号がH(又はL)からL(又はH)に変化したとき、CPU1は、全てのメモリ3a〜3cへのデータ書き込みが完了したことを検知する。
次に、図3〜図6を用いて本実施の形態にかかる多数決処理システムの動作を説明する。先ず図3を用いて、例えば全てのメモリ3a〜3cに同一のデータを書き込むときの動作を説明する。
図3は、フラッシュメモリ3にデータを書き込むときのフローチャートを示す図である。PLD2は、CPU1からのライト信号(WE信号)を受信したとき(ステップS10)、各メモリ3a〜3cに対するライト信号をアサートする(ステップS11)。なお、「信号をアサートする」とは、その信号をアクティブな状態に切り換えることを意味している。
PLD2は、メモリ3a〜3cからのBUSY信号0〜2に基づいて、全てのメモリ3a〜3cのデータ書き込みが完了したか否かを判断する(ステップS12)。PLD2は、データ書き込みが完了していない場合には(ステップS12,No)、BUSY信号0〜2を全て受信するまでCPU1に対するライト終了(書き込み終了)を通知しないが、データ書き込みが完了した場合には(ステップS12,Yes)、CPU1に対してライト終了を通知する(ステップS13)。
データ書き込み動作を具体例で説明する。CPU1から各メモリ3a〜3cに対してデータを書き込む場合、CPU1は、まずCPU1とPLD2との間におけるCS信号0およびWE信号をアサートすると共に、データが書き込まれるメモリ3a〜3cのアドレスを送信することにより、データ書き込みを実行することをPLD2へ通知する。
CPU1からのアドレス、CS信号0、およびWE信号の組み合わせによりデータ書き込みを検知したPLD2は、CS信号0〜2とWE信号をアサートすると共に、アドレスを送信することにより、メモリ3a〜3cへのデータ書き込みを実行する。なお、データ書き込みの場合、PLD2による多数決処理が行われることはない。
各メモリ3a〜3cへのデータ書き込みが完了するまでの時間にはばらつきがあるため、PLD2は、全てのメモリ3a〜3cからのBUSY信号0〜2を受信したとき(すなわち全てのメモリ3a〜3cに対するデータ書き込みが終了した時点で)、CPU1に対してBUSY信号を送信し、データ書き込みが終了したことを通知する。
ここで、アドレスに関して補足をする。CPU1内部のメモリマップには、後述する図7に示すように、1つのメモリ容量の4倍のアドレス空間が割り当てられている。例えば、1つのメモリ3の容量が8Mbitでありデータ幅が8bitの場合、1つのアドレス空間の領域は07FFFFFH(Hは16進数を意味する)となる。
具体例で説明をすると、CPU1内部のメモリマップには、例えば、メモリ3a〜3cに割り当てられたアドレス0000000H〜07FFFFFHまでのアドレス空間Aと、メモリ3aに割り当てられたアドレス0800000H〜0FFFFFFHまでのアドレス空間Bと、メモリ3bに割り当てられたアドレス1000000H〜17FFFFFHまでのアドレス空間Cと、メモリ3cに割り当てられたアドレス1800000H〜1FFFFFFHまでのアドレス空間Dと、が割り当てられている。
メモリ3aにデータ書き込みを行う場合を想定して、アドレスの値に関してより具体的に説明する。
メモリ3aにデータ書き込みを行う場合、CPU1は、CS信号0およびWE信号をアサートすると共に、メモリ3aのアドレスをPLD2へ送信する。このときのアドレスは、アドレス空間Bのアドレスであり、例えばアドレス0800000Hと仮定する。PLD2は、CS信号0、WE信号、およびアドレスの組み合わせにより、メモリ3aに対するデータ書き込みを検知する。
メモリ3aに対するデータ書き込みであることを検知する方法は以下の通りである。PLD2では、例えばアドレスの上位2bitの値をみて、データ書き込みの対象となるメモリを識別している。具体的には、アドレス0800000Hの上位2bitの値が、メモリ3aを示す値(例えば「01」)である場合、PLD2は、メモリ3aへのデータ書き込みを実行する。
アドレスの上位2bitの値に関して補足をすると、全てのメモリ3a〜3cを示す値は例えば「00」であり、メモリ3aのみを示す値は上述したように「01」であり、メモリ3bのみを示す値は例えば「10」であり、メモリ3cのみを示す値は例えば「11」である。換言すると、上位2bitの値である「00」は全てのメモリ3a〜3cにアクセスすることを示す値であり、上位2bitの値である「01」、「10」、および「11」は、各メモリ3a、3b、3cに個別にアクセスすることを示す値である。
次に、メモリ3a〜3cからデータを読み出すときの動作を説明するが、CPU1がメモリ3a〜3c内のデータを読み出す際、正常なデータを読み出すためにはPLD2による多数決処理が必要となる。そこで、以下の説明では、データを読み出すときの動作を示す図4と、多数決処理の動作を示す図5とを用いて、データ読み出しの動作と多数決処理とを関連付けて説明する。
図4は、フラッシュメモリ3内のデータを読み出すときのフローチャートを示す図であり、図5は、多数決処理を行う際のフローチャートを示す図である。
図4において、PLD2は、CPU1からのリード信号(OE信号)を受信したとき(ステップS20)、各メモリ3a〜3cにOE信号を送信する(ステップS21)。より具体的には、CPU1がデータを読み出す場合、CPU1は、まずCPU1とPLD2との間におけるCS信号0およびOE信号をアサートすると共に、データ読み出しの対象のアドレスを送信する。PLD2は、CPU1からのアドレス、CS信号0、およびOE信号の組み合わせによりデータ読み出しを検知する。そして、PLD2は、CS信号0〜2とOE信号をアサートすることにより、データ読み出しを実行する。
続いて、メモリ3a〜3cは、それぞれデータバスDにデータを出力し、PLD2は、メモリ3a〜3cからのデータを取り込むと共に(ステップS22)、多数決処理を実施する(ステップS23)。多数決処理の詳細は図5において説明する。
PLD2による多数決処理の結果(ステップS23)、3つのメモリ3a〜3cからのデータが一致している場合、PLD2は、メモリ3a〜3cから読み出したデータであるリードデータをCPU1に送信する(ステップS24)。
また、PLD2による多数決処理の結果(ステップS23)、メモリ3a〜3cからのデータの内いずれか2個のデータが一致し、かつ、後述するエラーカウントが所定の値Nを超えていない場合、PLD2は、リードデータをCPU1に送信する(ステップS24)。
図5において、PLD2は、メモリ3a〜3cからの全てのデータが一致している場合(ステップS30,Yes)、図4に示されるステップS24の動作を実行する。すなわち、PLD2は、メモリ3a〜3cには異常が生じていないものとして、データをCPU1に出力する。
ステップS30(第1の判定ステップ)において、メモリ3a〜3cからの全てのデータが一致していない場合(ステップS30,No)、PLD2は、メモリ3a〜3cからのデータの内いずれか2個のデータが一致しているか否かを判断する(ステップS31)。2個のデータが一致している場合には(ステップS31,Yes)、メモリ3a〜3cから読み出されたデータの中に、他の2個のデータと一致しないデータが含まれていたことを記録するため、エラーカウントをインクリメントする(ステップS32:エラーカウントステップ)。
このように、PLD2は、メモリ3a〜3cから読み出されたデータの多数決をとった結果、一致するデータと一致しないデータとが含まれる場合、一致しないデータが含まれていたことを示すエラーカウント(カウント値)をインクリメントする。
PLD2は、例えば、ステップS33までの処理を複数回繰り返した結果、エラーカウントが所定の値Nを超えたか否かを判定する(ステップS33)。エラーカウントが所定の値Nを超えていない場合(ステップS33,No)、PLD2は、図4に示されるステップS24の動作を実行する。すなわち、PLD2は、CPU1に対して、一致したデータを出力する。一方、エラーカウントが所定の値Nを超えている場合(ステップS33,Yes)、PLD2は、メモリ3aの故障と判断しIRQ信号を出力する。そして、PLD2およびCPU1によって、ステップS34の異常処理が実行される。
ステップS33の処理を具体例で説明すると、例えば、ステップS33までの処理が複数回繰り返されたときに、エラーカウントが連続して累積されて、その結果、エラーカウントが所定の値N(例えば3回)を超えた場合にはIRQ信号を出力するように構成してもよい。また、エラーカウントが連続して累積されなくとも、例えばステップS33までの処理が10回繰り返されたときのエラーカウントが所定の値N(例えば5回)を超えた場合にIRQ信号を出力するように構成してもよい。
ステップS31(第2の判定ステップ)において、2個のデータが一致していない場合(ステップS31,No)、すなわち全てのデータが一致しない場合にもステップS34の異常処理が実行される。
ステップS34における異常処理を説明する。エラーカウントが所定の値Nを超えるケースや、読み出されたデータが3個とも異なるというケースは、通常では発生しないが、仮にこのようなケースが発生した場合、メモリ3a〜3cから正常なデータを読み出すことが困難となる。そのため、このようなケースでは致命的なエラーとして即座にCPU1に知らせる必要がある。
そこで、PLD2は、エラーカウントが所定の値Nを超える場合や読み出されたデータが3個とも異なる場合には、CPU1に対してIRQ信号を送信する。IRQ信号を受信したCPU1はCS1をアサートしてPLD2にアクセスする。このアクセスに対してPLD2は、一致しないデータが各メモリ3a〜3cの何れのものであるかを示すエラーパターン(エラーデータ)をCPU1に送信する。エラーパターンは、PLD2内の図示しないレジスタにおいてメモリ3a、3b、3c毎に記録される。
このエラーパターンは、例えば、メモリ3aから読み出されたデータに異常が認められるのか、メモリ3bから読み出されたデータに異常が認められるのか、などの異常が生じているメモリ3a〜3cをCPU1が識別可能に構成されたデータであり、データバスDを介してCPU1に送信される。その結果、CPU1では、PLD2からのエラーパターンの内容によって、どのメモリに異常が生じているのかを識別することが可能である。
ステップS34の異常処理は、PLD2がCPU1にIRQ信号を送信してから、CPU1がPLD2からのエラーパターンの内容によって異常が生じているメモリ3を識別するまでの一連の処理動作を示す。
このように、PLD2は、エラーカウントが所定の値Nを超えた場合、CPU1へIRQ信号を出力すると共に、エラーが生じているメモリ3をCPU1に識別させるエラーパターンをCPU1に対して出力するように構成されている。
次に、PLD2の多数決機能が正常であるか否かを診断する自己診断機能に関して説明する。
PLD2の多数決機能そのものが故障した場合、多数決処理におけるデータ不一致が、メモリ3の寿命やビット化けに起因するものであるか、多数決回路(PLD2)の故障に起因するものであるのかを識別をすることができない。このような問題を解決するために、本実施の形態にかかる多数決処理システムは、後述する図6に示す方法によって、定期的にPLD2の健全性を確認する機能(自己診断機能)を有している。
以下、図6を用いて、本実施の形態にかかる多数決処理システムの自己診断機能の動作を説明する。
図6は、CPUが自己診断処理を行う際のフローチャートを示す図である。メモリ3a〜3cに対応するアドレス空間には、例えば「0、0、1」という試験データ(あるいはデータパターン)が記録される(ステップS40)。
この試験データは、PLD2の健全性を判別するために用いられる所定のデータであり、本実施の形態では自己診断機能を動作させる前提としてCPU1に記録されている。
この試験データは、一例として、メモリ3aに対応する値「0」とメモリ3bに対応する値「0」とメモリ3cに対応する値「1」とが組み合わされ、メモリ3aに対応する値「0」は、前述したアドレス空間Bのアドレス(例えばアドレス0800000H)に記録され、メモリ3bに対応する値「0」は、アドレス空間Cのアドレス(例えばアドレス1000000H)に記録され、メモリ3cに対応する値「1」は、アドレス空間Dのアドレス(例えばアドレス1800000H)に記録されている。
そして、CPU1に記録された試験データは、図3にて説明をしたデータ書き込みの動作によって各メモリ3a〜3cに書き込まれる(ステップS41)。その後、図4および図5にて説明をした多数決処理が実行される(ステップS42)。
CPU1は、PLD2による多数決処理によってIRQ信号がアサートされた場合、期待通りのエラーが発生したか否かを判断する。例えば、CPU1内の試験データと、PLD2からのエラーパターンとが一致すれば、期待通りのエラーが発生したことになる。CPU1は、PLD2における多数決処理の結果が期待通りであるか否かによってPLD2の健全性を診断する(ステップS43)。
ステップS42とステップS43との関係を具体的に説明する。PLD2では、メモリ3a〜3cから読み出したデータを用いて、図5に示されるステップS33までの処理を複数回繰り返されたときのエラーカウントが所定の値Nを超えた場合にはIRQ信号を出力する。その後、PLD2からCPU1に送信されるエラーパターンが、試験データと一致した場合、CPU1はPLD2の多数決機能が正常に動作していると判断する。
期待通りのエラーが発生した場合(ステップS43,Yes)、多数決処理システムの動作は終了する。期待通りのエラーが発生しない場合(ステップS43,No)、PLD2の多数決機能に異常が生じていることが検出され、ステップS44の異常処理が実行される。期待通りのエラーが発生しない場合とは、例えば、IRQ信号は送信されたがPLD2からのエラーパターンが他のメモリ(例えばメモリ3b)の異常を示すエラーパターンでため、試験データとエラーパターンとが不一致のときを示す。
ステップS44における異常処理は、例えば、PLD2に異常が発生したことを列車情報管理装置に接続された所定のモニタ装置へ報知するなどの動作である。
なお、PLD2に異常が生じているのかメモリ3a〜3cに異常が生じているのかを切り分ける方法としては、まず試験データを使わずにPLD2による多数決処理を実行してメモリ3a〜3cの健全性を確認する。そして、メモリ3a〜3cが正常であることを確認した後に、試験データを用いて図6に示される動作を実行すればよい。
なお、図6に示される試験データは、説明の便宜上「0、0、1」というパターンであるが、これに限定されるものではなく、例えば「1、0、1」や「1、1、0」などのパターンでもよいし、「00、00、11」、「11、00、11」などのパターンでもよい。
このように、CPU1には、模擬的にエラーカウント(カウント値)をインクリメントさせる試験データ(模擬データ)が記録され、PLD2は、CPU1から全てのメモリ3a〜3cに書き込まれた試験データを読み出して多数決をとった結果、カウント値が所定の値Nを超えた場合にエラーデータをCPU1へ出力し、CPU1、は試験データとエラーデータとが一致しない場合、PLD2に異常が生じていることを検出するように構成されている。
次に、図7を用いて、CPU1内部のメモリマップと、本実施の形態にかかる多数決処理システムの動作とを関連付けて説明する。
図7は、CPU1内のメモリマップの一例を示す図である。図7に示されるメモリマップには、前述したアドレス空間A〜Dが示されると共に、アドレス空間A〜Dのアドレスの一例としてアドレス0000000H〜1FFFFFFHが示されている。さらに図7には、アドレスに対応するビット列が示されている。以下、図7に示されるアドレスの値と多数決処理システムの動作とを対応付けて説明する。なお、図7に示される「CS0」は、図1に示される「CS0」(CS信号0)を意味する。
メモリ3a〜3cにデータを書き込む場合、メモリ3aに対応するアドレス(例えば0800000H)がPLD2へ送信され、PLD2はこのアドレスの上位2bitの値「01」に基づいてCS信号0をアサートし、このアドレスのデータは、データバスDを介してメモリ3aに書き込まれる。以下同様に、メモリ3bに対応するアドレス(例えば1000000H)がPLD2へ送信され、PLD2はこのアドレスの上位2bitの値「10」に基づいてCS信号1をアサートし、このアドレスのデータは、データバスDを介してメモリ3bに書き込まれる。また、メモリ3cに対応するアドレス(例えば1800000H)がPLD2へ送信され、PLD2はこのアドレスの上位2bitの値「11」に基づいてCS信号2をアサートし、このアドレスのデータは、データバスDを介してメモリ3cに書き込まれる。
なお、本実施の形態では、CPU1からPLD2に送信される下位25bitの内、PLD2で検知される上位2bitは、メモリ3a〜3cにアクセスする第1のアドレスと定義し、この上位2bitを除く下位23bitは、各メモリ3a〜3cに対応する第2のアドレスと定義する。
多数決処理を行う場合には、全てのメモリ3a〜3cからデータを読み出す必要があるため、メモリ3a〜3cに対応するアドレス(例えば0000000H)がPLD2へ送信される。PLD2はこのアドレスの上位2bitの値「00」に基づいてCS信号0〜2をアサートし、メモリ3a〜3cのデータを読み出す。
なお、図7に示されるアドレスのビット列と図2に示されるアドレスバスAとの関係を補足すると以下の通りである。図2に示されるCPU1とPLD2との間におけるアドレスバスAには、図7に示されるアドレスのビット列の内、下位23ビットと上位2ビットが伝送されるが、PLD2には上位2ビットの第1のアドレスのみ取り込まれ、下位23ビットの第2のアドレスは、PLD2を経由せずに直接メモリ3a〜3cに取り込まれるように構成してもよい。このように構成しても、PLD2は、第1のアドレスの値に基づいて、メモリ3a〜3cに対するCS信号0〜2を制御することができると共に、CPU1からPLD2の間における第2のアドレス用の接続ピンを簡素化することが可能となる。
このように、本実施の形態にかかる多数決処理システムでは、PLD2がアドレスの上位2bitの値に基づいてメモリ3a〜3cへの同時アクセスと各メモリ3a〜3cへの個別アクセスとを判別可能に構成されている。すなわち、PLD2がCPU1からのアドレスの上位2ビットを認識して、各メモリ3a〜3cへ個別にデータを書き込み、または、各メモリ3a〜3c内のデータを個別あるいは同時に読み出すように構成されている。
なお、図2に示される多数決処理システムは、一例として3つのメモリ3a〜3cで構成されているが、これに限定されるものではなく、4つ以上のメモリで構成してもよい。具体的には、少なくともn個(nは3以上の整数)のメモリ3で構成した場合、メモリマップには1つのメモリの容量のk倍(k=n+1)のアドレス空間が割り当てられる。例えば、4つのメモリにて多数決処理を実行した場合、これらのメモリから読み出されたデータのうち、エラーとなった2個のデータのエラー内容が偶然に一致する可能性もある。ただし、このようなケースは希であるため、本実施の形態にかかる多数決処理には実質的な影響がないと見なすことが出来る。
なお、本実施の形態では、一例として1つのメモリ3の容量を8Mbitとして説明したが、これに限定されるものではない。
以上に説明したように、本実施の形態にかかる列車情報管理装置は、少なくとも3つのメモリ3a〜3cと、全てのメモリ3a〜3cにアクセスする第1のアドレスが割り当てられたCPU1と、CPU1から出力された第1のアドレスを検知したとき、第1のアドレスと各メモリ3a〜3cに対応する第2のアドレスとを区別して、第2のアドレスに対応する同一のデータを各メモリ3a〜3cから読み出し、読み出されたデータ同士が一致するか否かの多数決結果をCPU1へ通知するPLD2とを備えるようにしたので、PLD2によって多数決処理が行われることによって、メモリ3a〜3cから読み出されたデータの高冗長性および高信頼性を実現できるだけでなく、CPU1の処理負担が軽減されCPU1の負荷が軽減される分だけ列車情報管理装置等の高機能化を図ることが可能である。従来技術には、データの高信頼化を図るために、ECC方式によるエラー検出を行うものが存在するが、CPUで誤り訂正処理を行う必要があるためCPUの負荷を軽減することが困難であった。本実施の形態によれば、PLD2で多数決処理が実行されるため、列車情報などを管理するCPU1の処理負担を軽減することが可能である。さらに、PLD2は、基板への実装後でも内部論理回路を定義あるいは変更することができるため、例えば前述した試験データを組み替える場合、従来では多数決処理回路(例えばCPUなど)そのものを交換しなければならないが、本実施の形態では多数決処理回路を交換することなく試験データの組み替えが可能である。
また、本実施の形態にかかる列車情報管理装置は、PLD2の健全性を確認する自己診断機能を備えるようにしたので、多数決処理におけるデータ不一致が、メモリ3のビット化けなどに起因するものであるか、多数決回路に起因するものであるのかを識別することが可能である。従来技術では、このような機能がないために、データ不一致の要因を特定するためには例えば多数決処理回路が搭載されている基板を回収するなどの多大な労力を要していた。特に列車においては、列車情報管理装置車情報などにシステム障害が発生すると列車の円滑な運行の妨げとなるため、システムの高信頼性が要求される。本実施の形態にかかる列車情報管理装置は、例えば列車の運行前の始業点検において、本実施の形態にかかる自己診断機能により、多数決処理でデータ不一致となった要因を短時間で特定できるため、列車の円滑な運行に寄与することができる。
なお、本実施の形態では、図2に示される多数決処理システムを列車情報管理装置に適用した例を説明したが、本実施の形態にかかる多数決処理システムは列車情報管理装置以外のハードウェア(例えば情報処理システム)にも可能である。
なお、本実施の形態にかかる列車情報管理装置は、本発明の内容の一例を示すものであり、更なる別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能であることは無論である。
以上のように、本発明は、多数決機能を備えた列車情報管理装置に適用可能であり、特に、CPUの負荷を増大させることなく多数決処理を実行することができる発明として有用である。
1 CPU
2 PLD
3、3a、3b、3c フラッシュメモリ
10a、10b 車両
11 中央装置
12 端末装置
20 車両間伝送路
21 編成内伝送路

Claims (6)

  1. 列車情報を含むデータを記録する少なくとも3つのメモリを備え、前記各メモリから読み出されたデータの多数決をとる機能を有する列車情報管理装置であって、
    前記全てのメモリにアクセスする第1のアドレスが割り当てられたCPUと、
    前記CPUから出力された前記第1のアドレスを検知したとき、前記第1のアドレスと前記各メモリに対応する第2のアドレスとを区別して、前記第2のアドレスに対応する同一のデータを前記各メモリから読み出し、読み出されたデータ同士が一致するか否かの多数決結果を前記CPUへ通知するPLD(Programmable Logic Device)と、
    を備え
    前記PLDは、前記各メモリから読み出されたデータの多数決をとった結果、一致するデータと一致しないデータとが含まれる場合、前記一致しないデータが含まれていたことを示すカウント値をインクリメントすると共に、前記一致しないデータが前記各メモリの何れのものであるかを示すエラーデータを保持することを特徴とする列車情報管理装置。
  2. 前記PLDは、前記カウント値が所定の値を超えた場合、前記CPUへ割り込み信号を出力した後に前記エラーデータを前記CPUへ出力することを特徴とする請求項1に記載の列車情報管理装置。
  3. 前記CPUには模擬的に前記カウント値をインクリメントさせる模擬データが記録され、
    前記PLDは、前記CPUから前記各メモリに書き込まれたデータを読み出して多数決をとり、
    前記CPUは、前記模擬データと前記PLDからの前記エラーデータとが一致しない場合、前記PLDに異常が生じていることを検出することを特徴とする請求項1または2に記載の列車情報管理装置。
  4. 列車情報を含むデータを記録する少なくとも3つのメモリを備えた列車情報管理装置に適用され、前記各メモリから読み出されたデータの多数決をとる多数決処理方法であって、
    前記全てのメモリにアクセスする第1のアドレスが割り当てられたCPUからの前記第1のアドレスを検知するアドレス検知ステップと、
    前記第1のアドレスと前記各メモリに対応する第2のアドレスとを区別して、前記第2のアドレスに対応する同一のデータを前記各メモリから読み出すデータ読み出しステップと、
    読み出されたデータ同士が一致するか否かの多数決をとる多数決処理ステップと、
    前記多数決処理ステップによる多数決の結果を前記CPUへ通知する通知ステップと、
    を含み、
    前記多数決処理ステップには、
    前記各メモリから読み出されたデータが全て一致するか否かを判定する第1の判定ステップと、
    前記第1の判定ステップにて前記データが全て一致しない場合、前記データの内いずれか2つのデータが一致しているか否かを判断する第2の判定ステップと、
    前記第2の判定ステップにて一致するデータと一致しないデータとが含まれる場合、前記一致しないデータが前記各メモリの何れのものであるかを示すエラーデータを保持すると共に、前記一致しないデータが含まれていたことを示すカウント値をインクリメントするエラーカウントステップと、
    が含まれることを特徴とする多数決処理方法。
  5. 前記エラーカウントステップの後には、
    前記カウント値が所定の値を超えたか否かを判断するステップと、
    前記カウント値が前記所定の値を超えた場合、前記CPUへ割り込み信号を出力する割り込み信号出力ステップと、
    前記割り込み信号を出力した後に前記エラーデータを前記CPUに対して出力するエラーデータ出力ステップと、
    が含まれることを特徴とする請求項に記載の多数決処理方法。
  6. 前記CPUには、模擬的に前記カウント値をインクリメントさせる模擬データが記録され、
    前記アドレス検知ステップの前には、
    前記CPUに記録された前記模擬データを前記各メモリに書き込むデータ書き込みステップが含まれ、
    前記エラーカウントステップの後には、
    前記CPUが、前記模擬データと前記エラーデータとが一致しない場合、前記列車情報管理装置の多数決機能に異常が生じていることを検出する異常検出ステップが含まれることを特徴とする請求項4または5に記載の多数決処理方法。
JP2010280927A 2010-12-16 2010-12-16 列車情報管理装置および多数決処理方法 Expired - Fee Related JP5465164B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010280927A JP5465164B2 (ja) 2010-12-16 2010-12-16 列車情報管理装置および多数決処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010280927A JP5465164B2 (ja) 2010-12-16 2010-12-16 列車情報管理装置および多数決処理方法

Publications (2)

Publication Number Publication Date
JP2012128741A JP2012128741A (ja) 2012-07-05
JP5465164B2 true JP5465164B2 (ja) 2014-04-09

Family

ID=46645664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010280927A Expired - Fee Related JP5465164B2 (ja) 2010-12-16 2010-12-16 列車情報管理装置および多数決処理方法

Country Status (1)

Country Link
JP (1) JP5465164B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055316A (ja) * 1996-08-09 1998-02-24 Denso Corp 制御装置
JP3597393B2 (ja) * 1998-08-19 2004-12-08 シャープ株式会社 データ記録再生装置
JP4066570B2 (ja) * 1999-08-27 2008-03-26 株式会社デンソー 誤り訂正機能付きeprom並びにその故障診断方法及び装置
JP2001350672A (ja) * 2000-06-08 2001-12-21 Casio Comput Co Ltd メモリ制御装置およびそのデータ処理方法
JP3743271B2 (ja) * 2000-08-11 2006-02-08 株式会社デンソー データ修復装置
JP2004326564A (ja) * 2003-04-25 2004-11-18 Matsushita Electric Ind Co Ltd 不揮発性半導体メモリ装置

Also Published As

Publication number Publication date
JP2012128741A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
US10019312B2 (en) Error monitoring of a memory device containing embedded error correction
KR101374455B1 (ko) 메모리 에러와 리던던시
US8667372B2 (en) Memory controller and method of controlling memory
CA1307850C (en) Data integrity checking with fault tolerance
US10606696B2 (en) Internally-generated data storage in spare memory locations
US9275757B2 (en) Apparatus and method for non-intrusive random memory failure emulation within an integrated circuit
US10095570B2 (en) Programmable device, error storage system, and electronic system device
JP2009181425A (ja) メモリモジュール
US8522075B2 (en) Storage system having storage devices for storing data and control devices for controlling the storage devices
US7418636B2 (en) Addressing error and address detection systems and methods
CN115543678B (zh) 监管ddr5内存颗粒错误的方法、系统、存储介质及设备
JP5465164B2 (ja) 列車情報管理装置および多数決処理方法
CN111221681A (zh) 一种存储器的修复方法及装置
US7484147B2 (en) Semiconductor integrated circuit
US8151176B2 (en) CPU instruction RAM parity error procedure
JP5964265B2 (ja) 半導体集積回路装置
US8626992B2 (en) Storage device with identification information
JP2002100979A (ja) 情報処理装置及び情報処理装置のエラー情報保持方法
JP5632804B2 (ja) バス診断機能を備えた制御装置
US7895493B2 (en) Bus failure management method and system
TWI607455B (zh) 記憶體資料檢測方法
JP2006277133A (ja) 半導体集積回路及びメモリデータチェック方法
CN117667501A (zh) 内存链路故障诊断方法及计算机设备
KR970005741B1 (ko) 데이타 처리시스템 및 고신뢰성 메모리의 관리방법
US20090222702A1 (en) Method for Operating a Memory Device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees