(57)【特許請求の範囲】
【請求項１】
電動機の駆動制御を上位コントローラから与えられる指令に応じて行うプログラムが記憶された記憶部と、
前記プログラムにしたがって前記駆動制御を行うとともに、前記記憶部内の記憶領域のうちアクセスを禁止された領域へのアクセス要求を検知した場合に、前記電動機の動作状態に応じて予め定められたアクセス制限動作を実行する制御部と、
を有することを特徴とする電動機駆動装置。
【請求項２】
前記記憶部には、
前記記憶部内の記憶領域のうちアクセスを禁止する領域に対応付けて、当該領域へのアクセス要求を検知した場合に前記制御部に実行させるアクセス制限動作を示す情報が前記電動機の動作状態毎に格納されたテーブルが格納されており、
前記制御部は、
前記テーブルの格納内容にしたがってアクセス制限動作を実行する
ことを特徴とする請求項１に記載の電動機駆動装置。
【請求項３】
前記制御部は、前記記憶部内の記憶領域のうちアクセスを禁止する領域を定期的に変更することを特徴とする請求項１または請求項２に記載の電動機駆動装置。
【請求項４】
前記制御部は、前記記憶部内の記憶領域のうちの予め定められた領域を対象として定期的にメモリ診断を実行するとともに、当該メモリ診断の対象領域にアクセス禁止の領域が含まれている場合には当該メモリ診断の実行に先立って当該領域のアクセス禁止を解除し、当該メモリ診断の実行完了後、当該領域をアクセス禁止に再設定することを特徴とする請求項１〜３の何れか１項に記載の電動機駆動装置。
【請求項５】
電動機の駆動制御を上位コントローラから与えられる指令に応じて行うプログラムが記憶された記憶部と、
前記プログラムにしたがって前記駆動制御を行う一方、前記記憶部内の記憶領域のうちの予め定められた領域を対象として定期的にメモリ診断を実行するとともに、当該メモリ診断の対象領域にアクセス禁止の領域が含まれている場合には当該メモリ診断の実行に先立って当該領域のアクセス禁止を解除し、当該メモリ診断の実行完了後、当該領域をアクセス禁止に再設定する制御部と、
を有することを特徴とする電動機駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電動機の駆動制御を行う電動機駆動装置に関する。
【背景技術】
【０００２】
所謂ハイブリッド車やＥＶ（Electric Vehicle）には、動力源となる電動機の駆動制御を行う電動機駆動装置として、車載バッテリなどの直流電源から供給される直流電力を交流電力に変換して電動機に与える電力変換装置が搭載されている。この種の電動機駆動装置には、電動機の駆動制御を行う電動機制御機能の他に、それに付随する付随機能を有することが求められる。付随機能の具体例としては、ＶＣＵ（Vehicle Control Unit）など上位コントローラや他の周辺機器とＣＡＮ（Controller Area Network）などの車載ネットワークを介してデータ通信する通信機能や、周辺機器の作動制御を行う周辺機器制御機能が挙げられる。付随機能や電動機制御機能は、電動機駆動装置の記憶部に予め記憶されたプログラムにしたがって当該電動機駆動装置の制御部を作動させることで実現される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４６６９６８７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
付随機能の詳細な内容は、電動機駆動装置が搭載される車両の車種等に応じて異なることが多い。そこで、電動機駆動装置の製造元は、電動機駆動装置の仕向け先毎に付随機能を柔軟にカスタマイズできるように、上記プログラムを電動機制御機能を実現するための基本部と付随機能を実現するためのアプリケーション部とに分割して電動機駆動装置の記憶部に記憶させておくとともに、後者については自由に書き換えできるように記憶させておく。また、電動機駆動装置のプログラムを基本部とアプリケーション部とに分割しておけば、仕向け先等による基本部の読出しを禁止するようなアクセス制限を設けることで、基本部の詳細な内容を仕向け先に対して秘匿することができ、電動機の駆動制御に関するノウハウに関する機密保持を図ることができる。
【０００５】
メモリ等の記憶部に記憶されているデータについてのアクセス制限に関する先行技術文献としては特許文献１が挙げられる。特許文献１には、記憶部に記憶されているプログラムに対して、自身が記憶されている記憶領域以外からのデータ読み出しを禁止することが記載されている。特許文献１に開示の技術を電動機駆動装置に適用することで、基本部のプログラムの不正読出しを防止することができる。アプリケーション部のプログラムに基本部のプログラムを読み出すようなコードが埋め込まれていたとしても、アプリケーション部のプログラムは基本部のプログラムとは異なる記憶領域に格納されているため、上記コードにしたがって実行される基本部のプログラムの読出しは禁止されるからである。
【０００６】
しかし、特許文献１に開示の技術には幾つかの問題があり、安全性確保を強く要請される車載用の電動機駆動装置におけるアクセス制限には向かない。詳細は次の通りである。安全性確保のために満たすべき事項として車載用の電動機駆動装置に要求される事項には種々のものがあるが、その一例としては良好なレンスポンス性が挙げられる。レスポンス性とは、運転者の運転操作の内容が電動機の駆動状態（換言すれば車両の走行状態）に反映されるまでに要する時間の長さに関する評価のことをいい、レスポンス性が良好とはこの時間が充分に短いことを言う。特許文献１に開示の技術には、上記レスポンス性を低下させる、といった問題がある。その理由は以下の通りである。
【０００７】
通常、記憶部内の記憶領域に対して、当該記憶領域からのデータの読出しを禁止する設定を行うと、その設定が為された記憶領域からのデータの読出しは、同じ記憶領域に記憶されているプログラムによる読み出しであるか否かを問わずに一律に禁止される。特許文献１に開示の技術のように、同じ記憶領域に記憶されているプログラムによる読み出しのみを許容するには、上記設定の為された記憶領域からのデータ読み出し要求が発生する毎にプログラムカウンタを参照してその要求元のプログラムを判別し、その判別結果に応じて設定を切り替えることが必要となる。特許文献１に開示の技術では、当該判別および設定の切り換えに要する時間の分だけ、レンスポンス性が低下する。
【０００８】
また、車載用の電動機駆動装置に特許文献１に開示の技術を適用してアクセス制限を行うと、以下のような問題も生じ得る。車載用の電動機駆動装置については、車両走行中の安全性確保の観点から、動作中に定期的にメモリ診断を行うことを求められる場合がある。これは、メモリ破損に起因する電動機駆動装置の誤動作により、予期せぬ危険を招かないようにするためである。なお、メモリ破損とは、記憶部に記憶されているデータにビット化け等が生じることを言い、メモリ診断とは、診断対象の記憶領域にメモリ破損が生じているか否かを診断することを言う。特許文献１に開示の技術によってアクセス禁止設定を行うと、メモリ診断の実行に支障が生じる。メモリ診断では、診断対象の記憶領域からのデータの読出しが前提となるからである。
【０００９】
このように、車載用の電動機駆動装置において、基本部プログラムの機密保持のために特許文献１に開示の技術によりアクセス制限を行うと、レスポンス性が低下したり、定期的なメモリ診断の実行が不可能になったりするなど、車両走行中の安全性確保に支障が生じる。このため、特許文献１に開示の技術は、車載用の電動機駆動装置におけるアクセス制限には向かないのである。車載用の電動機駆動装置と同様に安全性確保を要求される電動機駆動装置であれば、特許文献１に開示の技術により機密保持を図ろうとすると同様の問題が発生する。
【００１０】
本発明は上記課題に鑑みて為されたものであり、電動機の駆動制御に関する機密保持と安全性の確保との両立が可能な電動機駆動装置を提供する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明は、以下の記憶部および制御部を有する電動機駆動装置を提供する。記憶部には、車両の動力源となる電動機の駆動制御を上位コントローラから与えられる指令に応じて制御部に行わせるプログラムが記憶されている。制御部は、上記プログラムにしたがって電動機の駆動制御を行う一方、記憶部内の記憶領域のうちアクセスを禁止された領域へのアクセス要求を検知した場合に、電動機の動作状態に応じて予め定められたアクセス制限動作を実行する。
【００１２】
本発明の電動機駆動装置では、プログラムカウンタの参照を伴う判別を行う必要はなく、レスポンス性が損なわれることはない。また、アクセス禁止領域へのアクセス要求を検知した場合に、そのアクセスに対抗するアクセス制限動作として電動機の動作状態毎に異なる動作を行わせることができる。例えば、車載用の電動機駆動装置に本発明を適用した場合には、電動機が停止中（すなわち、停車中）であれば電動機駆動装置を停止させて確実に機密保持を図る一方、電動機が所定の回転速度以上で駆動中（車両走行中）であれば不正アクセスが為された旨のログを記録するに留め安全性確保を優先させるといった具合である。このように本発明によれば、車載用の電動機駆動装置において、電動機の駆動制御に関する機密保持と安全性の確保との両立を実現することが可能となる。
【００１３】
より好ましい態様においては、制御部は、記憶部内の記憶領域のうちアクセスを禁止する領域を定期的に変更することを特徴とする。このような態様によれば、機密保持の度合いを一層高めることが可能になる。
【００１４】
さらに好ましい態様においては、制御部は、記憶部内の記憶領域のうちの予め定められた領域を対象として定期的にメモリ診断を実行するとともに、当該メモリ診断の対象領域にアクセス禁止の領域が含まれている場合には当該メモリ診断の実行に先立って当該領域のアクセス禁止を解除し、当該メモリ診断の実行完了後、当該領域をアクセス禁止に再設定することを特徴とする。このような態様によれば、安全性確保の観点から、動作中に定期的にメモリ診断を実行することが要求される場合であっても、電動機の駆動制御に関する機密保持と安全性の確保とを両立させることが可能になる。なお、上記のようなメモリ診断の定期的な実行を要求される場合であっても、アクセス禁止領域以外の記憶領域を対象としてメモリ診断を実行するような場合には、アクセス禁止の解除や再設定を行う必要はない。
【発明の効果】
【００１５】
本発明によれば、電動機駆動装置において、電動機の駆動制御に関する機密保持と安全性確保とを両立することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態の電動機駆動装置１の構成例を示す図である。
【図２】同電動機駆動装置１のメモリ空間におけるアクセス禁止設定の一例と同電動機駆動装置１に記憶されている動作定義テーブルの一例を示す図である。
【図３】本発明の第２実施形態の電動機駆動装置のメモリ空間におけるアクセス禁止設定の一例を示す図である。
【図４】同電動機駆動装置に記憶されている動作定義テーブルの一例を示す図である。
【図５】本発明の第３実施形態の電動機駆動装置におけるメモリ診断の対象領域の一例を示す図である。
【図６】同実施形態における初期検査コードの生成および書き込み手順の流れを示す図である。
【図７】同実施形態の変形例の動作定義テーブルの一例を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ本発明の実施形態を説明する。
図１は、本発明の一実施形態の電動機駆動装置１の構成例を示す図である。
電動機駆動装置１は、ＥＶに搭載される電動機の駆動制御を行うためのものであり、図１には、電動機駆動装置１の他に、電動機駆動装置１の制御を行う上位コントローラ２と、電動機駆動装置１による駆動制御の対象となる電動機３とが図示されている。電動機駆動装置１は、上位コントローラ２による制御の下、電動機３の駆動制御を行う。
【００１８】
電動機３は三相交流電動機であり、上位コントローラ２はＶＣＵである。上位コントローラ２は、ＣＡＮなどの車載ネットワークを介して電動機駆動装置１に接続されている。上位コントローラ２は、ＥＶの運転者による運転操作に応じて各種指令を生成し、上記車載ネットワークを介して電動機駆動装置１に与える。この運転操作には、アクセルペダルの踏み込み操作等が含まれる。また、上位コントローラ２から電動機駆動装置１に与えられる指令の具体例としては電動機３の出力トルクを指定するトルク指令や電動機３の回転速度を指定する速度指令が挙げられる。
【００１９】
電動機駆動装置１は、電力変換装置であり、車載バッテリなどの直流電源（図１では図示略）から供給される直流電力を三相交流電力に変換して電動機３に与える。電動機駆動装置１は、上位コントローラ２から与えられる各種指令に応じて上記三相交流電力の各相の電流値或いは電圧値を調整することで、電動機３の駆動制御を行う。
【００２０】
図１に示すように電動機駆動装置１は、制御回路１０と、電力変換回路１２とを有する。電力変換回路１２は、ＩＧＢＴなどのスイッチング素子を含んでおり（図１では図示略）、直流電源と電動機３とに接続されている。本実施形態では電力変換回路１２に含まれるスイッチング素子のスイッチング（オン／オフの切り替え）により、直流電源から供給される直流電力の交流電力への変換が実現される。制御回路１０は例えばマイクロコンピュータである。制御回路１０は、上位コントローラ２から与えられる各種指令に応じて、電力変換回路１２に含まれるスイッチング素子のオン／オフ制御を行う。図１に示すように制御回路１０は、制御部１００、周辺Ｉ／Ｏ部１１０、記憶部１２０、およびこれら構成要素間のデータ授受を仲介するバス１３０を有する。
【００２１】
制御部１００は、例えばＣＰＵ（Central Processing Unit）コアである。制御部１００は、記憶部１２０に記憶されているプログラムにしたがって作動することで、電動機駆動装置１の制御中枢として機能する。記憶部１２０に記憶されているプログラムの詳細、および当該プログラムにしたがって制御部１００が実行する処理の詳細については後に明らかにする。
【００２２】
周辺Ｉ／Ｏ部１１０は、車載ネットワークに接続されている。周辺Ｉ／Ｏ部１１０は、車載ネットワークを介して上位コントローラ２から送信されてくる各種指令を受信し、制御部１００に引き渡す。周辺Ｉ／Ｏ部１１０には、電動機３の回転速度を検出する速度センサなどの各種Ｉ／Ｏ機器を接続するための各種インタフェースや、Ｉ／Ｏ機器の出力信号にＡ／Ｄ変換を施すＡ／Ｄ変換器、上記車載ネットワークを介したデータ通信についての通信タイムアウトを検出するためのタイマなどが含まれているが、本実施形態との関連が薄いため、図１では詳細な図示を省略した。
【００２３】
記憶部１２０は、図１に示すように揮発性記憶部１２２と不揮発性記憶部１２４とを含んでいる。揮発性記憶部１２２は例えばＲＡＭ（Random Access Memory）である。揮発性記憶部１２２は、プログラムを実行する際のワークエリアとして制御部１００によって利用される。また、揮発性記憶部１２２には、電動機駆動装置１の動作に伴って随時更新されるデータも格納される。揮発性記憶部１２２に格納されるデータの一例としては、電動機駆動装置１による駆動制御の対象の電動機３の動作状態を示す状態フラグが挙げられる。本実施形態の電動機３はＥＶの動力源であり、上記状態フラグは当該ＥＶの走行状態も表す。この状態フラグの更新は、基本部プログラムにしたがって動作する制御部１００によって行われる。例えば、電動機３の回転速度が予め定められた閾値以上である場合には、制御部１００は走行中であると見做して上記状態フラグに「走行中」を示す第１の値（本実施形態では、１）をセットし、上記回転速度が上記閾値未満である場合には、停車中であると見做して上記状態フラグに「停車中」を示す第２の値（本実施形態では、０）をセットする。なお、本実施形態では、電動機駆動装置１の搭載された車両の走行状態を当該電動機駆動装置１の制御部１００に判定させたが、上位コントローラ２に判定させても良い。
【００２４】
不揮発性記憶部１２４は、図１に示すように、（Electrically Erasable
Programmable Read Only Memory）１２４２とＲＯＭ（Read Only Memory）１２４４を含んでいる。ＲＯＭ１２４４には各種プログラムが予め書き込まれており、ＥＥＰＲＯＭ１２４２にはロギングデータやキャリブレーションデータなどの各種データが格納される。ロギングデータとは、電動機駆動装置１の動作状態や内部処理の推移を示す履歴データである。電動機駆動装置１の整備担当者は、このロギングデータを参照することで車両走行中の電動機駆動装置１の動作状態や内部処理の推移を把握することができる。
【００２５】
ＲＯＭ１２４４に格納されているプログラムは、図１に示すように、基本部プログラム１２４４ａとアプリケーション部プログラム１２４４ｂに区分けされる。アプリケーション部プログラム１２４４ｂは、上位コントローラ２とデータ通信するための上位通信機能、および車速に応じた速度メータの表示制御等の周辺機器制御機能を制御部１００に実現させるプログラムである。基本部プログラム１２４４ａは、上位コントローラ２から与えられる各種指令に応じて電力変換回路１２の作動制御を行う電動機制御機能を制御部１００に実現させるためのプログラムである。また、本実施形態の基本部プログラム１２４４ａは制御部１００にＯＳ（Operating System）を実現させるプログラムでもある。基本部プログラム１２４４ａにしたがってＯＳを実現している状態の制御部１００には、記憶部１２０に格納されているデータへのアクセス要求が発生した場合に、そのアクセス要求を許可するか否かを判別するアクセス管理機能が付与される。実際のアクセス禁止や検知は、マイクロコンピュータが有するＭＰＵ（Memory Protection Unit）やＭＭＵ（Memory
Management Unit）などのメモリ保護機能やＥＣＣ（Error Correcting Code）などの誤り符号訂正により実施する。アクセス禁止／検知をマイコンが有する機能に任せることで、レスポンス性において従来技術に比較して明確に優位となる。本実施形態では、上記アクセス管理機能を利用して基本部プログラム１２４４ａへの不正アクセスが防止される。
【００２６】
本実施形態では、制御部１００がアクセス可能なメモリ空間に対して、アプリケーション部プログラム１２４４ｂからのアクセスを禁止するアクセス禁止領域を定義すること（図２（ａ）参照）ができ、さらに、アクセス禁止領域に対するアプリケーション部プログラム１２４４ｂからのアクセスが為された場合の動作（すなわち、当該アクセスに対抗するアクセス制限動作）を車両の走行状態毎に定義することができる。なお、制御部１００がアクセス可能なメモリ空間とは、周辺Ｉ／Ｏ部１１０に接続された各Ｉ／Ｏ機器に割り当てられたアドレスおよび記憶部１２０内の各記憶領域に割り当てられているアドレスの集合である。周辺Ｉ／Ｏ部１１０に接続された各Ｉ／Ｏ機器についても記憶部１２０内の記憶領域と同様にアドレスを用いてアクセスされる。このため、以下では、周辺Ｉ／Ｏ部１１０に接続された個々のＩ／Ｏ機器についても記憶領域と表現する。
【００２７】
例えば、図２（ａ）に示す例では、以下のようにアクセス禁止領域が定められている。まず、ＲＯＭ１２４４については、先頭アドレス＝ａｄｒＡである記憶領域と先頭アドレス＝ａｄｒＢである記憶領域がアクセス禁止とされている。以下では前者を「アクセス禁止領域Ａ」と呼び、後者を「アクセス禁止領域Ｂ」と呼ぶ。同様に、Ｉ／Ｏ機器については、アドレス＝ａｄｒＣのＩ／Ｏ機器がアクセス禁止とされており、以下、このＩ／Ｏ機器のことを「アクセス禁止領域Ｃ」と呼ぶ。そして、揮発性記憶部１２２については、先頭アドレス＝ａｄｒＤの記憶領域がアクセス禁止とされており、以下、この記憶領域を「アクセス禁止領域Ｄ」と呼ぶ。
【００２８】
本実施形態では、図２（ａ）に示すようにアクセス禁止領域を定義すること、およびそのアクセス禁止領域に対するアクセスが為された場合のアクセス制限動作を定義することを可能にするため、これらの定義内容を示すデータを格納する動作定義テーブルが基本部プログラム１２４４ａに予め埋め込まれている。図２（ｂ）は、動作定義テーブルの格納内容の一例を示す図である。図２（ｂ）に示すように、動作定義テーブルには領域識別子に対応付けて、アクセス属性データ、停車時処理データおよび走行時処理データが格納されている。
【００２９】
領域識別子は、アクセス禁止領域を一意に示すデータである。本実施形態では、アプリケーション部プログラム１２４４ｂからのアクセスを禁止する記憶領域のアドレスが領域識別子として用いられている。アクセス禁止領域がＩ／Ｏ装置である場合には、領域識別子は当該Ｉ／Ｏ装置に割り当てられたアドレスである。アクセス禁止領域が記憶部１２０内の記憶領域である場合には、領域識別子は、当該記憶領域の先頭アドレスであり、このアドレス以降の所定アドレス分の記憶領域（すなわち、所定のデータサイズ分の記憶領域）がアクセス禁止領域とされる。本実施形態では、アクセス禁止領域を一意に示す識別子として記憶領域のアドレスを用いるが、当該アドレスと、アクセス禁止とする記憶領域のデータサイズの組を領域識別子として用いても良い。先頭アドレスとデータサイズの組を領域識別子として用いることで、各々データサイズの異なるアクセス禁止領域を定義することが可能になる。
【００３０】
アクセス属性データは、当該アクセス属性データに対応する領域識別子の示すアクセス禁止領域についての禁止されているアクセス内容を示すデータである。図２（ｂ）に示す例では、アクセス禁止領域について禁止するアクセスとして、「データの読出し」と「データの書き込み」の２種類が想定されている。
【００３１】
停車時処理データは、電動機駆動装置１を搭載している車両の停車中に上記禁止されているアクセスが為された場合に制御部１００に実行させるアクセス制限動作の内容を表すデータであり、走行時処理データは、電動機駆動装置１を搭載している車両の走行中に上記禁止されているアクセスが為された場合に制御部１００に実行させるアクセス制限動作の内容を表すデータである。
【００３２】
図２（ｂ）に示す例では、車両の停車中に禁止されているアクセスが為された場合のアクセス制限動作として、不定データセット、アクセス対象のデータの消去、アクセスログ記録、システムダウンの４種類が想定されている。不定データセットとは、アクセス先の記憶領域に実際に格納されているデータとは無関係な不定データ（例えば、疑似乱数等を用いて生成したデータ）をアクセス元へ返却する処理である。アクセスログ記録とは、アクセス内容を表すデータをロギングデータへ追記することである。車両の停車中に禁止されているアクセスが為された場合の処理として上記４種類の何れを採用するのかについてはアクセス先のデータについての機密保持の度合いに応じて定めるようにすれば良い。これに対して、車両走行中に禁止されているアクセスが為された場合のアクセス制限動作としては、アクセスログの記録のみが想定されている。車両走行中に不定データセット、データ消去或いはシステムダウンといった処理を行うと、予期せぬ危険を招く虞があるからである。アクセスログの記録のみでは不正なデータ読出しを完全に防止することはできないが、事後の整備の際等に不正アクセスがあったことを把握することができ、アプリケーション部プログラムを入れ替えるなどの対処を行うことができる。
【００３３】
本実施形態では、動作定義テーブルの格納内容にしたがって上記メモリ空間に対するアクセス制限が実現される。例えばアクセス禁止領域Ａに対するアプリケーション部プログラム１２４４ｂからのデータ読出しを検知した場合には、制御部１００は、停車中であれば不定データをセットしてそのアクセス元へ返信する一方、走行中であればアクセスログへの記録を行う。同様に、アクセス禁止領域Ｂに対するアプリケーション部プログラム１２４４ｂからのデータ読出しを検知した場合には、制御部１００は、停車中であればＲＯＭ１２４４に記憶されている該当データを消去する一方、走行中であればアクセスログの記録を行う。
【００３４】
このように、本実施形態では、アプリケーション部プログラム１２４４ｂからのアクセス禁止領域へのアクセスを検知した場合の動作を、電動機駆動装置１を搭載した車両の走行状態（換言すれば、電動機３の動作状態）毎に定義できるため、車両走行中の安全性を担保することができる。また、本実施形態において、基本部プログラム１２４４ａの記憶されたＲＯＭ１２４４内の記憶領域のうちの幾つかをアクセス禁止領域としておけば、基本部プログラム１２４４ａをその先頭から読み出そうとするコードがアプリケーション部プログラム１２４４ｂに不正に埋め込まれていたとしても、途中のアクセス禁止領域のアクセスで読み出しが禁止され、基本部プログラム１２４４ａの全てのコードが読み出されることを防ぐことができる。
【００３５】
このように、本実施形態によれば、車両走行中の安全性確保と、基本部プログラム１２４４ａについての機密保持とを両立させることが可能になる。また、本実施形態では、アクセス禁止領域に対するアクセスが為された場合にプログラムカウンタの値を参照してそのアクセス元の判別を行う必要はなく、レンスポンス性が損なわれることもない。
【００３６】
（Ｂ：第２実施形態）
上記第１実施形態によれば、基本部プログラム１２４４ａが格納されている記憶領域をアクセス禁止領域とすることで、当該基本部プログラム１２４４ａ全体が不正に読み出されることを防止することができた。しかし、アクセス禁止領域の設定が常に一定であると、アクセス禁止領域の設定パターンを解析され、アクセス禁止領域を避けるようにＲＯＭ１２４４へのアクセスが為される虞がある。そこで、図３に示すように、アクセス禁止設定Ａ→アクセス禁止設定Ｂ→アクセス禁止設定Ｃ・・・というようにアクセス禁止設定のパターン（アクセス禁止領域の設定数および設定位置）を定期的（図３に示す例では時間Ｔが経過する毎に周期的に）に変更できることが好ましく、本実施形態はこのような変更を可能にするものである。なお、図３ではアクセス禁止領域がハッチングで示されている。
【００３７】
アクセス禁止設定パターンの定期的な変更を可能とするため、本実施形態の動作定義テーブルには、領域識別子に対応付けてその領域識別子の示す領域の状態（アクセス禁止状態、或いはアクセスが許可された状態）を示す状態データが格納されており（図４参照）、この点が第１実施形態の動作定義テーブル（図２（ｂ）参照）と異なる。本実施形態では、制御部１００は、動作定義テーブルに格納されている各状態データを定期的に更新する。これにより、図３に示すようなアクセス禁止設定の定期的な更新が実現される。そして、制御部１００は、アプリケーション部プログラム１２４４ｂから何れかの領域識別子の示す領域へのアクセスを検知した場合には、当該領域識別子に対応する状態データを参照し、その状態データがアクセス許可を表すデータであれば当該アクセスを許可し、アクセス禁止を表すデータであれば、その時点の車両の走行状態に応じたアクセス制限動作を実行する。
【００３８】
本実施形態によれば、上記第１実施形態と同様に、車両走行中の安全性確保と基本部プログラム１２４４ａについての機密保持とを両立させることが可能になることに加えて、機密保持の度合いを一層強固にすることができる。なお、本実施形態では、領域識別子に対応付けて状態データを動作定義テーブルに格納したが、領域識別子と状態データとを対応付けるテーブルを図２（ｂ）の動作定義テーブルとは別個のテーブルとしても良い。
【００３９】
（Ｃ：第３実施形態）
前述したようにＥＶ用の電動機駆動装置には、定期的にメモリ診断を実行することを要求される場合があり、本実施形態はこのような要求に応えるためのものである。一般にメモリ診断は、診断対象の領域に格納されるデータについて検査コードを所定のアルゴリズムにしたがって予め算出しておき、メモリ診断の際に再計算した検査コードと一致するか否かを判別することで実現される。上記検査コードとしては、チェックサムやＣＲＣ（Cyclic Redundancy Check）が用いられることが多い。以下では、上記所定のアルゴリズムにしたがって予め算出された検査コードのことを「初期検査コード」と呼ぶ。
【００４０】
メモリ診断を実行する際には検査コードの再計算の際に診断対象の記憶領域に格納されているデータを読み出す（すなわち、当該データにアクセスする）必要があり、上記第１実施形態或いは第２実施形態におけるアクセス制限とは相いれない。そこで、本実施形態では、図５に示すように、アクセス禁止領域以外を対象領域としてメモリ診断を行う。なお、図５ではアクセス禁止領域がハッチングで示されている。図５に示す例では、メモリ診断の対象となる複数の記憶領域全体に亘って１つの検査コードを算出しているが、メモリ診断の対象領域毎に検査コードを算出しても良い。
【００４１】
初期検査コードの算出手順および記憶部１２０への書き込み手順については種々の態様が考えられるが、その一例は以下の通りである。以下、基本部プログラム１２４４ａの格納領域を対象領域としてメモリ診断を行う場合を例に取って、初期検査コードの算出手順および記憶部１２０への書き込み手順を説明する。図６は、初期検査コードの算出手順および記憶部１２０への書き込み手順の流れを示す図である。初期検査コードは、基本部プログラム１２４４ａのロードモジュールとマップファイルに基づいて算出される。基本部プログラム１２４４ａのロードモジュールとは、基本部プログラム１２４４ａのソースコード（図６では、「Ｃソース」と表記）やヘッダファイルをビルドして出力される実行形式ファイル（ヘキサファイル）である。一方、マップファイルとは、上記ソースコードに含まれている関数や変数等を表すシンボル情報と当該関数や変数等の格納先のアドレスとを対応付けるファイルである。
【００４２】
本実施形態では、動作定義テーブル作成ツールにより、マップファイルのシンボル情報を参照してアクセスを禁止する記憶領域の領域識別子とシンボルとが抽出され、このようにして抽出されたシンボルを通じて上記記憶領域に格納されるデータの意義や機密保持の度合いを把握し、その把握結果に応じたアクセス属性データ等を上記領域識別子に対応付けることで動作定義テーブルが作成される。動作定義テーブル作成ツールについてはｇｒｅｐやａｗｋなどの既存ツールを適宜利用して作成すれば良い。次に、ロードモジュールと動作定義テーブルとを参照してアクセス禁止領域を除く記憶領域をメモリ診断の対象領域として初期検査コードを算出し、ロードモジュール内の特定番地に埋め込む。初期値検査コードの算出についても、チェックサムの算出ツールやＣＲＣの算出ツールなどの既存ツールを適宜利用すれば良い。このようにして初期検査コードの埋め込まれたロードモジュールをＲＯＭ１２４４に書き込むことで初期検査コードの設定が完了する。
【００４３】
本実施形態によれば、安全性確保の観点から動作中に定期的にメモリ診断を実行することが要求される場合であっても、電動機の駆動制御に関する機密保持と安全性確保とを両立させることが可能になる。なお、本実施形態では、アクセス禁止領域を除く記憶領域をメモリ診断の対象領域としたが、アクセス禁止領域をメモリ診断の対象領域に含めることも可能である。具体的には、メモリ診断の対象領域にアクセス禁止の領域が含まれている場合には当該メモリ診断の実行に先立って当該領域のアクセス禁止を解除し、当該メモリ診断の実行完了後、当該領域をアクセス禁止に再設定する処理を制御部１００に実行させるようにすれば良い。
【００４４】
上記のようなアクセス禁止の解除および再設定を可能とするには、図７に示すように、領域識別子に対応付けてその領域識別子の示す記憶領域がメモリ診断の対象であるか否かを示すデータ（図７では診断対象フラグ）とを動作定義テーブルに格納しておけば良い。そして、制御部１００には、メモリ診断の対象となっている領域については、メモリ診断の実行に先立って状態データを「禁止」から「許可」に更新し、メモリ診断の完了を契機として当該状態データを「許可」から「禁止」に更新する処理を実行させるようにすれば良い。図７に示す例では、先頭アドレス＝ａｄｒＢの記憶領域（すなわち、アクセス禁止領域Ｂ）はメモリ診断の対象となっている。このため、アクセス禁止領域Ｂについての状態データは、メモリ診断の実行に先立って「禁止」から「許可」に更新され、メモリ診断の完了を契機として「許可」から「禁止」に更新される。これに対して、先頭アドレス＝ａｄｒＡの記憶領域（すなわち、アクセス禁止領域Ａ）については状態データの更新が行われることはない。なお、アクセス禁止領域をメモリ診断の対象領域に含める場合には、メモリ診断の対象外の領域には実行されることのないダミープログラムを格納しておき、メモリ診断の対象領域には実際に実行される可能性のあるプログラムを格納しておくことが考えられる。
【００４５】
（Ｄ：変形）
以上本発明の第１〜第３実施形態について説明したが、これら実施形態に以下の変形を加えても勿論良い。
（１）上記各実施形態では、ＥＶ用の電動機駆動装置への本発明の適用例を説明したが、所謂ハイブリッド車向けの電動機駆動装置に本発明を適用しても良い。また、本発明の適用対象はＥＶやハイブリッド車などに搭載される車載用の電動機駆動装置には限定されず、工場などの産業施設内に設置される電動機の駆動制御を行う電動機駆動装置に本発明を適用しても良い。工場などの産業施設内に設置される電動機駆動装置についても安全性の確保と電動機の駆動制御に関するノウハウの秘匿等の機密保持とを要求される場合があるからである。また、電動機の動作状態に応じてアクセス制限動作の内容を異ならせる必要がない場合には、アクセス禁止領域の定期的な変更のみを行っても良く、また、アクセス禁止の解除と再設定によるメモリ診断との両立のみを行っても良い。これらの場合、動作定義テーブルには、領域識別子に対応付けてアクセス制限動作の内容を表すデータを一種類だけ格納しておけば良い。
【００４６】
（２）上記各実施形態では、本発明の特徴を顕著に示すアクセス制限を制御部１００に実現させる基本部プログラム１２４４ａが電動機駆動装置１の記憶部１２０に予め記憶されていた。しかし、上記基本部プログラム１２４４ａ或いは上記基本部プログラム１２４４ａのうち上記各実施形態のアクセス制限を実現するためのモジュールをフラッシュＲＯＭなどの記録媒体に書き込んで配布しても良い。このようにして配布される基本部プログラム１２４４ａによって既存の電動機駆動装置の基本部プログラムを置き換えること、或いは上記アクセス制限を実現するモジュールを既存の電動機駆動装置に追加インストールすることで、当該既存の電動機駆動装置を本発明の電動機駆動装置として機能させることが可能になるからである。また、上記各実施形態では、動作定義テーブルが基本部プログラム１２４４ａに埋め込まれていたが、基本部プログラム１２４４ａとは別個に動作定義プログラムをＲＯＭ１２４４に格納しておいても良い。
【符号の説明】
【００４７】
１…電動機駆動装置、２…上位コントローラ、３…電動機、１０…制御回路、１２…電力変換回路、１００…制御部、１１０…周辺Ｉ／Ｏ部、１２０…記憶部、１２２…揮発性記憶部、１２４…不揮発性記憶部、１２４２…ＥＥＰＲＯＭ、１２４４…ＲＯＭ、１２４４ａ…基本部プログラム、１２４４ｂ…アプリケーション部プログラム、１３０…バス。
【図１】
0006547533.tif 000002
【図２】
0006547533.tif 000003
【図３】
0006547533.tif 000004
【図４】
0006547533.tif 000005
【図５】
0006547533.tif 000006
【図６】
0006547533.tif 000007
【図７】
0006547533.tif 000008