(57)【要約】【課題】ＰＬＤのコンフィグレーションデータが書き換えられなくなることを抑制できるＰＬＤを備えた電子装置を提供する。【解決手段】本発明の電子装置は、複数のプログラム可能な論理回路デバイス１１，１２と、汎用バス５０と、を有する。上記プログラム可能な論理回路デバイスは、回路構成データに基づいて論理回路を構成する。汎用バスは、上記複数のプログラム可能な論理回路デバイスのそれぞれに対して、上記回路構成データを書き換えるための書き換えデータを伝送する。各々のプログラム可能な論理回路デバイスは、汎用バスから取得した書き換えデータを、回路構成データを書き換えるための書き換え信号に変換する変換回路１，２を備え、一のプログラム可能な論理回路デバイスの回路構成データは、他のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられる。【選択図】図１
2015142359.tif 000002
【特許請求の範囲】
【請求項１】
回路構成データに基づいて論理回路を構成する複数のプログラム可能な論理回路デバイスと、
前記複数のプログラム可能な論理回路デバイスのそれぞれに対して、前記回路構成データを書き換えるための書き換えデータを伝送する汎用バスと、を有し、
各々の前記プログラム可能な論理回路デバイスは、
前記汎用バスから取得した書き換えデータを、回路構成データを書き換えるための書き換え信号に変換する変換回路を備え、
一のプログラム可能な論理回路デバイスの回路構成データは、他のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられる、電子装置。
【請求項２】
前記書き換えデータの取得および前記汎用バスを制御するシステムオンチップをさらに有し、
前記汎用バスからの書き換えデータは、当該システムオンチップを介して前記複数のプログラム可能な論理回路デバイスに送信されることを特徴とする請求項１に記載の電子装置。
【請求項３】
取得した前記書き換えデータを記憶する記憶部をさらに有し、
前記プログラム可能な論理回路デバイスの回路構成データを書き換えるとき、前記記憶部から書き換えデータを前記システムオンチップに読み出しながら、前記汎用バスを介して前記書き換えデータを前記プログラム可能な論理回路デバイスに送信することを特徴とする請求項２に記載の電子装置。
【請求項４】
前記汎用バスからの書き換えデータは、
前記汎用バスに接続された外部インターフェースを介して、前記複数のプログラム可能な論理回路デバイスに送信されることを特徴とする請求項１に記載の電子装置。
【請求項５】
前記システムオンチップは、
前記複数のプログラム可能な論理回路デバイスの回路構成データを所定の順序で書き換えるための制御をする順序制御部をさらに有することを特徴とする請求項２〜４のいずれか１項に記載の電子装置。
【請求項６】
前記システムオンチップは、
前記プログラム可能な論理回路デバイスに書き込まれた書き換えデータの検証を行う検証部をさらに備えることを特徴とする請求項２〜５のいずれか１項に記載の電子装置。
【請求項７】
各々の前記プログラム可能な論理回路デバイスと前記汎用バスとの接続または切り離しを行う切り替え部をさらに有することを特徴とする請求項１〜６のいずれか１項に記載の電子装置。
【請求項８】
前記切り替え部は、
一のプログラム可能な論理回路デバイスの回路構成データを書き換えているときは、他のプログラム可能な論理回路デバイスと前記汎用バスとを切り離すことを特徴とする請求項７に記載の電子装置。
【請求項９】
回路構成データに基づいて論理回路を構成する第１〜第Ｎのプログラム可能な論理回路デバイスと、
前記第１〜第Ｎのプログラム可能な論理回路デバイスのそれぞれに対して、前記回路構成データを書き換えるための書き換えデータを伝送する汎用バスと、を有し、
前記第１〜第Ｎのプログラム可能な論理回路デバイスは、
前記汎用バスから取得した書き換えデータを、回路構成データを書き換えるための書き換え信号に変換する変換回路を備え、
第ｎ（ｎ＜Ｎ）のプログラム可能な論理回路デバイスの回路構成データは、
第ｎ＋１のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられ、
第Ｎのプログラム可能な論理回路デバイスの回路構成データは、
第１のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられる、電子装置。
【請求項１０】
前記第１〜第Ｎのプログラム可能な論理回路デバイスの回路構成データを所定の順序で書き換えるための制御をする順序制御部をさらに有することを特徴とする請求項９に記載の電子装置。
【請求項１１】
前記順序制御部は、前記システムオンチップに備えられていることを特徴とする請求項１０に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム可能な論理回路デバイスを備えた電子装置に関する。
【背景技術】
【０００２】
プログラム可能な論理回路デバイス（以下、ＰＬＤとも称する）は、たとえばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）のように、一旦、デバイス内部の論理回路を決定すると変更できない論理回路デバイスとは異なり、デバイス内部の論理回路を繰り返し変更できる論理回路デバイスである。
【０００３】
近年のＰＬＤでは、ユーザーが所望の論理回路の構成をパーソナルコンピューターなどの端末上で編集し、当該論理回路の構成に関する情報をコンフィグレーションデータとして読み込んでデバイス内部に論理回路を構成することができるようになってきている。このようなＰＬＤとしては、たとえばＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などが一般に知られている。
【０００４】
一般に、ＣＰＬＤに読み込まれたコンフィグレーションデータは、内部のフラッシュメモリに格納され、電源が切断された場合でも次に書き換えられるまで同じものが維持される。一方、多くのＦＰＧＡでは、読み込まれたコンフィグレーションデータは、内部のスタティックＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に格納されるので、電源が切断された場合、スタティックＲＡＭに格納されたコンフィグレーションデータは維持されない。通常、このようなＦＰＧＡでは、起動する際に内部のスタティックＲＡＭにコンフィグレーションデータをロードするためのフラッシュメモリが別途接続される場合が多い。
【０００５】
ＣＰＬＤおよびＦＰＧＡは、通常、コンフィグレーションデータを書き換えるためのＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）ポートを備える。ＪＴＡＧポートは、当初、集積回路や基板の検査に用いられていた規格であるが、近年は検査目的のみならず、コンフィグレーションデータの書き換えなどＣＰＬＤやＦＰＧＡにアクセスする手段としても使用されている。
【０００６】
ＣＰＬＤのコンフィグレーションデータを書き換える場合、ＣＰＬＤが実装された基板の外部から書き換えデータを受信し、受信された書き換えデータをＣＰＬＤのＪＴＡＧポートに入力するための信号（以下、ＪＴＡＧ信号と称する）に変換する必要がある。このため、一般に上記基板には、上記受信された書き換えデータをＪＴＡＧ信号に変換するための回路（以下、ＪＴＡＧ変換回路と称する）が実装される。そして、ＪＴＡＧ変換回路で生成されたＪＴＡＧ信号は、専用の信号線を通じてＣＰＬＤに伝送される。
【０００７】
たとえば下記特許文献１には、このような従来の技術を使用した例として、複数のＦＰＧＡに各々接続された複数のフラッシュメモリのコンフィグレーションデータを書き換えるためのシリアルバスシステムが開示されている。なお、特許文献１に示される技術のように複数のＦＰＧＡが使用されるのは、たとえば以下の理由などによる。近年、半導体技術の進歩に伴い大規模なＰＬＤが製造されるようになってきているものの、大規模なＰＬＤは未だに高価であるため、ＰＬＤを使用して大規模な論理回路を構成する場合、複数の小規模のＰＬＤを使用して構成する方が安価で済むからである。
【０００８】
特許文献１のシリアルバスシステムでは、複数のＦＰＧＡに各々接続された複数のフラッシュメモリのコンフィグレーションデータを書き換えるための専用ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および専用ＦＰＧＡが備えられている。上記専用ＣＰＵは外部インターフェースからシリアル通信でデータを受信し、上記専用ＦＰＧＡはＪＴＡＧ変換回路として機能して当該データに基づいてＪＴＡＧ信号を生成し、専用の信号線を通じて上記複数のＦＰＧＡのＪＴＡＧポートに伝送する。
【０００９】
しかしながら、特許文献１のシリアルバスシステムでは、専用の信号線を通じてＪＴＡＧ信号を複数のＦＰＧＡのＪＴＡＧポートに伝送するため、書き換えデータの伝送手段が１つに限定されている。そのため、たとえばＪＴＡＧ変換回路の故障などの何らかの理由でＪＴＡＧ信号を上記複数のＦＰＧＡのＪＴＡＧポートに伝送できなくなった場合、書き換えデータを上記複数のＦＰＧＡのＪＴＡＧポートに伝送する他の手段が存在しない。その結果、上記複数のＦＰＧＡのコンフィグレーションデータを書き換えられなくなるという問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−１１３６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記問題に鑑みてなされたものである。したがって、本発明の目的は、ＰＬＤのコンフィグレーションデータが書き換えられなくなることを抑制できる、ＰＬＤを備えた電子装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明の上記目的は、下記によって達成される。
【００１３】
（１）回路構成データに基づいて論理回路を構成する複数のプログラム可能な論理回路デバイスと、前記複数のプログラム可能な論理回路デバイスのそれぞれに対して、前記回路構成データを書き換えるための書き換えデータを伝送する汎用バスと、を有し、各々の前記プログラム可能な論理回路デバイスは、前記汎用バスから取得した書き換えデータを、回路構成データを書き換えるための書き換え信号に変換する変換回路を備え、一のプログラム可能な論理回路デバイスの回路構成データは、他のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられる、電子装置。
【００１４】
（２）前記書き換えデータの取得および前記汎用バスを制御するシステムオンチップをさらに有し、前記汎用バスからの書き換えデータは、当該システムオンチップを介して前記複数のプログラム可能な論理回路デバイスに送信されることを特徴とする上記（１）に記載の電子装置。
【００１５】
（３）取得した前記書き換えデータを記憶する記憶部をさらに有し、前記プログラム可能な論理回路デバイスの回路構成データを書き換えるとき、前記記憶部から書き換えデータを前記システムオンチップに読み出しながら、前記汎用バスを介して前記書き換えデータを前記プログラム可能な論理回路デバイスに送信することを特徴とする上記（２）に記載の電子装置。
【００１６】
（４）前記汎用バスからの書き換えデータは、前記汎用バスに接続された外部インターフェースを介して、前記複数のプログラム可能な論理回路デバイスに送信されることを特徴とする上記（１）に記載の電子装置。
【００１７】
（５）前記システムオンチップは、前記複数のプログラム可能な論理回路デバイスの回路構成データを所定の順序で書き換えるための制御をする順序制御部をさらに有することを特徴とする上記（２）〜（４）のいずれか１つに記載の電子装置。
【００１８】
（６）前記システムオンチップは、前記プログラム可能な論理回路デバイスに書き込まれた書き換えデータの検証を行う検証部をさらに備えることを特徴とする上記（２）〜（５）のいずれか１つに記載の電子装置。
【００１９】
（７）各々の前記プログラム可能な論理回路デバイスと前記汎用バスとの接続または切り離しを行う切り替え部をさらに有することを特徴とする上記（１）〜（６）のいずれか１つに記載の電子装置。
【００２０】
（８）前記切り替え部は、一のプログラム可能な論理回路デバイスの回路構成データを書き換えているときは、他のプログラム可能な論理回路デバイスと前記汎用バスとを切り離すことを特徴とする上記（７）に記載の電子装置。
【００２１】
（９）回路構成データに基づいて論理回路を構成する第１〜第Ｎのプログラム可能な論理回路デバイスと、前記第１〜第Ｎのプログラム可能な論理回路デバイスのそれぞれに対して、前記回路構成データを書き換えるための書き換えデータを伝送する汎用バスと、を有し、前記第１〜第Ｎのプログラム可能な論理回路デバイスは、前記汎用バスから取得した書き換えデータを、回路構成データを書き換えるための書き換え信号に変換する変換回路を備え、第ｎ（ｎ＜Ｎ）のプログラム可能な論理回路デバイスの回路構成データは、第ｎ＋１のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられ、第Ｎのプログラム可能な論理回路デバイスの回路構成データは、第１のプログラム可能な論理回路デバイスの変換回路で生成された書き換え信号によって書き換えられる、電子装置。
【００２２】
（１０）前記第１〜第Ｎのプログラム可能な論理回路デバイスの回路構成データを所定の順序で書き換えるための制御をする順序制御部をさらに有することを特徴とする上記（９）に記載の電子装置。
【００２３】
（１１）前記順序制御部は、前記システムオンチップに備えられていることを特徴とする上記（１０）に記載の電子装置。
【発明の効果】
【００２４】
本発明によれば、汎用バスを介して書き換えデータをＰＬＤに送信できるため、書き換えデータの伝送手段が１つに限定されない。したがって、ＰＬＤの回路構成データが書き換えられなくなることを抑制できる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態のＰＬＤを備えた電子装置としてのコントローラーの構成を示す概略ブロック図である。
【図２Ａ】本発明の一実施形態におけるシステムオンチップからの書き換え手順を説明するための図である。
【図２Ｂ】図２Ａに後続する図である。
【図２Ｃ】図２Ｂに後続する図である。
【図２Ｄ】本発明の一実施形態における外部インターフェースからの書き換え手順を説明するための図である。
【図２Ｅ】図２Ｄに後続する図である。
【図３】本発明の一実施形態の変形例を説明するための図である。
【発明を実施するための形態】
【００２６】
以下、添付した図面を参照して本発明のＰＬＤを備えた電子装置としてのコントローラーの実施形態を説明する。なお、図中、同一の部材には同一の符号を用いた。
【００２７】
（実施形態）
図１は本実施形態におけるＰＬＤを備えた電子装置としてのコントローラーの概略構成を示すブロック図である。図１に示すように、本実施形態のコントローラー１００は、第１および第２のＣＰＬＤ１１，１２、システムオンチップ（以下、ＳｏＣと称する）２０、メモリデバイス３０、第１および第２のスイッチ４１，４２、および汎用バス５０を所定の基板上に有する。
【００２８】
なお、本実施形態では、プログラム可能な論理回路デバイス（ＰＬＤ）としてＣＰＬＤを使用する場合を例示して説明する。しかしながら、ＣＰＬＤの代わりにＦＰＧＡを使用し、論理回路の構成を示す情報であるコンフィグレーションデータ（回路構成データ）を保存するためのフラッシュメモリを別途備える構成であってもよい。
【００２９】
第１および第２のＣＰＬＤ１１，１２は、ＰＬＤとして機能し、内部のフラッシュメモリに格納されたコンフィグレーションデータに基づいてユーザーの所望の論理回路を構成する。
【００３０】
本実施形態では、第１および第２のＣＰＬＤ１１，１２は、書き換えデータ（パラレルデータ）を、ＣＰＬＤのコンフィグレーションデータを書き換えるための書き換え信号（たとえばＪＴＡＧのシリアル信号）に変換する第１および第２の変換回路１，２を有する。後述するように、第１および第２の変換回路１，２は、当該第１および第２の変換回路１，２が構成されている自身のＣＰＬＤのコンフィグレーションデータを書き換えるのではなく、他のＣＰＬＤのコンフィグレーションデータを書き換えるために使用される。
【００３１】
本実施形態では、コントローラー１００は、たとえばプリンターコントローラーでありうる。この場合、第１および第２のＣＰＬＤ１１，１２は、コンフィグレーションデータの内容に応じて、たとえば、電源制御、リセット制御、割り込み制御などの機能を付与されうる。したがって、本実施形態では、第１および第２のＣＰＬＤ１１，１２のコンフィグレーションデータには、各々のＣＰＬＤが果たす上記機能に応じた構成と、各々第１および第２の変換回路１，２の構成が含まれうる。コンフィグレーションデータの書き換えは、上記機能に応じた構成および第１および第２の変換回路１，２の構成を含めて実行される。したがって、第１および第２の変換回路１，２の構成にとくに変更がない場合は、第１および第２の変換回路１，２の構成の部分は、前回と同じ構成に書き換えられることになる。
【００３２】
本実施形態では、第１および第２のＣＰＬＤ１１，１２は、各々ＪＴＡＧ端子、汎用入出力端子、汎用出力端子、および第１および第２の変換回路１，２の出力端子を備える。第１のＣＰＬＤ１１のＪＴＡＧ端子は、第２のＣＰＬＤ１２の第２の変換回路２の出力端子に接続され、第２のＣＰＬＤ１２のＪＴＡＧ端子は、第１のＣＰＬＤ１１の第１の変換回路１の出力端子に接続されている。また、第１および第２のＣＰＬＤ１１，１２の汎用入出力端子は、各々第１および第２のスイッチ４１，４２を介して汎用バス５０に接続される。また、第１のＣＰＬＤ１１の汎用出力端子は第２のスイッチ４２の制御端子に接続され、第２のＣＰＬＤ１２の汎用出力端子は第１のスイッチ４１の制御端子に接続される。
【００３３】
ＳｏＣ２０は、書き換えデータの受信および汎用バスを制御する。ＳｏＣ２０は、図示しない通信インターフェースを備え、たとえばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの通信部２００を通じて書き換えデータを受信する。また、ＳｏＣ２０は、図示しない汎用バス用コントローラーを備える。ＳｏＣ２０は、スイッチ４１，４２を介して第１および第２のＣＰＬＤ１１，１２のそれぞれに汎用バス５０で接続されている。
【００３４】
メモリデバイス３０は、記憶部としてＳｏＣ２０で受信した書き換えデータを記憶する。メモリデバイス３０は、ＲＡＭを有し、汎用バス５０に接続されている。
【００３５】
第１および第２のスイッチ４１，４２は、各々制御端子を有し、当該制御端子の状態に応じて、それぞれ第１および第２のＣＰＬＤ１１，１２と汎用バス５０との間を接続または切り離すためのスイッチである。第１および第２のスイッチ４１，４２は、切り替え部として機能する。
【００３６】
汎用バス５０は、第１および第２のＣＰＬＤ１１，１２、ＳｏＣ２０、メモリ３０および外部インターフェース３００を相互に接続するための双方向バスである。本実施形態では、後述するように、ＣＰＬＤのコンフィグレーションデータを書き換えるときに汎用バス５０を使用する。汎用バス５０は、第１および第２のＣＰＬＤ１１，１２のそれぞれに対して、コンフィグレーションデータを書き換えるための書き換えデータを伝送する。
【００３７】
外部インターフェース３００は、汎用バス５０とコントローラー１００の外部のモジュールとの間で通信するためのインターフェースである。本実施形態のコントローラー１００は、ＳｏＣ２０を介さずに外部インターフェース３００と通信することができる。なお、外部インターフェース３００は、第１および第２のＣＰＬＤ１１，１２のコンフィグレーションデータを書き換えるときに接続され、それ以外のときは接続されていなくてもよい。
【００３８】
次に、図２Ａ〜図２Ｅを参照して、本実施形態のコントローラーにおけるＣＰＬＤのコンフィグレーションデータの書き換えについて説明する。図２Ａ〜図２Ｃは本実施形態におけるＳｏＣからの書き換え手順を説明するための図であり、図２Ｄおよび図２Ｅは本実施形態における外部インターフェースからの書き換え手順を説明するための図である。本実施形態では、ＳｏＣ２０から書き換えデータを入力して書き換える方法と外部インターフェース３００から書き換えデータを入力して書き換える方法の２通りの方法がある。
【００３９】
＜ＳｏＣからの書き換え手順＞
まず、ＳｏＣ２０からの書き換えについて説明する。図２Ａに示すように、ＳｏＣ２０は、通信部２００（ＬＡＮ、ＵＳＢなど）から書き換えデータ受信する。そして、メモリデバイス３０は上記書き換えデータを記憶する（破線で示される「メモリアクセスルート」を参照）。本実施形態では、第１および第２のＣＰＬＤ１１，１２の書き換えデータが受信され、メモリデバイス３０に記憶される。書き換えデータを受信した後、コンフィグレーションデータの書き換えが開始される。
【００４０】
第２のＣＰＬＤ１２のコンフィグレーションデータを書き換える場合、図２Ｂに示すように、メモリデバイス３０から第２のＣＰＬＤ１２の書き換えデータをＳｏＣ２０に読み出しながら、第１のＣＰＬＤ１１に汎用バス５０を介して上記書き換えデータを送信する。その際に、第２のＣＰＬＤ１２は第１のスイッチ４１をオンにし、第１のＣＰＬＤ１１は第２のスイッチ４２をオフにする（破線で示される「メモリアクセスルート」および「第２のＣＰＬＤ書き換えルート」を参照）。なお、第２のスイッチ４２をオフにするのは、第２のＣＰＬＤ１２のコンフィグレーションデータを書き換える間は、汎用入出力端子が不定になるためである。
【００４１】
次に、ＳｏＣ２０は、第２のＣＰＬＤ１２の書き換えデータの送信が完了した後、第１のＣＰＬＤ１１から汎用バス５０を介して第２のＣＰＬＤ１２の書き換えデータのリード処理を行う。そして、ＳｏＣ２０は、検証部として機能し、メモリデバイス３０からＳｏＣ２０に読み出された書き換えデータを用いて第２のＣＰＬＤ１２の書き換えデータを検証（以下、「ベリファイ」と称する）する。ベリファイした結果、書き換えデータに誤りが含まれる場合、書き換えデータの再送などの措置が取られる。第１のＣＰＬＤ１１は、第２のスイッチ４２をオフのまま維持する（破線で示される「第２のＣＰＬＤ書き換えルート」を参照）。
【００４２】
次に、図２Ｃに示すように、ＳｏＣ２０が第２のＣＰＬＤ１２の書き換えデータのベリファイを完了した後、第１のＣＰＬＤ１１は第２のスイッチ４２をオンにする。そして、メモリデバイス３０から第１のＣＰＬＤ１１の書き換えデータをＳｏＣ２０に読み出しながら、第２のＣＰＬＤ１２に汎用バス５０を介して上記書き換えデータを送信する。その際に、第２のＣＰＬＤ１２は第１のスイッチ４１をオフにする（破線で示される「メモリアクセスルート」および「第１のＣＰＬＤ書き換えルート」を参照）。
【００４３】
次に、ＳｏＣ２０は、第１のＣＰＬＤ１１の書き換えデータの送信を完了した後、第２のＣＰＬＤ１２から汎用バス５０を介して第１のＣＰＬＤ１１の書き換えデータのリード処理を行う。ＳｏＣ２０は、メモリデバイス３０からＳｏＣ２０に読み出された書き換えデータを用いて第１のＣＰＬＤ１１の書き換えデータのベリファイを実施する。第２のＣＰＬＤ１２は、第１のスイッチ４１をオフのまま維持する（破線で示される「第１のＣＰＬＤ書き換えルート」を参照）。ＳｏＣ２０が第１のＣＰＬＤ１１の書き換えデータのベリファイを完了した後、第２のＣＰＬＤ１２は第１のスイッチ４１をオンにする。そして、ＳｏＣ２０からの書き換えが終了する。
【００４４】
＜外部インターフェースからの書き換え手順＞
次に、外部インターフェース３００からの書き換えについて説明する。図２Ｄに示すように、第２のＣＰＬＤ１２のコンフィグレーションデータを書き換える場合、外部インターフェース３００は、第１のＣＰＬＤ１１に汎用バス５０を介して第２のＣＰＬＤ１２の書き換えデータを送信する。その際に、第２のＣＰＬＤ１２は、第１のスイッチ４１をオンにし、第１のＣＰＬＤ１１は第２のスイッチ４２をオフにする（破線で示された「第２のＣＰＬＤ書き換えルート」を参照）。
【００４５】
次に、図２Ｅに示すように、第１のＣＰＬＤ１１のコンフィグレーションデータを書き換える場合、第１のＣＰＬＤ１１は、第２のＣＰＬＤ１２の書き換えデータを受信した後、第２のスイッチ４２をオンにする。外部インターフェース３００は、引き続き第２のＣＰＬＤ１２に汎用バス５０を介して第１のＣＰＬＤ１１の書き換えデータを送信する。その際に、第２のＣＰＬＤ１２は、第１のスイッチ４１をオフにする（破線で示された「第１のＣＰＬＤ書き換えルート」を参照）。第２のＣＰＬＤ１２は、第１のＣＰＬＤ１１の書き換えデータを受信した後、第１のスイッチ４１をオンにする。そして、外部インターフェース３００からの書き換えが終了する。
【００４６】
なお、本実施形態では、外部インターフェース３００にベリファイの機能を備えていないので、外部インターフェース３００からの書き換えの後、書き換えデータのベリファイは実施されない。しかしながら、外部インターフェース３００は、ベリファイの機能を備えてもよく、その場合、書き換えデータをベリファイすることが可能である。
【００４７】
このように、本実施形態では、汎用バス５０を介して一のＰＬＤの書き換えデータを他のＰＬＤに送信し、当該他のＰＬＤに構成された変換回路で当該書き換えデータを書き換え信号に変換して上記一のＰＬＤのコンフィグレーションデータを書き換える。
【００４８】
したがって、本実施形態のコントローラー１００によれば、汎用バス５０を介して書き換えデータを第１および第２のＣＰＬＤ１１，１２に送信できるので、書き換えデータの伝送手段が１つに限定されない。すなわち、書き換えデータの伝送の汎用性が高められるので、ＣＰＬＤのコンフィグレーションデータが書き換えられなくなることを抑制できる。
【００４９】
また、コンフィグレーションデータを書き換えるための専用ＰＬＤおよび専用ＣＰＵを備える必要がなく、専用ＰＬＤおよび専用ＣＰＵを備える場合に比べてＳｏＣ２０のピン数を削減できる。
【００５０】
＜変形例＞
次に、図３を参照して、本発明の一実施形態の変形例を示す。図３は本実施形態におけるコントローラーの変形例を説明するための図である。本変形例のコントローラーは、第１〜第ＮのＣＰＬＤおよび第１〜第Ｎのスイッチを有する点が、上述のコントローラーと異なる。汎用バスは、第１〜第ＮのＣＰＬＤのそれぞれに対して、コンフィグレーションデータを書き換えるための書き換えデータを伝送する。
【００５１】
そして、第１〜第ＮのＣＰＬＤは、上記汎用バスから受信した書き換えデータを、コンフィグレーションデータを書き換えるための書き換え信号に変換する第１〜第ｎの変換回路を備える。
【００５２】
また、図示しないＳｏＣは、第１〜第ＮのＣＰＬＤのコンフィグレーションデータを所望の順序で書き換えるための制御をする順序制御部を備える。第１のＣＰＬＤは第２のＣＰＬＤの第２の変換回路で生成された書き換え信号によりコンフィグレーションデータが書き換えられ、第２のＣＰＬＤは第３のＣＰＬＤの第３の変換回路で生成された書き換え信号によりコンフィグレーションデータが書き換えられる。そして、第ｎ（ｎ＜Ｎ）のＣＰＬＤは、第ｎ＋１のＣＰＬＤの第ｎ＋１の変換回路で生成された書き換え信号によりコンフィグレーションデータが書き換えられる。また、第ＮのＣＰＬＤは、第１のＣＰＬＤの第１の変換回路で生成された書き換え信号によりコンフィグレーションデータが書き換えられる。
【００５３】
以上のとおり、実施形態において、本発明のＰＬＤを備えた電子装置について説明した。しかしながら、本発明は、その技術思想の範囲内において当業者が適宜に追加、変形、および省略することができることはいうまでもない。
【００５４】
たとえば、上述の実施形態では、ＰＬＤを備えた電子装置としてとしてプリンターコントローラーを例に挙げて説明した。しかしながら、本発明のＰＬＤを備えた電子装置としては、プリンターコントローラーに限定されず、ＰＬＤを備えた種々の電子装置に適用できる。
【符号の説明】
【００５５】
１  第１の変換回路、
２  第２の変換回路、
１１  第１のＣＰＬＤ、
１２  第２のＣＰＬＤ、
２０  ＳｏＣ、
３０  メモリデバイス、
４１  第１のスイッチ、
４１  第２のスイッチ、
５０  汎用バス、
１００  コントローラー、
２００  通信部、
３００  外部インターフェース。
【図１】
2015142359.tif 000003
【図２Ａ】
2015142359.tif 000004
【図２Ｂ】
2015142359.tif 000005
【図２Ｃ】
2015142359.tif 000006
【図２Ｄ】
2015142359.tif 000007
【図２Ｅ】
2015142359.tif 000008
【図３】
2015142359.tif 000009