(57)【要約】 【課題】  安定な動作を確保しつつ、ファームウェアとＰＬＤとを独立に書き換え可能なデータ処理技術を提供する。【解決手段】  ファームウェアに従って動作する制御部１２と、ファームウェアとは独立に論理回路を書き換え可能なＰＬＤ１４と、を備えるデータ処理装置１０におけるデータ処理方法であって、ファームウェアが制御可能な論理回路を表す制御識別情報を制御部１２に保持するステップと、ＰＬＤ１４に書き込まれた論理回路の識別情報をＰＬＤ１４にに保持するステップと、制御識別情報と識別情報とを比較し、比較結果に基づいて制御部１２のファームウェアがＰＬＤ１４の論理回路を制御可能か否か判別する判別ステップと、を備える。【選択図】  図１
2008165263.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェアに従って動作し、前記ファームウェアが制御可能な論理回路を表す制御識別情報を保持する制御部と、
前記ファームウェアとは独立に論理回路を書き換え可能であって、書き込まれた論理回路の識別情報を保持する論理デバイスと、を備え、
前記制御部は、前記論理デバイスに前記制御識別情報を送り、前記制御識別情報と前記識別情報とを比較した結果を前記論理デバイスから受け取り、前記比較結果に基づいて前記制御部のファームウェアが前記論理デバイスの論理回路を制御可能か否か判別する、
ことを特徴とするデータ処理装置。
【請求項２】
前記制御部が、ファームウェアが前記論理デバイスの論理回路を制御可能でないと判別したときに、その旨を表示する表示部をさらに備える、ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
ファームウェアに従って動作する制御部と、前記ファームウェアとは独立に論理回路を書き換え可能な論理デバイスと、を備えるデータ処理装置におけるデータ処理方法であって、
ファームウェアが制御可能な論理回路を表す制御識別情報を制御部に保持するステップと、
論理デバイスに書き込まれた論理回路の識別情報を前記論理デバイスに保持するステップと、
前記制御識別情報と前記識別情報とを比較し、比較結果に基づいて前記制御部のファームウェアが前記論理デバイスの論理回路を制御可能か否か判別する判別ステップと、
を備える、ことを特徴とするデータ処理方法。
【請求項４】
前記判別ステップでは、前記論理デバイスに前記制御識別情報を送り、前記制御識別情報と前記識別情報とを比較した結果を前記論理デバイスから受け取り、前記比較結果に基づいて前記制御部のファームウェアが前記論理デバイスの論理回路を制御可能か否か判別する、
ことを特徴とする請求項３に記載のデータ処理方法。
【請求項５】
ファームウェアが前記論理デバイスの論理回路を制御可能でないと判別したときに、その旨を表示するステップをさらに備える、ことを特徴とする請求項３又は４に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な論理デバイスを備えたデータ処理装置における技術に関する。
【背景技術】
【０００２】
近年、技術の進歩とともに、機器内部で使用される回路が非常に複雑になり、内部回路を標準ロジックの組合せで構成した場合、非常に大きな回路数となり、それを実装する基板の面積が非常に大きくなってきた。これを解決するために、ＡＳＩＣ（Application Specific Integrated Circuit）といった必要な機能を実現するロジックを組み合わせた回路を１つのマスク化して集積回路として内部に納めたＩＣが利用されてきた。
【０００３】
しかし、昨今の開発期間の短さ、機能の複雑さは、開発最終段階においても回路の変更が生じる可能性を発生させるに至った。これを解決するために、近年では、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）といった、内部に膨大なロジックエレメントを有し、それをプログラミングすることで、自由に希望する機能を実現できるような論理デバイスを使うことで、開発の最終段階での変更の発生にも対応しうる様になってきた。同様に、それらを制御したり、機器全体を制御するマイクロコンピュータ（以下、マイコンという）も、内部にフラッシュメモリを搭載する事で、開発の最終段階での内容変更にも自由に対応できるようになってきた。
【０００４】
マイコンに関しては、マーケットに出てからも、内部フラッシュメモリの書換えを行うことでファームウェアの更新（バージョンアップ）を行い、機能改善を行えるようになっている。ファームウェアのバージョンアップにおいては、現在のバージョンを識別させるためのバージョン番号を内部メモリ等に保持させ、これから更新しようとするバージョンの一致を確認してから書き換えを開始するという事で、不要な書換えは発生しない（例えば、特許文献１参照））。
【０００５】
また、ＰＬＤやＦＰＧＡ（以下、論理デバイスと総称する）についても、マーケットに出てから書き換えられることがある。書き換えは、一般的に採用されているＪＴＡＧ（Joint Test Action Group）規格に基づくインタフェースを使用して、外部から直接書き換えるのが一般的である（例えば、特許文献２参照）。
【０００６】
【特許文献１】特開平２００６−２６０１８２号公報
【特許文献２】特開平２００２−３４２０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ここで、マイコンのファームウェアと論理デバイスの回路とは、いつも同時に変更されるものではなく、何れか一方のみが変更される場合が多々ある。しかしながら、論理デバイスはその動作が、マイコンによって制御される対象であるため、回路が書き換えられた論理デバイスは、制御するマイコンのファームウェアのバージョンによっては、正しく動作しない可能性がある。このため、それを回避するためには、論理デバイスを書き換える際に本来は書き換えなくても良いマイコンのファームウェアも併せて常に書き換えなければならないという事態になり、書換えにかかる時間が非常に長くなってしまう。本発明は、上記従来技術における不都合を解決することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の第１の態様におけるデータ処理装置は、
ファームウェアに従って動作し、前記ファームウェアが制御可能な論理回路を表す制御識別情報を保持する制御部と、
前記ファームウェアとは独立に論理回路を書き換え可能であって、書き込まれた論理回路の識別情報を保持する論理デバイスと、を備え、
前記制御部は、前記論理デバイスに前記制御識別情報を送り、前記制御識別情報と前記識別情報とを比較した結果を前記論理デバイスから受け取り、前記比較結果に基づいて前記制御部のファームウェアが前記論理デバイスの論理回路を制御可能か否か判別する。
【０００９】
上記構成の装置は、前記制御部が、ファームウェアが前記論理デバイスの論理回路を制御可能でないと判別したときに、その旨を表示する表示部をさらに備えてもよい。
【００１０】
上記目的を達成するため、本発明の第２の態様におけるデータ処理方法は、
ファームウェアに従って動作する制御部と、前記ファームウェアとは独立に論理回路を書き換え可能な論理デバイスと、を備えるデータ処理装置におけるデータ処理方法であって、
ファームウェアが制御可能な論理回路を表す制御識別情報を制御部に保持するステップと、
論理デバイスに書き込まれた論理回路の識別情報を前記論理デバイスに保持するステップと、
前記制御識別情報と前記識別情報とを比較し、比較結果に基づいて前記制御部のファームウェアが前記論理デバイスの論理回路を制御可能か否か判別する判別ステップと、
を備える。
【００１１】
前記判別ステップでは、前記論理デバイスに前記制御識別情報を送り、前記制御識別情報と前記識別情報とを比較した結果を前記論理デバイスから受け取り、前記比較結果に基づいて前記制御部のファームウェアが前記論理デバイスの論理回路を制御可能か否か判別する。
【００１２】
上記構成の方法は、ファームウェアが前記論理デバイスの論理回路を制御可能でないと判別したときに、その旨を表示するステップをさらに備えてもよい。
【発明の効果】
【００１３】
本発明によれば、安定な動作を確保しつつ、ファームウェアとＰＬＤとを独立に書き換え可能なデータ処理技術が提供される。
【発明を実施するための最良の形態】
【００１４】
本発明に係る実施の形態について、以下、図面を参照して詳細に説明する。なお、以下に示す実施の形態は一例であり、これに限定されない。
【００１５】
図１に本実施の形態にかかるデータ処理装置１０のブロック図を示す。図１に示すデータ処理装置１０は、制御部１２と、ＰＬＤ１４と、制御部用インタフェース１６と、ＰＬＤ用インタフェース１８と、を備える。
【００１６】
制御部１２は、ＭＰＵ（Micro Processing Unit）を備え、フラッシュＲＯＭ２０（Read Only Memory）に記憶されたファームウェアに基づいて、データ処理装置１０の全体の制御を行う。制御部１２のフラッシュＲＯＭ２０には、ファームウェア自体に加え、ファームウェアの属性情報（バージョン情報等）が保持されている。保持される属性情報には、以下で詳述するように、ファームウェアが制御可能な、すなわち、制御対象となる論理回路の情報（以下、「制御識別情報」という）が含まれる。
【００１７】
制御部用インタフェース１６は、外部ネットワークと制御部１２とを接続し、外部ネットワークから更新データの取得と書き換え開始指令を制御部１２に送る。制御部１２に送られた更新データは、好ましくは、図示しないバッファに一次記憶され、フラッシュＲＯＭ２０に書込まれる。外部ネットワークには、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４、ＵＳＢ（Universal Serial Bus）、インターネット回線等を用いることができる。なお、理解を容易なものとするため便宜的に、本実施の形態においては、ファームウェアについては「更新」を用い、論理回路については「書き換え」との語を用いて区別するものとする。
【００１８】
ＰＬＤ１４は、データ処理装置１０の動作に必要な論理回路が書き込まれ、制御部１２の制御の下で所定の信号処理を行う。なお、本明細書において、ＰＬＤ１４とは、ＦＰＧＡやＣＰＬＤ（Complex ＰＬＤ）等を含む、書き換え（コンフィギュレーション）可能な論理デバイス全般をいう。
また、ＰＬＤ１４は、例えば、ＪＴＡＧ規格に準拠したＪＴＡＧポートを備え、外部から制御部１２を介さずに直接論理回路の検査・書き換えが可能とされている。
【００１９】
本実施の形態において、ＰＬＤ１４は、論理回路自体に加え、論理回路の属性情報（バージョン情報等）を保持している。ＰＬＤ１４に保持される属性情報には、以下で詳述するように、制御部１２のファームウェアが制御可能な論理回路であることを示す情報（以下、「識別情報」という）が含まれる。
【００２０】
ＰＬＤ用インタフェース１８は、ＪＴＡＧポートを介してＰＬＤ１４と接続され、一方で、専用のＰＬＤ書き換えツールに接続可能とされている。ＰＬＤ用インタフェース１８に接続されたＰＬＤ書き換えツールを介して、ＰＬＤ１４の回路は書き換え可能となっている。
【００２１】
制御部１２はＰＬＤ１４と接続され、これを制御する。すなわち、制御部１２のファームウェアは、制御可能なＰＬＤ１４の論理回路を制御し、協同する。例えばバージョンが異なりファームウェアの制御可能でない論理回路がＰＬＤ１４に書き込まれた場合、制御部１２はＰＬＤ１４が関与する機能については正常に動作しない。
【００２２】
制御部１２は、ファームウェアがＰＬＤ１４の論理回路が制御可能な否かを判別する。ＰＬＤ１４は、所定の機能を実現するための論理回路及びその識別情報を保持している他に、制御部１２から送られた制御識別情報を自己が保持する識別情報と比較する比較回路を有する。比較回路の一例を図２に示す。ＰＬＤ１４に送られた制御識別情報は、比較回路２４において論理回路の識別情報と比較され、一致したか否かの判別結果を制御部１２に出力する。判別結果は、例えば「Ｈｉｇｈ」又は「Ｌｏｗ」の電圧として制御部１２に出力される。制御部１２は、この出力に基づいて、ＰＬＤ１４の論理回路が制御部１２のファームウェアで制御可能かどうかを判別する。
【００２３】
制御部１２は、ＰＬＤ１４の論理回路がファームウェアによって制御可能でないと判別したときには、その旨の表示をするよう表示部２２を制御する。
【００２４】
以下、本実施の形態にかかるデータ処理装置１０における制御部１２の動作について説明する。
【００２５】
まず、制御部１２のファームウェアの更新を行う場合の動作フローを図３に示す。
操作者が図示しない操作パネル等から特殊なキー入力をする事で、更新モードに移行する（ステップＳ１１）。更新モードにおいて、制御部用インタフェース１６を介して新たなファームウェアのインストールが行われる。更新作業は、遠隔サーバからのオンライン作業であってもよく、オフライン作業であってもよい。更新作業が正常終了したとき、制御部１２のファームウェアは更新（バージョンアップ）される（ステップＳ１２、ステップＳ１３）。更新作業が正常に終了しないときには、異常終了する。このとき、例えば、更新モードは強制終了し、通常動作に移行する。
【００２６】
ファームウェアの更新時、ファームウェアの属性情報も同時に更新され、ファームウェアが制御可能な論理回路を表す制御識別情報も新たなファームウェアに対応した情報に更新される。制御識別情報は、制御可能な論理回路の種類、バージョン毎に対応する複数の情報のテーブルであってもよく、制御可能であることを示す一種類のコードであってもよい。
【００２７】
ファームウェアの更新が正常に終わったとき、制御部１２は、次いで、制御部１２の制御識別情報とＰＬＤ１４の識別情報とを比較する（ステップＳ１４）。具体的には、制御部１２は、更新されたファームウェアの制御識別情報をＰＬＤ１４に送る。ここで、制御識別情報は、ＰＬＤ１４が解釈可能な形式に変換されてもよい。
【００２８】
ＰＬＤ１４に送られた制御識別情報は、論理回路の識別情報と比較され、一致したか否かの判別結果を制御部１２に出力する。判別結果は、例えば「Ｈｉｇｈ」又は「Ｌｏｗ」の電圧として制御部１２に出力される。制御部１２は、この出力に基づいて、ＰＬＤ１４の論理回路が制御部１２のファームウェアで制御可能かどうかを判別する。判別は、制御識別情報の全てについて順次行われてもよく、いずれかの制御識別情報が識別情報と一致した旨の出力を受けたときに終了してもよい。
【００２９】
制御部１２は、比較結果が一致したと判別した場合、その旨を表示部２２に表示させ、更新モードを正常に終了する（ステップＳ１５；ＹＥＳ、ステップＳ１６）。比較結果を表示せずにモードを終了しても良い。
【００３０】
制御部１２は、比較結果が一致しないと判別した場合、その旨を表示部２２に表示させ、更新モードを異常終了する（ステップＳ１５；ＮＯ、ステップＳ１７）。更新作業をする者は、ファームウェアがＰＬＤ１４の論理回路を制御できないことに気づき、例えば、ファームウェアの更新を中止する。
【００３１】
このように、本実施形態によれば、制御部１２のファームウェアのみを更新する場合であっても、ＰＬＤ１４の論理回路との適合性を確認することができ、データ処理装置１０の正常な動作は確実に確保される。
【００３２】
次に、ＰＬＤ１４の回路のみを書き換える場合の動作フローを図４に示す。
操作者が例えば専用のツールをＰＬＤ用インタフェース１８に接続してＰＬＤ１４の書き換えを行い、その後、データ処理装置１０を起動し、ファームウェアを初期化する（ステップＳ２１、２２）。
【００３３】
その後、制御部１２は、上述したように、制御部１２の制御識別情報とＰＬＤ１４の識別情報とを比較する（ステップＳ２３）。
【００３４】
制御部１２は、比較結果が一致したと判別した場合、その旨を表示部２２に表示させ、更新モードを正常に終了する（ステップＳ２４；ＹＥＳ、ステップＳ２５）。比較結果を表示せずにモードを終了しても良い。
【００３５】
制御部１２は、比較結果が一致しないと判別した場合、その旨を表示部２２に表示させ、更新モードを異常終了する（ステップＳ２４；ＮＯ、ステップＳ２６）。更新作業をする操作者は、ファームウェアがＰＬＤ１４の論理回路を制御できないことに気づき、例えば、ＰＬＤ１４を先の内容に書き換えるか、対応するファームウェアに更新する。
【００３６】
このように、本実施形態によれば、ＰＬＤ１４の論理回路のみを書き換える場合であっても、制御部１２のファームウェアとの適合性を確認することができ、データ処理装置１０の正常な動作は確実に確保される。
【００３７】
以上説明したように、本実施の形態では、制御部１２はファームウェアが制御可能な論理回路を表す制御識別情報を保持し、一方で、ＰＬＤ１４は自らに書き込まれた論理回路の識別情報を保持する。制御部１２の制御識別情報と、ＰＬＤ１４の識別情報と、を比較することにより、制御部１２のファームウェアがＰＬＤ１４の論理回路を制御可能か否かを判別する。
【００３８】
これにより、制御部１２のファームウェア更新とＰＬＤ１４の書き換えとが別々で行われても、その対応を確認することなく動作させ、動作不良を招くといった事態を確実に防止できる。また、ファームウェアの更新とＰＬＤ１４の書き換えを同時に行う必要がないため、不必要な書換えを避ける事ができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態にかかるデータ処理装置１０の構成を示すブロック図である。
【図２】本発明の実施の形態にかかる比較回路の一例を示す図である。
【図３】本発明の実施の形態にかかるファームウェア更新後のデータ処理方法を示すフロー図である。
【図４】本発明の実施の形態にかかるＰＬＤ１４書き換え後のデータ処理方法を示すフロー図である。
【符号の説明】
【００４０】
１０：データ処理装置、１２：制御部、１４：ＰＬＤ、１６：制御部用インタフェース、１８：ＰＬＤ用インタフェース、２２：表示部、２４：比較回路
【図１】
2008165263.tif 000003
【図２】
2008165263.tif 000004
【図３】
2008165263.tif 000005
【図４】
2008165263.tif 000006