(57)【特許請求の範囲】
【請求項１】
高速メモリを内蔵し、制御ブロック図から自動生成された最小単位計算式の羅列を順次演算処理するＣＰＵと、
このＣＰＵの演算結果によって半導体電力変換器の制御を行うゲート制御手段と、
前記ＣＰＵの外部に接続された低速メモリと
を具備し、
前記低速メモリには前記計算式に使用する変数のうち使用頻度の低い変数を記憶させると共に、前記計算式の演算種別と前記変数が格納される変数アドレス情報を中間言語として記憶させ、
前記高速メモリには、前記計算式に使用する変数のうち使用頻度の高い変数及び前記計算式の演算の中間結果を記憶させると共に、前記中間言語を解析し、前記演算種別に応じた演算を行う演算処理手順を記憶させ、
前記ＣＰＵは、前記低速メモリから前記最小単位計算式ごとに前記中間言語を読み込み、前記演算処理手順に従って実行するようにしたことを特徴とする半導体電力変換器の制御装置。
【請求項２】
前記演算種別は、加減乗除演算のうち少なくとも１つであることを特徴とする請求項１に記載の半導体電力変換器の制御装置。
【請求項３】
前記演算種別は、微分処理、積分処理、ＰＩ処理及びフィルタ処理のうち少なくとも１つを有することを特徴とする請求項１に記載の半導体電力変換器の制御装置。
【請求項４】
前記演算処理手順は、
前記中間言語を読み込んだあと、当該演算に必要な全ての前記アドレス情報を連続して読み込み、その後必要な演算処理を行なうようにしたことを特徴とする請求項１乃至請求項３の何れか１項に記載の半導体電力変換器の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体電力変換器の制御装置に係り、特に組み込み形ＣＰＵを内蔵する半導体電力変換器の制御装置に関する。
【背景技術】
【０００２】
ＣＰＵを代表とするエレクトロニクス技術の向上に伴って、半導体電力変換器の制御装置の全デジタル制御化の技術発展が著しい。半導体技術の向上に伴って、ＣＰＵの処理速度も向上し、安価な高速ＣＰＵを半導体電力変換器の制御装置に適用する事例も増加している。このＣＰＵの処理速度の向上は、ＣＰＵの内部処理電圧（一般に言うコア電圧）を限界まで低減することによって為されている。
【０００３】
半導体電力変換器は、高速にしかも大電圧が遷移することによって電力変換を行っているものがほとんどであり、その発生ノイズが制御装置に誤動作を及ぼす影響を無視できない。従って、ＣＰＵ内部の電位固定が安定している部分については低電圧化を図り、ＣＰＵの外部とのインタフェース部分は従来とほぼ等価な比較的高電圧で接続する構造が主流である。このため、ＣＰＵの外部に接続されるメモリなどの部品とのインタフェースは低電圧化による高速化の恩恵を受けることができず、ＣＰＵの高速化が技術の進歩によって進展しても、依然として外部とのインタフェースは低速のままである場合が多い。これに対して、バッファ強化あるいは外部メモリの超高速化などによって、これを可能な限り行うことも考えられるが、これらによる高速化への寄与は微小であるにもかかわらず、コストが非常に高くなる恐れがある。
【０００４】
デジタル制御を行う半導体電力変換器の制御装置は、通常は一連の制御を所定のサンプリング周期内に演算制御するように構成されており、可能な限りこのサンプリング周期を短縮することが望ましい。従って、この制御装置に内臓される組み込み形ＣＰＵは可能な限りサンプリング周波数を高速化することが望まれ、且つサンプリング周期内に一定の処理を確実に終えるようにする必要がある。
【０００５】
以上のような状況を考慮して、内部メモリには起動頻度の高い処理手順を格納し、外部メモリには起動頻度の低い処理手順を格納するようにした半導体電力変換器の制御装置の提案が為されている（例えば、特許文献１参照。）。
【特許文献１】特開平７−２８５７４６号公報（第３−５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に示された手法はエレベータ制御に関するものであり、その主眼は多種の機種独特の制御変数や演算プログラムを低速の外部メモリに保存し、特に装置の起動時にこれを内部メモリに展開することによって全体の効率化を図ることにある。しかるに、サンプリング周期内における共通の演算制御においても外部メモリと内部メモリの分担を効率良く行なって制御の最適化を図ることも半導体電力変換器の制御装置にとっては一つの大きな課題である。
【０００７】
本発明は上記に鑑みて為されたもので、その目的は、限られたサンプリング周期内で効率良く演算制御を行うことが可能な半導体電力変換器の制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の半導体電力変換器の制御装置は、高速メモリを内蔵し、制御ブロック図から自動生成された最小単位計算式の羅列を所定のサンプリング時間内に順次演算処理するためのＣＰＵと、このＣＰＵの演算結果によって半導体電力変換器の制御を行うゲート制御手段と、前記ＣＰＵの外部に接続された低速メモリを具備し、前記低速メモリには前記計算式に使用する変数のうち使用頻度の低い変数を記憶させると共に、前記計算式の演算種別と前記変数が格納される変数アドレス情報を中間言語として記憶させ、前記高速メモリには、前記計算式に使用する変数のうち使用頻度の高い変数及び前記計算式の演算の中間結果を記憶させると共に、前記中間言語を解析し、前記演算種別に応じた演算を行う演算処理手順を記憶させ、前記ＣＰＵは、前記低速メモリから前記最小単位計算式ごとに前記中間言語を読み込み、前記演算処理手順に従って実行するようにしたことを特徴としている。
【発明の効果】
【０００９】
この発明によれば、高速なＣＰＵの能力を、低速外部メモリによって阻害されることなく、限られたサンプリング時間内で効率良く演算制御を行うことが可能な半導体電力変換器の制御装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施例を説明する。
【実施例１】
【００１１】
以下、図１乃至図４を参照して本発明の実施例１に係る半導体電力変換器の制御装置を説明する。
【００１２】
図１は本発明の実施例１に係る半導体電力変換器の制御装置のブロック構成図である。
【００１３】
半導体電力変換器１は、制御装置に設けられたゲート制御手段であるＰＷＭ／ゲート回路２から与えられるゲート信号によってその内部のスイッチング素子がオンオフ制御されており、例えば、その出力によって図示しない交流モータを可変速駆動している。そしてＰＷＭ／ゲート回路２にはＣＰＵ３によってサンプリング周期ごとに演算されたデジタル制御信号が与えられている。この演算には、後述するようにＣＰＵ３から外部バスを経由して接続された低速外部メモリ４に記憶された情報が使用される。
【００１４】
以下、ＣＰＵ３の内部構成について説明する。前述したようにＣＰＵ３の内部は外部のノイズなどの影響を受けにくいため、低圧化されている。従って、高速高密度設計となっていて、大規模回路と高速回路が構築されている。ただし、外部回路はこの構造とすることができず、信号伝達は低速で行なう。そして外部との信号伝達によってＣＰＵ３内の高速処理が阻害されないように、外部バス制御３６によって調整している。外部の情報を使わずに内部だけで処理が行える場合には高速で処理し、外部のデータが必要となったときは、内部の高速処理部分は停止させて、外部からのデータが伝達されるのを待つ構成となっている。尚、図１においては、制御情報入出力などの外部インタフェースの図示は省略してある。
【００１５】
内部制御回路３１は、命令デコード３２によって読み込まれた命令を実行する。命令コードのデータがＣＰＵ３の内部の高速内部メモリ３３に記憶されている場合は、内部データアクセス３４からの指令によって図１の（１）のルートで高速にこのコードをフェッチすることができる。内部にコードが記憶されていない場合は、外部データアクセス３５からの指令によって（２）のルートで外部バス制御３６を介して、外部の低速外部メモリ４からコードをフェッチする。尚この場合は、ＣＰＵの動作をいったん停止させる必要があり、処理に時間がかかる。コードのフェッチが終了すると、（３）のルートで処理が進み、命令デコード３２によってフェッチされた命令が、どの処理を行なうべきなのが決定される。この決定に従って、内部制御回路３１は、演算器３７及びレジスタ３８を用いて演算処理を行なう。
【００１６】
演算処理の内容によっては、このときに変数データのアクセスが発生する。変数データが低速外部メモリ４に記憶されているときには、外部データアクセス３５からの指令によって（４）のルートでレジスタ３８に変数データが転送される。逆に変数データが高速内部メモリ３３に記憶されているときには、内部データアクセス３４からの指令によって（５）のルートでレジスタ３８に変数データが転送される。尚、レジスタ３８は複数の内部レジスタｒ１、ｒ２、・・・、ｒｎから構成されている。
【００１７】
本発明においては、図１の低速外部メモリ４には、後述する中間言語で記述された命令コード群が記憶され、高速内部メモリ３３にはこれらの命令コード群を解析して処理を行なう手順が記憶される。以下に図２を参照して中間言語による命令コード群の作成及びロード手順とＣＰＵ３による外部変数アクセスについて説明する。
【００１８】
図２（ａ）に示すのは、半導体電力変換器１を制御するための制御ブロック図の一例である。この制御ブロック図はＣＡＤを用いて例えばパソコン等で作成される。この制御ブロック図は制御プログラムの機能をブロック図として記述することによって、視覚的に見易くしている。制御ブロック図は半導体電力変換器の制御装置の機能を記述する手法として広く使用されている。
【００１９】
図２（ａ）の制御ブロック図によれば、変数Ａ１１と変数Ａ１２は加算器Ａ１において加算され中間結果として変数（Ａ１５）を得ている。同様に、変数Ａ１３から変数Ａ１４を減算器Ｓ１で減算して変数（Ａ１６）を得ている。また、変数Ａ２１と変数Ａ２２の加算結果が変数（Ａ２５）であり、変数Ａ２３から変数Ａ２４を減算して変数（Ａ２６）を得ている。更に、変数（Ａ１５）と変数（Ａ１６）の乗算結果が変数（Ａ３１）であり、変数（Ａ２５）と変数（Ａ２６）の乗算結果が変数（Ａ３２）である。そして求める変数Ａ４１は変数（Ａ３１）を除算器Ｄ１によって変数（Ａ３２）で除算することによって得られている。
【００２０】
図２（ａ）の制御ブロック図から自動生成されて低速外部メモリ４に記憶される中間言語と、この中間言語をＣＰＵ３がロードした後の外部変数アクセス状況を図示したのが図２（ｂ）である。
【００２１】
図２（ａ）に示した加算器Ａ１における加算演算は、図２（ｂ）に示すような中間言語に変換される。この中間言語は、２値加算コードとこの２値加算コードに付随する３つのアドレス情報から成っている。ここで２値加算コードとは加算命令であることを示すコードであり、３つのアドレス情報とは、変数Ａ１１、Ａ１２及びＡ１３が格納されているまたは格納すべきメモリのアドレス情報である。通常、変数が格納されているメモリは低速外部メモリ４であるが、後述するように一部の変数が高速内部メモリ３３に格納される場合もある。
【００２２】
この加算器Ａ１の加算演算をＣＰＵ３が行なうときの外部変数アクセスは、図２（ｂ）に示すように、Ａ１１を有するアドレスのデータリード、Ａ１２を有するアドレスのデータリード、そして加算結果のＡ１５を格納すべきアドレスへの加算結果のデータライトとなる。
【００２３】
減算器Ｓ１における減算演算は、上記と同様に２値減算コードとこれに付随する変数Ａ１３、Ａ１４及びＡ１６が格納されているメモリのアドレス情報を表す中間言語となっている。このときの外部変数アクセスも、変数Ａ１３を有するアドレスのデータリード、変数Ａ１４を有するアドレスのデータリード、そして減算結果の変数Ａ１６を格納すべきアドレスへの加算結果のデータライトとなる。
【００２４】
そして制御ブロックの出力を演算する除算器Ｄ１における除算演算も同様に２値徐算コードとこれに付随する変数Ａ３１、Ａ３２及びＡ４１が格納されているメモリのアドレス情報を表す中間言語となっている。このときの外部変数アクセスも、変数Ａ３１を有するアドレスのデータリード、変数Ａ３２を有するアドレスのデータリード、そして減算結果の変数Ａ４１を格納すべきアドレスへの加算結果のデータライトとなる。
【００２５】
以上説明した動作を図３に示すフローチャートに従って以下説明する。
【００２６】
ＣＰＵ３はまず低速外部メモリ４から中間言語で記述されたコードを読み取る（ステップＳＴ１）。これと同時に変数Ａ１１、Ａ１２及びＡ１３が格納されているまたは格納すべきメモリのアドレス情報３個を連続して読み取り、レジスタ３８内の単位レジスタｒ４、ｒ５及びｒ６に書き込む（ステップＳＴ２）。次に演算すべき変数を読み込むため、単位レジスタｒ４に書き込まれているアドレスをアクセスし、そのアドレスに記憶されているデータ[ｒ４]（例えば変数Ａ１１）を単位レジスタｒ１に、またｒ５に書き込まれているアドレスにあるデータ[ｒ５]（例えば変数Ａ１２）を単位レジスタｒ２に夫々格納する（ステップＳＴ３）。
【００２７】
次に、中間言語で記述されたコードが加算命令であるかどうか判定する（ステップＳＴ４）。加算命令であれば、単位レジスタｒ１とｒ２のデータの加算を行い結果を単位レジスタｒ３に格納する（ステップＳＴ５）。ステップＳＴ４で加算命令でなかったときは減算命令かどうかを判定し（ステップＳＴ６）、そうであれば単位レジスタｒ１のデータからｒ２のデータを減算し結果を単位レジスタｒ３に格納する（ステップＳＴ７）。そしてステップＳＴ６で減算命令でなかったときは乗算命令かどうかを判定し（ステップＳＴ８）、そうであれば単位レジスタｒ１とｒ２のデータを乗算し結果を単位レジスタｒ３に格納する（ステップＳＴ９）。最後にステップＳＴ８で加算命令でなかったときは除算命令かどうかを判定し（ステップＳＴ１０）、そうであれば単位レジスタｒ１のデータをｒ２のデータで除算し結果を単位レジスタｒ３に格納する（ステップＳＴ１１）。尚上記において、通常演算は加減乗除しかないので、ステップＳＴ−１０は省略しても良い。
【００２８】
以上の加減乗除のいずれかの演算処理を行なったあと、単位レジスタｒ３に書き込まれた演算結果を単位レジスタｒ６に書き込まれているアドレスにデータ[ｒ６]として（例えば変数（Ａ１５））書き込み（ステップＳＴ１２）、次の中間言語を読み込む（ステップＳＴ１３）。
【００２９】
以上説明したように本発明においては中間言語による記述とその演算処理の手順に特徴がある。この効果について図４を参照して以下説明する。図４は中間言語を使用しないときのコードフェッチとこれに対応する外部変数アクセスを示す比較例の図であり、図２（ｂ）に対応する。
【００３０】
図４に示すように、中間言語に対応するコードフェッチは、例えば加算器Ａ１の処理の場合、以下の命令コード群となる。即ち、アドレス情報Ａ１１のデータを単位レジスタｒ１に読み込む命令、アドレス情報Ａ１２のデータを単位レジスタｒ２に読み込む命令、そして単位レジスタｒ１とｒ２のデータを加算して単位レジスタｒ３に書き込み、その加算結果をアドレス情報Ａ１５に書き込む命令である。そしてこの場合の外部変数アクセスは、ＣＰＵ３は上記命令群の各々に対しての実行となるため上記命令の各手順毎に発生することになる。
【００３１】
上述した図４の手法と、本発明の図２（ｂ）の手法を比較すると、まず、本実施例においては、低速外部メモリ４に記憶させる命令を中間言語による簡単なコードとし、その解釈をＣＰＵ３側で行なうようにしたため低速外部メモリ４の記憶容量を低減させることが可能となる。また、図４に示したように外部変数のアクセス回数が増大するとそれだけ処理時間が長くなるが、本実施例のように連続して３個のアドレス情報を一度に読み込むようにすることによって低速外部メモリ４に対するアクセス回数を低減して処理時間を短縮することが可能となる。この理由は、低速外部メモリ４は、アドレス指定に対しての応答が遅い反面、アドレスが連続したデータについては、事前に次のデータを準備しておく工夫をすることによって、半導体技術的に限界のある動作の遅さを補う機能を伴っているためである。
【００３２】
本発明において、変数データは外部変数として低速外部メモリ４に記憶されるが、サンプリング周期内で何回も使用されるような使用頻度の高い変数については、高速内部メモリ３３に記憶しておくと僅かな高速内部メモリ３３の容量増加で全体の処理時間を大幅に短縮することが可能となる。図示を省略したフィードバック情報の変数についても同様であり、また図２における変数Ａ１５のような中間の演算結果についてもこれと同様である。更に、このような中間の演算結果は一時的なものであるので、特定の単位レジスタ内に一時的に保存し、使用が終わったらこれを消去するようにしても良い。
【実施例２】
【００３３】
以下、本発明の実施例２に係る半導体電力変換器の制御装置を図５及び図６を参照して説明する。
【００３４】
図５（ａ）は本発明の実施例２に係る半導体電力変換器の制御装置の制御ブロック図である。これは、速度基準１（SP_R_1_RPM）と速度基準２（SP_R_2_PU）の２つの外部からの速度基準とモータに付属した位相検出器からのモータ検出位相（THETA_F）とを入力して、速度制御を行う制御ブロック図の例である。２つの速度基準うち、速度基準１ ｒｐｍ（SP_R_1_RPM）はｒｐｍ表示で入力できるように構成している。内部でモータの定格速度を定格速度設定（SET_RPM）として持ち、除算器Ｄ２によって速度基準１をこの定格速度（SET_RPM）で除算することによって、ｐｕ表示の速度基準１ ｐｕ（SP_R_1_PU）を計算する。速度基準２ ｐｕ（SP_R_2_PU）はｐｕ入力が可能となっており、これと速度基準 ｐｕ（SP_R_1_PU）とを加算器Ａ２で加算して、速度基準 ｐｕ（SP_R_PU）を得ている。
【００３５】
一方、モータ位相検出（THETA_F）を微分器Ｂ１によって微分すると、位相の微分を行っているため速度フィードバックが得られる。この速度フィードバックを除算器Ｄ３によって上記定格速度設定（SET_RPM）で徐算し、更に乗算器Ｍ１によって固定値60.0を乗算した後速度フィードバックに乗るノイズなどをフィルタＦ１によって除去することによって、速度フィードバック（SP_F_PU）を得る。
【００３６】
そして、減算器Ｓ２によって速度基準 ｐｕ（SP_R_PU）から速度フィードバック（SP_F_PU）を減算し、その偏差をＰＩ制御器Ｐ１に入力する。ＰＩ制御器１はこの偏差が小さくなるようにトルク基準ｐｕ（T_R）を出力する。このトルク基準ｐｕ（T_R）に従ってＰＷＭ／ゲート回路２を動作させれば交流モータのトルク制御が可能となる。
【００３７】
ここで、ＰＩ制御器Ｐ１は図５（ｂ）に示すように、積分器Ｉ１と加算器Ａ３とを合成して作ることも可能である。
【００３８】
上記の制御ブロックは半導体電力変換器１が交流モータを可変速駆動する場合に頻繁に使用されるものであるが、図２（ａ）に示した実施例１の制御ブロックに比べて、微分器、積分器、フィルタ及びＰＩ制御器などの加減乗除以外の演算処理が含まれているという特徴がある。
【００３９】
図６は実施例２における制御動作のフローチャートである。この実施例２のフローチャートの各部について、図３の本発明の実施例１に係る半導体電力変換器の制御装置のフローチャートの各部と同一部分は同一符号で示し、その説明は省略する。この実施例２が実施例１と異なる点は、ステップＳＴ１とステップＳＴ２の間に命令コードが加減乗除演算かどうかを判断するステップＳＴ１４を追加し、加減乗除演算でなければ、他の数値処理を行なうステップ１５乃至ステップ２３を追加する構成とした点である。
【００４０】
ステップＳＴ１４において加減乗除演算でないと判断されると、入力変数及び出力変数が格納されているメモリのアドレス情報２個を読み取り、レジスタ３８内の単位レジスタｒ４及びｒ６に書き込む（ステップＳＴ１６）。次に演算すべき変数を読み込むため、単位レジスタｒ４に書き込まれているアドレスをアクセスし、そのアドレスに記憶されているデータ[ｒ４]（即ち入力変数）を単位レジスタｒ１に格納する（ステップＳＴ１６）。
【００４１】
次に、中間言語で記述されたコードが微分命令であるかどうか判定する（ステップＳＴ１７）。微分命令であれば、単位レジスタｒ１の変数データの微分処理を行い結果を単位レジスタｒ３に格納する（ステップＳＴ１８）。ステップＳＴ１７で微分命令でなかったときは積分命令かどうかを判定し（ステップＳＴ１９）、そうであれば単位レジスタｒ１の変数データを積分処理し結果を単位レジスタｒ３に格納する（ステップＳＴ２０）。そしてステップＳＴ１９で積分命令でなかったときはＰＩ命令かどうかを判定し（ステップＳＴ２１）、そうであれば単位レジスタｒ１の変数データをＰＩ処理し結果を単位レジスタｒ３に格納する（ステップＳＴ２２）。最後にステップＳＴ２１でＰＩ命令でなかったときはフィルタ命令と判断し、単位レジスタｒ１の変数データをフィルタ処理してその結果を単位レジスタｒ３に格納する（ステップＳＴ２３）。
【００４２】
以上説明したように、ステップＳＴ１４において加減乗除とは異なる他の数値演算であると判断されたとき、ステップＳＴ１５においてその演算に使用する変数のアドレス情報を２個連続して一度に読み込み、その後必要な演算処理を行なっている。このため、この実施例２においても低速外部メモリ４へのアクセス回数を実質的に低減し全体の処理速度を速くすることが可能となっている。
【図面の簡単な説明】
【００４３】
【図１】本発明の半導体電力変換器の制御装置のブロック構成図。
【図２】本発明の実施例１に係る半導体電力変換器の制御装置の制御ブロック図並びに中間言語ロード及び外部変数アクセス状況図。
【図３】本発明の実施例１に係る半導体電力変換器の制御装置の制御フローチャート。
【図４】中間言語を用いない場合の比較例におけるコードフェッチ及び外部変数アクセス状況図。
【図５】本発明の実施例２に係る半導体電力変換器の制御装置の制御ブロック図。
【図６】本発明の実施例２に係る半導体電力変換器の制御装置の制御フローチャート。
【符号の説明】
【００４４】
１  半導体電力変換器
２  ＰＷＭ／ゲート制御回路
３  ＣＰＵ
４  低速外部メモリ
３１  内部制御回路
３２  命令デコード
３３  高速内部メモリ
３４  内部データアクセス
３５  外部データアクセス
３６  外部バス制御
３７  演算器
３８  レジスタ
Ａ１、Ａ２、Ａ３  加算器
Ｂ１  微分器
Ｄ１、Ｄ２、Ｄ３  徐算器
Ｆ１  フィルタ
Ｉ１  積分器
Ｍ１  乗算器
Ｐ１  ＰＩ制御器
Ｓ１、Ｓ２  減算器
【図１】
0005329832.tif 000002
【図２】
0005329832.tif 000003
【図３】
0005329832.tif 000004
【図４】
0005329832.tif 000005
【図５】
0005329832.tif 000006
【図６】
0005329832.tif 000007