(57)【要約】【課題】装置の小型化を図ること。【解決手段】制御回路１００は、ＣＰＵ１０と、ＣＰＵ１０で動作させる第１のプログラムを記憶するフラッシュメモリ２２を有するＣＰＵ２０と、第１のプログラムをＣＰＵ１０に読み込ませる第２のプログラムを記憶するＲＯＭ３３とを有している。ＣＰＵ１０は、読み出した第２のプログラムを実行することで第１のプログラムの読み込み準備完了をＣＰＵ２０に通知する。ＣＰＵ２０は、第１のプログラムの読み込み準備完了に基づいて、ＣＰＵ１０への第１のプログラムの転送を開始する。【選択図】図２
2012044731.tif 000002
【特許請求の範囲】
【請求項１】
第１のＣＰＵと、前記第１のＣＰＵで動作させる第１のプログラムを記憶する第１の記憶部を有する第２のＣＰＵと、前記第１のプログラムを前記第１のＣＰＵに読み込ませる第２のプログラムを記憶する第２の記憶部とを有する制御装置であって、
前記第１のＣＰＵは、読み出した前記第２のプログラムを実行することで前記第１のプログラムの読み込み準備完了を前記第２のＣＰＵに通知し、
前記第２のＣＰＵが、前記第１のプログラムの読み込み準備完了に基づいて、前記第１のＣＰＵへの前記第１のプログラムの転送を開始する、
ことを特徴とする制御装置。
【請求項２】
前記第１のプログラムの読み込み準備完了を示す情報と、前記第１のプログラムとを一時的に記憶するデータ授受部をさらに有し、
前記第１のＣＰＵは、前記第１のプログラムの読み込み準備完了を示す情報を前記データ授受部の所定の記憶領域に書き込み、
前記第２のＣＰＵは、前記記憶領域を参照し、前記第１のプログラムの読み込み準備が完了したか否かを判断することを特徴とする請求項１記載の制御装置。
【請求項３】
前記第２のＣＰＵから前記第１のＣＰＵに送信されるデータは複数に分割されており、
前記第１のＣＰＵが、前記データ授受部から分割された前記データを読み込み、前記データ授受部の所定領域に分割された前記データの読み込みの完了を示す完了データを書き込み、
前記第２のＣＰＵが、前記所定領域を参照して前記完了データの有無により前記データの読み込み完了か否かを判断し、前記データの読み込みが完了したと判断したときに新たな分割された前記データを前記データ授受部に送信することを特徴とする請求項２記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置に関する。
【背景技術】
【０００２】
電動機を駆動するインバータ装置を制御する装置等、複数のＣＰＵを備える制御装置が知られている。
図４は、複数のＣＰＵを備える制御装置の一例を示す図である。
【０００３】
制御装置９０は、フラッシュメモリ（flash memory）を内蔵しないＣＰＵ（Central Processing Unit）９１と、ＲＡＭ（Random Access Memory）９２ａとフラッシュメモリ９２ｂを内蔵するＣＰＵ９２と、ＣＰＵ９１、９２間に設けられた集積回路部９３と、フラッシュメモリ９４とを有している。
【０００４】
集積回路部９３は、ＣＰＵ９１、９２それぞれがデータを授受する際に使用するデュアルポートメモリ９３ａと、ＣＰＵ９１、ＣＰＵ９２それぞれがデータを授受するタイミングを制御する基準信号を生成する基準信号発生回路９３ｂとを有している。
【０００５】
ＣＰＵ９１は、フラッシュメモリ９４に記憶されているプログラムをダウンロードして、内部メモリ９１ａに格納することで、プログラムを実行する。
ＣＰＵ９１とＣＰＵ９２のデータの授受は、基準信号発生回路９３ｂが出力する基準信号を基準にして、デュアルポートメモリ９３ａを介して行う。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３４４１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
プログラムのダウンロードに備えてフラッシュメモリ９４やＲＯＭ（Read Only Memory）等を、フラッシュメモリ９２ｂとは別個に用意すると、制御装置９０を実装するプリント基板の実装面積が増大する。また、コストアップを引き起こす要因の１つとなっている。
【０００８】
また、近年の半導体集積技術の向上により、フラッシュメモリの容量は、飛躍的に増加している。このため、特に処理能力重視でＣＰＵ９１を選定した場合、ＣＰＵ９１が使用するフラッシュメモリ９４のメモリ領域に対し、フラッシュメモリ９４が有する容量が過剰に大きくなる場合が発生する。
【０００９】
本発明はこのような点に鑑みてなされたものであり、装置の小型化を図る制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、開示の制御装置が提供される。この制御装置は、第１のＣＰＵと、第１のＣＰＵで動作させる第１のプログラムを記憶する第１の記憶部を有する第２のＣＰＵと、第１のプログラムを第１のＣＰＵに読み込ませる第２のプログラムを記憶する第２の記憶部とを有している。
【００１１】
第１のＣＰＵは、読み出した第２のプログラムを実行することで第１のプログラムの読み込み準備完了を第２のＣＰＵに通知する。
第２のＣＰＵは、第１のプログラムの読み込み準備完了に基づいて、第１のＣＰＵへの第１のプログラムの転送を開始する。
【発明の効果】
【００１２】
装置の小型化を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態のインバータ装置を示す図である。
【図２】制御回路の構成を示すブロック図である。
【図３】制御回路のプログラムのダウンロード処理を示す図である。
【図４】複数のＣＰＵを備える制御装置の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施の形態を、図面を参照して詳細に説明する。以下に示す実施の形態では、開示の制御装置をインバータ装置に適用した場合を例に説明するが、制御装置の用途はインバータ装置に限定されるものではない。
【００１５】
図１は、実施の形態のインバータ装置を示す図である。
図１に示すインバータ装置１は、コンバータ１ａと、インバータ１ｂと、駆動部１ｃと、電流検出部１ｄと、電圧検出部１ｅと、速度磁束演算部１ｆと、電圧検出部１ｇと、制御回路（制御装置）１００と、ＰＷＭ生成部１ｈとを有している。
【００１６】
交流電源５０は、コンバータ１ａおよびインバータ１ｂを介して交流モータＭに接続されている。ここで、コンバータ１ａには、入力される三相電流を整流する整流部Ｄ１および平滑コンデンサＣ１が設けられている。また、インバータ１ｂには、インバータ１ｂを駆動する駆動部１ｃが出力する駆動信号に基づいてスイッチ動作する三相交流電圧生成用の複数のスイッチング素子およびスイッチング素子にそれぞれ逆並列接続された帰還ダイオードが設けられている。なお、スイッチング素子としては、例えば、ＩＧＢＴを用いることができる。
【００１７】
電流検出部１ｄおよび電圧検出部１ｅは、インバータ１ｂの出力側に設けられている。
電流検出部１ｄは、インバータ１ｂから出力される三相交流電流Ｉｕ、Ｉｖ、Ｉｗを検出する。電圧検出部１ｅは、Ｕ相およびＷ相間の電圧を検出する。
【００１８】
速度磁束演算部１ｆは、電流検出部１ｄおよび電圧検出部１ｅの検出結果に基づいて、速度および磁束を演算する。
電圧検出部１ｇは、コンデンサＣ１に蓄えられる容量に基づいて、整流部Ｄ１が出力する電圧を検出する。
【００１９】
制御回路１００は、交流モータＭのフィードバック制御を行う。この制御回路１００は、速度磁束演算部１ｆの演算結果および電圧検出部１ｇの電圧検出結果に基づいて、インバータ１ｂの周波数を制御する制御信号をＰＷＭ生成部１ｈに出力する。
【００２０】
ＰＷＭ生成部１ｈは、制御回路１００から出力された制御信号に基づいてＰＷＭ（Pulse Width Modulation）波形を生成し、駆動部１ｃに出力する。
図２は、制御回路の構成を示すブロック図である。
【００２１】
制御回路１００は、ＣＰＵ（第１のＣＰＵ）１０と、ＣＰＵ（第２のＣＰＵ）２０と、集積回路部３０とを有している。
ＣＰＵ１０は、ＲＡＭ１１を有している。このＲＡＭ１１には、ＣＰＵ１０に実行させるプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１１には、ＣＰＵ１０による処理に必要な各種データが格納される。フラッシュメモリ２２から読み込んだプログラムもこのＲＡＭ１１に格納される。
【００２２】
ＣＰＵ２０は、ＲＡＭ２１とフラッシュメモリ（第１の記憶部）２２を有している。ＲＡＭ２１には、ＣＰＵ２０に実行させるプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２１には、ＣＰＵ２０による処理に必要な各種データが格納される。
【００２３】
フラッシュメモリ２２には、速度磁束演算部１ｆの演算結果および電圧検出部１ｇの電圧検出結果に基づいて、インバータ１ｂの周波数を制御する制御信号をＰＷＭ生成部１ｈに出力する第１のプログラム（以下、プログラムＡと言う）が記憶されている。
【００２４】
集積回路部３０は、基準信号発生回路３１と、デュアルポートメモリ（データ授受部）３２と、ＲＯＭ（第２の記憶部）３３とを有している。
基準信号発生回路３１は、ＣＰＵ１０とＣＰＵ２０とがデータの授受を開始する際の基準信号を発生する。
【００２５】
デュアルポートメモリ３２は、ＣＰＵ１０とＣＰＵ２０の両方からデータの読み書きが可能なメモリである。ＣＰＵ１０からＣＰＵ２０へのプログラム読み込み準備完了の通知や、プログラム読み込み完了の通知は、このデュアルポートメモリ３２を介して行う。このデュアルポートメモリ３２の容量は特に限定されないが、例えば２５６ｋＢである。
【００２６】
ＲＯＭ３３には、フラッシュメモリを有していないＣＰＵ１０が、フラッシュメモリ２２からプログラムＡをダウンロードするときに読み込む第２のプログラム（以下、プログラムＢと言う）が記憶されている。このプログラムＢには、ＣＰＵ２０のフラッシュメモリ２２からプログラムＡをダウンロードするための手順が格納されている。
【００２７】
次に、制御回路１００のプログラムＡのダウンロード処理を説明する。
図３は、制御回路のプログラムのダウンロード処理を示す図である。
まず、ＣＰＵ１０の動作を説明し、次に、ＣＰＵ２０の動作を説明する。
【００２８】
［ステップＳ１］  ＣＰＵ１０とＣＰＵ２０に電源が投入されると、ＣＰＵ１０とＣＰＵ２０は、リセットを解除する。その後、ステップＳ２およびステップＳ１１に遷移する。
【００２９】
［ステップＳ２］  ＣＰＵ１０は、ＲＯＭ３３にアクセスし、プログラムＢをダウンロードする。そして、ダウンロードしたプログラムＢの実行を開始する。この動作により、ＣＰＵ１０は、ステップＳ３以下の処理を開始する。
【００３０】
ＣＰＵ１０とＣＰＵ２０は、集積回路部３０の基準信号発生回路３１からの一定周期の基準信号をもとに以下の各処理を実行する。
［ステップＳ３］  ＣＰＵ１０は、ＣＰＵ２０のフラッシュメモリ２２からのプログラムＡを読み込む準備を実行する。準備が完了すると、デュアルポートメモリ３２の予め定めた領域Ｗに準備完了である旨の情報を書き込む。その後、ステップＳ４に遷移する。
【００３１】
［ステップＳ４］  ＣＰＵ１０は、デュアルポートメモリ３２の領域ＸからプログラムＡが分割されたプログラム（以下、プログラムＣと言う）を読み込む。プログラムＣの読み込みが完了すると、ステップＳ５に遷移する。
【００３２】
［ステップＳ５］  ＣＰＵ１０は、プログラムＣを読み込んだ旨の情報をデュアルポートメモリ３２の領域Ｙに書き込む。その後、ステップＳ６に遷移する。
［ステップＳ６］  ＣＰＵ１０は、全てのプログラムＣの読み込みが完了したか否かを判断する。例えば、ＣＰＵ１０は、プログラムＣの読み込み回数が一定回数に達すると、全てのプログラムＣの読み込みが完了したと判断し（ステップＳ６のＹｅｓ）、ステップＳ７に遷移する。他方、全てのプログラムＣの読み込みが完了していないと判断した場合（ステップＳ６のＮｏ）、ステップＳ４に遷移し、ステップＳ４以降の動作を繰り返し実行する。
【００３３】
［ステップＳ７］  ＣＰＵ１０は、全ての分割されたプログラムＣの読み込みが完了すると、プログラムＣの読み込みが完了した旨の情報をデュアルポートメモリ３２の領域Ｚに書き込む。その後、ステップＳ８に遷移する。
【００３４】
［ステップＳ８］  ＣＰＵ１０は、読み込みが完了したプログラムＣを統合してプログラムＡを統合し、統合したプログラムＡの実行を開始する。
次に、ＣＰＵ２０の処理を説明する。
【００３５】
［ステップＳ１１］  ＣＰＵ２０は、デュアルポートメモリ３２の領域Ｗを読み出し、ＣＰＵ１０の書き込み準備が完了したか否かを判断する。領域Ｗに準備完了である旨の情報が書き込まれている場合（ステップＳ１１のＹｅｓ）、ＣＰＵ１０の準備が完了したと判断し、ステップＳ１２に遷移する。領域Ｗに準備完了である旨の情報が書き込まれていない場合（ステップＳ１１のＮｏ）、ＣＰＵ１０の準備が完了していないと判断し、ＣＰＵ２０は、準備完了である旨の情報が書き込まれるまで待ち続ける。
【００３６】
［ステップＳ１２］  ＣＰＵ２０は、ＣＰＵ１０に転送するプログラムＡを分割して、複数のプログラムＣを生成する。そして、生成した複数のプログラムＣのうち、１つのプログラムＣをデュアルポートメモリ３２の領域Ｘに書き込む。この分割するプログラムＣのサイズは、デュアルポートメモリ３２の容量を超えない範囲とする。デュアルポートメモリ３２への書き込みが終了すると、ステップＳ１３に遷移する。
【００３７】
［ステップＳ１３］  ＣＰＵ２０は、デュアルポートメモリ３２の領域Ｙを読み出し、ＣＰＵ１０のプログラムＣの読み込みが完了したか否かを判断する。領域Ｙに読み込み完了である旨の情報が書き込まれている場合（ステップＳ１３のＹｅｓ）、ＣＰＵ１０のプログラムＣの読み込みが完了したと判断し、ステップＳ１４に遷移する。領域Ｙに読み込み完了である旨の情報が書き込まれていない場合（ステップＳ１３のＮｏ）、ＣＰＵ１０のプログラムＣの読み込みが完了していないと判断し、ＣＰＵ２０は、準備完了である旨の情報が書き込まれるまで待ち続ける。
【００３８】
［ステップＳ１４］  ＣＰＵ２０は、全てのプログラムＣの転送が完了したか否かを判断する。全てのプログラムＣの転送が完了したと判断した場合（ステップＳ１４のＹｅｓ）、ステップＳ１５に遷移する。全てのプログラムＣの転送が完了していないと判断した場合（ステップＳ１４のＮｏ）、ステップＳ１２に遷移し、ステップＳ１２以降の処理を引き続き実行する。
【００３９】
［ステップＳ１５］  ＣＰＵ２０は、デュアルポートメモリ３２の領域Ｚを読み出し、ＣＰＵ１０の全てのプログラムＣの読み込みが完了したか否かを判断する。領域Ｚに読み込み完了である旨の情報が書き込まれている場合（ステップＳ１５のＹｅｓ）、ＣＰＵ１０の全てのプログラムＣの読み込みが完了したと判断し、ステップＳ１６に遷移する。領域Ｚに読み込み完了である旨の情報が書き込まれていない場合（ステップＳ１５のＮｏ）、ＣＰＵ１０の全てのプログラムＣの読み込みが完了していないと判断し、ＣＰＵ２０は、準備完了である旨の情報が書き込まれるまで待ち続ける。
【００４０】
［ステップＳ１６］  ＣＰＵ２０は、受け取り後、通常処理を開始する。
以上で、図３に示す処理の説明を終了する。
以上説明したように、インバータ装置１によれば、フラッシュメモリ２２を内蔵するＣＰＵ２０において、フラッシュメモリ２２の未使用領域をシェアすることとなり、他方のフラッシュメモリを内蔵しないＣＰＵ１０に対しては、フラッシュメモリやＲＯＭの配置を不要にすることができる。
【００４１】
なお、本実施の形態では、デュアルポートメモリ３２を介してデータを授受しているが、シリアル通信等の別の手段によっても構わない。
また、本実施の形態では、デュアルポートメモリ３２の容量を十分大きくすることで、プログラムＡを分割転送せずに、一括で転送する構成としてもよい。これにより、プログラムＡの転送時間を短縮することができる。
【００４２】
さらに本実施の形態では、フラッシュメモリを内蔵しない１つのＣＰＵ（ＣＰＵ１０）を有する制御回路１００についてプログラムのダウンロード処理を説明した。しかし、フラッシュメモリを内蔵しないＣＰＵを２つ以上備える制御装置にも開示のダウンロード処理を適用することができる。
【符号の説明】
【００４３】
１  インバータ装置
１ａ  コンバータ
１ｂ  インバータ
１ｃ  駆動部
１ｄ  電流検出部
１ｅ、１ｇ  電圧検出部
１ｆ  速度磁束演算部
１ｈ  ＰＷＭ生成部
１０、２０  ＣＰＵ
１１、２１  ＲＡＭ
２２  フラッシュメモリ
３０  集積回路部
３１  基準信号発生回路
３２  デュアルポートメモリ
３３  ＲＯＭ
【図１】
2012044731.tif 000003
【図２】
2012044731.tif 000004
【図３】
2012044731.tif 000005
【図４】
2012044731.tif 000006