(57)【要約】【課題】記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得る通信装置を提供する。【解決手段】タイムスイッチ１１において、ボード１００上にＦＰＧＡ１１０Ａ、コンフィグレーションＲＯＭ１２０及び接続部１３０のみを設け、コンフィグレーションＲＯＭ１２０に書き込むための専用端子を、ＰＣＭハイウェイ１５や制御バスを接続するための接続部１３０によって共用するようにしている。また、コンフィグレーションＲＯＭ１２０へプログラムを書き込む際に、接続部１３０に接続される書き込み装置２００から書き込み要求をコンフィグレーション回路１１１で受信することで、マトリクススイッチ１１２により書き込み装置２００とコンフィグレーションＲＯＭ１２０とを直接接続するようにしている。【選択図】      図２
2011234308.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に記憶されたプログラムに基づいて通信処理部が動作し、接続端子に接続される電子機器との間で通信処理を実行する通信装置において、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記接続端子に接続されることを検出する検出手段と、
この検出手段により前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行する制御手段とを具備することを特徴とする通信装置。
【請求項２】
前記検出手段は、前記接続端子に備えられる複数の信号ピンのうちの１つの信号ピンを介して前記電子機器から前記記憶部への書き込みを行う指示信号を受信することにより、前記プログラムを有する電子機器を検出することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信処理部と前記記憶部との間、前記電子機器と前記記憶部との間を選択的に接続する切替スイッチをさらに備え、
前記制御手段は、前記切替スイッチを切替制御して、前記電子機器と前記記憶部との間を接続させることを特徴とする請求項１記載の通信装置。
【請求項４】
前記記憶部にプログラムを書き込む書き込み部をさらに備え、
前記制御手段は、前記検出手段により前記プログラムを有する電子機器を検出した場合に、前記書き込み部に前記電子機器から前記プログラムを取得させて、当該プログラムを前記記憶部に書き込ませることを特徴とする請求項１記載の通信装置。
【請求項５】
前記検出手段は、前記電子機器が有するプログラムに書き込みを指示するためのヘッダーが付加されているか否かを検出し、
前記制御手段は、前記検出手段により前記ヘッダーを検出した場合に、前記書き込み部に前記電子機器から前記プログラムを取得させて、当該プログラムを前記記憶部に書き込ませることを特徴とする請求項４記載の通信装置。
【請求項６】
通信装置に搭載され、記憶部に記憶されたプログラムに基づいて通信処理部が動作し、前記通信装置の接続端子に接続される電子機器との間で通信処理を実行するプログラマブルデバイスにおいて、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記通信装置の接続端子に接続されることを検出する検出手段と、
この検出部により前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行する制御手段とを具備することを特徴とするプログラマブルデバイス。
【請求項７】
記憶部に記憶されたプログラムに基づいて通信処理部が動作し、接続端子に接続される電子機器との間で通信処理を実行する通信装置で使用されるプログラム書き込み制御方法において、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記接続端子に接続されるか否かを検出し、
前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行することを特徴とするプログラム書き込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば電話交換装置のタイムスイッチとして用いられ、記憶部に記憶されたプログラムに基づいて通信処理を行う通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法に関する。
【背景技術】
【０００２】
周知のように、電源オン時に、ＲＯＭに格納されたプログラムを読み出し、このプログラムに従ったコンフィグレーション動作により音声、画像合成回路、ウォッチドックタイマーなどといった信号処理回路を形成するＦＰＧＡ（Field Programmable Gate Array）が、各種の電子機器に用いられている。例えば、このようなＦＰＧＡをタイムスイッチとして用いた電話交換装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３１１９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記ＦＰＧＡでコンフィグレーション動作を行うためには、ＦＰＧＡで使用するコンフィグレーション用ＲＯＭにプログラムを書き込んでおく必要がある。このコンフィグレーション用ＲＯＭへの書き込みは、製造時に予め回路情報をＲＯＭに書き込んでおき実装するか、専用の書き込み端子となるＪＴＡＧ端子を用いて書き込む必要がある。
【０００５】
本発明の目的は、記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得る通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
実施形態によれば、電子機器との間の接続端子と、通信処理部及び記憶部のみを設け、記憶部に書き込むプログラムを有する電子機器が接続端子に接続される場合に、その電子機器が有するプログラムを記憶部に書き込む処理を実行することで、記憶部にプログラムを書き込むための端子は、既に設けられている接続端子と共用するようにした。
【図面の簡単な説明】
【０００７】
【図１】本第１の実施形態に係る通信装置をタイムスイッチとして適用した電話交換システムを示すブロック図。
【図２】本第１の実施形態とするタイムスイッチの具体的構成を示すブロック図。
【図３】本第１の実施形態において、書き込み装置とコンフィグレーションＲＯＭとの間を接続する際のコンフィグレーション回路の制御処理手順を示すフローチャート。
【図４】本第２の実施形態において、ＦＰＧＡを搭載したボードの接続部に製造設備側の製造用コンフィグレーションＲＯＭボードを接続する例を示す斜視図。
【図５】本第２の実施形態とするタイムスイッチの具体的構成を示すブロック図。
【図６】本第２の実施形態で使用するメモリマップを示す図。
【図７】本第２の実施形態における書き込み回路の制御処理手順を示すフローチャート。
【図８】本第３の実施形態に係るタイムスイッチの具体的構成を示すブロック図。
【図９】本第３の実施形態で取り扱うヘッダー情報を示す図。
【図１０】本第３の実施形態において、製造設備側のＲＯＭとコンフィグレーションＲＯＭとの間を接続する際のコンフィグレーション回路の制御処理手順を示すフローチャート。
【図１１】本第３の実施形態において、書き込み回路の動作を説明するためのタイミング図。
【発明を実施するための形態】
【０００８】
以下、実施形態について、図面を参照して説明する。
【０００９】
（第１の実施形態）  
本第１の実施形態は、通信装置に備えられるＦＰＧＡのコンフィグレーションＲＯＭにプログラムの書き込みを行う製造設備側の書き込み装置とコンフィグレーションＲＯＭとの間をマトリックススイッチにより直接接続するようにしたものである。
【００１０】
コンフィグレーション用ＲＯＭへの書き込みは、製造時に予め回路情報をＲＯＭに書き込んでおき実装するか、専用の書き込み端子となるＪＴＡＧ端子を用いて書き込む必要がある。予め回路情報を記憶したＲＯＭを実装した場合、バグの発見などに伴うプログラムの変更が生じると、実装済みのＲＯＭを破棄して新たなＲＯＭに実装し直さなければならない。また、ＪＴＡＧ端子を用いる場合、ＦＰＧＡメーカ提供書込ソフトウェアと専用ダウンロードケーブルによって書き込むか、汎用ＪＴＡＧ機器によりプログラムの書き込みを行う方法が一般的である。そのため、設備の導入と製品へのコネクタ実装が必要となり製品コストアップを招く。更に、ＪＴＡＧでは高速書き込みできない。
【００１１】
通常、生産規模に応じて設備導入を行うが、設備操作の工数や導入コストによって製品へのコスト影響が発生し、量産効果の得られない少量製品へのプログラムの書き込みは、設備コストの製品コストへの影響等を考慮すると採用が困難である。
【００１２】
本実施の形態では、記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得るものである。
【００１３】
図１は、本第１の実施形態に係る通信装置をタイムスイッチとして適用した電話交換システムを示すブロック図である。
【００１４】
この電話交換システムは、同図に示すように、電話交換装置１に、複数（最大ｉ個）の内線端末２（２−１〜２−ｉ）を任意に接続して構成されている。なお、内線端末２には、アナログ電話機またはデジタルボタン電話機等が使用される。
【００１５】
電話交換装置１は、さらに、タイムスイッチ１１、複数（ｊ個）の局線インタフェース回路１２（１２−１〜１２−ｊ）、複数（ｉ個）の内線インタフェース回路１３（１３−１〜１３−ｉ）、中央制御部１４を備える。このうち、タイムスイッチ１１、局線インタフェース回路１２及び内線インタフェース回路１３は、ＰＣＭハイウェイ１５を介して互いに接続されている。
【００１６】
また、局線インタフェース回路１２、内線インタフェース回路１３及び中央制御部１４は、データハイウェイ１６を介して互いに接続されている。なお、タイムスイッチ１１は、中央制御部１４に直接接続されている。
【００１７】
タイムスイッチ１１は、中央制御部１４の制御に基づいて、局線インタフェース回路１２と内線インタフェース回路１３との間でＰＣＭハイウェイ１５を介して通信パスを確立するための処理を行う。
【００１８】
局線インタフェース回路１２には、公衆回線や専用線などの局線Ｌ（Ｌ−１〜Ｌ−ｊ）が必要に応じて接続される。局線インタフェース回路１２は、接続された局線Ｌに関する局線インタフェース動作を行なう。また、局線インタフェース回路１２は、局線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ１６を介して中央制御部１４との間で行なう。
【００１９】
内線インタフェース回路１３には、内線端末２が必要に応じて接続される。内線インタフェース回路１３は、接続された内線端末２に関する内線インタフェース動作を行なう。また、内線インタフェース回路１３は、内線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ１６を介して中央制御部１４との間で行なう。
【００２０】
中央制御部１４は、タイムスイッチ１１、局線インタフェース回路１２及び内線インタフェース回路１３のそれぞれを総括制御し、電話交換装置１としての動作を実現する。例えば、各内線端末２−１〜２−ｉの発呼要求に伴う発信処理や、局線Ｌからの外線着信に伴う通常の着信処理、内線端末２−１〜２−ｉ間の転送処理等を実行する。
【００２１】
ところで、この第１の実施形態では、タイムスイッチ１１をＦＰＧＡによるコンフィグレーション動作により実現するようにしている。図２は、タイムスイッチ１１の具体的構成を示すブロック図である。
【００２２】
このタイムスイッチ１１は、ボード１００上にＦＰＧＡ１１０Ａと、コンフィグレーションＲＯＭ１２０と、外部機器が接続される接続部１３０とを実装している。このコンフィグレーションＲＯＭ１２０には、タイムスイッチ１１としての動作を実現するためのプログラムが格納されることになる。
【００２３】
また、ＦＰＧＡ１１０Ａは、コンフィグレーション回路１１１と、マトリクススイッチ１１２と、入出力部１１３，１１４とを備えている。入出力部１１３は、コンフィグレーションＲＯＭ１２０との間で信号の授受を行うための接続端子である。また、入出力部１１４は、接続部１３０に接続される電子機器との間で信号の授受を行うための接続端子である。
【００２４】
コンフィグレーション回路１１１は、マトリクススイッチ１１２及び入出力部１１３を介して接続されるコンフィグレーションＲＯＭ１２０からプログラムを読み出し、このプログラムに基づいてコンフィグレーション動作を行うことで、タイムスイッチ１１を形成するものである。また、コンフィグレーション回路１１１には、本第１の実施形態に係わる検出部１１１ａ及び制御部１１１ｂが備えられる。この検出部１１１ａは、例えば製造設備の書き込み装置２００から接続部１３０の外部コンフィグ端子１３０ａを介してプログラムの書き込み要求（ＥＸＴ  ＣＯＮＦＩＧ）を受信した場合に、書き込み装置２００が接続部１３０に接続されたことを検出する。
【００２５】
制御部１１１ｂは、上記検出部１１１ａにより接続部１３０に接続された書き込み装置２００を検出した場合に、マトリクススイッチ１１２を切替制御して書き込み装置２００とコンフィグレーションＲＯＭ１２０とを直接接続させる。
【００２６】
また、上記接続部１３０には、通常、ＰＣＭハイウェイ１５が接続され、さらに中央制御部１４を接続する制御バスが接続される。本第１の実施形態では、この接続部１３０をＰＣＭハイウェイ１５及び制御バスの接続に限ることなく、書き込み装置２００の接続にも兼用するようにした。
【００２７】
次に、上記構成における動作について説明する。  
ＦＰＧＡ１１０Ａに必要なコンフィグレーションＲＯＭ１２０は、専用端子となる入出力部１１３に接続されている。コンフィギュレーション後には専用端子からＩ／Ｏに切り替えられる機能を持っているものも存在するが、メモリを保護するため、利用できる信号は限られる。このため、製品に備えらたボードの外部拡張機器や表示器・ＳＷ等との入出力信号端子のピンとは接続を分離する必要がある。外部の書き込み装置２００から書き込みを行うためには専用端子をボード１００に設置する必要があり、製品コストが上昇することになる。
【００２８】
そこで、コンフィグレーションＲＯＭ１２０を高速かつ、製品コストへの影響を与えないインシステムプログラム（ＩＳＰ）書き込みを実現するために、ＦＰＧＡ１１０Ａ内部のマトリクススイッチ１１２への固定接続を設定する外部コンフィグ端子１３０ａを設け、この端子情報によって固定接続を実施し、製品に実装される外部端子ピンなどと信号接続できる経路を構成する。
【００２９】
図３は、書き込み装置２００とコンフィグレーションＲＯＭ１２０との間を接続する際のコンフィグレーション回路１１１の制御処理手順を示すフローチャートである。
【００３０】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路１１１は接続部１３０に接続される書き込み装置２００から書き込み要求が送られるか否かの判断を行う（ステップＳＴ３ａ）。ここで、書き込み装置２００から書き込み要求を受信した場合（Ｙｅｓ）、コンフィグレーション回路１１１は書き込み装置２００とコンフィグレーションＲＯＭ１２０との間を直接接続するようにマトリクススイッチ１１２を切替制御する（ステップＳＴ３ｂ）。
【００３１】
一方、電源スイッチがオンされた後、外部コンフィグ端子１３０ａを介して書き込み装置２００が検出できない場合（Ｎｏ）、コンフィグレーション回路１１１は接続部１３０に例えばＰＣＭハイウェイ１５や制御バス等が接続されているものと判断して、コンフィグレーションＲＯＭ１２０に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ１１を形成する（ステップＳＴ３ｃ）。なお、接続部１３０に例えばＰＣＭハイウェイ１５や制御バス等が接続される場合、外部コンフィグ端子１３０ａには接続されないものとする。
【００３２】
以上のような動作によって、コンフィグレーションＲＯＭ１２０にプログラムの書き込みを行う場合、ボード１００に接続部１３０とは別に専用の書き込み端子を設置する必要があったが、本第１の実施形態の場合、接続部１３０に書き込み装置２００を接続するだけでよい。また、書き込み装置２００には、接続部１３０に接続可能な汎用のパーソナル・コンピュータを用いることもできるので、製造設備の低コスト化にも寄与できる。
【００３３】
以上のように上記第１の実施形態では、タイムスイッチ１１において、ボード１００上にＦＰＧＡ１１０Ａ、コンフィグレーションＲＯＭ１２０及び接続部１３０のみを設け、コンフィグレーションＲＯＭ１２０に書き込むための専用端子を、ＰＣＭハイウェイ１５や制御バスを接続するための接続部１３０によって共用するようにしている。また、コンフィグレーションＲＯＭ１２０へプログラムを書き込む際に、接続部１３０に接続される書き込み装置２００から書き込み要求をコンフィグレーション回路１１１で受信することで、マトリクススイッチ１１２により書き込み装置２００とコンフィグレーションＲＯＭ１２０とを直接接続するようにしている。
【００３４】
従って、接続部１３０とは別に専用の書き込み端子を設ける必要がなくなり、これによりコンフィグレーションＲＯＭ１２０へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかもタイムスイッチ１１を比較的簡単かつ小型に構成することができる。
【００３５】
また、上記第１の実施形態では、マトリクススイッチ１１２により書き込み装置２００とコンフィグレーションＲＯＭ１２０とを直接接続することで、プログラムの書き込みにコンフィグレーション回路１１１が介在することなく、プログラムの書き込みを短時間で完了させることができ、これにより高速ＩＳＰに対応することが可能となる。
【００３６】
（第２の実施形態）  
第２の実施形態は、コンフィグレーションＲＯＭに対する書き込み回路をＦＰＧＡに内蔵することで、製造設備の設備費用を下げるようにしたものである。
【００３７】
図４は、ボード１００の接続部１３０に製造設備側の製造用コンフィグレーションＲＯＭボード３００を接続する例を示す斜視図である。
【００３８】
製造用コンフィグレーションＲＯＭボード３００は、ボード３１０上にSPI-FLASHなどのＲＯＭ３２０を搭載したものである。また、ボード１００上には、コンフィグレーションＲＯＭ１２０へのプログラムの書き込み中または書き込みが終了した旨を外部に通知するためのＬＥＤ１４０が設けられる。ここでは、ＬＥＤ１４０は、プログラムの書き込み中に青色表示を行い、書き込み終了した場合に赤色表示を行う。
【００３９】
図５は、本第２の実施形態に係るタイムスイッチ１１の具体的構成を示すブロック図である。図５において、上記図２と同一部分には同一符号を付して詳細な説明を省略する。
【００４０】
本第２の実施形態では、ＦＰＧＡ１１０Ｂ内に書き込み回路１１５を備えるようにしている。書き込み回路１１５は、電源オン時に、マトリクススイッチ１１２によりコンフィグレーションＲＯＭボード３００及びコンフィグレーションＲＯＭ１２０と接続されると、図６に示すアドレスマップに基づいて、アドレス先頭に対応するコンフィグレーションＲＯＭボード３００のＲＯＭ３２０からプログラムを読み出し、このプログラムをコンフィグレーションＲＯＭ１２０に書き込む。
【００４１】
次に、上記構成における動作について説明する。  
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路１１１は接続部１３０に接続されるコンフィグレーションＲＯＭボード３００から書き込み要求が送られるか否かの判断を行う。ここでは、接続部１３０の外部コンフィグ端子１３０ａにコンフィグレーションＲＯＭボード３００が接続されて電源スイッチがオンされると、外部コンフィグ端子１３０ａからコンフィグレーション回路１１１へ書き込み要求に対応する信号が送られることになる。
【００４２】
ここで、コンフィグレーションＲＯＭボード３００から書き込み要求に対応する信号を受信した場合、コンフィグレーション回路１１１はコンフィグレーションＲＯＭボード３００と書き込み回路１１５との間、書き込み回路１１５とコンフィグレーションＲＯＭ１２０との間を接続するようにマトリクススイッチ１１２を切替制御する。
【００４３】
一方、電源スイッチがオンされた後、外部コンフィグ端子１３０ａを介してコンフィグレーションＲＯＭボード３００が検出できない場合、コンフィグレーション回路１１１は接続部１３０に例えばＰＣＭハイウェイ１５や制御バス等が接続されているものと判断して、コンフィグレーションＲＯＭ１２０に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ１１を形成する。
【００４４】
コンフィグレーションＲＯＭボード３００と書き込み回路１１５との間、書き込み回路１１５とコンフィグレーションＲＯＭ１２０との間が接続されると、書き込み回路１１５は図７に示す制御処理手順を実行する。
【００４５】
まず、書き込み回路１１５はコンフィグレーションＲＯＭボード３００のＲＯＭ３２０のデバイスチェックを行うとともに、コンフィグレーションＲＯＭ１２０のデバイスチェックを行い（ステップＳＴ７ａ）、エラーがあるか否かの判断を行う（ステップＳＴ７ｂ）。ここで、例えばコンフィグレーションＲＯＭ１２０に付されているデバイスＩＤが指定のデバイスＩＤ以外である場合（Ｙｅｓ）、書き込み回路１１５はプログラムの書き込み処理を終了する。
【００４６】
一方、コンフィグレーションＲＯＭ１２０に付されているデバイスＩＤが指定のデバイスＩＤである場合（Ｎｏ）、書き込み回路１１５はコンフィグレーションＲＯＭ１２０に残っているデータを全て消去する（ステップＳＴ７ｃ）。ここで、消去が完了すると、書き込み回路１１５はステップＳＴ７ｄからステップＳＴ７ｅに移行してここでコンフィグレーションＲＯＭボード３００のＲＯＭ３２０に対しアドレスの上位ビットを（００）に指定した読み出しコマンドを送信してＲＯＭ３２０からプログラムを例えば２５６バイト読み出す。そして、コンフィグレーションＲＯＭ１２０に対しアドレスの上位ビットを（８０）に指定した書き込みコマンドを送信して、プログラムをコンフィグレーションＲＯＭ１２０に転送して書き込む（ステップＳＴ７ｆ）。
【００４７】
続いて書き込み回路１１５は、全てのプログラム（例えば４Ｍビット）の書き込みが完了したか否かの判断を行い（ステップＳＴ７ｇ）、完了するまでステップＳＴ７ｅ乃至ステップＳＴ７ｇの処理を繰り返し実行する。
【００４８】
そして書き込み回路１１５は、全てのプログラムの書き込みが完了したならば（Ｙｅｓ）、再びコンフィグレーションＲＯＭ１２０に対し上位ビットを（８０）に指定した読み出しコマンドを送信して書き込まれたプログラムを読み出し、さらにコンフィグレーションＲＯＭボード３００のＲＯＭ３２０に対しアドレスの上位ビットを（００）に指定した読み出しコマンドを送信してＲＯＭ３２０からプログラムを読み出してデータ比較を行い（ステップＳＴ７ｈ）、一致するか否かの判断を行う（ステップＳＴ７ｉ）。ここで一致したならば（Ｙｅｓ）、書き込み回路１１５は処理を終了する。一方、一致しない場合には、書き込み回路１１５はコンフィグレーションＲＯＭ１２０に書き込まれたプログラムを全て消去する（ステップＳＴ７ｊ）。
【００４９】
ここで、上記処理が完了した場合に、書き込み回路１１５は書き込み終了の旨をＬＥＤ１４０により表示させる。この場合、ＬＥＤ１４０は赤色に点灯される。
【００５０】
この状態で製造設備側の保守者は、図示しない電源スイッチをオフにし、コンフィグレーションＲＯＭボード３００を接続部１３０から取り外す。次に電源スイッチがオンされたときは、コンフィグレーション回路１１１はコンフィグレーションＲＯＭ１２０に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ１１を形成する。
【００５１】
以上のように上記第２の実施形態では、コンフィグレーションＲＯＭ１２０へのプログラムの書き込みをＦＰＧＡ１１０Ｂの書き込み回路１１５により実行するようにしている。
【００５２】
従って、製造設備を、ＲＯＭ３２０を搭載したコンフィグレーションＲＯＭボード３００といった簡易な構成とすることができ、これにより製造設備の低コスト化に寄与できる。
【００５３】
（第３の実施形態）  
第３の実施形態は、コンフィグレーションＲＯＭに対する書き込み回路をＦＰＧＡに内蔵することで、製造設備の設備費用を下げるとともに、製造設備側のＲＯＭから取得するプログラムに書き込み指示用のヘッダーが付加されているか否かをチェックすることで、接続部の外部コンフィグ端子を不用としたものである。
【００５４】
図８は、本第３の実施形態に係るタイムスイッチ１１の具体的構成を示すブロック図である。図８において、上記図５と同一部分には同一符号を付して詳細な説明を省略する。
【００５５】
本第３の実施形態では、コンフィグレーション回路１１１にヘッダー検出回路１１１ｃを備えるようにしたものである。ヘッダー検出回路１１１ｃは、コンフィグレーションＲＯＭボード３００のＲＯＭ３２０に記憶されたプログラムに書き込みを指示するためのヘッダー情報が付加されているか否かを検出するものである。このヘッダー情報は、図９に示すように、コンフィグレーション回路１１１で識別できるコード（5A A5 01 00）から成る。
【００５６】
また、コンフィグレーションＲＯＭボード３００を接続する接続部１５０は、上記接続部１３０から外部コンフィグ端子１３０ａを削除したものである。
【００５７】
そして、上記制御部１１１ｂは、ヘッダー検出回路１１１ｃによりヘッダー情報を検出した場合に、コンフィグレーションＲＯＭボード３００と書き込み回路１１５との間、書き込み回路１１５とコンフィグレーションＲＯＭ１２０との間を接続するようにマトリクススイッチ１１２を切替制御する。
【００５８】
次に、上記構成における動作について説明する。  
図１０は、コンフィグレーションＲＯＭ１２０にプログラムを書き込む際のコンフィグレーション回路１１１の制御処理手順を示すフローチャートである。
【００５９】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路１１１は接続部１５０に接続されるコンフィグレーションＲＯＭボード３００のＲＯＭ３２０へ接続するようにマトリクススイッチ１１２を切替制御する（ステップＳＴ１０ａ）。そして、コンフィグレーション回路１１１はＲＯＭ３２０に記憶されるプログラムにヘッダー情報を読み込み（ステップＳＴ１０ｂ）、この読み込んだヘッダー情報が識別可能なコードからなるか否かを判定する（ステップＳＴ１０ｃ）。
【００６０】
ここで、ヘッダー情報が識別可能なコードであれば（Ｙｅｓ）、コンフィグレーション回路１１１はコンフィグレーションＲＯＭボード３００と書き込み回路１１５との間、書き込み回路１１５とコンフィグレーションＲＯＭ１２０との間を接続するようにマトリクススイッチ１１２を切替制御する（ステップＳＴ１０ｄ）。
【００６１】
一方、ヘッダー情報が識別不可能なコードである場合やＲＯＭ３２０に記憶されるプログラムにヘッダー情報が付加されていない場合（Ｎｏ）、コンフィグレーション回路１１１はコンフィグレーションＲＯＭ１２０へ接続するようにマトリクススイッチ１１２を切替制御し（ステップＳＴ１０ｅ）、コンフィグレーションＲＯＭ１２０に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ１１を形成する（ステップＳＴ１０ｆ）。
【００６２】
上記ステップＳＴ１０ｄにおいて、書き込み回路１１５は、図１１に示す動作タイミングでプログラムの書き込み処理を行う。
【００６３】
まず、書き込み回路１１５はコンフィグレーションＲＯＭボード３００のＲＯＭ３２０に対しローレベルを示すイネーブル信号（ＳＰＩ  ＣＥ）を送るとともに、データ入力線（ＳＰＩ  ＳＩ）を介してヘッダー情報の読み出しコマンドを送信してＲＯＭ３２０からヘッダー情報を読み出す。ヘッダー情報を受信すると、書き込み回路１１５はローレベルからハイレベルへ変化させたイネーブル信号をＲＯＭ３２０に送る。
【００６４】
このヘッダー情報を受信している期間では、書き込み回路１１５はコンフィグレーションＲＯＭ１２０に対しハイレベルを示すイネーブル信号を送信する。なお、イネーブル信号は、ローレベルを示すとき、書き込み回路１１５がＲＯＭからデータ読み出し可能であることを示し、ハイレベルを示すとき、書き込み回路１１５がＲＯＭからデータ読み出し不可能であることを示す。また、各コマンドをＲＯＭに送る場合、書き込み回路１１５はイネーブル信号がハイレベルからローレベルに変化するタイミングでコマンドを送ることができる。なお、イネーブル信号がローレベルを継続する場合、書き込み回路１１５は次のコマンドをＲＯＭに送ることができない。
【００６５】
書き込み回路１１５は、コンフィグレーションＲＯＭ１２０に対しＩＤ読み出しコマンド（ＩＤ  Ｒｅａｄ）を送信し、コンフィグレーションＲＯＭ１２０に付与されたデバイスＩＤを読み出してデバイスチェックを行い、エラーがあるか否かの判断を行う。ここで、例えばコンフィグレーションＲＯＭ１２０に付されているデバイスＩＤが指定のデバイスＩＤ以外である場合、書き込み回路１１５はコンフィグレーションＲＯＭ１２０に対しローレベルを維持したイネーブル信号を送り、プログラムの書き込み処理を終了する。
【００６６】
一方、コンフィグレーションＲＯＭ１２０に付されているデバイスＩＤが指定のデバイスＩＤである場合、書き込み回路１１５はコンフィグレーションＲＯＭ１２０に対し書き込みコマンド（ＷＥ）を送信してテストデータを書き込み、消去コマンド（Ｅｒａｓｅ）を送信して残っているデータを全て消去する。そして、書き込み回路１１５は完了通知コマンド（Ｂｕｓｙ）を送信し、このコマンドに対しコンフィグレーションＲＯＭ１２０から完了を示すデータが返送された場合に、イネーブル信号をローレベルからハイレベルに変化させる。まだ、完了していない場合、書き込み回路１１５はイネーブル信号をローレベルに維持する。
【００６７】
書き込み回路１１５は、コンフィグレーションＲＯＭボード３００のＲＯＭ３２０に対しアドレスの上位ビットを（００）に指定した読み出しコマンド（Ｒｅａｄ  ＣＭＤ）を送信してＲＯＭ３２０からプログラムを例えば２５６バイト読み出す。そして、コンフィグレーションＲＯＭ１２０に対しアドレスの上位ビットを（８０）に指定した書き込みコマンドを送信して、プログラムをコンフィグレーションＲＯＭ１２０に転送して書き込む。
【００６８】
続いて書き込み回路１１５は、コンフィグレーションＲＯＭ１２０に対し全てのプログラム（例えば２５６×１０２４バイト）の書き込みが完了したか否かの問い合わせを行う。ここで、完了しない場合は、書き込み回路１１５はイネーブル信号をローレベルに維持する。
【００６９】
そして書き込み回路１１５は、全てのプログラムの書き込みが完了したならば、再びコンフィグレーションＲＯＭ１２０に対し上位ビットを（８０）に指定した読み出しコマンドを送信して書き込まれたプログラムを読み出し、さらにコンフィグレーションＲＯＭボード３００のＲＯＭ３２０に対しアドレスの上位ビットを（００）に指定した読み出しコマンドを送信してＲＯＭ３２０からプログラムを読み出してデータ比較を行い、一致するか否かの判断を行う。ここで一致したならば、書き込み回路１１５は処理を終了する。一方、一致しない場合には、書き込み回路１１５はコンフィグレーションＲＯＭ１２０に書き込まれたプログラムを全て消去する。
【００７０】
以上のように上記第３の実施形態では、プログラムに付加されるヘッダー情報を利用することで、ヘッダー情報が検出された場合のみ製造時に使用される正当なコンフィグレーションＲＯＭボード３００と判断して、コンフィグレーションＲＯＭボード３００のＲＯＭ３２０に記憶されるプログラムをコンフィグレーションＲＯＭ１２０に書き込むようにしている。
【００７１】
従って、ヘッダー情報を検出するといった簡単な手順により、コンフィグレーションＲＯＭボード３００のＲＯＭ３２０に記憶されるプログラムをコンフィグレーションＲＯＭ１２０に自動的にかつ高速で書き込むことができる。
【００７２】
（その他の実施形態）  
その他の実施形態は、上記各実施形態に限定されるものではない。例えば、上記各実施形態では、マトリクススイッチを使用する例について説明したが、マトリクススイッチ以外に、コンフィグレーションＲＯＭと製造設備側の書き込み装置またはＲＯＭとの間を接続するルートを形成するものであってもよい。
【００７３】
また、上記第３の実施形態では、コンフィグレーションＲＯＭボードを接続する例について説明したが、パーソナル・コンピュータ等の書き込み装置を接続するものであってもよい。
【００７４】
また、上記各実施形態では、タイムスイッチ以外の任意の通信装置であってもよい。さらに、上記各実施形態では、製造時にコンフィグレーションＲＯＭにプログラムを書き込む例について説明したが、既にコンフィグレーションＲＯＭに書き込まれたプログラムを変更するものであってもよい。例えばタイムスイッチを内線インタフェース回路に変更する場合、接続部に書き込み装置を接続して内線インタフェース回路を実現するためのプログラムをコンフィグレーションＲＯＭに上書きするだけでよい。さらに、タイムスイッチをバージョンアップしたい場合でも、接続部に書き込み装置を接続してバージョンアップさせるためのプログラムをコンフィグレーションＲＯＭに上書きするだけでよい。
【００７５】
その他、通信装置の構成、この通信装置を適用した電話交換システムの構成、コンフィグレーションＲＯＭへのプログラムの書き込み制御手順等についても、種々の変形実施が可能である。
【００７６】
従って、上記各実施形態によれば、電子機器との間の接続端子と、通信処理部及び記憶部のみを設け、記憶部に書き込むプログラムを有する電子機器が接続端子に接続される場合に、その電子機器が有するプログラムを記憶部に書き込む処理を実行することで、記憶部にプログラムを書き込むための端子を、既に設けられている接続端子と共用したので接続端子とは別に専用の書き込み端子を設ける必要がなくなり、これにより記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価なＦＰＧＡを提供することができる。
【符号の説明】
【００７７】
１…電話交換装置、２（２−１〜２−ｉ）…内線端末、１１…タイムスイッチ、１２（１２−１〜１２−ｊ）…局線インタフェース回路、１３（１３−１〜１３−ｉ）…内線インタフェース回路、１４…中央制御部、１５…ＰＣＭハイウェイ、１６…データハイウェイ、１００…ボード、１１０Ａ，１１０Ｂ，１１０Ｃ…ＦＰＧＡ、１２０…コンフィグレーションＲＯＭ、１３０…接続部、１１１…コンフィグレーション回路、１１２…マトリクススイッチ、１１３，１１４…入出力部、１１１ａ…検出部、１１１ｂ…制御部、１１１ｃ…ヘッダー検出回路、１３０ａ…外部コンフィグ端子、２００…書き込み装置、３００…製造用コンフィグレーションＲＯＭボード。
【図１】
2011234308.tif 000003
【図２】
2011234308.tif 000004
【図３】
2011234308.tif 000005
【図４】
2011234308.tif 000006
【図５】
2011234308.tif 000007
【図６】
2011234308.tif 000008
【図７】
2011234308.tif 000009
【図８】
2011234308.tif 000010
【図９】
2011234308.tif 000011
【図１０】
2011234308.tif 000012
【図１１】
2011234308.tif 000013