(57)【特許請求の範囲】
【請求項１】
モータを駆動するための駆動指令を生成する主制御部（４）と、
前記主制御部（４）に接続され、前記モータを駆動するための制御信号を生成するモー
タ制御部（５）と、を備え、
前記モータ制御部（５）は、
前記モータの回転位置を検出する位置検出部（７）と、
前記位置検出部（７）で検出された前記モータの回転位置に基づいて通電すべき相を自身で判定し、当該通電すべき相が通電されるように前記駆動指令が設定される仮想レジスタ部（８）と、
前記仮想レジスタ部（８）に設定された前記駆動指令に基づいて前記制御信号を生成する信号生成部（６）と、を備え、
前記仮想レジスタ部（８）は、
前記制御信号として生成される信号数に対応して複数設けられ、前記主制御部（４）からアクセスされる際のアドレスが共通化されている複数の制御レジスタ（１０、１１、１２）と、
前記位置検出部（７）で検出された前記モータの回転位置に基づいて通電すべき相に対応する前記制御レジスタ（１０、１１、１２）を判定し、当該判定した前記制御レジスタ（１０、１１、１２）に対して前記駆動指令が設定されるように制御するレジスタ制御手段（１３）と、により構成されていることを特徴とするモータ制御用の半導体装置。
【請求項２】
前記モータは、インバータ回路（２）によって駆動されるものであり、
前記仮想レジスタ部（８）は、複数の前記制御レジスタ（１０、１１、１２）のうち前記インバータ回路（２）のハイサイド側の前記制御信号を生成するためのハイサイド側のレジスタ群（１４Ｈ）と、前記インバータ回路のローサイド側の前記制御信号を生成するためのローサイド側のレジスタ群（１４Ｌ）とに区分けされ、各レジスタ群（１４Ｈ、１４Ｌ）に属する前記制御レジスタ（１０、１１、１２）のアドレスが共通化されていることを特徴とする請求項１記載のモータ制御用の半導体装置。
【請求項３】
前記モータ（３）は、位置センサレス制御によって制御されるものであり、
予め定められているパターンの位置信号を生成する位置信号生成部（２１）を備え、
前記位置検出部（７）は、前記モータ（３）を始動するとき、前記位置信号生成部（２１）で生成された前記位置信号に基づいて前記モータ（３）の回転位置を検出することを特徴とする請求項１または２記載のモータ制御用の半導体装置。
【請求項４】
異常を検出する異常検出部（３１）を備え、
前記仮想レジスタ部（８）は、前記異常検出部（３１）によって異常が検出されたとき、前記主制御部（４）からの前記駆動指令にかかわらず前記モータ（３）への通電を停止する停止指令が設定されることを特徴とする請求項１から３のいずれか一項記載のモータ制御用の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを制御するためのモータ制御用の半導体装置に関する。
【背景技術】
【０００２】
モータ制御用の半導体装置は、ＣＰＵ等の主制御部と、例えばＰＷＭ制御する際のパルス幅やパルス周期などを設定するためのレジスタとを備えている（例えば、特許文献１参照）。このようなモータ制御用の半導体装置は、例えば三相モータを駆動する場合において、モータの回転位置に基づいて通電パターンを判定し、その通電パターンで通電相すべき相に通電されるようにアクセス先のレジスタを切り替える等の処理を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平成１０−０７５５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来では、上記した処理を主制御部でコンピュータプログラムを実行することでソフトウェア的に行っていた。そのため、主制御部の処理負荷の増大、およびプログラムコード長の増大を招いていた。また、高い処理能力が必要となることから、モータ制御用の半導体装置自体のコストが増加するとともに、プログラムコード長が増大することで大きな容量のメモリが必要となる等、周辺回路のコストが増加する要因にもなっていた。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、主制御部の処理負荷およびプログラムコード長の増大を抑制することができるモータ制御用の半導体装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、モータ制御用の半導体装置は、モータを駆動するための駆動指令を生成する主制御部と、主制御部に接続され、モータを駆動するための制御信号を生成するモータ制御部と、を備え、モータ制御部は、モータの回転位置を検出する位置検出部と、位置検出部で検出されたモータの回転位置に基づいて通電すべき相を自身で判定し、当該通電すべき相が通電されるように駆動指令が設定される仮想レジスタ部と、仮想レジスタ部に設定された駆動指令に基づいて制御信号を生成する信号生成部と、を備える。
【０００７】
これにより、モータ制御用の半導体装置では、従来のような通電パターンの特定および当該通電パターンで通電されるべき相に通電するための制御レジスタの選択等の処理を主制御部で行う必要がない。したがって、主制御部の処理負荷の増大およびプログラムコード長の増大を抑制することができる。また、必要なメモリ容量が削減されるため、コストの増加を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態のモータ制御用の半導体装置の電気的構成を模式的に示す図
【図２】正転時の制御態様を模式的に示す図
【図３】正転時の位置信号、通電パターンおよび通電相の関係を示す図
【図４】反転時の制御態様を模式的に示す図
【図５】反転時の位置信号、通電パターンおよび通電相の関係を示す図
【図６】制御対象となるレジスタの関係を示す図
【図７】ＣＰＵによるモータ制御処理の流れを示す図
【図８】第２実施形態のモータ制御用の半導体装置の電気的構成を模式的に示す図
【図９】第３実施形態のモータ制御用の半導体装置の電気的構成を模式的に示す図
【図１０】第４実施形態のモータ制御用の半導体装置の電気的構成を模式的に示す図
【発明を実施するための形態】
【０００９】
以下、本発明の複数の実施形態について図面を参照しながら説明する。なお、各実施形態において実質的に共通する部位には同一符号を付し、その詳細な説明は省略する。
（第１実施形態）
以下、第１実施形態について、図１から図７を参照しながら説明する。
【００１０】
図１に示すように、モータ制御用の半導体装置１（以下、単に半導体装置１と称する）は、インバータ回路２に接続されている。本実施形態のインバータ回路２は、図示は省略するが、例えばＩＧＢＴ等のスイッチング素子をハイサイド側とローサイド側に直列に接続した直列回路を、Ｕ相、Ｖ相、Ｗ相の三相分設けた構成となっている。以下、半導体装置１からインバータ回路２に与える信号を制御信号（図１にはＵＨ、ＵＬ、ＶＨ、ＶＬ、ＷＨ、ＷＬと示す）と称し、インバータ回路２からモータ３に与えられる信号を駆動信号（図１には、ＥＵ、ＥＶ、ＥＷと示す）と称して説明する。
【００１１】
半導体装置１は、ＣＰＵ４、モータ制御回路５、ＰＷＭ信号生成回路６および位置検出回路７等を備えている。ＣＰＵ４（主制御部に相当する）は、半導体装置１の主たる制御回路であり、図示しないＲＯＭ等に記憶されているコンピュータプログラムを実行することにより、半導体装置１全体を制御する。また、ＣＰＵ４は、モータ３を駆動するための駆動指令を生成する。
【００１２】
モータ制御回路５（モータ制御部に相当する）は、モータ３を制御するための制御信号を生成して出力する。本実施形態の場合、モータ制御回路５は、矩形波制御によりモータ３の駆動を制御する。このため、モータ制御回路５は、ＰＷＭ信号生成回路６（信号生成部に相当する）で制御信号（いわゆるＰＷＭ（Pulse Width Modulation）信号）を生成して出力する。このとき、ＰＷＭ信号生成回路６で生成される制御信号のパルス幅やパルス周期は、仮想レジスタ回路８（仮想レジスタ部に相当する）に設定されている駆動指令（レジスタ値）によって規定される。つまり、ＰＷＭ信号生成回路６は、仮想レジスタ回路８から駆動指令を読み出すことで、ハードウェア的に制御信号を生成する。
【００１３】
仮想レジスタ回路８は、内部バス９によってＣＰＵ４に接続されている。この仮想レジスタ回路８は、上記したインバータ回路２を構成するハイサイド側とローサイド側のスイッチング素子に対応して、ハイサイド側仮想レジスタ回路８Ｈとローサイド側仮想レジスタ回路８Ｌとに区分けされている。
【００１４】
このうち、ハイサイド側仮想レジスタ回路８Ｈは、Ｕ相のハイサイド側に対応する制御レジスタ１０Ｈ、Ｖ相のハイサイド側に対応する制御レジスタ１１Ｈ、および、Ｗ相のハイサイド側に対応する制御レジスタ１２Ｈの３つの制御レジスタで構成されるハイサイド側レジスタ群１４Ｈ（ハイサイド側のレジスタ群に相当する）と、このハイサイド側レジスタ群１４Ｈを制御するレジスタ制御回路１３Ｈ（レジスタ制御手段に相当する）とを備えている。
【００１５】
各制御レジスタ１０Ｈ、１１Ｈ、１２Ｈには、対応する制御信号のパルス幅やパルス周期を設定するための駆動指令がＣＰＵ４から設定される。このとき、ハイサイド側仮想レジスタ回路８Ｈは、データバスが共通化されているとともに、１つのアドレス比較器１５Ｈによって単独のアドレス(ADD_H）に割り付けられている。このため、ハイサイド側仮想レジスタ回路８Ｈは、複数の制御レジスタ１０Ｈ、１１Ｈ、１２Ｈを有しているものの、ＣＰＵ４からは単一のレジスタとしてアクセスされることになる。
【００１６】
このとき、データバスが共通化されているため、全ての制御レジスタ１０Ｈ、１１Ｈ、１２Ｈにデータ（図１には駆動指令と示す）が到達するものの、実際にデータが設定される制御レジスタは、レジスタ制御回路１３Ｈにより決定される。
このレジスタ制御回路１３Ｈは、詳細は後述するが、単一のレジスタとしてＣＰＵ４からアクセスされた際、位置検出回路７（位置検出部に相当する）の検出結果に基づいて、ＣＰＵ４のアクセス先を制御レジスタ１０Ｈ、１１Ｈ、１２Ｈのいずれかに設定する。また、レジスタ制御回路１３Ｈは、本実施形態の場合、詳細は後述するが、アクセス先に設定されなかった制御レジスタをオフする機能も備えている。
【００１７】
一方、ローサイド側仮想レジスタ回路８Ｌは、Ｕ相のローサイド側に対応する制御レジスタ１０Ｌ、Ｖ相のローサイド側に対応する制御レジスタ１１Ｌ、およびＷ相のローサイド側に対応する制御レジスタ１２Ｌの３つの制御レジスタで構成されるローサイド側レジスタ群１４Ｌ（ローサイド側のレジスタ群に相当する）と、このローサイド側レジスタ群１４Ｌを制御するレジスタ制御回路１３Ｌ（レジスタ制御手段に相当する）とを備えている。
【００１８】
各制御レジスタ１０Ｌ、１１Ｌ、１２Ｌには、対応する制御信号のパルス幅やパルス周期を設定するための駆動指令がＣＰＵ４から設定される。このとき、ローサイド側仮想レジスタ回路８Ｌは、データバスが共通化されているとともに、１つのアドレス比較器１５Ｌによって単独のアドレス(ADD_L）に割り付けられている。このため、ローサイド側仮想レジスタ回路８Ｌは、複数の制御レジスタ１０Ｌ、１１Ｌ、１２Ｌを有しているものの、ＣＰＵ４からは単一のレジスタとしてアクセスされることになる。
このとき、データバスが共通化されているため、全ての制御レジスタ１０Ｌ、１１Ｌ、１２Ｌにデータ（図１には駆動指令と示す）が到達するものの、実際にデータが設定される制御レジスタは、レジスタ制御回路１３Ｌにより決定される。
【００１９】
このレジスタ制御回路１３Ｌは、詳細は後述するが、単一のレジスタとしてＣＰＵ４からアクセスされた際、位置検出回路７の検出結果に基づいて、ＣＰＵ４のアクセス先を制御レジスタ１０Ｌ、１１Ｌ、１２Ｌのいずれかに設定する。また、レジスタ制御回路１３Ｌは、本実施形態の場合、詳細は後述するが、アクセス先に設定されなかった制御レジスタをオフする機能も備えている。
【００２０】
位置検出回路７は、モータ３に設けられている位置センサ１６から出力される位置信号に基づいて、モータ３の回転位置を検出する。また、詳細は後述するが、位置検出回路７は、モータ３の回転位置にもとづいて通電パターン（図３、図５参照）を特定し、その特定結果（図１には位置情報と示す）を出力する。
【００２１】
位置センサ１６（１６Ｕ、１６Ｖ、１６Ｗ）は、モータ３の各相の誘起電圧を検出する。また、位置センサ１６は、検出した各相の誘起電圧と基準値とを比較した比較結果をＨレベルまたはＬレベルの位置信号として出力する。なお、位置センサ１６は、使用環境等に応じて例えばホールＩＣ等で構成してもよい。
【００２２】
次に上記した構成の作用について説明する。
モータ３を矩形波制御する場合、ロータの回転角度に応じてスイッチング素子のオン／オフを切り替えてロータを回転させることになる。このとき、スイッチング素子のオン／オフ状態（動作態様）は、ロータが電気角で６０度回転するごとに切り替えられる。つまり、モータ３が１回転する場合、６つの通電パターンが存在する。そのため、モータ３を正回転させる場合には、１回転中の駆動信号（ＥＵ、ＥＶ、ＥＷ）、位置信号（ＨＵ、ＨＶ、ＨＷ）および制御信号（ＵＨ、ＵＬ、ＶＨ、ＶＬ、ＷＨ、ＷＬ）は、図２に示すような対応関係となる。
【００２３】
なお、この図２のような対応関係は、モータ３を矩形波制御する際の一般的な関係であるため詳細な説明は省略するが、ハイサイド側のスイッチング素子がパルス状にオン／オフされ、対応するローサイド側のスイッチング素子のオンされることで、通電すべき相に通電が行われる。
【００２４】
例えばモータ３を正回転させる場合、位置信号と通電パターンとは、図３にも示すように、以下のような対応関係になる。なお、通電パターンの番号は便宜的なものである。
・ＨＵ＝Ｈ、ＨＶ＝Ｌ、ＨＷ＝Ｈのとき通電パターン「１」
・ＨＵ＝Ｈ、ＨＶ＝Ｌ、ＨＷ＝Ｌのとき通電パターン「２」
・ＨＵ＝Ｈ、ＨＶ＝Ｈ、ＨＷ＝Ｌのとき通電パターン「３」
・ＨＵ＝Ｌ、ＨＶ＝Ｈ、ＨＷ＝Ｌのとき通電パターン「４」
・ＨＵ＝Ｌ、ＨＶ＝Ｈ、ＨＷ＝Ｈのとき通電パターン「５」
・ＨＵ＝Ｌ、ＨＶ＝Ｌ、ＨＷ＝Ｈのとき通電パターン「６」
このとき、通電パターンと通電相との関係は、以下のようになる。
【００２５】
・通電パターン「１」：通電相はＵ相→Ｖ相
・通電パターン「２」：通電相はＵ相→Ｗ相
・通電パターン「３」：通電相はＶ相→Ｗ相
・通電パターン「４」：通電相はＶ相→Ｕ相
・通電パターン「５」：通電相はＷ相→Ｕ相
・通電パターン「６」：通電相はＷ相→Ｖ相
一方、モータ３を反転（正回転とは逆向きに回転）させる場合には、駆動信号、位置信号および制御信号は、図４に示すような動作態様となる。このため、反転時にも、正回転時と同様に６つの通電パターンが存在する。このとき、図５にも示すように、通電パターンと通電相との対応関係は正転時と同じであるものの、位置信号と通電パターンとの対応関係は、以下のようになる。
【００２６】
・ＨＵ＝Ｈ、ＨＶ＝Ｌ、ＨＷ＝Ｈのとき通電パターン「４」
・ＨＵ＝Ｈ、ＨＶ＝Ｌ、ＨＷ＝Ｌのとき通電パターン「５」
・ＨＵ＝Ｈ、ＨＶ＝Ｈ、ＨＷ＝Ｌのとき通電パターン「６」
・ＨＵ＝Ｌ、ＨＶ＝Ｈ、ＨＷ＝Ｌのとき通電パターン「１」
・ＨＵ＝Ｌ、ＨＶ＝Ｈ、ＨＷ＝Ｈのとき通電パターン「２」
・ＨＵ＝Ｌ、ＨＶ＝Ｌ、ＨＷ＝Ｈのとき通電パターン「３」
【００２７】
さて、ここで、比較例として従来の制御手法について説明する。従来の制御手法では、通電パターンとレジスタとの対応関係を記憶しておき、検出されたモータ３の回転位置に基づく通電パターンの特定、当該通電パターンで通電されるべき相に通電するためのレジスタの選択、選択したレジスタへの駆動指令の設定をソフトウェアで実行していた。このため、それぞれの通電パターンに対応するために６通りのプログラムコードを記述する必要があり、また、それぞれの通電パターンにおいてＵ相、Ｖ相およびＷ相の各スイッチング素子のオン／オフを制御するための駆動指令の設定が必要となっていた。その結果、処理負荷の増大やプログラムコード長の増大、それに伴うコストの増加を招いていた。
【００２８】
そこで、本実施形態では、以下のようにして処理負荷やプログラムコード長が増大すること、および、それに伴ってコストが増加してしまうことを抑制している。
半導体装置１の場合、レジスタ制御回路１３には、上記したような通電パターンと通電すべき相との対応関係が予め設定されている。そして、レジスタ制御回路１３は、位置検出回路７で特定された通電パターンに基づいて、ＣＰＵ４のアクセス先を通電すべき相に対応する制御レジスタに設定する。具体的には、レジスタ制御回路１３は、図６に示す対応関係が設定されている。本実施形態の場合、通電パターン「１」では、ＣＰＵ４のアクセス先となる制御レジスタは、ハイサイド側がＵ相の制御レジスタ１０Ｈ、ローサイド側がＶ相の制御レジスタ１１Ｌになるように設定されている。
【００２９】
このとき、位置検出回路７により通電パターンが「１」であると特定された場合には、ハイサイド側のレジスタ制御回路１３Ｈは、ＣＰＵ４のアクセス先を制御レジスタ１０Ｈに切り替える。これにより、ＣＰＵ４が単一アドレス（ここでは、ADD_H）にデータ（駆動指令）を書き込むアクセスを行った場合には、そのデータは、通電すべき相に対応する制御レジスタ、すなわち、ここでは制御レジスタ１０Ｈに書き込まれることになる。なお、レジスタ制御回路１３Ｈは、アクセス先でない制御レジスタ１１Ｈ、１２Ｈをオフ（スイッチング素子がオフされる状態）にする。
【００３０】
そのため、ＣＰＵ４がモータ３を制御する場合には、図７に示すように、ＣＰＵ４は、モータ３の回転速度等を検出するモータ状態検出を行うと（Ｓ１）、それに対応するデータ（駆動指令）を、ハイサイド側仮想レジスタ回路８Ｈに出力する（Ｓ２）。このとき、上記したようにアクセス先つまりデータの書き込み先となる制御レジスタは、モータ制御回路５側で自動的に選択される。このため、ＣＰＵ４から単一アドレス（ここでは、ADD_H）にアクセスすれば、データ（駆動指令）は、例えば制御レジスタ１０Ｈに設定されることになる。つまり、半導体装置１では、通電パターンの特定および当該通電パターンで通電されるべき相に通電するためのレジスタの選択等の処理をＣＰＵ４で行わなくても、所望の制御レジスタに対して駆動指令を設定することができる。
【００３１】
一方、ローサイド側のレジスタ制御回路１３Ｌにおいては、レジスタ制御回路１３Ｌにより、位置検出回路７により通電パターンが「１」であると特定された場合には、ＣＰＵ４のアクセス先を制御レジスタ１１Ｌに設定される。このため、ＣＰＵ４が単一アドレス（ここでは、ADD_L）にデータ（駆動指令）を設定するためのアクセスを行った場合には、そのデータは、通電すべき相に対応する制御レジスタ１１Ｌに設定されることになる。なお、レジスタ制御回路１３Ｌは、アクセス先でない制御レジスタ１０Ｌ、１２Ｌをオフにする。
【００３２】
そのため、ＣＰＵ４は、モータ３の状態に対応するデータ（駆動指令）をローサイド側仮想レジスタ回路８Ｌに出力すれば（Ｓ３）、すなわち、単一アドレス（ここでは、ADD_L）に対してアクセスするだけで、所望の制御レジスタに対して駆動指令を設定することができる。
【００３３】
なお、通電パターンが「２」〜「６」の場合も同様であり、ＣＰＵ４は、ハイサイド側仮想レジスタ回路８Ｈまたはローサイド側仮想レジスタ回路８Ｌに対して単一アドレスでアクセスするだけで、所望の制御レジスタにデータ（駆動指令）を設定することができる。例えば、このため、通電パターンが「２」の場合には、ＣＰＵ４からのデータ（駆動指令）は、ハイサイド側ではＵ相の制御レジスタ１０Ｈに、ローサイド側ではＷ相の制御レジスタ１２Ｌに設定される。
【００３４】
また、通電パターンが「３」の場合には、ＣＰＵ４のアクセス先となる制御レジスタは、ハイサイド側ではＶ相の制御レジスタ１１Ｈ、ローサイド側がＷ相の制御レジスタ１２Ｌになる。また、通電パターンが「４」の場合には、ＣＰＵ４のアクセス先となる制御レジスタは、ハイサイド側がＶ相の制御レジスタ１１Ｈ、ローサイド側がＵ相の制御レジスタ１０Ｌになる。また、通電パターンが「５」の場合には、ＣＰＵ４のアクセス先となる制御レジスタは、ハイサイド側がＷ相の制御レジスタ１２Ｈ、ローサイド側がＵ相の制御レジスタ１０Ｌになる。また、通電パターンが「６」の場合には、ＣＰＵ４のアクセス先となる制御レジスタは、ハイサイド側がＷ相の制御レジスタ１２Ｈ、ローサイド側がＶ相の制御レジスタ１１Ｌになる。
【００３５】
このように、半導体装置１では、ＣＰＵ４が仮想レジスタ回路８に対してアクセスを行った場合、そのアクセス先は、モータ制御回路５側で自動的に切り替えられる。これにより、ＣＰＵ４での処理を削減することができる。なお、モータ３を正回転とするか反転とするかの判断はＣＰＵ４で行われており、正回転であるか反転であるかを仮想レジスタ回路８側に設定することで、特定された通電パターンに対応する制御レジスタが選択される。
【００３６】
以上説明した実施形態によれば、次のような効果を得ることができる。
モータ制御用の半導体装置１は、モータ３を駆動するための駆動指令を生成するＣＰＵ４（主制御部）と、ＣＰＵ４に接続され、モータ３を駆動するための制御信号を生成するモータ制御回路５（モータ制御部）とを備えている。そして、このモータ制御回路５は、モータ３の回転位置を検出する位置検出回路７（位置検出部）と、位置検出回路７で検出したモータ３の回転位置に基づいて通電すべき相を自身で判定し、当該通電すべき相が通電されるように前記駆動指令が設定される仮想レジスタ回路８（仮想レジスタ部）と、仮想レジスタ回路８に設定された駆動指令に基づいて駆動信号を生成するＰＷＭ信号生成回路６（信号生成部）と、を備える。
【００３７】
これにより、半導体装置１では、従来のような通電パターンの特定および当該通電パターンで通電されるべき相に通電するためのレジスタの選択等の処理をＣＰＵ４で行う必要がない。したがって、ＣＰＵ４の処理負荷およびプログラムコード長の増大を抑制することができる。また、メモリ容量を削減することができるため、コストの増加を抑制することができる。
【００３８】
また、仮想レジスタ回路８は、制御信号として生成される信号数（本実施形態では、例えば６つ）に対応して複数設けられ、ＣＰＵ４からアクセスされる際のアドレスが共通化されている複数の制御レジスタ１０〜１２と、位置検出回路７で検出されたモータ３の回転位置に基づいて通電すべき相に対応する制御レジスタ１０〜１２を判定し、当該判定した前記制御レジスタ１０〜１２に対して駆動指令を設定するレジスタ制御回路１３（レジスタ制御手段）、により構成されている。
これにより、複数の制御レジスタ１０〜１２が設けられている場合であっても、ＣＰＵ４のアクセス先は、モータ制御回路５側で自動的に切り替えられる。これにより、ＣＰＵ４の処理負荷を低減することができる。
【００３９】
このとき、ＣＰＵ４からは単一アドレスにアクセスすればよいので、ＣＰＵ４の処理負荷をさらに低減することができる。
また、本実施形態では、インバータ回路２によって駆動されるモータ３を対象としている。そして、仮想レジスタ回路８は、複数の制御レジスタ１０〜１２のうちインバータ回路２のハイサイド側の制御信号を生成するためのハイサイド側レジスタ群１４Ｈと、インバータ回路２のローサイド側の制御信号を生成するためのローサイド側レジスタ群１４Ｌとに区分けされている。さらに、ハイサイド側レジスタ群１４Ｈに属する制御レジスタ１０Ｈ、１１Ｈ、１２Ｈ、ローサイド側レジスタ群１４Ｌに属する制御レジスタ１０Ｌ、１１Ｌ、１２Ｌは、それぞれアドレスが共通化されている。
【００４０】
このため、ハイサイド側とローサイド側とで異なる駆動指令を設定したい場合であっても、ハイサイド側のレジスタ群とローサイド側のレジスタ群とでアドレスを共通化しているので、ＣＰＵ４からはいずれかのアドレスにアクセスすればそれぞれ適切な制御レジスタに駆動指令を設定することができ、最小限のＣＰＵ４の処理負荷でモータ３を制御することができる。
【００４１】
（第２実施形態）
以下、第２実施形態について、図８を参照しながら説明する。
本実施形態の場合、図８に示すように、モータ制御用の半導体装置２０は、第１実施形態の半導体装置１の構成に加えて、位置信号生成回路２１およびタイマ２２を備えている。また、本実施形態の場合、モータ３は、位置センサレス制御によって制御されている。
【００４２】
位置信号生成回路２１（位置信号生成部に相当する）は、タイマ２２を用いて、予め定められているパターンの位置信号を生成して位置検出回路７に出力する。そして、位置検出回路７は、モータ３を始動するとき、位置信号生成回路２１で生成された位置信号に基づいてモータ３の回転位置を検出する。
【００４３】
位置センサレス制御を行う場合、モータ３の始動時には回転位置を検出できないことから、一般的に、モータ３を強制的に回転させる強制転流が行われている。この場合、従来では、強制転流のための制御レジスタの選択や駆動指令の設定をＣＰＵ４で行っていた。つまり、半導体装置２０は、第１実施形態と同様の構成を備えることで通常動作時の処理負荷を低減できるものの、位置センサレス制御を行う場合には、始動時にＣＰＵ４の処理負荷が増大する可能性があった。
【００４４】
そこで、本実施形態では、位置信号生成回路２１において予め定められているパターンの位置信号を生成している。この場合、位置信号生成回路２１で生成される位置信号は、所定の周期で上記した通電パターンが切り替わるような態様の信号として生成される。そして、位置検出回路７は、位置信号生成回路２１で生成された位置信号に基づいて、すなわち、所定の周期で通電パターンが切り替わる信号に基づいて、モータ３の始動時に通電すべき相を特定する。
【００４５】
これにより、ＣＰＵ４において通電すべき相の特定等の処理を行う必要が無くなり、ＣＰＵ４の処理負荷を低減することができる。また、位置センサレス制御の始動時に位置情報が得られない場合でも、ＣＰＵ４に負担をかけることなく、モータ３を始動させることができる。
【００４６】
（第３実施形態）
以下、第３実施形態について、図９を参照しながら説明する。
本実施形態の場合、図９に示すように、モータ制御用の半導体装置３０は、第１実施形態の半導体装置１の構成に加えて、異常検出回路３１（異常検出部に相当する）を備えている。この異常検出回路３１は、ＣＰＵ４で異常を検出したときや、外部端子３２に接続されている外部機器（図示省略）から異常が発生したことを示す信号が入力されたとき、あるいは、異常検出回路３１自身で異常を検出したときなど、半導体装置３０やモータ３あるいは周辺装置等になんらかの異常が生じた場合に、その旨を仮想レジスタ回路８に出力する。
【００４７】
そして、仮想レジスタ回路８は、異常検出回路３１によって異常が検出されたときには、ＣＰＵ４からの駆動指令にかかわらず、モータ３への通電を停止する停止指令が設定される。より具体的には、異常検出回路３１で検出した異常がレジスタ制御回路１３に入力され、レジスタ制御回路１３によって、全ての制御レジスタ１０〜１２がオフされる。この全ての制御レジスタ１０〜１２がオフされた状態が、停止指令が設定された状態に相当する。
【００４８】
これにより、インバータ回路２の全てのスイッチング素子がオフされ、モータ３への通電が行われなくなる。つまり、モータ３が、強制遮断される。これにより、緊急に全出力をオフしなければならない強制遮断時に、ＣＰＵ４の動作状態にかかわらず、速やかにモータ３を停止させることができる。
また、ＣＰＵ４の動作状態にかかわらず強制遮断することができるため、ＣＰＵ４が暴走したような状態であっても、モータ３を停止させることができる。
【００４９】
（第４実施形態）
以下、第４実施形態について、図１０を参照しながら説明する。
本実施形態の場合、図１０に示すように、モータ制御用の半導体装置４０は、第１実施形態の半導体装置１と類似するものの、複数の制御レジスタ１０〜１２を有する仮想レジスタ回路８は、１つのレジスタ制御回路１３によって制御されている。
【００５０】
矩形波制御によりモータ３を制御する場合、上記した図２〜図６に示すようにハイサイド側は、ＣＰＵ４からの駆動指令に基づいてパルス状にオン／オフを繰り返すものの、ローサイド側は、オンまたはオフのいずれかの状態になっている。このため、通電パターンと、ローサイド側の制御レジスタ１０Ｌ、１１Ｌ、１２Ｌのオン／オフとの対応関係（図６参照）をレジスタ制御回路１３に設定しておけば、矩形波制御においては、ローサイド側の制御レジスタ１０Ｌ、１１Ｌ、１２Ｌに対してＣＰＵ４からアクセスを行わなくてもよいと考えられる。
【００５１】
そのため、半導体装置３０では、複数の制御レジスタ１０〜１２を有する仮想レジスタ回路８を単一のアドレスに割り付け、データバスをハイサイド側の制御レジスタ１０Ｈ、１１Ｈ、１２Ｈで共通化している。これにより、通電パターンが特定されたとき、レジスタ制御回路１３は、ＣＰＵ４からのアクセス先を通電パターンに応じたハイサイド側のいずれかの制御レジスタ１０Ｈ、１１Ｈ、１２Ｈに切り替えるとともに、ローサイド側の制御レジスタ１０Ｌ、１１Ｌ、１２Ｌに対しては、図６に示した対応関係に基づいて、オン／オフを設定する。
これにより、ＣＰＵ４は、矩形波制御を行う場合には上記した図７のステップＳ３を省略することができる。つまり、ＣＰＵ４の処理負荷をさらに低減することができる。
【００５２】
（その他の実施形態）
本発明は、上記した実施形態で例示したものに限定されるものではなく、その要旨を逸脱しない範囲で任意に変形あるいは拡張することができる。
各実施形態を組み合わせてもよい。例えば、第２実施形態の構成に第３実施形態の異常検出回路３１を設けてもよいし、第３実施形態や第４実施形態の構成を第２実施形態のような位置センサレス制御に適用してもよい。
各実施形態で示した数値や制御レジスタの数等は一例であり、これに限定されるものでは無い。
【符号の説明】
【００５３】
図面中、１、２０、３０、４０は半導体装置（モータ制御用の半導体装置）、２はインバータ回路、３はモータ、４はＣＰＵ（主制御部）、５はモータ制御回路（モータ制御部）、６はＰＷＭ信号生成回路（信号生成部）、７は位置検出回路（位置検出部）、８は仮想レジスタ回路（仮想レジスタ部）、８Ｈはハイサイド側仮想レジスタ回路（仮想レジスタ部）、８Ｌはローサイド側仮想レジスタ回路（仮想レジスタ部）、１０〜１２、１０Ｈ、１０Ｌ、１１Ｈ、１１Ｌ、１２Ｈ、１２Ｌは制御レジスタは、１３、１３Ｈ、１３Ｌはレジスタ制御回路（レジスタ制御部）、１４はレジスタ群、１４Ｈはハイサイド側レジスタ群（ハイサイド側のレジスタ群）、１４Ｌはローサイド側レジスタ群（ローサイド側のレジスタ群）、２１は位置信号生成回路（位置信号生成部）、３１は異常検出回路（異常検出部）を示す。
【図１】
0006409663.tif 000002
【図２】
0006409663.tif 000003
【図３】
0006409663.tif 000004
【図４】
0006409663.tif 000005
【図５】
0006409663.tif 000006
【図６】
0006409663.tif 000007
【図７】
0006409663.tif 000008
【図８】
0006409663.tif 000009
【図９】
0006409663.tif 000010
【図１０】
0006409663.tif 000011