通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法
【課題】記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得る通信装置を提供する。
【解決手段】タイムスイッチ11において、ボード100上にFPGA110A、コンフィグレーションROM120及び接続部130のみを設け、コンフィグレーションROM120に書き込むための専用端子を、PCMハイウェイ15や制御バスを接続するための接続部130によって共用するようにしている。また、コンフィグレーションROM120へプログラムを書き込む際に、接続部130に接続される書き込み装置200から書き込み要求をコンフィグレーション回路111で受信することで、マトリクススイッチ112により書き込み装置200とコンフィグレーションROM120とを直接接続するようにしている。
【解決手段】タイムスイッチ11において、ボード100上にFPGA110A、コンフィグレーションROM120及び接続部130のみを設け、コンフィグレーションROM120に書き込むための専用端子を、PCMハイウェイ15や制御バスを接続するための接続部130によって共用するようにしている。また、コンフィグレーションROM120へプログラムを書き込む際に、接続部130に接続される書き込み装置200から書き込み要求をコンフィグレーション回路111で受信することで、マトリクススイッチ112により書き込み装置200とコンフィグレーションROM120とを直接接続するようにしている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、例えば電話交換装置のタイムスイッチとして用いられ、記憶部に記憶されたプログラムに基づいて通信処理を行う通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法に関する。
【背景技術】
【0002】
周知のように、電源オン時に、ROMに格納されたプログラムを読み出し、このプログラムに従ったコンフィグレーション動作により音声、画像合成回路、ウォッチドックタイマーなどといった信号処理回路を形成するFPGA(Field Programmable Gate Array)が、各種の電子機器に用いられている。例えば、このようなFPGAをタイムスイッチとして用いた電話交換装置が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−311945号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記FPGAでコンフィグレーション動作を行うためには、FPGAで使用するコンフィグレーション用ROMにプログラムを書き込んでおく必要がある。このコンフィグレーション用ROMへの書き込みは、製造時に予め回路情報をROMに書き込んでおき実装するか、専用の書き込み端子となるJTAG端子を用いて書き込む必要がある。
【0005】
本発明の目的は、記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得る通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法を提供することにある。
【課題を解決するための手段】
【0006】
実施形態によれば、電子機器との間の接続端子と、通信処理部及び記憶部のみを設け、記憶部に書き込むプログラムを有する電子機器が接続端子に接続される場合に、その電子機器が有するプログラムを記憶部に書き込む処理を実行することで、記憶部にプログラムを書き込むための端子は、既に設けられている接続端子と共用するようにした。
【図面の簡単な説明】
【0007】
【図1】本第1の実施形態に係る通信装置をタイムスイッチとして適用した電話交換システムを示すブロック図。
【図2】本第1の実施形態とするタイムスイッチの具体的構成を示すブロック図。
【図3】本第1の実施形態において、書き込み装置とコンフィグレーションROMとの間を接続する際のコンフィグレーション回路の制御処理手順を示すフローチャート。
【図4】本第2の実施形態において、FPGAを搭載したボードの接続部に製造設備側の製造用コンフィグレーションROMボードを接続する例を示す斜視図。
【図5】本第2の実施形態とするタイムスイッチの具体的構成を示すブロック図。
【図6】本第2の実施形態で使用するメモリマップを示す図。
【図7】本第2の実施形態における書き込み回路の制御処理手順を示すフローチャート。
【図8】本第3の実施形態に係るタイムスイッチの具体的構成を示すブロック図。
【図9】本第3の実施形態で取り扱うヘッダー情報を示す図。
【図10】本第3の実施形態において、製造設備側のROMとコンフィグレーションROMとの間を接続する際のコンフィグレーション回路の制御処理手順を示すフローチャート。
【図11】本第3の実施形態において、書き込み回路の動作を説明するためのタイミング図。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照して説明する。
【0009】
(第1の実施形態)
本第1の実施形態は、通信装置に備えられるFPGAのコンフィグレーションROMにプログラムの書き込みを行う製造設備側の書き込み装置とコンフィグレーションROMとの間をマトリックススイッチにより直接接続するようにしたものである。
【0010】
コンフィグレーション用ROMへの書き込みは、製造時に予め回路情報をROMに書き込んでおき実装するか、専用の書き込み端子となるJTAG端子を用いて書き込む必要がある。予め回路情報を記憶したROMを実装した場合、バグの発見などに伴うプログラムの変更が生じると、実装済みのROMを破棄して新たなROMに実装し直さなければならない。また、JTAG端子を用いる場合、FPGAメーカ提供書込ソフトウェアと専用ダウンロードケーブルによって書き込むか、汎用JTAG機器によりプログラムの書き込みを行う方法が一般的である。そのため、設備の導入と製品へのコネクタ実装が必要となり製品コストアップを招く。更に、JTAGでは高速書き込みできない。
【0011】
通常、生産規模に応じて設備導入を行うが、設備操作の工数や導入コストによって製品へのコスト影響が発生し、量産効果の得られない少量製品へのプログラムの書き込みは、設備コストの製品コストへの影響等を考慮すると採用が困難である。
【0012】
本実施の形態では、記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得るものである。
【0013】
図1は、本第1の実施形態に係る通信装置をタイムスイッチとして適用した電話交換システムを示すブロック図である。
【0014】
この電話交換システムは、同図に示すように、電話交換装置1に、複数(最大i個)の内線端末2(2−1〜2−i)を任意に接続して構成されている。なお、内線端末2には、アナログ電話機またはデジタルボタン電話機等が使用される。
【0015】
電話交換装置1は、さらに、タイムスイッチ11、複数(j個)の局線インタフェース回路12(12−1〜12−j)、複数(i個)の内線インタフェース回路13(13−1〜13−i)、中央制御部14を備える。このうち、タイムスイッチ11、局線インタフェース回路12及び内線インタフェース回路13は、PCMハイウェイ15を介して互いに接続されている。
【0016】
また、局線インタフェース回路12、内線インタフェース回路13及び中央制御部14は、データハイウェイ16を介して互いに接続されている。なお、タイムスイッチ11は、中央制御部14に直接接続されている。
【0017】
タイムスイッチ11は、中央制御部14の制御に基づいて、局線インタフェース回路12と内線インタフェース回路13との間でPCMハイウェイ15を介して通信パスを確立するための処理を行う。
【0018】
局線インタフェース回路12には、公衆回線や専用線などの局線L(L−1〜L−j)が必要に応じて接続される。局線インタフェース回路12は、接続された局線Lに関する局線インタフェース動作を行なう。また、局線インタフェース回路12は、局線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ16を介して中央制御部14との間で行なう。
【0019】
内線インタフェース回路13には、内線端末2が必要に応じて接続される。内線インタフェース回路13は、接続された内線端末2に関する内線インタフェース動作を行なう。また、内線インタフェース回路13は、内線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ16を介して中央制御部14との間で行なう。
【0020】
中央制御部14は、タイムスイッチ11、局線インタフェース回路12及び内線インタフェース回路13のそれぞれを総括制御し、電話交換装置1としての動作を実現する。例えば、各内線端末2−1〜2−iの発呼要求に伴う発信処理や、局線Lからの外線着信に伴う通常の着信処理、内線端末2−1〜2−i間の転送処理等を実行する。
【0021】
ところで、この第1の実施形態では、タイムスイッチ11をFPGAによるコンフィグレーション動作により実現するようにしている。図2は、タイムスイッチ11の具体的構成を示すブロック図である。
【0022】
このタイムスイッチ11は、ボード100上にFPGA110Aと、コンフィグレーションROM120と、外部機器が接続される接続部130とを実装している。このコンフィグレーションROM120には、タイムスイッチ11としての動作を実現するためのプログラムが格納されることになる。
【0023】
また、FPGA110Aは、コンフィグレーション回路111と、マトリクススイッチ112と、入出力部113,114とを備えている。入出力部113は、コンフィグレーションROM120との間で信号の授受を行うための接続端子である。また、入出力部114は、接続部130に接続される電子機器との間で信号の授受を行うための接続端子である。
【0024】
コンフィグレーション回路111は、マトリクススイッチ112及び入出力部113を介して接続されるコンフィグレーションROM120からプログラムを読み出し、このプログラムに基づいてコンフィグレーション動作を行うことで、タイムスイッチ11を形成するものである。また、コンフィグレーション回路111には、本第1の実施形態に係わる検出部111a及び制御部111bが備えられる。この検出部111aは、例えば製造設備の書き込み装置200から接続部130の外部コンフィグ端子130aを介してプログラムの書き込み要求(EXT CONFIG)を受信した場合に、書き込み装置200が接続部130に接続されたことを検出する。
【0025】
制御部111bは、上記検出部111aにより接続部130に接続された書き込み装置200を検出した場合に、マトリクススイッチ112を切替制御して書き込み装置200とコンフィグレーションROM120とを直接接続させる。
【0026】
また、上記接続部130には、通常、PCMハイウェイ15が接続され、さらに中央制御部14を接続する制御バスが接続される。本第1の実施形態では、この接続部130をPCMハイウェイ15及び制御バスの接続に限ることなく、書き込み装置200の接続にも兼用するようにした。
【0027】
次に、上記構成における動作について説明する。
FPGA110Aに必要なコンフィグレーションROM120は、専用端子となる入出力部113に接続されている。コンフィギュレーション後には専用端子からI/Oに切り替えられる機能を持っているものも存在するが、メモリを保護するため、利用できる信号は限られる。このため、製品に備えらたボードの外部拡張機器や表示器・SW等との入出力信号端子のピンとは接続を分離する必要がある。外部の書き込み装置200から書き込みを行うためには専用端子をボード100に設置する必要があり、製品コストが上昇することになる。
【0028】
そこで、コンフィグレーションROM120を高速かつ、製品コストへの影響を与えないインシステムプログラム(ISP)書き込みを実現するために、FPGA110A内部のマトリクススイッチ112への固定接続を設定する外部コンフィグ端子130aを設け、この端子情報によって固定接続を実施し、製品に実装される外部端子ピンなどと信号接続できる経路を構成する。
【0029】
図3は、書き込み装置200とコンフィグレーションROM120との間を接続する際のコンフィグレーション回路111の制御処理手順を示すフローチャートである。
【0030】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路111は接続部130に接続される書き込み装置200から書き込み要求が送られるか否かの判断を行う(ステップST3a)。ここで、書き込み装置200から書き込み要求を受信した場合(Yes)、コンフィグレーション回路111は書き込み装置200とコンフィグレーションROM120との間を直接接続するようにマトリクススイッチ112を切替制御する(ステップST3b)。
【0031】
一方、電源スイッチがオンされた後、外部コンフィグ端子130aを介して書き込み装置200が検出できない場合(No)、コンフィグレーション回路111は接続部130に例えばPCMハイウェイ15や制御バス等が接続されているものと判断して、コンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する(ステップST3c)。なお、接続部130に例えばPCMハイウェイ15や制御バス等が接続される場合、外部コンフィグ端子130aには接続されないものとする。
【0032】
以上のような動作によって、コンフィグレーションROM120にプログラムの書き込みを行う場合、ボード100に接続部130とは別に専用の書き込み端子を設置する必要があったが、本第1の実施形態の場合、接続部130に書き込み装置200を接続するだけでよい。また、書き込み装置200には、接続部130に接続可能な汎用のパーソナル・コンピュータを用いることもできるので、製造設備の低コスト化にも寄与できる。
【0033】
以上のように上記第1の実施形態では、タイムスイッチ11において、ボード100上にFPGA110A、コンフィグレーションROM120及び接続部130のみを設け、コンフィグレーションROM120に書き込むための専用端子を、PCMハイウェイ15や制御バスを接続するための接続部130によって共用するようにしている。また、コンフィグレーションROM120へプログラムを書き込む際に、接続部130に接続される書き込み装置200から書き込み要求をコンフィグレーション回路111で受信することで、マトリクススイッチ112により書き込み装置200とコンフィグレーションROM120とを直接接続するようにしている。
【0034】
従って、接続部130とは別に専用の書き込み端子を設ける必要がなくなり、これによりコンフィグレーションROM120へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかもタイムスイッチ11を比較的簡単かつ小型に構成することができる。
【0035】
また、上記第1の実施形態では、マトリクススイッチ112により書き込み装置200とコンフィグレーションROM120とを直接接続することで、プログラムの書き込みにコンフィグレーション回路111が介在することなく、プログラムの書き込みを短時間で完了させることができ、これにより高速ISPに対応することが可能となる。
【0036】
(第2の実施形態)
第2の実施形態は、コンフィグレーションROMに対する書き込み回路をFPGAに内蔵することで、製造設備の設備費用を下げるようにしたものである。
【0037】
図4は、ボード100の接続部130に製造設備側の製造用コンフィグレーションROMボード300を接続する例を示す斜視図である。
【0038】
製造用コンフィグレーションROMボード300は、ボード310上にSPI-FLASHなどのROM320を搭載したものである。また、ボード100上には、コンフィグレーションROM120へのプログラムの書き込み中または書き込みが終了した旨を外部に通知するためのLED140が設けられる。ここでは、LED140は、プログラムの書き込み中に青色表示を行い、書き込み終了した場合に赤色表示を行う。
【0039】
図5は、本第2の実施形態に係るタイムスイッチ11の具体的構成を示すブロック図である。図5において、上記図2と同一部分には同一符号を付して詳細な説明を省略する。
【0040】
本第2の実施形態では、FPGA110B内に書き込み回路115を備えるようにしている。書き込み回路115は、電源オン時に、マトリクススイッチ112によりコンフィグレーションROMボード300及びコンフィグレーションROM120と接続されると、図6に示すアドレスマップに基づいて、アドレス先頭に対応するコンフィグレーションROMボード300のROM320からプログラムを読み出し、このプログラムをコンフィグレーションROM120に書き込む。
【0041】
次に、上記構成における動作について説明する。
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路111は接続部130に接続されるコンフィグレーションROMボード300から書き込み要求が送られるか否かの判断を行う。ここでは、接続部130の外部コンフィグ端子130aにコンフィグレーションROMボード300が接続されて電源スイッチがオンされると、外部コンフィグ端子130aからコンフィグレーション回路111へ書き込み要求に対応する信号が送られることになる。
【0042】
ここで、コンフィグレーションROMボード300から書き込み要求に対応する信号を受信した場合、コンフィグレーション回路111はコンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間を接続するようにマトリクススイッチ112を切替制御する。
【0043】
一方、電源スイッチがオンされた後、外部コンフィグ端子130aを介してコンフィグレーションROMボード300が検出できない場合、コンフィグレーション回路111は接続部130に例えばPCMハイウェイ15や制御バス等が接続されているものと判断して、コンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する。
【0044】
コンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間が接続されると、書き込み回路115は図7に示す制御処理手順を実行する。
【0045】
まず、書き込み回路115はコンフィグレーションROMボード300のROM320のデバイスチェックを行うとともに、コンフィグレーションROM120のデバイスチェックを行い(ステップST7a)、エラーがあるか否かの判断を行う(ステップST7b)。ここで、例えばコンフィグレーションROM120に付されているデバイスIDが指定のデバイスID以外である場合(Yes)、書き込み回路115はプログラムの書き込み処理を終了する。
【0046】
一方、コンフィグレーションROM120に付されているデバイスIDが指定のデバイスIDである場合(No)、書き込み回路115はコンフィグレーションROM120に残っているデータを全て消去する(ステップST7c)。ここで、消去が完了すると、書き込み回路115はステップST7dからステップST7eに移行してここでコンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンドを送信してROM320からプログラムを例えば256バイト読み出す。そして、コンフィグレーションROM120に対しアドレスの上位ビットを(80)に指定した書き込みコマンドを送信して、プログラムをコンフィグレーションROM120に転送して書き込む(ステップST7f)。
【0047】
続いて書き込み回路115は、全てのプログラム(例えば4Mビット)の書き込みが完了したか否かの判断を行い(ステップST7g)、完了するまでステップST7e乃至ステップST7gの処理を繰り返し実行する。
【0048】
そして書き込み回路115は、全てのプログラムの書き込みが完了したならば(Yes)、再びコンフィグレーションROM120に対し上位ビットを(80)に指定した読み出しコマンドを送信して書き込まれたプログラムを読み出し、さらにコンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンドを送信してROM320からプログラムを読み出してデータ比較を行い(ステップST7h)、一致するか否かの判断を行う(ステップST7i)。ここで一致したならば(Yes)、書き込み回路115は処理を終了する。一方、一致しない場合には、書き込み回路115はコンフィグレーションROM120に書き込まれたプログラムを全て消去する(ステップST7j)。
【0049】
ここで、上記処理が完了した場合に、書き込み回路115は書き込み終了の旨をLED140により表示させる。この場合、LED140は赤色に点灯される。
【0050】
この状態で製造設備側の保守者は、図示しない電源スイッチをオフにし、コンフィグレーションROMボード300を接続部130から取り外す。次に電源スイッチがオンされたときは、コンフィグレーション回路111はコンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する。
【0051】
以上のように上記第2の実施形態では、コンフィグレーションROM120へのプログラムの書き込みをFPGA110Bの書き込み回路115により実行するようにしている。
【0052】
従って、製造設備を、ROM320を搭載したコンフィグレーションROMボード300といった簡易な構成とすることができ、これにより製造設備の低コスト化に寄与できる。
【0053】
(第3の実施形態)
第3の実施形態は、コンフィグレーションROMに対する書き込み回路をFPGAに内蔵することで、製造設備の設備費用を下げるとともに、製造設備側のROMから取得するプログラムに書き込み指示用のヘッダーが付加されているか否かをチェックすることで、接続部の外部コンフィグ端子を不用としたものである。
【0054】
図8は、本第3の実施形態に係るタイムスイッチ11の具体的構成を示すブロック図である。図8において、上記図5と同一部分には同一符号を付して詳細な説明を省略する。
【0055】
本第3の実施形態では、コンフィグレーション回路111にヘッダー検出回路111cを備えるようにしたものである。ヘッダー検出回路111cは、コンフィグレーションROMボード300のROM320に記憶されたプログラムに書き込みを指示するためのヘッダー情報が付加されているか否かを検出するものである。このヘッダー情報は、図9に示すように、コンフィグレーション回路111で識別できるコード(5A A5 01 00)から成る。
【0056】
また、コンフィグレーションROMボード300を接続する接続部150は、上記接続部130から外部コンフィグ端子130aを削除したものである。
【0057】
そして、上記制御部111bは、ヘッダー検出回路111cによりヘッダー情報を検出した場合に、コンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間を接続するようにマトリクススイッチ112を切替制御する。
【0058】
次に、上記構成における動作について説明する。
図10は、コンフィグレーションROM120にプログラムを書き込む際のコンフィグレーション回路111の制御処理手順を示すフローチャートである。
【0059】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路111は接続部150に接続されるコンフィグレーションROMボード300のROM320へ接続するようにマトリクススイッチ112を切替制御する(ステップST10a)。そして、コンフィグレーション回路111はROM320に記憶されるプログラムにヘッダー情報を読み込み(ステップST10b)、この読み込んだヘッダー情報が識別可能なコードからなるか否かを判定する(ステップST10c)。
【0060】
ここで、ヘッダー情報が識別可能なコードであれば(Yes)、コンフィグレーション回路111はコンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間を接続するようにマトリクススイッチ112を切替制御する(ステップST10d)。
【0061】
一方、ヘッダー情報が識別不可能なコードである場合やROM320に記憶されるプログラムにヘッダー情報が付加されていない場合(No)、コンフィグレーション回路111はコンフィグレーションROM120へ接続するようにマトリクススイッチ112を切替制御し(ステップST10e)、コンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する(ステップST10f)。
【0062】
上記ステップST10dにおいて、書き込み回路115は、図11に示す動作タイミングでプログラムの書き込み処理を行う。
【0063】
まず、書き込み回路115はコンフィグレーションROMボード300のROM320に対しローレベルを示すイネーブル信号(SPI CE)を送るとともに、データ入力線(SPI SI)を介してヘッダー情報の読み出しコマンドを送信してROM320からヘッダー情報を読み出す。ヘッダー情報を受信すると、書き込み回路115はローレベルからハイレベルへ変化させたイネーブル信号をROM320に送る。
【0064】
このヘッダー情報を受信している期間では、書き込み回路115はコンフィグレーションROM120に対しハイレベルを示すイネーブル信号を送信する。なお、イネーブル信号は、ローレベルを示すとき、書き込み回路115がROMからデータ読み出し可能であることを示し、ハイレベルを示すとき、書き込み回路115がROMからデータ読み出し不可能であることを示す。また、各コマンドをROMに送る場合、書き込み回路115はイネーブル信号がハイレベルからローレベルに変化するタイミングでコマンドを送ることができる。なお、イネーブル信号がローレベルを継続する場合、書き込み回路115は次のコマンドをROMに送ることができない。
【0065】
書き込み回路115は、コンフィグレーションROM120に対しID読み出しコマンド(ID Read)を送信し、コンフィグレーションROM120に付与されたデバイスIDを読み出してデバイスチェックを行い、エラーがあるか否かの判断を行う。ここで、例えばコンフィグレーションROM120に付されているデバイスIDが指定のデバイスID以外である場合、書き込み回路115はコンフィグレーションROM120に対しローレベルを維持したイネーブル信号を送り、プログラムの書き込み処理を終了する。
【0066】
一方、コンフィグレーションROM120に付されているデバイスIDが指定のデバイスIDである場合、書き込み回路115はコンフィグレーションROM120に対し書き込みコマンド(WE)を送信してテストデータを書き込み、消去コマンド(Erase)を送信して残っているデータを全て消去する。そして、書き込み回路115は完了通知コマンド(Busy)を送信し、このコマンドに対しコンフィグレーションROM120から完了を示すデータが返送された場合に、イネーブル信号をローレベルからハイレベルに変化させる。まだ、完了していない場合、書き込み回路115はイネーブル信号をローレベルに維持する。
【0067】
書き込み回路115は、コンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンド(Read CMD)を送信してROM320からプログラムを例えば256バイト読み出す。そして、コンフィグレーションROM120に対しアドレスの上位ビットを(80)に指定した書き込みコマンドを送信して、プログラムをコンフィグレーションROM120に転送して書き込む。
【0068】
続いて書き込み回路115は、コンフィグレーションROM120に対し全てのプログラム(例えば256×1024バイト)の書き込みが完了したか否かの問い合わせを行う。ここで、完了しない場合は、書き込み回路115はイネーブル信号をローレベルに維持する。
【0069】
そして書き込み回路115は、全てのプログラムの書き込みが完了したならば、再びコンフィグレーションROM120に対し上位ビットを(80)に指定した読み出しコマンドを送信して書き込まれたプログラムを読み出し、さらにコンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンドを送信してROM320からプログラムを読み出してデータ比較を行い、一致するか否かの判断を行う。ここで一致したならば、書き込み回路115は処理を終了する。一方、一致しない場合には、書き込み回路115はコンフィグレーションROM120に書き込まれたプログラムを全て消去する。
【0070】
以上のように上記第3の実施形態では、プログラムに付加されるヘッダー情報を利用することで、ヘッダー情報が検出された場合のみ製造時に使用される正当なコンフィグレーションROMボード300と判断して、コンフィグレーションROMボード300のROM320に記憶されるプログラムをコンフィグレーションROM120に書き込むようにしている。
【0071】
従って、ヘッダー情報を検出するといった簡単な手順により、コンフィグレーションROMボード300のROM320に記憶されるプログラムをコンフィグレーションROM120に自動的にかつ高速で書き込むことができる。
【0072】
(その他の実施形態)
その他の実施形態は、上記各実施形態に限定されるものではない。例えば、上記各実施形態では、マトリクススイッチを使用する例について説明したが、マトリクススイッチ以外に、コンフィグレーションROMと製造設備側の書き込み装置またはROMとの間を接続するルートを形成するものであってもよい。
【0073】
また、上記第3の実施形態では、コンフィグレーションROMボードを接続する例について説明したが、パーソナル・コンピュータ等の書き込み装置を接続するものであってもよい。
【0074】
また、上記各実施形態では、タイムスイッチ以外の任意の通信装置であってもよい。さらに、上記各実施形態では、製造時にコンフィグレーションROMにプログラムを書き込む例について説明したが、既にコンフィグレーションROMに書き込まれたプログラムを変更するものであってもよい。例えばタイムスイッチを内線インタフェース回路に変更する場合、接続部に書き込み装置を接続して内線インタフェース回路を実現するためのプログラムをコンフィグレーションROMに上書きするだけでよい。さらに、タイムスイッチをバージョンアップしたい場合でも、接続部に書き込み装置を接続してバージョンアップさせるためのプログラムをコンフィグレーションROMに上書きするだけでよい。
【0075】
その他、通信装置の構成、この通信装置を適用した電話交換システムの構成、コンフィグレーションROMへのプログラムの書き込み制御手順等についても、種々の変形実施が可能である。
【0076】
従って、上記各実施形態によれば、電子機器との間の接続端子と、通信処理部及び記憶部のみを設け、記憶部に書き込むプログラムを有する電子機器が接続端子に接続される場合に、その電子機器が有するプログラムを記憶部に書き込む処理を実行することで、記憶部にプログラムを書き込むための端子を、既に設けられている接続端子と共用したので接続端子とは別に専用の書き込み端子を設ける必要がなくなり、これにより記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価なFPGAを提供することができる。
【符号の説明】
【0077】
1…電話交換装置、2(2−1〜2−i)…内線端末、11…タイムスイッチ、12(12−1〜12−j)…局線インタフェース回路、13(13−1〜13−i)…内線インタフェース回路、14…中央制御部、15…PCMハイウェイ、16…データハイウェイ、100…ボード、110A,110B,110C…FPGA、120…コンフィグレーションROM、130…接続部、111…コンフィグレーション回路、112…マトリクススイッチ、113,114…入出力部、111a…検出部、111b…制御部、111c…ヘッダー検出回路、130a…外部コンフィグ端子、200…書き込み装置、300…製造用コンフィグレーションROMボード。
【技術分野】
【0001】
本発明の実施形態は、例えば電話交換装置のタイムスイッチとして用いられ、記憶部に記憶されたプログラムに基づいて通信処理を行う通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法に関する。
【背景技術】
【0002】
周知のように、電源オン時に、ROMに格納されたプログラムを読み出し、このプログラムに従ったコンフィグレーション動作により音声、画像合成回路、ウォッチドックタイマーなどといった信号処理回路を形成するFPGA(Field Programmable Gate Array)が、各種の電子機器に用いられている。例えば、このようなFPGAをタイムスイッチとして用いた電話交換装置が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−311945号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記FPGAでコンフィグレーション動作を行うためには、FPGAで使用するコンフィグレーション用ROMにプログラムを書き込んでおく必要がある。このコンフィグレーション用ROMへの書き込みは、製造時に予め回路情報をROMに書き込んでおき実装するか、専用の書き込み端子となるJTAG端子を用いて書き込む必要がある。
【0005】
本発明の目的は、記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得る通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法を提供することにある。
【課題を解決するための手段】
【0006】
実施形態によれば、電子機器との間の接続端子と、通信処理部及び記憶部のみを設け、記憶部に書き込むプログラムを有する電子機器が接続端子に接続される場合に、その電子機器が有するプログラムを記憶部に書き込む処理を実行することで、記憶部にプログラムを書き込むための端子は、既に設けられている接続端子と共用するようにした。
【図面の簡単な説明】
【0007】
【図1】本第1の実施形態に係る通信装置をタイムスイッチとして適用した電話交換システムを示すブロック図。
【図2】本第1の実施形態とするタイムスイッチの具体的構成を示すブロック図。
【図3】本第1の実施形態において、書き込み装置とコンフィグレーションROMとの間を接続する際のコンフィグレーション回路の制御処理手順を示すフローチャート。
【図4】本第2の実施形態において、FPGAを搭載したボードの接続部に製造設備側の製造用コンフィグレーションROMボードを接続する例を示す斜視図。
【図5】本第2の実施形態とするタイムスイッチの具体的構成を示すブロック図。
【図6】本第2の実施形態で使用するメモリマップを示す図。
【図7】本第2の実施形態における書き込み回路の制御処理手順を示すフローチャート。
【図8】本第3の実施形態に係るタイムスイッチの具体的構成を示すブロック図。
【図9】本第3の実施形態で取り扱うヘッダー情報を示す図。
【図10】本第3の実施形態において、製造設備側のROMとコンフィグレーションROMとの間を接続する際のコンフィグレーション回路の制御処理手順を示すフローチャート。
【図11】本第3の実施形態において、書き込み回路の動作を説明するためのタイミング図。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照して説明する。
【0009】
(第1の実施形態)
本第1の実施形態は、通信装置に備えられるFPGAのコンフィグレーションROMにプログラムの書き込みを行う製造設備側の書き込み装置とコンフィグレーションROMとの間をマトリックススイッチにより直接接続するようにしたものである。
【0010】
コンフィグレーション用ROMへの書き込みは、製造時に予め回路情報をROMに書き込んでおき実装するか、専用の書き込み端子となるJTAG端子を用いて書き込む必要がある。予め回路情報を記憶したROMを実装した場合、バグの発見などに伴うプログラムの変更が生じると、実装済みのROMを破棄して新たなROMに実装し直さなければならない。また、JTAG端子を用いる場合、FPGAメーカ提供書込ソフトウェアと専用ダウンロードケーブルによって書き込むか、汎用JTAG機器によりプログラムの書き込みを行う方法が一般的である。そのため、設備の導入と製品へのコネクタ実装が必要となり製品コストアップを招く。更に、JTAGでは高速書き込みできない。
【0011】
通常、生産規模に応じて設備導入を行うが、設備操作の工数や導入コストによって製品へのコスト影響が発生し、量産効果の得られない少量製品へのプログラムの書き込みは、設備コストの製品コストへの影響等を考慮すると採用が困難である。
【0012】
本実施の形態では、記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価に実現し得るものである。
【0013】
図1は、本第1の実施形態に係る通信装置をタイムスイッチとして適用した電話交換システムを示すブロック図である。
【0014】
この電話交換システムは、同図に示すように、電話交換装置1に、複数(最大i個)の内線端末2(2−1〜2−i)を任意に接続して構成されている。なお、内線端末2には、アナログ電話機またはデジタルボタン電話機等が使用される。
【0015】
電話交換装置1は、さらに、タイムスイッチ11、複数(j個)の局線インタフェース回路12(12−1〜12−j)、複数(i個)の内線インタフェース回路13(13−1〜13−i)、中央制御部14を備える。このうち、タイムスイッチ11、局線インタフェース回路12及び内線インタフェース回路13は、PCMハイウェイ15を介して互いに接続されている。
【0016】
また、局線インタフェース回路12、内線インタフェース回路13及び中央制御部14は、データハイウェイ16を介して互いに接続されている。なお、タイムスイッチ11は、中央制御部14に直接接続されている。
【0017】
タイムスイッチ11は、中央制御部14の制御に基づいて、局線インタフェース回路12と内線インタフェース回路13との間でPCMハイウェイ15を介して通信パスを確立するための処理を行う。
【0018】
局線インタフェース回路12には、公衆回線や専用線などの局線L(L−1〜L−j)が必要に応じて接続される。局線インタフェース回路12は、接続された局線Lに関する局線インタフェース動作を行なう。また、局線インタフェース回路12は、局線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ16を介して中央制御部14との間で行なう。
【0019】
内線インタフェース回路13には、内線端末2が必要に応じて接続される。内線インタフェース回路13は、接続された内線端末2に関する内線インタフェース動作を行なう。また、内線インタフェース回路13は、内線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ16を介して中央制御部14との間で行なう。
【0020】
中央制御部14は、タイムスイッチ11、局線インタフェース回路12及び内線インタフェース回路13のそれぞれを総括制御し、電話交換装置1としての動作を実現する。例えば、各内線端末2−1〜2−iの発呼要求に伴う発信処理や、局線Lからの外線着信に伴う通常の着信処理、内線端末2−1〜2−i間の転送処理等を実行する。
【0021】
ところで、この第1の実施形態では、タイムスイッチ11をFPGAによるコンフィグレーション動作により実現するようにしている。図2は、タイムスイッチ11の具体的構成を示すブロック図である。
【0022】
このタイムスイッチ11は、ボード100上にFPGA110Aと、コンフィグレーションROM120と、外部機器が接続される接続部130とを実装している。このコンフィグレーションROM120には、タイムスイッチ11としての動作を実現するためのプログラムが格納されることになる。
【0023】
また、FPGA110Aは、コンフィグレーション回路111と、マトリクススイッチ112と、入出力部113,114とを備えている。入出力部113は、コンフィグレーションROM120との間で信号の授受を行うための接続端子である。また、入出力部114は、接続部130に接続される電子機器との間で信号の授受を行うための接続端子である。
【0024】
コンフィグレーション回路111は、マトリクススイッチ112及び入出力部113を介して接続されるコンフィグレーションROM120からプログラムを読み出し、このプログラムに基づいてコンフィグレーション動作を行うことで、タイムスイッチ11を形成するものである。また、コンフィグレーション回路111には、本第1の実施形態に係わる検出部111a及び制御部111bが備えられる。この検出部111aは、例えば製造設備の書き込み装置200から接続部130の外部コンフィグ端子130aを介してプログラムの書き込み要求(EXT CONFIG)を受信した場合に、書き込み装置200が接続部130に接続されたことを検出する。
【0025】
制御部111bは、上記検出部111aにより接続部130に接続された書き込み装置200を検出した場合に、マトリクススイッチ112を切替制御して書き込み装置200とコンフィグレーションROM120とを直接接続させる。
【0026】
また、上記接続部130には、通常、PCMハイウェイ15が接続され、さらに中央制御部14を接続する制御バスが接続される。本第1の実施形態では、この接続部130をPCMハイウェイ15及び制御バスの接続に限ることなく、書き込み装置200の接続にも兼用するようにした。
【0027】
次に、上記構成における動作について説明する。
FPGA110Aに必要なコンフィグレーションROM120は、専用端子となる入出力部113に接続されている。コンフィギュレーション後には専用端子からI/Oに切り替えられる機能を持っているものも存在するが、メモリを保護するため、利用できる信号は限られる。このため、製品に備えらたボードの外部拡張機器や表示器・SW等との入出力信号端子のピンとは接続を分離する必要がある。外部の書き込み装置200から書き込みを行うためには専用端子をボード100に設置する必要があり、製品コストが上昇することになる。
【0028】
そこで、コンフィグレーションROM120を高速かつ、製品コストへの影響を与えないインシステムプログラム(ISP)書き込みを実現するために、FPGA110A内部のマトリクススイッチ112への固定接続を設定する外部コンフィグ端子130aを設け、この端子情報によって固定接続を実施し、製品に実装される外部端子ピンなどと信号接続できる経路を構成する。
【0029】
図3は、書き込み装置200とコンフィグレーションROM120との間を接続する際のコンフィグレーション回路111の制御処理手順を示すフローチャートである。
【0030】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路111は接続部130に接続される書き込み装置200から書き込み要求が送られるか否かの判断を行う(ステップST3a)。ここで、書き込み装置200から書き込み要求を受信した場合(Yes)、コンフィグレーション回路111は書き込み装置200とコンフィグレーションROM120との間を直接接続するようにマトリクススイッチ112を切替制御する(ステップST3b)。
【0031】
一方、電源スイッチがオンされた後、外部コンフィグ端子130aを介して書き込み装置200が検出できない場合(No)、コンフィグレーション回路111は接続部130に例えばPCMハイウェイ15や制御バス等が接続されているものと判断して、コンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する(ステップST3c)。なお、接続部130に例えばPCMハイウェイ15や制御バス等が接続される場合、外部コンフィグ端子130aには接続されないものとする。
【0032】
以上のような動作によって、コンフィグレーションROM120にプログラムの書き込みを行う場合、ボード100に接続部130とは別に専用の書き込み端子を設置する必要があったが、本第1の実施形態の場合、接続部130に書き込み装置200を接続するだけでよい。また、書き込み装置200には、接続部130に接続可能な汎用のパーソナル・コンピュータを用いることもできるので、製造設備の低コスト化にも寄与できる。
【0033】
以上のように上記第1の実施形態では、タイムスイッチ11において、ボード100上にFPGA110A、コンフィグレーションROM120及び接続部130のみを設け、コンフィグレーションROM120に書き込むための専用端子を、PCMハイウェイ15や制御バスを接続するための接続部130によって共用するようにしている。また、コンフィグレーションROM120へプログラムを書き込む際に、接続部130に接続される書き込み装置200から書き込み要求をコンフィグレーション回路111で受信することで、マトリクススイッチ112により書き込み装置200とコンフィグレーションROM120とを直接接続するようにしている。
【0034】
従って、接続部130とは別に専用の書き込み端子を設ける必要がなくなり、これによりコンフィグレーションROM120へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかもタイムスイッチ11を比較的簡単かつ小型に構成することができる。
【0035】
また、上記第1の実施形態では、マトリクススイッチ112により書き込み装置200とコンフィグレーションROM120とを直接接続することで、プログラムの書き込みにコンフィグレーション回路111が介在することなく、プログラムの書き込みを短時間で完了させることができ、これにより高速ISPに対応することが可能となる。
【0036】
(第2の実施形態)
第2の実施形態は、コンフィグレーションROMに対する書き込み回路をFPGAに内蔵することで、製造設備の設備費用を下げるようにしたものである。
【0037】
図4は、ボード100の接続部130に製造設備側の製造用コンフィグレーションROMボード300を接続する例を示す斜視図である。
【0038】
製造用コンフィグレーションROMボード300は、ボード310上にSPI-FLASHなどのROM320を搭載したものである。また、ボード100上には、コンフィグレーションROM120へのプログラムの書き込み中または書き込みが終了した旨を外部に通知するためのLED140が設けられる。ここでは、LED140は、プログラムの書き込み中に青色表示を行い、書き込み終了した場合に赤色表示を行う。
【0039】
図5は、本第2の実施形態に係るタイムスイッチ11の具体的構成を示すブロック図である。図5において、上記図2と同一部分には同一符号を付して詳細な説明を省略する。
【0040】
本第2の実施形態では、FPGA110B内に書き込み回路115を備えるようにしている。書き込み回路115は、電源オン時に、マトリクススイッチ112によりコンフィグレーションROMボード300及びコンフィグレーションROM120と接続されると、図6に示すアドレスマップに基づいて、アドレス先頭に対応するコンフィグレーションROMボード300のROM320からプログラムを読み出し、このプログラムをコンフィグレーションROM120に書き込む。
【0041】
次に、上記構成における動作について説明する。
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路111は接続部130に接続されるコンフィグレーションROMボード300から書き込み要求が送られるか否かの判断を行う。ここでは、接続部130の外部コンフィグ端子130aにコンフィグレーションROMボード300が接続されて電源スイッチがオンされると、外部コンフィグ端子130aからコンフィグレーション回路111へ書き込み要求に対応する信号が送られることになる。
【0042】
ここで、コンフィグレーションROMボード300から書き込み要求に対応する信号を受信した場合、コンフィグレーション回路111はコンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間を接続するようにマトリクススイッチ112を切替制御する。
【0043】
一方、電源スイッチがオンされた後、外部コンフィグ端子130aを介してコンフィグレーションROMボード300が検出できない場合、コンフィグレーション回路111は接続部130に例えばPCMハイウェイ15や制御バス等が接続されているものと判断して、コンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する。
【0044】
コンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間が接続されると、書き込み回路115は図7に示す制御処理手順を実行する。
【0045】
まず、書き込み回路115はコンフィグレーションROMボード300のROM320のデバイスチェックを行うとともに、コンフィグレーションROM120のデバイスチェックを行い(ステップST7a)、エラーがあるか否かの判断を行う(ステップST7b)。ここで、例えばコンフィグレーションROM120に付されているデバイスIDが指定のデバイスID以外である場合(Yes)、書き込み回路115はプログラムの書き込み処理を終了する。
【0046】
一方、コンフィグレーションROM120に付されているデバイスIDが指定のデバイスIDである場合(No)、書き込み回路115はコンフィグレーションROM120に残っているデータを全て消去する(ステップST7c)。ここで、消去が完了すると、書き込み回路115はステップST7dからステップST7eに移行してここでコンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンドを送信してROM320からプログラムを例えば256バイト読み出す。そして、コンフィグレーションROM120に対しアドレスの上位ビットを(80)に指定した書き込みコマンドを送信して、プログラムをコンフィグレーションROM120に転送して書き込む(ステップST7f)。
【0047】
続いて書き込み回路115は、全てのプログラム(例えば4Mビット)の書き込みが完了したか否かの判断を行い(ステップST7g)、完了するまでステップST7e乃至ステップST7gの処理を繰り返し実行する。
【0048】
そして書き込み回路115は、全てのプログラムの書き込みが完了したならば(Yes)、再びコンフィグレーションROM120に対し上位ビットを(80)に指定した読み出しコマンドを送信して書き込まれたプログラムを読み出し、さらにコンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンドを送信してROM320からプログラムを読み出してデータ比較を行い(ステップST7h)、一致するか否かの判断を行う(ステップST7i)。ここで一致したならば(Yes)、書き込み回路115は処理を終了する。一方、一致しない場合には、書き込み回路115はコンフィグレーションROM120に書き込まれたプログラムを全て消去する(ステップST7j)。
【0049】
ここで、上記処理が完了した場合に、書き込み回路115は書き込み終了の旨をLED140により表示させる。この場合、LED140は赤色に点灯される。
【0050】
この状態で製造設備側の保守者は、図示しない電源スイッチをオフにし、コンフィグレーションROMボード300を接続部130から取り外す。次に電源スイッチがオンされたときは、コンフィグレーション回路111はコンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する。
【0051】
以上のように上記第2の実施形態では、コンフィグレーションROM120へのプログラムの書き込みをFPGA110Bの書き込み回路115により実行するようにしている。
【0052】
従って、製造設備を、ROM320を搭載したコンフィグレーションROMボード300といった簡易な構成とすることができ、これにより製造設備の低コスト化に寄与できる。
【0053】
(第3の実施形態)
第3の実施形態は、コンフィグレーションROMに対する書き込み回路をFPGAに内蔵することで、製造設備の設備費用を下げるとともに、製造設備側のROMから取得するプログラムに書き込み指示用のヘッダーが付加されているか否かをチェックすることで、接続部の外部コンフィグ端子を不用としたものである。
【0054】
図8は、本第3の実施形態に係るタイムスイッチ11の具体的構成を示すブロック図である。図8において、上記図5と同一部分には同一符号を付して詳細な説明を省略する。
【0055】
本第3の実施形態では、コンフィグレーション回路111にヘッダー検出回路111cを備えるようにしたものである。ヘッダー検出回路111cは、コンフィグレーションROMボード300のROM320に記憶されたプログラムに書き込みを指示するためのヘッダー情報が付加されているか否かを検出するものである。このヘッダー情報は、図9に示すように、コンフィグレーション回路111で識別できるコード(5A A5 01 00)から成る。
【0056】
また、コンフィグレーションROMボード300を接続する接続部150は、上記接続部130から外部コンフィグ端子130aを削除したものである。
【0057】
そして、上記制御部111bは、ヘッダー検出回路111cによりヘッダー情報を検出した場合に、コンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間を接続するようにマトリクススイッチ112を切替制御する。
【0058】
次に、上記構成における動作について説明する。
図10は、コンフィグレーションROM120にプログラムを書き込む際のコンフィグレーション回路111の制御処理手順を示すフローチャートである。
【0059】
図示しない電源スイッチがオンされて、図示しない電源部からの電力供給が開始されると、コンフィグレーション回路111は接続部150に接続されるコンフィグレーションROMボード300のROM320へ接続するようにマトリクススイッチ112を切替制御する(ステップST10a)。そして、コンフィグレーション回路111はROM320に記憶されるプログラムにヘッダー情報を読み込み(ステップST10b)、この読み込んだヘッダー情報が識別可能なコードからなるか否かを判定する(ステップST10c)。
【0060】
ここで、ヘッダー情報が識別可能なコードであれば(Yes)、コンフィグレーション回路111はコンフィグレーションROMボード300と書き込み回路115との間、書き込み回路115とコンフィグレーションROM120との間を接続するようにマトリクススイッチ112を切替制御する(ステップST10d)。
【0061】
一方、ヘッダー情報が識別不可能なコードである場合やROM320に記憶されるプログラムにヘッダー情報が付加されていない場合(No)、コンフィグレーション回路111はコンフィグレーションROM120へ接続するようにマトリクススイッチ112を切替制御し(ステップST10e)、コンフィグレーションROM120に記憶されたプログラムに基づきコンフィグレーション動作を実行してタイムスイッチ11を形成する(ステップST10f)。
【0062】
上記ステップST10dにおいて、書き込み回路115は、図11に示す動作タイミングでプログラムの書き込み処理を行う。
【0063】
まず、書き込み回路115はコンフィグレーションROMボード300のROM320に対しローレベルを示すイネーブル信号(SPI CE)を送るとともに、データ入力線(SPI SI)を介してヘッダー情報の読み出しコマンドを送信してROM320からヘッダー情報を読み出す。ヘッダー情報を受信すると、書き込み回路115はローレベルからハイレベルへ変化させたイネーブル信号をROM320に送る。
【0064】
このヘッダー情報を受信している期間では、書き込み回路115はコンフィグレーションROM120に対しハイレベルを示すイネーブル信号を送信する。なお、イネーブル信号は、ローレベルを示すとき、書き込み回路115がROMからデータ読み出し可能であることを示し、ハイレベルを示すとき、書き込み回路115がROMからデータ読み出し不可能であることを示す。また、各コマンドをROMに送る場合、書き込み回路115はイネーブル信号がハイレベルからローレベルに変化するタイミングでコマンドを送ることができる。なお、イネーブル信号がローレベルを継続する場合、書き込み回路115は次のコマンドをROMに送ることができない。
【0065】
書き込み回路115は、コンフィグレーションROM120に対しID読み出しコマンド(ID Read)を送信し、コンフィグレーションROM120に付与されたデバイスIDを読み出してデバイスチェックを行い、エラーがあるか否かの判断を行う。ここで、例えばコンフィグレーションROM120に付されているデバイスIDが指定のデバイスID以外である場合、書き込み回路115はコンフィグレーションROM120に対しローレベルを維持したイネーブル信号を送り、プログラムの書き込み処理を終了する。
【0066】
一方、コンフィグレーションROM120に付されているデバイスIDが指定のデバイスIDである場合、書き込み回路115はコンフィグレーションROM120に対し書き込みコマンド(WE)を送信してテストデータを書き込み、消去コマンド(Erase)を送信して残っているデータを全て消去する。そして、書き込み回路115は完了通知コマンド(Busy)を送信し、このコマンドに対しコンフィグレーションROM120から完了を示すデータが返送された場合に、イネーブル信号をローレベルからハイレベルに変化させる。まだ、完了していない場合、書き込み回路115はイネーブル信号をローレベルに維持する。
【0067】
書き込み回路115は、コンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンド(Read CMD)を送信してROM320からプログラムを例えば256バイト読み出す。そして、コンフィグレーションROM120に対しアドレスの上位ビットを(80)に指定した書き込みコマンドを送信して、プログラムをコンフィグレーションROM120に転送して書き込む。
【0068】
続いて書き込み回路115は、コンフィグレーションROM120に対し全てのプログラム(例えば256×1024バイト)の書き込みが完了したか否かの問い合わせを行う。ここで、完了しない場合は、書き込み回路115はイネーブル信号をローレベルに維持する。
【0069】
そして書き込み回路115は、全てのプログラムの書き込みが完了したならば、再びコンフィグレーションROM120に対し上位ビットを(80)に指定した読み出しコマンドを送信して書き込まれたプログラムを読み出し、さらにコンフィグレーションROMボード300のROM320に対しアドレスの上位ビットを(00)に指定した読み出しコマンドを送信してROM320からプログラムを読み出してデータ比較を行い、一致するか否かの判断を行う。ここで一致したならば、書き込み回路115は処理を終了する。一方、一致しない場合には、書き込み回路115はコンフィグレーションROM120に書き込まれたプログラムを全て消去する。
【0070】
以上のように上記第3の実施形態では、プログラムに付加されるヘッダー情報を利用することで、ヘッダー情報が検出された場合のみ製造時に使用される正当なコンフィグレーションROMボード300と判断して、コンフィグレーションROMボード300のROM320に記憶されるプログラムをコンフィグレーションROM120に書き込むようにしている。
【0071】
従って、ヘッダー情報を検出するといった簡単な手順により、コンフィグレーションROMボード300のROM320に記憶されるプログラムをコンフィグレーションROM120に自動的にかつ高速で書き込むことができる。
【0072】
(その他の実施形態)
その他の実施形態は、上記各実施形態に限定されるものではない。例えば、上記各実施形態では、マトリクススイッチを使用する例について説明したが、マトリクススイッチ以外に、コンフィグレーションROMと製造設備側の書き込み装置またはROMとの間を接続するルートを形成するものであってもよい。
【0073】
また、上記第3の実施形態では、コンフィグレーションROMボードを接続する例について説明したが、パーソナル・コンピュータ等の書き込み装置を接続するものであってもよい。
【0074】
また、上記各実施形態では、タイムスイッチ以外の任意の通信装置であってもよい。さらに、上記各実施形態では、製造時にコンフィグレーションROMにプログラムを書き込む例について説明したが、既にコンフィグレーションROMに書き込まれたプログラムを変更するものであってもよい。例えばタイムスイッチを内線インタフェース回路に変更する場合、接続部に書き込み装置を接続して内線インタフェース回路を実現するためのプログラムをコンフィグレーションROMに上書きするだけでよい。さらに、タイムスイッチをバージョンアップしたい場合でも、接続部に書き込み装置を接続してバージョンアップさせるためのプログラムをコンフィグレーションROMに上書きするだけでよい。
【0075】
その他、通信装置の構成、この通信装置を適用した電話交換システムの構成、コンフィグレーションROMへのプログラムの書き込み制御手順等についても、種々の変形実施が可能である。
【0076】
従って、上記各実施形態によれば、電子機器との間の接続端子と、通信処理部及び記憶部のみを設け、記憶部に書き込むプログラムを有する電子機器が接続端子に接続される場合に、その電子機器が有するプログラムを記憶部に書き込む処理を実行することで、記憶部にプログラムを書き込むための端子を、既に設けられている接続端子と共用したので接続端子とは別に専用の書き込み端子を設ける必要がなくなり、これにより記憶部へのプログラムの書き込みを工数を少なくしてしかも高速に行うことができ、しかも簡易な構成で安価なFPGAを提供することができる。
【符号の説明】
【0077】
1…電話交換装置、2(2−1〜2−i)…内線端末、11…タイムスイッチ、12(12−1〜12−j)…局線インタフェース回路、13(13−1〜13−i)…内線インタフェース回路、14…中央制御部、15…PCMハイウェイ、16…データハイウェイ、100…ボード、110A,110B,110C…FPGA、120…コンフィグレーションROM、130…接続部、111…コンフィグレーション回路、112…マトリクススイッチ、113,114…入出力部、111a…検出部、111b…制御部、111c…ヘッダー検出回路、130a…外部コンフィグ端子、200…書き込み装置、300…製造用コンフィグレーションROMボード。
【特許請求の範囲】
【請求項1】
記憶部に記憶されたプログラムに基づいて通信処理部が動作し、接続端子に接続される電子機器との間で通信処理を実行する通信装置において、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記接続端子に接続されることを検出する検出手段と、
この検出手段により前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行する制御手段とを具備することを特徴とする通信装置。
【請求項2】
前記検出手段は、前記接続端子に備えられる複数の信号ピンのうちの1つの信号ピンを介して前記電子機器から前記記憶部への書き込みを行う指示信号を受信することにより、前記プログラムを有する電子機器を検出することを特徴とする請求項1記載の通信装置。
【請求項3】
前記通信処理部と前記記憶部との間、前記電子機器と前記記憶部との間を選択的に接続する切替スイッチをさらに備え、
前記制御手段は、前記切替スイッチを切替制御して、前記電子機器と前記記憶部との間を接続させることを特徴とする請求項1記載の通信装置。
【請求項4】
前記記憶部にプログラムを書き込む書き込み部をさらに備え、
前記制御手段は、前記検出手段により前記プログラムを有する電子機器を検出した場合に、前記書き込み部に前記電子機器から前記プログラムを取得させて、当該プログラムを前記記憶部に書き込ませることを特徴とする請求項1記載の通信装置。
【請求項5】
前記検出手段は、前記電子機器が有するプログラムに書き込みを指示するためのヘッダーが付加されているか否かを検出し、
前記制御手段は、前記検出手段により前記ヘッダーを検出した場合に、前記書き込み部に前記電子機器から前記プログラムを取得させて、当該プログラムを前記記憶部に書き込ませることを特徴とする請求項4記載の通信装置。
【請求項6】
通信装置に搭載され、記憶部に記憶されたプログラムに基づいて通信処理部が動作し、前記通信装置の接続端子に接続される電子機器との間で通信処理を実行するプログラマブルデバイスにおいて、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記通信装置の接続端子に接続されることを検出する検出手段と、
この検出部により前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行する制御手段とを具備することを特徴とするプログラマブルデバイス。
【請求項7】
記憶部に記憶されたプログラムに基づいて通信処理部が動作し、接続端子に接続される電子機器との間で通信処理を実行する通信装置で使用されるプログラム書き込み制御方法において、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記接続端子に接続されるか否かを検出し、
前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行することを特徴とするプログラム書き込み制御方法。
【請求項1】
記憶部に記憶されたプログラムに基づいて通信処理部が動作し、接続端子に接続される電子機器との間で通信処理を実行する通信装置において、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記接続端子に接続されることを検出する検出手段と、
この検出手段により前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行する制御手段とを具備することを特徴とする通信装置。
【請求項2】
前記検出手段は、前記接続端子に備えられる複数の信号ピンのうちの1つの信号ピンを介して前記電子機器から前記記憶部への書き込みを行う指示信号を受信することにより、前記プログラムを有する電子機器を検出することを特徴とする請求項1記載の通信装置。
【請求項3】
前記通信処理部と前記記憶部との間、前記電子機器と前記記憶部との間を選択的に接続する切替スイッチをさらに備え、
前記制御手段は、前記切替スイッチを切替制御して、前記電子機器と前記記憶部との間を接続させることを特徴とする請求項1記載の通信装置。
【請求項4】
前記記憶部にプログラムを書き込む書き込み部をさらに備え、
前記制御手段は、前記検出手段により前記プログラムを有する電子機器を検出した場合に、前記書き込み部に前記電子機器から前記プログラムを取得させて、当該プログラムを前記記憶部に書き込ませることを特徴とする請求項1記載の通信装置。
【請求項5】
前記検出手段は、前記電子機器が有するプログラムに書き込みを指示するためのヘッダーが付加されているか否かを検出し、
前記制御手段は、前記検出手段により前記ヘッダーを検出した場合に、前記書き込み部に前記電子機器から前記プログラムを取得させて、当該プログラムを前記記憶部に書き込ませることを特徴とする請求項4記載の通信装置。
【請求項6】
通信装置に搭載され、記憶部に記憶されたプログラムに基づいて通信処理部が動作し、前記通信装置の接続端子に接続される電子機器との間で通信処理を実行するプログラマブルデバイスにおいて、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記通信装置の接続端子に接続されることを検出する検出手段と、
この検出部により前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行する制御手段とを具備することを特徴とするプログラマブルデバイス。
【請求項7】
記憶部に記憶されたプログラムに基づいて通信処理部が動作し、接続端子に接続される電子機器との間で通信処理を実行する通信装置で使用されるプログラム書き込み制御方法において、
電源オン時に、前記記憶部に書き込むプログラムを有する電子機器が前記接続端子に接続されるか否かを検出し、
前記接続端子に接続された前記電子機器を検出した場合に、前記電子機器が有するプログラムを前記記憶部に書き込む処理を実行することを特徴とするプログラム書き込み制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−234308(P2011−234308A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−105618(P2010−105618)
【出願日】平成22年4月30日(2010.4.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願日】平成22年4月30日(2010.4.30)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]