(57)【特許請求の範囲】
【請求項１】
ユーザプログラムを格納するためのユーザメモリと、システムプログラムを格納するためのシステムメモリと、システムメモリに格納されたシステムプログラムを実行することによりＩＯリフレッシュ機能や周辺サービス機能等のＰＬＣに必要な諸機能を実現するマイクロプロセッサと、ユーザメモリに格納されたユーザプログラムを実行するための演算実行回路が組み込まれたＡＳＩＣとが少なくとも搭載され、
ＩＯメモリとしてのメモリ容量を有する第１のＳＲＡＭが装着可能であって、かつ装着された第１のＳＲＡＭに対して、選択的にバッテリバックアップ可能とされた第１のメモリ装着部と、
ＩＯメモリとしてのメモリ容量を有する第２のＳＲＡＭが装着可能であって、かつ装着された第２のＳＲＡＭに対して、選択的にバッテリバックアップ可能とされた第２のメモリ装着部と、が設けられ、さらに
ＡＳＩＣと第１のメモリ装着部との間には第１のデータバスが敷設されており、かつＡＳＩＣと第２のメモリ装着部との間には第２のデータバスが敷設されており、
それにより、前記マイクロプロセッサと前記ＡＳＩＣとが動作することにより、ＰＬＣのＣＰＵとしての機能が実現されるＰＬＣ用の部品実装基板であって、
前記ＡＳＩＣの内部には、
書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータに基づいて誤り訂正符号を生成する一方、読み出し指令が与えられたときには、その読み出し指令に係るデータに付された誤り訂正符号に基づいて誤り検出又は誤り訂正を行うように仕組まれたＥＣＣ回路と、
外部からのモード指定を受けて択一的に動作する第１モードの制御回路と第２モードの制御回路とが組み込まれており、
第１モードの制御回路は、
書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータを第１のＳＲＡＭと第２のＳＲＡＭとに並列に書き込む一方、読み出し指令が与えられたときには、その読み出し指令に係るＩＯデータを第１のＳＲＡＭのみから読み出すように仕組まれた演算実行時処理と、第２のＳＲＡＭから第１のＳＲＡＭへとＩＯデータを一括コピーする起動時処理とをサポートするように仕組まれており、
第２モードの制御回路は、
書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータをＥＣＣ回路へ与えると共に、そのＩＯデータとＥＣＣ回路にて生成された誤り訂正符号とを、第１のＳＲＡＭと第２のＳＲＡＭとから構成される記憶対象領域内に、所定のメモリ割付ルールにしたがって書き込む書き込み時処理と、読み出し指令が与えられたときには、その読み出し指令に係るＩＯデータと誤り符号とを、所定のメモリ割付ルールにしたがって、第１のＳＲＡＭと第２のＳＲＡＭとから構成される記憶対象領域から読み出し、これをＥＣＣ回路へと与える読み出し時処理とをサポートするように仕組まれており、
それにより、ＡＳＩＣに対するモード指定の選択、第１及び第２のメモリ装着部に対して装着されるべきＳＲＡＭ種別の選択、第１及び第２のメモリ装着部に対するバッテリバックアップ有無の選択、及び第２モード指定時のメモリ割付ルールの取り決めにより、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに対応可能とした、ことを特徴とするＰＬＣ用の部品実装基板。
【請求項２】
バックアップ機能付きのＩＯメモリ仕様に対応するためには、
ＡＳＩＣに対するモード指定を第１モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＳＲＡＭをバッテリバックアップし、
ＥＣＣ機能付きのＩＯメモリ仕様に対応するためには、
ＡＳＩＣのモード指定を第２モードとし、第１のメモリ装着部及び第２のメモリ装着部にはいずれも中速ＳＲＡＭを装着し、第１のメモリ装着部に装着される中速ＳＲＡＭ及び第２のメモリ装着部に装着される中速ＳＲＡＭをいずれもバッテリバックアップし、かつ第２モードのメモリ割付ルールが、２ワード分のＩＯデータを第１のメモリの各１アドレスに格納する一方、２ワード分の誤り訂正符号を第２のメモリの各１ワードに格納するものである、ことを特徴とする請求項１に記載のＰＬＣ用の部品実装基板。
【請求項３】
バックアップ機能付きのＩＯメモリ仕様に対応するためには、
ＡＳＩＣに対するモード指定を第１モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＳＲＡＭをバッテリバックアップし、
ＥＣＣ機能付きのＩＯメモリ仕様に対応するためには、
ＡＳＩＣのモード指定を第２モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、第１のメモリ装着部に装着される高速ＳＲＡＭ及び第２のメモリ装着部に装着される中速ＳＲＡＭをいずれもバッテリバックアップし、かつ第２モードのメモリ割付ルールが、２ワード分のＩＯデータを第１のメモリの各１アドレスに格納する一方、２ワード分の誤り訂正符号を第２のメモリの各１ワードに格納するものである、ことを特徴とする請求項１に記載のＰＬＣ用の部品実装基板。
【請求項４】
バックアップ機能付きのＩＯメモリ仕様に対応するためには、
ＡＳＩＣに対するモード指定を第１モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＳＲＡＭをバッテリバックアップし、
ＥＣＣ機能付きのＩＯメモリ仕様に対応するためには、
ＡＳＩＣのモード指定を第２モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＲＡＭをバッテリバックアップし、かつ第２モードのメモリ割付ルールが、１ワード分のＩＯデータ及びその誤り訂正符号の双方を第１のメモリ及び第２のメモリの一連の各アドレスのそれぞれに格納するものである、ことを特徴とする請求項１に記載のＰＬＣ用の部品実装基板。
【請求項５】
請求項１〜４のいずれかに記載の部品実装基板が装着されたＰＬＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通常用とバックアップ用との２つのＩＯメモリを備えたプログラマブル・コントローラ（以下、「ＰＬＣ」という）に好適なＰＬＣ用の部品実装基板に関する。
【背景技術】
【０００２】
通常用とバックアップ用との２つのデータメモリを備え、電源断時に信頼性を向上させたＰＬＣは従来より知られている（特許文献１参照）。
【０００３】
このようなＰＬＣに採用されるＰＬＣ用の部品実装基板の一例が図９に示されている。同図に示されるように、このＰＬＣ用の部品実装基板１００は、ユーザプログラムを格納するためのユーザメモリ（以下、「ＵＭ」という）１と、システムプログラムを格納するためのシステムメモリ（以下、「ＳＲＯＭ」という）２と、ＳＲＯＭ２に格納されたシステムプログラムを実行することによりＩＯリフレッシュ機能や周辺サービス機能などのＰＬＣに必要な諸機能を実現するマイクロプロセッサ（以下、「ＭＰＵ」という）３と、ＵＭ１に格納されたユーザプログラムを実行するための演算実行回路が組み込まれたＡＳＩＣ（Application Specific IC）４と、通常用のＩＯメモリ（以下、「ＩＯＭ」という）としてのメモリ容量を有する第１のＳＲＡＭ５と、バックアップ用ＩＯメモリ（以下、「ＢＩＯＭ」という）としてのメモリ容量を有する第２のＳＲＡＭ６と、ＭＰＵ３がＳＲＯＭ２内のシステムプログラムを実行する際にワークエリアとして使用するワークＲＡＭ（以下、「ＷＲＡＭ」という）７と、バックアップ用のユーザメモリ（以下、「ＢＵＭ」という）８とを所定の回路基板上に搭載して構成されている。
【０００４】
メモリ１，２，５〜８の種別は次のように構成されている。すなわち、ＵＭ１としては高速同期ＳＲＡＭが、ＳＲＯＭ２としてはフラッシュメモリが、ＩＯＭとして機能する第１のＳＲＡＭとしては高速非同期ＳＲＡＭが、ＢＩＯＭとして機能する第２のＳＲＡＭ６としてはバッテリによりバックアップされた中速ＳＲＡＭが、ＷＲＡＭ７としてはバッテリによりバックアップされた中速ＳＲＡＭが、ＢＵＭ８としてはフラッシュメモリがそれぞれ採用されている。
【０００５】
ここで、当業者にはよく知られているように、高速ＳＲＡＭは電流駆動型素子で構成され、その消費電力の関係から、バッテリにより長時間バックアップすることは困難である。これに対して、中速ＳＲＡＭは比較的低消費電力素子が使用されるため、バッテリにより長時間バックアップすることが可能となる。
【０００６】
また、図９において、符号９ａは周辺機器が接続されるコネクタ、９ｂはＲＳ２３２をサポートする機器が接続されるコネクタ、９ｃはコンパクトフラッシュ（登録商標）デバイスのためのインタフェース、９ｄはＩＯユニットや各種の特殊機能ユニットが接続される内部バスとのコネクタである。
【０００７】
ＡＳＩＣ４の内部には、ＵＭ１に格納されたユーザプログラムを実行するための演算実行回路の他に、第２のＳＲＡＭ６から第１のＳＲＡＭ５へとＩＯデータを一括コピーする起動時処理（図１０（ａ）参照）と、書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータを第１のＳＲＡＭ５と第２のＳＲＡＭ６とに並列に書き込む一方、読み出し指令が与えられたときには、その読み出し指令に係るＩＯデータを第１のＳＲＡＭ５のみから読み出すように仕組まれた演算実行時処理（図１０（ｂ）参照）と、ＢＩＯＭとして機能する第２のＳＲＡＭ６をバッテリによりバックアップする電断時処理（図１０（ｃ）参照）とをサポートするように仕組まれた制御回路が組み込まれている。
【０００８】
以上の構成によって、ＭＰＵ３とＡＳＩＣ４とが動作することにより、ＰＬＣのＣＰＵとしての機能が実現されると共に、ＩＯＭの内容は停電時にあっても保持され、しかも演算実行時にあっては、ＩＯデータの読み出しは、高速非同期ＳＲＡＭで構成された第１のＳＲＡＭ５の側のみから行うことによって、読み出し速度の高速化を実現することができる。
【０００９】
ところで、昨今、ＩＯＭとして機能するＳＲＡＭが大容量化しかつ半導体プロセスの微細化が進んだ結果、ＩＯＭを構成するＳＲＡＭ内のメモリセルｂｉｔ反転によりＰＬＣが誤動作する虞れが指摘されている。このようなＳＲＡＭ内のメモリセルｂｉｔ反転は、宇宙線等によるソフトエラーを起因とするものであることが推定されている。
【００１０】
ＰＬＣを構成する各種のメモリのうちで、ＩＯＭを除く他のメモリについては、主としてソフトウェアによる誤り検出並びに修正処理が採用されている。このソフトウェアによる誤り検出並びに修正処理は、ＳＵＭ値による計算／比較などを行い、メモリの異常箇所の特定を行い、異常（メモリ化け）検出時には、安全のために「停止」状態にする場合や、修復可能な場合には修復を試みるといった処理である。しかし、ＩＯデータの保存先であるＩＯＭに関しては、ＭＰＵ３とＡＳＩＣ４とから非同期で書き込みが行われるため、ＭＰＵ３のファームウェアによるソフトウェア的な検出／修正は実質的に困難であり、メモリ化けに対して何等対策が施されていないのが現状である。
【００１１】
一方、パソコン（主としてサーバ系）のメインメモリにあっては、図１１に示されるように、主メモリｂに対して冗長メモリｃを付加すると共に、演算処理部ａと主メモリｂ及び冗長メモリｃとの間にＥＣＣ回路ｄを介在させ、メモリコントローラを用いてＥＣＣ機能を実現するといったハードウェア的な誤り検出並びに訂正手法が採用されている。
【００１２】
この例では、１６ｂｉｔのデータ長に対して１ｂｉｔ誤り訂正、２ｂｉｔ誤り検出を可能とする冗長メモリとして６ｂｉｔ必要とする例を示している。図においてＥＣＣ回路ｄと主メモリｂとの間に記載の１６ｂｉｔはデータ長を表しており、データを送受するためのバス幅は主メモリｂのデータ幅によって適宜設計される。また、ＥＣＣ回路ｄと冗長メモリｃとの間に記載の６ｂｉｔはデータ長１６ｂｉｔのデータに対する１ｂｉｔ誤り訂正、２ｂｉｔ誤り検出を可能とするｂｉｔ長が６ｂｉｔであることを表している。データを送受するためのバス幅は冗長メモリｃのデータ幅によって適宜設計される。
【特許文献１】特開２００２−３４１９０８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述のＥＣＣ回路ｄによるハードウェア的な誤り検出並びに修正手法をＰＬＣに採用しようとすると、以下のように、様々な問題点が生ずることが知見された。この問題点を、図１２及び図１３を参照して説明する。
【００１４】
従来の構成例が図１２（ａ）に示されている。この例にあっては、第１及び第２のデータバスＢ１，Ｂ２としては３２ｂｉｔ幅のものが使用され、これに対応して第１及び第２のＳＲＡＭ５，６としてはそれぞれ１６ｂｉｔ幅のものが採用されている。また、ＡＳＩＣ４の内部にはコア４ａが組み込まれている。このコア４ａ内には、ＵＭ１に格納されたユーザプログラムを実行するための演算実行回路と図１０に示される３つの処理をサポートするように仕組まれた制御回路が少なくとも組み込まれている。
【００１５】
上述の従来の構成例に対して、冗長メモリを単純に追加しただけの構成例が図１２（ｂ）に示されている。同図に示されるように、この例にあっては、ＡＳＩＣ４内にＥＣＣ回路４ｂ，４ｃを組み込む一方、主メモリである第１のＳＲＡＭ５に対しては、冗長メモリであるＳＲＡＭ５−１が、また主メモリである第２のＳＲＡＭ６に対しては、冗長メモリであるＳＲＡＭ６−１が設けられている。
【００１６】
なお、図において、主ＩＯＭとして機能する３２ｂｉｔ幅のＳＲＡＭ５は、上位１６ｂｉｔ幅領域５ａと下位１６ｂｉｔ幅領域５ｂとに分離して示されており、これに対応して、冗長ＩＯＭ−Ｐとして機能する１６ｂｉｔ幅のＳＲＡＭ５−１は、上位８ｂｉｔ幅領域５ａ−１と下位８ｂｉｔ幅領域５ｂ−１とに分離して示されている。同様にして、主ＢＩＯＭとして機能する３２ｂｉｔ幅のＳＲＡＭ６は、上位１６ｂｉｔ幅領域６ａと下位１６ｂｉｔ幅領域６ｂとに分離して示されており、これに対応して、冗長ＢＩＯＭ−Ｐとして機能する１６ｂｉｔ幅のＳＲＡＭ６−１は、上位８ｂｉｔ幅領域６ａ−１と下位８ｂｉｔ幅領域６ｂ−１とに分離して示されている。
【００１７】
また、Ｂ１はＡＳＩＣ４と第１のＳＲＡＭ５とを結ぶ第１のデータバス、Ｂ２はＡＳＩＣ４と第２のＳＲＡＭ６とを結ぶ第２のデータバス、Ｂ３はＡＳＩＣ４と冗長用のＳＲＡＭ５−１とを結ぶ第３のデータバス、Ｂ４はＡＳＩＣ４と冗長用のＳＲＡＭ６−１とを結ぶ第４のデータバスである。
【００１８】
製品仕様別の使用メモリ（ＳＲＡＭ）の構成例が図１３に示されている。同図に示されるように、製品仕様が、「バックアップ機能付きのＩＯメモリ仕様」である場合、図１２（ａ）に示されるように、ＩＯＭとしては高速ＳＲＡＭ（１６＋１６ｂｉｔ）が、ＢＩＯＭとしてはバッテリによりバックアップされた中速ＳＲＡＭ（１６＋１６ｂｉｔ）がそれぞれ採用され、ＩＯＭ用冗長メモリ及びＢＩＯＭ用冗長メモリは何れも未実装とされる。これに対して、製品仕様が「ＥＣＣ機能付きのＩＯメモリ仕様」である場合、ＩＯＭとしては高速ＳＲＡＭ（１６＋１６ｂｉｔ）が、ＩＯＭ用冗長メモリとしては高速ＳＲＡＭ（８＋８ｂｉｔ）が、ＢＩＯＭとしてはバッテリによりバックアップされた中速ＳＲＡＭ（１６＋１６ｂｉｔ）が、ＢＩＯＭ用冗長メモリとしてはバッテリによりバックアップされた中速ＳＲＡＭ（１６＋１６ｂｉｔ）が使用される。
【００１９】
このように、ＥＣＣ回路を用いたハードウェアによる誤り検出並びに訂正手法をＰＬＣにそのまま採用しようとすると、主メモリ（例えば１６ｂｉｔ幅）に対して、８ｂｉｔ幅の冗長メモリが必要となり、全体で必要なメモリデバイスの個数及び種類が増加すると共に、新たに第３及び第４のデータバスＢ３，Ｂ４を敷設せねばならず、それらの要因によって、大幅な開発コストが必要となるという問題がある。加えて、図１３に示されるように、２種類の製品仕様に対応するためには、ＡＳＩＣのピン数が増大し、また、回路基板の実装面積が確保できなくなるという問題も発生する。
【００２０】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに低コストに対応可能としたＰＬＣ用の部品実装基板を提供することにある。
【００２１】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００２２】
上述の技術的課題は、以下の構成を有するＰＬＣ用の部品実装基板によって解決することができる。
【００２３】
すなわち、このＰＬＣ用の部品実装基板は、ユーザプログラムを格納するためのユーザメモリと、システムプログラムを格納するためのシステムメモリと、システムメモリに格納されたシステムプログラムを実行することによりＩＯリフレッシュ機能や周辺サービス機能等のＰＬＣに必要な諸機能を実現するマイクロプロセッサと、ユーザメモリに格納されたユーザプログラムを実行するための演算実行回路とが組み込まれたＡＳＩＣとが少なくとも搭載されている。
【００２４】
このＰＬＣ用の部品実装基板には、ＩＯメモリとしてのメモリ容量を有する第１のＳＲＡＭが装着可能であって、かつ装着された第１のＳＲＡＭに対して、選択的にバッテリバックアップ可能とされた第１のメモリ装着部と、ＩＯメモリとしてのメモリ容量を有する第２のＳＲＡＭが装着可能であって、かつ装着された第２のＳＲＡＭに対して、選択的にバッテリバックアップ可能とされた第２のメモリ装着部とが設けられる。
【００２５】
さらに、ＡＳＩＣと第１のメモリ装着部との間には第１のデータバスが敷設されており、かつＡＳＩＣと第２のメモリ装着部との間には第２のデータバスが敷設されている。
【００２６】
それにより、前記マイクロプロセッサと前記ＡＳＩＣとが動作することにより、ＰＬＣのＣＰＵとしての機能が実現される。
【００２７】
加えて、前記ＡＳＩＣの内部には、書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータに基づいて誤り訂正符号を生成する一方、読み出し指令が与えられたときには、その読み出し指令に係るデータに付された誤り訂正符号に基づいて誤り検出又は誤り訂正を行うように仕組まれたＥＣＣ回路と、外部からのモード指定を受けて択一的に動作する第１モードの制御回路と第２モードの制御回路とが組み込まれている。
【００２８】
第１モードの制御回路は、書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータを第１のＳＲＡＭと第２のＳＲＡＭとに並列に書き込む一方、読み出し指令が与えられたときには、その読み出し指令に係るＩＯデータを第１のＳＲＡＭのみから読み出すように仕組まれた演算実行時処理と、第２のＳＲＡＭから第１のＳＲＡＭへとＩＯデータを一括コピーする起動時処理とをサポートするように仕組まれている。
【００２９】
第２モードの制御回路は、書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータをＥＣＣ回路へと与えると共に、そのＩＯデータとＥＣＣ回路にて生成された誤り訂正符号とを、第１のＳＲＡＭと第２のＳＲＡＭとから構成される記憶対象領域内に、所定のメモリ割付ルールに従って書き込む書き込み時処理と、読み出し指令が与えられたときには、その読み出し指令に係るＩＯデータと誤り符号とを、所定のメモリ割付ルールに従って、第１のＳＲＡＭと第２のＳＲＡＭとから構成される記憶対象領域から読み出し、これをＥＣＣ回路へと与える読み出し時処理とをサポートするように仕組まれている。
【００３０】
それにより、ＡＳＩＣに対するモード指定の選択、第１及び第２のメモリ装着部に対して装着されるべきＳＲＡＭ種別の選択、第１及び第２のメモリ装着部に対するバッテリバックアップ有無の選択、及び第２モード指定時のメモリ割付ルールの取り決めにより、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに対応可能としている。
【００３１】
このような構成によれば、ＡＳＩＣに対するモード指定の選択、第１及び第２のメモリ装着部に対して装着されるべきＳＲＡＭ種別の選択、第１及び第２のメモリ装着部に対するバッテリバックアップ有無の選択、及び第２モード指定時のメモリ割付ルールの取り決めにより、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに対応するものであるから、双方の仕様に対応するについて、共通のＡＳＩＣ及び回路基板を使用することが可能となり、これにより２種類の製品仕様に対して低コストに対応することが可能となるのである。
【００３２】
好ましい実施の一形態としては、バックアップ機能付きのＩＯメモリ仕様に対応するためには、ＡＳＩＣに対するモード指定を第１モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＳＲＡＭをバッテリバックアップし、ＥＣＣ機能付きのＩＯメモリ仕様に対応するためには、ＡＳＩＣのモード指定を第２モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、第１のメモリ装着部に装着される高速ＳＲＡＭ及び第２のメモリ装着部に装着される中速ＳＲＡＭを何れもバッテリバックアップし、かつ第２モードのメモリ割付ルールが、２ワード分のＩＯデータを第１のメモリの各１アドレスに格納する一方、２ワード分の誤り訂正符号を第２のメモリの各１ワードに格納するものである。
【００３３】
このような構成によれば、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とを商品レベルで売り分けることができ、しかも回路基板を共用可能であって、メモリ部品の数も変わらないから、２つの製品仕様への対応を低コストに実現することができる。
【００３４】
好ましい更に他の実施の形態としては、バックアップ機能付きのＩＯメモリ仕様に対応するためには、ＡＳＩＣに対するモード指定を第１モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＳＲＡＭをバッテリバックアップし、ＥＣＣ機能付きのＩＯメモリ仕様に対応するためには、ＡＳＩＣのモード指定を第２モードとし、第１のメモリ装着部には高速ＳＲＡＭ、第２のメモリ装着部には中速ＳＲＡＭをそれぞれ装着し、かつ第２のメモリ装着部に装着される中速ＳＲＡＭをバッテリバックアップし、かつ第２のメモリのメモリ割付ルールが、１ワード分のＩＯデータ及びその誤り訂正符号の双方を第１のメモリ及び第２のメモリの一連の各アドレスのそれぞれに格納するものである。
【００３５】
このような構成によっても、バッテリバックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とを商品レベルで売り分けることができ、しかも回路基板の共用が可能であって、メモリ部品の数も変わらないため、２種類の製品仕様を低コストに実現することができる。
【発明の効果】
【００３６】
本発明によれば、ＡＳＩＣに対するモード指定の選択、第１及び第２のメモリ装着部に対して装着されるべきＳＲＡＭ種別の選択、第１及び第２のメモリ装着部に対するバッテリバックアップ有無の選択、及び第２モード指定時のメモリ割付ルールの取り決めにより、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに対応可能であるため、回路基板の共用化と使用メモリ部品数の同一化により、２種類の製品仕様への対応を低コストに実現することが可能となる。
【発明を実施するための最良の形態】
【００３７】
以下に、この発明に係るＰＬＣ用の部品実装基板の好適な実施の一形態を添付図面（図１〜図８）を参照しながら詳細に説明する。
【００３８】
本発明の第１実施形態の構成図が図１に、同第１実施形態の説明図が図２にそれぞれ示されている。
【００３９】
本発明に係るＰＬＣ用の部品実装基板の全体の構成は、ＡＳＩＣ４及び２個のＳＲＡＭ５，６の構成を除き、先に図９を参照して説明した従来の部品実装基板１００の構成と同様である。但し、図９に示される部品実装基板１００は１６ｂｉｔバスシステムであるのに対し、本発明の実施例の場合、３２ｂｉｔバスシステムとなっているが、これは両者の本質的な差異でないことは当業者であれば容易に理解されるであろう。
【００４０】
すなわち、図９に示される従来例と同様に、本発明に係る部品実装基板１００は、ユーザプログラムを格納するためのＵＭ１と、システムプログラムを格納するためのＳＲＯＭ２と、システムメモリに格納されたシステムプログラムを実行することによりＩＯリフレッシュ機能や周辺サービス機能等のＰＬＣに必要な諸機能を実現するＭＰＵ３と、ＵＭ１に格納されたユーザプログラムを実行するための演算実行回路４１が組み込まれたＡＳＩＣ４とが少なくとも搭載されている。
【００４１】
そして、この部品実装基板１００には、ＩＯメモリとしてのメモリ容量を有する第１のＳＲＡＭ５が装着可能であって、かつ装着された第１のＳＲＡＭに対して、選択的にバッテリバックアップ可能とされた第１のメモリ装着部と、ＩＯメモリとしてのメモリ容量を有する第２のＳＲＡＭ６が装着可能であって、かつ装着された第２のＳＲＡＭに対して、選択的にバッテリバックアップ可能とされた第２のメモリ装着部とが設けられている。
【００４２】
ここで、「メモリ装着部」とあるのは、回路基板上に固定されたメモリパッケージ装着用のソケットや、メモリパッケージの半田付け固定用の端子パッド群の他、メモリ部品を装着するための様々な機構を全て総称するものである。また、「選択的にバッテリバックアップ可能」とあるのは、少なくとも回路基板上にバッテリバックアップ用の配線が敷設されており、これに予め或いは必要に応じてバッテリホルダが取り付けられ、装着されたメモリに対し停電時に電源供給が可能な構成を意味するものである。
【００４３】
さらに、ＡＳＩＣ４と第１のメモリ装着部（第１のＳＲＡＭ５が装着される）との間には第１のデータバスＢ１が敷設されており、かつＡＳＩＣ４と第２のメモリ装着部（第２のＳＲＡＭ６が装着される）との間には第２のデータバスＢ２が敷設されている。この例では、これらのデータバスＢ１，Ｂ２は３２ｂｉｔ幅となされている。
【００４４】
ＡＳＩＣ４の内部には、先に説明した演算実行回路４１の他に、フロントエンド回路４２が組み込まれている。このフロントエンド回路４２内には、後に詳細に説明するＥＣＣ回路４２ａと、第１モードの制御回路４２ｂと、第２モードの制御回路４２ｃとが含まれている。
【００４５】
ＥＣＣ回路４２ａは、演算実行回路４１から書き込み指令が与えられたときには、その書き込み指令に係るＩＯデータに基づいて誤り訂正符号を生成する一方、読み出し指令が与えられたときには、その読み出し指令に係るデータに付された誤り訂正符号に基づいて誤り検出又は誤り訂正を行うように仕組まれている。
【００４６】
第１モードの制御回路４２ｂと第２モードの制御回路４２ｃとは、外部からのモード指定を受けて択一的に動作するように仕組まれている。ここで、外部からのモード指定の与え方については、従来より公知の様々な手法を採用すれば良い。例えば、ＡＳＩＣ４の外部端子の１つをモード指定用に割り当てておき、この外部端子の論理状態が“Ｈ”か“Ｌ”かによって、第１モードの制御回路４２ｂと第２モードの制御回路４２ｃとの何れか１つが能動化されるように構成することができる。
【００４７】
第１モードの制御回路４２ｂは、第２のＳＲＡＭ６から第１のＳＲＡＭ５へとＩＯデータを一括コピーする起動時処理（図１０（ａ）参照）と、書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータを第１のＳＲＡＭ５と第２のＳＲＡＭ６とに並列に書き込む一方、読み出し指令が与えられた時には、その読み出し指令に係るＩＯデータを第１のＳＲＡＭ５のみから読み出すように仕組まれた演算実行時処理（図１０（ｂ）参照）と、停電等によって電源が断たれた時に、第２のＳＲＡＭ６をバッテリによりバックアップする電断時処理（図１０（ｃ）参照）とをサポートするように仕組まれている。
【００４８】
第２モードの制御回路４２ｃは、書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータをＥＣＣ回路４２ａへ与えると共に、そのＩＯデータとＥＣＣ回路４２ａにて生成された誤り訂正符号とを、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域内に、所定のメモリ割付ルール（詳細は後述）に従って書き込む書き込み時処理と、読み出し指令が与えられた時には、その読み出し指令に係るＩＯデータと誤り符号とを、所定のメモリ割付ルール（詳細は後述）に従って、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域から読み出し、これをＥＣＣ回路４２ａへと与える読み出し時処理とをサポートするように仕組まれている。
【００４９】
以上の構成よりなる部品実装基板をバックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに対応させるための操作を図２を参照して説明する。
【００５０】
まず、本発明に係る部品実装基板を、バッテリバックアップ機能付きのＩＯメモリ仕様として構成するためには、図２（ｂ）の表に示されるように、ＡＳＩＣ４の動作モードとしては「通常」モードを選択し、第１のＳＲＡＭ５としては高速ＳＲＡＭを装着し、第２のＳＲＡＭ６としては中速ＳＲＡＭを装着する。このようにして、動作モードの指定及び第１及び第２のＳＲＡＭ５，６のメモリ種別選択を行うと、第１モードの制御回路４２ｂが動作することによって、先に図１０を参照して説明したように、ＩＯＭとＢＩＯＭとを用いたバックアップ方法が実行される。
【００５１】
これに対して、本発明に係る部品実装基板をＥＣＣ機能付きのＩＯメモリ仕様とするためには、図２（ｂ）の表に示されるように、ＡＳＩＣ４の動作モードの指定を「ＥＣＣ有効」モードとし、第１のＳＲＡＭ５のメモリ種別を中速ＳＲＡＭとし、第２のＳＲＡＭ６のメモリ種別を中速ＳＲＡＭに設定する。
【００５２】
加えて、ＥＣＣ有効モード時におけるメモリ割付ルールについては、図２（ａ）に示されるように設定する。すなわち、図２（ａ）において、５１は第１のＳＲＡＭ（３２ｂｉｔ幅）５の上位１６ｂｉｔ幅領域、５２は同下位１６ｂｉｔ幅領域、６１は第２のＳＲＡＭ（３２ｂｉｔ幅）６の上位１２ｂｉｔ幅領域の前半６ｂｉｔ領域、６２は同後半６ｂｉｔ領域である。そして、図から明らかなように、第１のＳＲＡＭの上位１６ｂｉｔ領域５１にはＩＯデータが格納され、このＩＯデータに対応する誤り符号は、第２のＳＲＡＭの６ｂｉｔ領域６１に格納され、一方第１のＳＲＡＭの下位１６ｂｉｔ領域５２にはＩＯデータが格納され、このＩＯデータに対応する誤り符号は、第２のＳＲＡＭの６ｂｉｔ幅領域６２に格納される。このようなメモリ割付によれば、第１のＳＲＡＭ５には全てのＩＯデータが格納される一方、第２のＳＲＡＭ６にはＩＯデータに対応する誤り符号が格納される。
【００５３】
このように、図２（ｂ）に示されるモード設定及びメモリ種別の選択、並びに、図２（ａ）に示されるメモリ割付を前提として、第２モードの制御回路４２ｃが作動すれば、演算実行回路４１から書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータをＥＣＣ回路４２ａへ与えると共に、そのＩＯデータとＥＣＣ回路４２ａにて生成された誤り訂正符号とを、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域内に、所定のメモリ割付ルール（図２（ａ）参照）に従って書き込む書き込み時処理と、演算実行回路４１から読み出し指令が与えられた時には、その読み出し指令に係るＩＯデータと誤り符号とを、所定のメモリ割付ルール（図２（ａ）参照）に従って、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域から読み出し、これをＥＣＣ回路４２ａへと与える読み出し時処理とが実行され、これにより、ＥＣＣ回路を使用したハードウェア的な誤り検出並びに誤り修正が行われて、ＰＬＣの動作信頼性が保たれることとなる。
【００５４】
加えて、この第１実施形態によれば、バッテリによりバックアップされることによって、第１のＳＲＡＭ５自身がＢＩＯＭとしても機能することとなるため、停電時にあっても、ＩＯデータが消失しないという利点がある。
【００５５】
次に、本発明に係る部品実装基板の第２実施形態の構成図が図３に、同説明図が図４にそれぞれ示されている。
【００５６】
この第２実施形態に示される部品実装基板と第１実施形態に示される部品実装基板との相違点は、図４（ｂ）に示されるように、「通常」モードのみならず、「ＥＣＣ有効」モードについても、第１のＳＲＡＭ５として高速ＳＲＡＭを使用した点にある。このような構成によれば、停電時における第１のＳＲＡＭの消費電力が多少増大するものの、使用者において「通常」モードと「ＥＣＣ有効」モードを切り替えて使用することができる。
【００５７】
次に、本発明に係る部品実装基板の第３実施形態の構成図が図５に、同説明図が図６にそれぞれ示されている。
【００５８】
この第３実施形態においては、図５（ｂ）及び図６（ａ）に示されるように、第１のＳＲＡＭ５及び第２のＳＲＡＭ６は、その前半１６ｂｉｔ幅領域５１，６１が何れもＩＯデータ格納領域とされ、後半１６ｂｉｔ幅領域５２，６２が誤り符号格納領域（冗長メモリ）とされている。そのため、第１及び第２のデータバスＢ１，Ｂ２は、その前半１６ｂｉｔ幅領域がＩＯデータ送受信用、それに続く６ｂｉｔ幅領域が誤り符号送受信用とされている。
【００５９】
一方、この第３実施形態に係る部品実装基板を、バッテリバックアップ機能付きのＩＯメモリ仕様とするためには、図６（ｂ）の表に示されるように、動作モード指定を「通常」モードとし、第１のＳＲＡＭ５のメモリ種別を高速ＳＲＡＭとし、第２のＳＲＡＭ６のメモリ種別を中速ＳＲＡＭとする。これにより、先に説明したように、当該部品実装基板は、バックアップ機能付きのＩＯメモリ仕様となる。
【００６０】
これに対して、同部品実装基板を、ＥＣＣ機能付きのＩＯメモリ仕様とするためには、図６（ｂ）の表に示されるように、動作モード指定については「ＥＣＣ有効」モードとし、第１のＳＲＡＭのメモリ種別は高速ＳＲＡＭとし、第２のＳＲＡＭのメモリ種別は中速ＳＲＡＭとする。すなわち、この第３実施形態においては、「通常」モード及び「ＥＣＣ有効」モードの何れにあっても、メモリの種別及びバッテリアックアップの仕様は同一である。
【００６１】
一方、先に説明したように、図６（ａ）に示されるように、「ＥＣＣ有効」モード時のメモリ割付については、第１及び第２のＳＲＡＭ５，６の何れにおいても、前半１６ｂｉｔ幅領域５１，６１についてはＩＯデータが格納され、続く６ｂｉｔ幅領域５２，６２については誤り符号が格納されて冗長メモリとして機能することとなる。換言すれば、この第３実施形態にあっては、「ＥＣＣ有効」モードのメモリ割付ルールが、１ワード（１６ｂｉｔ）分のＩＯデータ及びその誤り訂正符号の双方を、第１のＳＲＡＭ５及び第２のＳＲＡＭ６の一連の各アドレスのそれぞれに格納するものであると言うことができる。
【００６２】
このような構成において、第２モードの制御回路４２ｃが作動すると、演算実行回路４１から書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータをＥＣＣ回路４２ａへ与えると共に、そのＩＯデータとＥＣＣ回路４２ａにて生成された誤り訂正符号とを、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域内に、所定のメモリ割付ルール（図６（ａ）参照）に従って書き込む書き込み時処理と、演算実行回路４１から読み出し指令が与えられた時には、その読み出し指令に係るＩＯデータと誤り符号とを、所定のメモリ割付ルール（図６（ａ）参照）に従って、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域から読み出し、これをＥＣＣ回路４２ａへと与える読み出し時処理が実行され、その結果領域５１，６１に格納されたＩＯデータのビット反転は必要により修復され、これによりＰＬＣの動作信頼性が向上することとなる。
【００６３】
なお、ＥＣＣを用いたエラー訂正処理については各種の文献で種々知られているため特段詳細には説明しないが、概略図示説明すれば、図７（ａ）に示されるように、書き込み時の処理にあっては、ホストからライトデータが与えられるのに応答して、ＥＣＣ回路では、ハミングコード生成処理を実行し、ライトデータとパリティとを出力する。こうして出力されたライトデータ及びパリティは、主メモリと冗長メモリとにそれぞれ格納される。
【００６４】
一方、図７（ｂ）に示されるように、読み出し時の処理にあっては、主メモリ及び冗長メモリからリードデータ及びパリティを読み出すと共に、これをＥＣＣ回路に与える。するとＥＣＣ回路では、パリティとリードデータに基づいて誤り検出及び訂正処理を実行し、訂正可能な場合にはリードデータをホストへと送り出すのに対し、訂正不能の場合にはその旨をホストへと通報するのである。
【００６５】
このとき、１ｂｉｔ誤り訂正、２ｂｉｔ誤り検出を行うための冗長メモリのビット幅については、図８に示されるように、バス幅（ｂｉｔ）に対し必要な冗長メモリ幅（ｂｉｔ）が与えられており、本実施形態におけるバス幅（１６ｂｉｔ）の場合には、必要な冗長メモリ幅（ｂｉｔ）が６ｂｉｔとされる。
【００６６】
以上詳細に説明したように、本発明に係るＰＬＣ用の部品実装基板１００は、ユーザプログラムを格納するためのＵＭ１と、システムプログラムを格納するためのＳＲＯＭ２と、ＳＲＯＭ２に格納されたシステムプログラムを実行することによりＩＯリフレッシュ機能や周辺サービス機能などのＰＬＣに必要な諸機能を実現するＭＰＵ３と、ＵＭに格納されたユーザプログラムを実行するための演算実行回路４１が組み込まれたＡＳＩＣ４とが少なくとも搭載されている（図９参照）。
【００６７】
また、この部品実装基板には、ＩＯメモリとしてのメモリ容量を有する第１のＳＲＡＭ５が装着可能であって、かつ装着された第１のＳＲＡＭ５に対して、選択的にバッテリバックアップ可能とされた第１のメモリ装着部と、ＩＯメモリとしてのメモリ容量を有する第２のＳＲＡＭ６が装着可能であって、かつ装着された第２のＳＲＡＭ６に対して選択的にバッテリバックアップ可能とされた第２のメモリ装着部とが設けられている。さらに、この部品実装基板には、ＡＳＩＣ４と第１のメモリ装着部との間には第１のデータバスＢ１が敷設されており、かつＡＳＩＣ４と第２のメモリ装着部との間には第２のデータバスＢ２が敷設されている（図１、図３、図５参照）。
【００６８】
それにより、ＭＰＵ３とＡＳＩＣ４とが動作することにより、ＰＬＣのＣＰＵとしての機能が実現されるものである。
【００６９】
そして、ＡＳＩＣ４の内部には、書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータに基づいて誤り訂正符号を生成する一方、読み出し指令が与えられた時には、その読み出し指令に係るデータに付された誤り訂正符号に基づいて誤り検出又は誤り訂正を行うように仕組まれたＥＣＣ回路（図７，図８参照）４２ａと、外部からのモード指定を受けて択一的に動作する第１モードの制御回路４２ｂと第２のモードの制御回路４２ｃとが組み込まれている（図１、図３、図５参照）。
【００７０】
第１モードの制御回路４２ｂは、書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータを第１のＳＲＡＭ５と第２のＳＲＡＭ６とに並列に書き込む一方、読み出し指令が与えられた時には、その読み出し指令に係るＩＯデータを第１のＳＲＡＭ５のみから読み出すように仕組まれた演算実行時処理（図１０（ｂ）参照）と、第２のＳＲＡＭ６から第１のＳＲＡＭ５へとＩＯデータを一括コピーする起動時処理（図１０（ａ）参照）とをサポートするように仕組まれている。
【００７１】
一方、第２モードの制御回路４２ｃは、書き込み指令が与えられた時には、その書き込み指令に係るＩＯデータをＥＣＣ回路４２ａへ与えると共に、そのＩＯデータとＥＣＣ回路４２ａにて生成された誤り訂正符号とを、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域内に、所定のメモリ割付ルール（図２（ａ）、図４（ａ）、図６（ａ）参照）に従って書き込む書き込み時処理と、読み出し指令が与えられた時には、その読み出し指令に係るＩＯデータと誤り符号とを、所定のメモリ割付ルールに従って、第１のＳＲＡＭ５と第２のＳＲＡＭ６とから構成される記憶対象領域から読み出し、これをＥＣＣ回路４２ａへと与える読み出し時処理とをサポートするように仕組まれている。
【００７２】
従って、本発明のＰＬＣ用の部品実装基板によれば、ＡＳＩＣ４に対するモード指定の選択、第１及び第２のメモリ装着部に対して装着されるべきＳＲＡＭ５，６の種別の選択、第１及び第２のメモリ装着部に対するバッテリバックアップ有無の選択、及び第２モード指定時のメモリ割付ルールの取り決めにより、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに低コストで対応可能となるのである。
【００７３】
なお、以上の実施形態においては、本発明を３２ｂｉｔバスシステムに適用したが、本発明の適用はこれに限定されるものではなく、１６ｂｉｔ幅、６４ｂｉｔ幅、１２８ｂｉｔ幅などのその他のバスシステムにも応用可能であることは勿論である。
【産業上の利用可能性】
【００７４】
本発明によれば、ＡＳＩＣに対するモード指定の選択、第１及び第２のメモリ装着部に対して装着されるべきＳＲＡＭ種別の選択、第１及び第２のメモリ装着部に対するバッテリバックアップ有無の選択、及び第２モード指定時のメモリ割付ルールの取り決めにより、バックアップ機能付きのＩＯメモリ仕様とＥＣＣ機能付きのＩＯメモリ仕様とに低コストで対応可能となる利点がある。
【図面の簡単な説明】
【００７５】
【図１】本発明の第１実施形態の構成図である。
【図２】本発明の第１実施形態の説明図である。
【図３】本発明の第２実施形態の構成図である。
【図４】本発明の第２実施形態の説明図である。
【図５】本発明の第３実施形態の構成図である。
【図６】本発明の第３実施形態の説明図である。
【図７】ＥＣＣを用いたエラー訂正処理の説明図である。
【図８】１ｂｉｔ訂正、２ｂｉｔ検出を行うための冗長メモリ幅の説明図である。
【図９】ＣＰＵユニットの内蔵回路基板の搭載回路全体の構成図である。
【図１０】ＩＯＭとＢＩＯＭとを用いたバックアップ方法の説明図である。
【図１１】パソコン（主としてサーバ系）におけるＥＣＣ機能実装例の説明図である。
【図１２】本発明が解決しようとする課題の説明図（その１）である。
【図１３】本発明が解決しようとする課題の説明図（その２）である。
【符号の説明】
【００７６】
１      ユーザメモリ
２      システムメモリ
３      マイクロプロセッサ
４      ＡＳＩＣ
５      第１のＳＲＡＭ
６      第２のＳＲＡＭ
７      ワークＲＡＭ
８      バッファユーザメモリ
９ａ，９ｂ，９ｃ，９ｄ  コネクタ
４１    演算実行回路
４２    フロントエンド回路
４２ａ  ＥＣＣ回路
４２ｂ  第１モードの制御回路
４２ｃ  第２モードの制御回路
５１    第１のＳＲＡＭの上位１６ｂｉｔ領域
５２    第１のＳＲＡＭの下位１６ｂｉｔ領域
６１    第２のＳＲＡＭの先頭１２ｂｉｔの前半６ｂｉｔ領域
６２    第２のＳＲＡＭの先頭１２ｂｉｔの後半６ｂｉｔ領域
１００  部品実装基板
Ｂ１    第１のデータバス
Ｂ２    第２のデータバス
【図１】
0005099342.tif 000002
【図２】
0005099342.tif 000003
【図３】
0005099342.tif 000004
【図４】
0005099342.tif 000005
【図５】
0005099342.tif 000006
【図６】
0005099342.tif 000007
【図７】
0005099342.tif 000008
【図８】
0005099342.tif 000009
【図９】
0005099342.tif 000010
【図１０】
0005099342.tif 000011
【図１１】
0005099342.tif 000012
【図１２】
0005099342.tif 000013
【図１３】
0005099342.tif 000014