(57)【要約】【課題】  外部からの制御によりプログラムデータ書き込みを行い、書き込み結果を外部から確認可能なシリアルバスシステム１を提供する。【解決手段】  ＣＰＵユニット２のコネクタ２３に接続された外部コントローラ８から、プログラムデータとプログラムデータ書き込み指令を受信したＣＰＵユニット２の備えるＣＰＵ２２は、ＣＰＵユニット２の備えるＦＰＧＡ７を介して、シリアルバスシステム１を構成する全ユニットが備えるＦＰＧＡ７へプログラムデータを送信し、プログラムデータを受信したＦＰＧＡ７は自らがプログラムデータを読み取る不揮発性メモリ６にプログラムデータを書き込んで、書き込み結果をＣＰＵユニット２の備えるＦＰＧＡ７を介してＣＰＵ２２に送信し、ＣＰＵ２２は全ＦＰＧＡ７の書き込み結果を外部コントローラ８へ送信するようになしている。【選択図】図１
2010113630.tif 000002
【特許請求の範囲】
【請求項１】
書き換え自在に記憶したプログラムデータを通電されない状態でも保持する不揮発性メモリと、ユニットの動作に必要な情報処理を行い、プログラムデータを不揮発性メモリに書き込み可能なＦＰＧＡと、を有する機器制御用の接続ユニットと、
書き換え自在に記憶したプログラムデータを通電されない状態でも保持する不揮発性メモリと、ユニットの動作に必要な情報処理を行い、プログラムデータを不揮発性メモリに書き込み可能なＦＰＧＡと、外部コントローラを接続するコネクタと、外部コントローラとの通信を制御可能なＣＰＵと、を備えるプログラムデータ書き込み制御可能なＣＰＵユニットと、
から構成され、
前記ＦＰＧＡはユニットの電源投入毎に不揮発性メモリから読み取るプログラムデータに従って情報処理を行うようになされ、
ＣＰＵユニットと接続ユニットとをシリアル通信によってデータ及び通信制御用のクロック信号を共有するようにシリアルバス接続したシリアルバスシステムにおいて、
コネクタに接続された外部コントローラから、プログラムデータとプログラムデータ書き込み指令を受信したＣＰＵユニットの備えるＣＰＵは、ＣＰＵユニットの備えるＦＰＧＡを介して、シリアルバスシステムを構成する全ユニットが備えるＦＰＧＡへプログラムデータを送信し、プログラムデータを受信したＦＰＧＡは自らがプログラムデータを読み取る不揮発性メモリにプログラムデータを書き込んで、書き込み結果をＣＰＵユニットの備えるＦＰＧＡを介してＣＰＵに送信し、ＣＰＵは全ＦＰＧＡの書き込み結果を外部コントローラへ送信するようになしたシリアルバスシステム。
【請求項２】
ユニットはＦＰＧＡと不揮発性メモリとの間に制御回路を備え、
不揮発性メモリはプログラムデータを記憶可能なデータ記憶領域を複数備え、各データ記憶領域は対応するフラグ記憶領域を有し、データ記憶領域に正常なプログラムデータが記憶されている場合には対応するフラグ記憶領域に読み取り許可フラグを記憶するようになし、
ＦＰＧＡと不揮発性メモリ間のプログラムデータ読み書きは制御回路を介して行うようになし、制御回路は、ＦＰＧＡが不揮発性メモリへプログラムデータを書き込む際は、読み取り許可フラグが記憶されていないフラグ記憶領域に対応するデータ記憶領域に対して全消去してから書き込むようになし、読み取り許可フラグが記憶されているフラグ記憶領域しか存在しない場合にはいずれかのフラグ記憶領域の読み取り許可フラグを消去して、そのフラグ記憶領域に対応するデータ記憶領域に対して全消去してからプログラムデータを書き込むようになし、書き込み完了後にプログラムデータを書き込んだデータ記憶領域に対応するフラグ記憶領域に読み取り許可フラグを記憶してそれ以外のフラグ記憶領域の読み取り許可フラグを消去し、
ＦＰＧＡが不揮発性メモリからプログラムデータを読み取る際は、読み取り許可フラグが記憶されているフラグ記憶領域に対応するデータ記憶領域からプログラムデータを読み取るようになした請求項１記載のシリアルバスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、シリアルバスシステムに関する。
【背景技術】
【０００２】
従来から、プログラムデータを記憶する不揮発性メモリと、不揮発性メモリから読み取ったプログラムデータに従って情報処理を行うＦＰＧＡとを備え、機器の制御に用いられるユニットは知られている。不揮発性メモリは、ユニットの電源ＯＦＦ時において通電されない状態においても、記憶しているプログラムデータを保持する。ユニットに備えられたＦＰＧＡは、ユニット電源投入時において、不揮発性メモリからプログラムデータを読み取って動作するが、ＦＰＧＡが備えるのは揮発性メモリであるため、ユニットの電源ＯＦＦ時には読み取ったプログラムデータは消滅するため、ＦＰＧＡはユニットの電源投入毎に、不揮発性メモリに保持されたプログラムデータを読み取って動作する。不揮発性メモリに任意のプログラムデータを記憶するによって、ＦＰＧＡの動作が定められ、ユニットによる制御内容を定めることが可能となされている。
【０００３】
不揮発性メモリへのプログラムデータ記憶は、従来、ＦＰＧＡが内包するＪＴＡＧインターフェースと接続されるコネクタを介して、個別のユニット毎に不揮発性メモリへプログラミングデータの書き込みを行っていた。しかしながら、これには、一旦ユニットを制御対象の機器から取り外し、プログラムデータを書き込んだ上で再度ユニットを制御対象の機器に取り付ける必要があり、人手がかかり面倒な作業をする必要があった。
【０００４】
この問題を解決するために、例えば、図８の如く、特開２００４−２４０６７９号公報に示されるように、プログラムデータ書き換えを制御するＣＰＵユニット２と、機器制御用の接続ユニット３とを、シリアル線４でシリアルバス接続してシリアル通信によりデータと通信制御用のクロック信号を共有するようになしてシリアルバスシステム１を構成し、ユニットを制御対象の機器から取り外すことなく、プログラムデータの書き込みを可能となしている。
【特許文献１】特開２００４−２４０６７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来例においては、シリアルバスシステム外部からの制御によりプログラムデータの書き込みを行い、書き込み結果をシリアルバスシステム外部から確認することが出来なかった。
【０００６】
本願発明の第一の課題は、外部からの制御によりプログラムデータ書き込みを行い、書き込み結果を外部から確認可能なシリアルバスシステムを提供することである。
【０００７】
ところで、不揮発性メモリとＦＰＧＡを備えるユニットをシリアル接続したシリアルバスシステムにおける、ユニットへのプログラムデータ書き込みにおいて、不揮発性メモリへのプログラムデータ書き込み途中にユニットの電源がＯＦＦになると、不揮発性メモリには書き込み途中の不完全なプログラムデータが記憶される。そのような場合、次回ユニットの電源投入時には、ＦＰＧＡが不揮発性メモリに記憶された不完全なプログラムデータを読み取ってしまうため、正常に動作しなくなり、ユニットが正常稼動せず、シリアルバスシステムを用いたプログラムデータの書き込みが不可能となる。
【０００８】
不揮発性メモリに不完全なプログラムデータが記憶された場合には、上記問題を回避するために、不揮発性メモリの記憶内容を全消去する必要がある。しかし、不揮発性メモリの内容を全消去した後は、次回ユニットの電源投入時に、ＦＰＧＡがユニットの電源投入時に読み取るプログラムデータが存在しないことから、ユニットが稼動せず、シリアルバスシステムを用いたプログラムデータの書き込みが不可能となり、従来の如く機器からユニットを取り外してプログラムデータの書き込みをしなければならないという問題点があった。
【０００９】
本願発明は、上記背景技術に鑑みて発明されたものであり、その第二の課題は、シリアルバスシステムを用いたユニットへのプログラムデータ書き込み途中にユニットの電源がＯＦＦとなり、不揮発性メモリに不完全なプログラムデータが記憶された場合にも、ユニットを機器から取り外すことなくユニットへのプログラムデータ書き込みを継続可能なシリアルバスシステムを提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本願請求項１記載の発明では、書き換え自在に記憶したプログラムデータを通電されない状態でも保持する不揮発性メモリと、ユニットの動作に必要な情報処理を行い、プログラムデータを不揮発性メモリに書き込み可能なＦＰＧＡと、を有する機器制御用の接続ユニットと、書き換え自在に記憶したプログラムデータを通電されない状態でも保持する不揮発性メモリと、ユニットの動作に必要な情報処理を行い、プログラムデータを不揮発性メモリに書き込み可能なＦＰＧＡと、外部コントローラを接続するコネクタと、外部コントローラとの通信を制御可能なＣＰＵと、を備えるプログラムデータ書き込み制御可能なＣＰＵユニットと、から構成され、前記ＦＰＧＡはユニットの電源投入毎に不揮発性メモリから読み取るプログラムデータに従って情報処理を行うようになされ、ＣＰＵユニットと接続ユニットとをシリアル通信によってデータ及び通信制御用のクロック信号を共有するようにシリアルバス接続したシリアルバスシステムにおいて、コネクタに接続された外部コントローラから、プログラムデータとプログラムデータ書き込み指令を受信したＣＰＵユニットの備えるＣＰＵは、ＣＰＵユニットの備えるＦＰＧＡを介して、シリアルバスシステムを構成する全ユニットが備えるＦＰＧＡへプログラムデータを送信し、プログラムデータを受信したＦＰＧＡは自らがプログラムを読み取る不揮発性メモリにプログラムデータを書き込んで、書き込み結果をＣＰＵユニットの備えるＦＰＧＡを介してＣＰＵに送信し、ＣＰＵは全ＦＰＧＡの書き込み結果を外部コントローラへ送信するようになしている。
【００１１】
又、本願請求項２記載の発明では、特に、ユニットはＦＰＧＡと不揮発性メモリとの間に制御回路を備え、不揮発性メモリはプログラムデータを記憶可能なデータ記憶領域を複数備え、各データ記憶領域は対応するフラグ記憶領域を有し、データ記憶領域に正常なプログラムデータが記憶されている場合には対応するフラグ記憶領域に読み取り許可フラグを記憶するようになし、ＦＰＧＡと不揮発性メモリ間のプログラムデータ読み書きは制御回路を介して行うようになし、制御回路は、ＦＰＧＡが不揮発性メモリへプログラムデータを書き込む際は、読み取り許可フラグが記憶されていないフラグ記憶領域に対応するデータ記憶領域に対して全消去してから書き込むようになし、読み取り許可フラグが記憶されているフラグ記憶領域しか存在しない場合にはいずれかフラグ記憶領域の読み取り許可フラグを消去して、そのフラグ記憶領域に対応するデータ記憶領域に対して全消去してからプログラムデータを書き込むようになし、書き込み完了後にプログラムデータを書き込んだデータ記憶領域に対応するフラグ記憶領域に読み取り許可フラグを記憶してそれ以外のフラグ記憶領域の読み取り許可フラグを消去し、ＦＰＧＡが不揮発性メモリからプログラムデータを読み取る際は、読み取り許可フラグが記憶されているフラグ記憶領域に対応するデータ記憶領域からプログラムデータを読み取るようになしている。
【発明の効果】
【００１２】
本願請求項１記載の発明であるシリアルバスシステムにおいては、コネクタに接続された外部コントローラから、プログラムデータとプログラムデータ書き込み指令をＣＰＵユニットに送信すれば、プログラムデータの書き込みが行われて、その書き込み結果が外部コントローラに返信されるようになしたことから、シリアルバスシステムのプログラムデータ書き込みを外部から制御可能となり、書き込み結果を外部にて確認可能となった。外部コントローラを遠隔地から操作するようになせば、遠隔地からのプログラムデータの書き込み制御と、書き込み結果確認が可能となり、プログラムデータ書き込みに伴う移動などの負担を軽減可能となった。
【００１３】
又、本願請求項２記載の発明であるシリアルバスシステムにおいては、特に、不揮発性メモリはプログラムデータを記憶可能なデータ記憶領域を複数備え、各データ記憶領域は対応するフラグ記憶領域を有し、データ記憶領域に正常なプログラムデータが記憶されている場合には対応するフラグ記憶領域に読み取り許可フラグを記憶するようになし、ＦＰＧＡが不揮発性メモリにプログラムデータを書き込む際は、読み取り許可フラグが記憶されていないフラグ記憶領域に対応するデータ記憶領域に対して全消去してから書き込むようにして、書き込み完了後に対応するフラグ記憶領域に読み取り許可フラグを記憶してそれ以外のフラグ記憶領域の読み取り許可フラグを消去し、ＦＰＧＡが不揮発性メモリからプログラムデータを読み取る際は、読み取り許可フラグが記憶されているフラグ記憶領域に対応するデータ記憶領域からプログラムデータを読み取るようになしたことから、プログラムデータ書き込み途中にユニットの電源がＯＦＦとなり書き込みが中断した場合、そのプログラムデータを書き込んでいた書き込み中のデータ記憶領域に対応するフラグ記憶領域には読み取り許可フラグは記憶されておらず、一方、書き込み中のデータ記憶領域以外には、シリアルバスシステムが書き込みのための稼動時に読み取っていたプログラムデータが消去されずに残され、そのデータ記憶領域に対応するフラグ記憶領域には読み取り許可フラグが記憶されている。これにより、プログラムデータ書き込み途中にユニットの電源がＯＦＦとなった場合においても、次回ユニット電源投入時には、書き込み時に読み取っていたプログラムデータを読み取ってユニットが起動するため、シリアルバスシステムを用いたプログラム書き込みを継続可能となり、制御対象の機器からユニットを取り外してプログラムデータ書き込みをする必要をなくした。
【発明を実施するための最良の形態】
【００１４】
図１〜７は、本願請求項１、２に対応した実施形態であるシリアルバスシステム１を示している。このシリアルバスシステム１は図１の如く、書き換え自在に記憶したプログラムデータを通電されない状態でも保持する不揮発性メモリ６と、ユニットの動作に必要な情報処理を行い、プログラムデータを不揮発性メモリ６に書き込み可能なＦＰＧＡ７と、を有する機器制御用の接続ユニット３と、書き換え自在に記憶したプログラムデータを通電されない状態でも保持する不揮発性メモリ６と、ユニットの動作に必要な情報処理を行い、プログラムデータを不揮発性メモリ６に書き込み可能なＦＰＧＡ７と、外部コントローラ８を接続するコネクタ２３と、外部コントローラ８との通信を制御可能なＣＰＵ２２と、を備えるプログラムデータ書き込み制御可能なＣＰＵユニット２と、から構成され、前記ＦＰＧＡ７はユニットの電源投入毎に不揮発性メモリ６から読み取るプログラムデータに従って情報処理を行うようになされ、ＣＰＵユニット２と接続ユニット３とをシリアル通信によってデータ及び通信制御用のクロック信号を共有するようにシリアルバス接続したシリアルバスシステム１において、コネクタ２３に接続された外部コントローラ８から、プログラムデータとプログラムデータ書き込み指令を受信したＣＰＵユニット２の備えるＣＰＵ２２は、ＣＰＵユニット２の備えるＦＰＧＡ７を介して、シリアルバスシステム１を構成する全ユニットが備えるＦＰＧＡ７へプログラムデータを送信し、プログラムデータを受信したＦＰＧＡ７は自らがプログラムデータを読み取る不揮発性メモリ６にプログラムデータを書き込んで、書き込み結果をＣＰＵユニット２の備えるＦＰＧＡ７を介してＣＰＵ２２に送信し、ＣＰＵ２２は全ＦＰＧＡ７の書き込み結果を外部コントローラ８へ送信するようになしている。
【００１５】
又、ユニットはＦＰＧＡ７と不揮発性メモリ６との間に制御回路５を備え、不揮発性メモリ６はプログラムデータを記憶可能なデータ記憶領域を複数備え、各データ記憶領域は対応するフラグ記憶領域を有し、データ記憶領域に正常なプログラムデータが記憶されている場合には対応するフラグ記憶領域に読み取り許可フラグを記憶するようになし、ＦＰＧＡ７と不揮発性メモリ６間のプログラムデータ読み書きは制御回路５を介して行うようになし、制御回路５は、ＦＰＧＡ７が不揮発性メモリ６へプログラムデータを書き込む際は、読み取り許可フラグが記憶されていないフラグ記憶領域に対応するデータ記憶領域に対して全消去してからプログラムデータを書き込むようになし、読み取り許可フラグが記憶されているフラグ記憶領域しか存在しない場合にはいずれかのフラグ記憶領域の読み取り許可フラグを消去して、そのフラグ記憶領域に対応するデータ記憶領域に対して全消去してからプログラムデータを書き込むようになし、書き込み完了後にプログラムデータを書き込んだデータ記憶領域に対応するフラグ記憶領域に読み取り許可フラグを記憶してそれ以外のフラグ記憶領域の読み取り許可フラグを消去し、ＦＰＧＡ７が不揮発性メモリ６からプログラムデータを読み取る際は、読み取り許可フラグが記憶されているフラグ記憶領域に対応するデータ記憶領域からプログラムデータを読み取るようになしている。
【００１６】
以下、この実施形態のシリアルバスシステム１を、より具体的詳細に説明する。図１に示すように、ＣＰＵユニット２と複数の接続ユニット３とがシリアル線４によってシリアルバス接続されて、シリアル通信可能となされている。シリアル通信を行うには、ＣＰＵユニット２と接続ユニット３とが稼動している必要があり、そのためにはＦＰＧＡ７が正常に稼動している必要がある。ＦＰＧＡ７と不揮発性メモリ６との間には、図３に示す如く、制御回路５であるＥＥＰＲＯＭアクセス制御回路ブロックが備えられ、ＦＰＧＡ７は制御回路５を介して不揮発性メモリ６であるＦｌａｓｈＥＥＰＲＯＭにプログラムデータを読み書きする。接続ユニット３は機器の制御を行い、電源投入時にはＦＰＧＡ７が不揮発性メモリ６に記憶されたプログラムデータを、制御回路５を介して読み取り、そのプログラムデータに従って稼動する。不揮発性メモリ６としてＦｌａｓｈＥＥＰＲＯＭが用いられている。
【００１７】
又、図１に示すＣＰＵユニット２には、ＦＰＧＡ７と不揮発性メモリ６であるＦｌａｓｈＥＥＰＲＯＭの他に、コネクタ２３を備え、外部コントローラ８を接続可能となされている。外部コントローラ８とＣＰＵユニット２との通信はＣＰＵ２２によって制御されている。この実施形態においてはコネクタ２３としてＲＳ２３２Ｃコネクタを採用している。又、外部コントローラ８は、ＲＳ２３２Ｃコネクタを介してシリアル通信を行うようにシリアル接続されたパーソナルコンピュータである。
【００１８】
不揮発性メモリ６は、図２の如く、記憶領域Ａ６１と記憶領域Ｂ６２とからなる。各記憶領域はデータ記憶領域と、データ記憶領域に対応するフラグ記憶領域を備えている。各記憶領域のデータ記憶領域とフラグ記憶領域は抱合するようになされている。例えば記憶領域Ａ６１においてはデータ記憶領域Ａ６１１にデータが書き込まれ、抱合するフラグ記憶領域Ａ６１２にデータ記憶領域Ａ６１１に関するフラグが記憶される。各データ記憶領域は、一つのデータ記憶領域でプログラムデータ全体を記憶可能な容量となっている。この実施形態のように一つの不揮発性メモリ６に複数の記憶領域を備えることが出来ない場合には、ユニットが複数の不揮発性メモリ６を備えるようにして、それら複数の不揮発性メモリ６の中に複数の記憶領域を備えるようにしても良い。
【００１９】
図４には、外部コントローラ８からＣＰＵユニット２へと、プログラムデータ書き込み指令及び書き込み対象のプログラムデータが送信された場合におけるＣＰＵ２２の稼動手順を示す。外部コントローラ８からプログラムデータとプログラムデータ書き込み指令がＣＰＵユニット２に送信されれば、ＣＰＵ２２はＣＰＵユニット２が備えるＦＰＧＡ７に送信する（手順Ｐ）。ＣＰＵユニット２の備えるＦＰＧＡ７は、シリアルバスシステム１内の全ＦＰＧＡ７を指定してプログラムデータを送信する。指定先がＣＰＵユニット２の備えるＦＰＧＡ７であった場合は、ＣＰＵユニット２の備えるＦＰＧＡ７はプログラムデータ読み取り元である、ＣＰＵユニット２が備える不揮発性メモリ６にプログラムデータを書き込む。指定先が接続ユニット３の備えるＦＰＧＡ７であった場合は、ＣＰＵユニット２の備えるＦＰＧＡ７から接続ユニット３の備えるＦＰＧＡ７へと、シリアル線４を経由してシリアル通信によりプログラムデータが送信され、接続ユニット３の備えるＦＰＧＡ７は、プログラムデータ読み取り元である、同じ接続ユニット３内に備えられた不揮発性メモリ６へと受信したプログラムデータを書き込む。書き込み結果は接続ユニット３の備えるＦＰＧＡ７からＣＰＵユニット２の備えるＦＰＧＡ７に送信される。ＣＰＵユニット２の備えるＦＰＧＡ７は接続ユニット３の備えるＦＰＧＡ７の書き込み結果と、自身の書き込み結果をＣＰＵ２２に送信する。ＣＰＵ２２は全ＦＰＧＡ７の書き込み結果を外部コントローラ８に送信する（手順Ｑ）。
【００２０】
ＦＰＧＡ７が不揮発性メモリ６に書き込む手順は、図５のフロー図に示す如く、書き込み対象の不揮発性メモリ６内のデータ記憶領域を全消去してから（手順Ｒ）プログラムデータを書き込み（手順Ｓ）、書き込み結果を報告する（手順Ｔ）。
【００２１】
ＦＰＧＡ７が不揮発性メモリ６にプログラムデータを読み書きする際の、制御回路５の動作を図６、図７に示す。図６でプログラムデータ書き込み時の手順について、図７でプログラムデータ読み取り時の手順について示す。
【００２２】
図６のフロー図の如く、ＦＰＧＡ７が不揮発性メモリ６へプログラムデータを書き込む際には、ＦＰＧＡ７から書き込み指令を受けた制御回路５が、不揮発性メモリ６内の全フラグ記憶領域からフラグを読み取る。最初にフラグ記憶領域Ａ６１２に記憶されたフラグを確認し、それが読み取り許可フラグでなければ、対応するデータ記憶領域Ａ６１１にプログラムデータを書き込む（手順Ｕ）。手順Ｕは以下の通りである。
手順Ｕ−１  データ記憶領域Ａ６１１全消去
手順Ｕ−２  データ記憶領域Ａ６１１にプログラムデータ書き込み
手順Ｕ−３  フラグ記憶領域Ａ６１２に”読み取り許可”フラグ書き込み
手順Ｕ−４  フラグ記憶領域Ｂ６２２に”書き込み許可”フラグ書き込み
データ記憶領域Ａ６１１へのプログラムデータ書き込み手順は、まずデータ記憶領域Ａ６１１を全消去した後、プログラムデータを書き込む。書き込みが完了すれば、対応するフラグ記憶領域Ａ６１２に読み取り許可フラグを書き込み、次回ユニット電源投入時にデータ記憶領域Ａ６１１からプログラムデータが読み取られるようにする。次にフラグ記憶領域Ｂ６２２の読み取り許可フラグを消去する。ここでは、フラグ記憶領域Ｂ６２２に書き込み許可フラグを記憶することにより、読み取り許可フラグを消去すると共に、データ記憶領域Ｂ６２１にデータを書き込んで良いという情報を明確にしている。
【００２３】
フラグ記憶領域Ａ６１２に読み取り許可フラグが記憶されている場合には、フラグ記憶領域Ｂ６２２に記憶されているフラグを確認し、それが読み取り許可フラグでなければ、手順Ｕと同様にデータ記憶領域Ｂ６２１にプログラムデータ書き込みを行う（手順Ｖ）。手順Ｖは以下の通りである。
手順Ｖ−１  データ記憶領域Ｂ６２１全消去
手順Ｖ−２  データ記憶領域Ｂ６２１にプログラムデータ書き込み
手順Ｖ−３  フラグ記憶領域Ｂ６２２に”読み取り許可”フラグ書き込み
手順Ｖ−４  フラグ記憶領域Ａ６１２に”書き込み許可”フラグ書き込み
フラグ記憶領域Ａ６１２、フラグ記憶領域Ｂ６２２共に読み取り許可フラグが記憶されている場合がある。手順Ｕ、手順Ｖにおける３番目の手順が終了後、４番目の手順を完了前にユニットの電源がＯＦＦとなって書き込み手順が中断した場合がこれに該当する。この場合、データ記憶領域Ａ、Ｂ共に完全なプログラムデータが記憶されている。データ記憶領域Ａ６１１、データ記憶領域Ｂ６２１に記憶されているプログラムデータは同一でなく、バージョンなどが異なる可能性があるが、新しく書き込まれたプログラムデータでなくても、プログラムデータ書き込みのために稼動していたユニットが読み取っていたプログラムデータであり、ユニットを稼動可能とするプログラムデータであるから、いずれのプログラムデータを読み取ったとしてもユニットは起動可能であり、結果としてシリアルバスシステムを用いたプログラムデータ書き込みを継続可能となされている。フラグ記憶領域Ａ６１２、フラグ記憶領域Ｂ６２２共に読み取り許可フラグが記憶されている場合には、データ記憶領域Ｂ６２１にプログラムデータを書き込む（手順Ｗ）。手順Ｗは以下の通りである。
手順Ｗ−１  フラグ記憶領域Ｂ６２２に”書き込み許可”フラグ書き込み
手順Ｗ−２  データ記憶領域Ｂ６２１全消去
手順Ｗ−３  データ記憶領域Ｂ６２１にプログラムデータ書き込み
手順Ｗ−４  フラグ記憶領域Ｂ６２２に”読み取り許可”フラグ書き込み
手順Ｗ−５  フラグ記憶領域Ａ６１２に”書き込み許可”フラグ書き込み
書き込み結果は制御回路５からＦＰＧＡ７へと報告される。
【００２４】
図６のフロー図の如く、ＦＰＧＡ７が不揮発性メモリ６からプログラムデータを読み取る際には、ＦＰＧＡ７から読み取り指令を受けた制御回路５が、不揮発性メモリ６内の全フラグ記憶領域に記憶されているフラグを確認し、読み取り許可フラグが記憶されているフラグ記憶領域に対応するデータ記憶領域からプログラムデータを読み取る。すなわち、フラグ記憶領域Ａ６１２に読み取り許可フラグが記憶されている場合には、データ記憶領域Ａ６１１に記憶されているプログラミングデータをＦＰＧＡ７に転送する（手順Ｘ）。フラグ記憶領域Ａ６１２に読み取り許可フラグが記憶されていない場合にはフラグ記憶領域Ｂ６２２を確認し、読み取り許可フラグが記憶されていれば対応するデータ記憶領域Ｂ６２１に記憶されているプログラムデータをＦＰＧＡ７へ転送する（手順Ｙ）。
【００２５】
したがって、この実施形態のシリアルバスシステム１においては、コネクタ２３に接続された外部コントローラ８から、プログラムデータとプログラムデータ書き込み指令をＣＰＵユニット２に送信すれば、プログラムデータの書き込みが行われて、その書き込み結果が外部コントローラ８に返信されるようになしたことから、シリアルバスシステム１のプログラムデータ書き込みを外部から制御可能となり、書き込み結果を外部にて確認可能となった。外部コントローラ８を遠隔地から操作するようになせば、遠隔地からのプログラムデータの書き込み制御と、書き込み結果確認が可能となり、プログラムデータ書き込みに伴う移動などの負担を軽減可能となった。
【００２６】
又、不揮発性メモリ６はプログラムデータを記憶可能なデータ記憶領域を複数備え、各データ記憶領域は対応するフラグ記憶領域を有し、データ記憶領域に正常なプログラムデータが記憶されている場合には対応するフラグ記憶領域に読み取り許可フラグを記憶するようになし、ＦＰＧＡ７が不揮発性メモリ６にプログラムデータを書き込む際は、読み取り許可フラグが記憶されていないフラグ記憶領域に対応するデータ記憶領域に対して全消去してから書き込むようにして、書き込み完了後に対応するフラグ記憶領域に読み取り許可フラグを記憶してそれ以外のフラグ記憶領域の読み取り許可フラグを消去し、ＦＰＧＡ７が不揮発性メモリ６からプログラムデータを読み取る際は、読み取り許可フラグが記憶されているフラグ記憶領域に対応するデータ記憶領域からプログラムデータを読み取るようになしたことから、プログラムデータ書き込み途中にユニットの電源がＯＦＦとなり書き込みが中断した場合、そのプログラムデータを書き込んでいた書き込み中のデータ記憶領域に対応するフラグ記憶領域には読み取り許可フラグは記憶されておらず、一方、書き込み中のデータ記憶領域以外には、シリアルバスシステム１が書き込みのための稼動時に読み取っていたプログラムデータが消去されずに残され、そのデータ記憶領域に対応するフラグ記憶領域には読み取り許可フラグが記憶されている。これにより、プログラムデータ書き込み途中にユニットの電源がＯＦＦとなった場合においても、次回ユニット電源投入時には、書き込み時に読み取っていたプログラムデータを読み取ってユニットが起動するため、シリアルバスシステム１を用いたプログラム書き込みを継続可能となり、制御対象の機器からユニットを取り外してプログラムデータ書き込みをする必要をなくした。
【図面の簡単な説明】
【００２７】
【図１】本願発明のシリアルバスシステムを示すブロック図。
【図２】本願発明のシリアルバスシステムを構成するユニットが備える不揮発性メモリを示すブロック図。
【図３】本願発明のシリアルバスシステムを構成するユニットが備えるＦＰＧＡと不揮発性メモリ間の回路構成を示すブロック図。
【図４】本願発明のシリアルバスシステムを構成するＣＰＵユニットが備えるＣＰＵにおけるプログラムデータ書き込み手順を示すフロー図。
【図５】本願発明のシリアルバスシステムにおいてＦＰＧＡが不揮発性メモリにプログラムデータ書き込みを行う際の手順を示すフロー図。
【図６】本願発明のシリアルバスシステムにおいてＦＰＧＡがプログラムデータを不揮発性メモリに書き込む際の制御回路における手順を示すフロー図。
【図７】本願発明のシリアルバスシステムにおいてＦＰＧＡがプログラムデータを不揮発性メモリから読み取る際の制御回路における手順を示すフロー図。
【図８】従来例のシリアルバスシステムを示すブロック図。
【符号の説明】
【００２８】
１  シリアルバスシステム
２  ＣＰＵユニット
３  接続ユニット
４  シリアル線
５  制御回路
６  不揮発性メモリ
61  記憶領域Ａ
611  データ記憶領域Ａ
612  フラグ記憶領域Ａ
62  記憶領域Ｂ
621  データ記憶領域Ｂ
622  フラグ記憶領域Ｂ
７  ＦＰＧＡ
８  外部コントローラ
【図１】
2010113630.tif 000003
【図２】
2010113630.tif 000004
【図３】
2010113630.tif 000005
【図４】
2010113630.tif 000006
【図５】
2010113630.tif 000007
【図６】
2010113630.tif 000008
【図７】
2010113630.tif 000009
【図８】
2010113630.tif 000010