(57)【要約】【課題】基本プログラム及びアプリケーションプログラムの開発をカーメーカ側が行うことができるデバイスドライバの作成方法又は組込みプログラムの作成方法を提供する。【解決手段】本発明によるデバイスドライバの作成方法によると、車載用電子制御装置と該車載用電子制御装置による制御対象の機器の間の電気的接続状態を含む結線情報を表示するＥＣＵ結線情報テーブルを生成し、車載用電子制御装置に入力される信号群、及び、車載用電子制御装置から出力される信号群と、マイクロコンピュータの信号ピンとの間の接続関係を含む信号ピン割付け情報を表示する信号ピン割付け情報テーブルを生成し、この２つのテーブルを統合し、統合情報テーブルを生成する。この統合情報テーブルを用いて、既存のデバイスドライバ開発ツールによって、デバイスドライバを作成する。【選択図】図６
2009015653.tif 000002
【特許請求の範囲】
【請求項１】
車載用電子制御装置に搭載されるマイクロコンピュータに実装されるデバイスドライバの作成方法であって、
前記車載用電子制御装置と前記車載用電子制御装置による制御対象の機器の間の電気的接続状態を含む結線情報を表示するＥＣＵ結線情報テーブルを生成することと、
前記車載用電子制御装置に入力される信号群、及び、前記車載用電子制御装置から出力される信号群と、前記マイクロコンピュータの信号ピンとの間の接続関係を含む信号ピン割付け情報を表示する信号ピン割付け情報テーブルを生成することと、
前記ＥＣＵ結線情報テーブルと前記信号ピン割付け情報テーブルを統合して統合情報テーブルを生成することと、
既存のデバイスドライバ開発ツールを入手することと、
を含み、
前記デバイスドライバ開発ツールを用いて、
前記統合情報テーブルの前記結線情報と前記信号ピン割付け情報を参照して、前記機器が発生する信号と前記マイクロコンピュータ内のモジュール回路との整合性を確認するモジュール回路整合性確認ステップと、
前記統合情報テーブルの前記結線情報と前記信号ピン割付け情報を参照して、前記機器が発生する信号の信号変換の整合性を確認する信号変換整合性確認ステップと、
前記統合情報テーブルの前記信号ピン割付け情報を参照して、前記マイクロコンピュータのレジスタに対してアクセスする手順を設定したレジスタアクセスプログラムを生成するステップと、
前記統合情報テーブルの前記信号ピン割付け情報を参照して、前記レジスタアクセスプログラムによりリードアクセスしたレジスタ値に対してどのようなデータ加工を行うかを設定したデータ加工プログラムを生成するステップと、
前記レジスタアクセスプログラムと前記データ加工プログラムを統合してデバイスドライバを生成するステップと、
を実行することを特徴とするデバイスドライバの作成方法。
【請求項２】
請求項１記載のデバイスドライバの作成方法において、
前記結線情報は、前記機器、前記車載用電子制御装置のコネクタピンの地点の信号の種類及び特性、及び、前記車載用電子制御装置のコネクタのピン番号を含むことを特徴とするデバイスドライバの作成方法。
【請求項３】
請求項１記載のデバイスドライバの作成方法において、
前記信号ピン割付け情報は、前記車載用電子制御装置のコネクタのピン番号、前記車載用電子制御装置のコネクタピンと前記マイクロコンピュータのコネクタピンの間の回路における信号変換仕様、前記マイクロコンピュータのコネクタピンの地点の信号の種類及び特性、前記マイクロコンピュータのピン番号、及び、前記マイクロコンピュータに内臓されたモジュール回路の特性を含むことを特徴とするデバイスドライバの作成方法。
【請求項４】
請求項１記載のデバイスドライバの作成方法において、
前記モジュール回路整合性確認ステップは、前記機器の各々に関して、前記車載用電子制御装置のコネクタのピン番号と、該コネクタのピンの地点の信号の種類及び特性と、前記マイクロコンピュータのピン番号と、前記マイクロコンピュータのコネクタピンの地点の信号の種類及び特性と、前記マイクロコンピュータに内臓されたモジュール回路の特性と、を照合することによって、モジュール回路の整合性の確認を行うことを特徴とするデバイスドライバの作成方法。
【請求項５】
請求項１記載のデバイスドライバの作成方法において、
前記信号変換整合性確認ステップは、前記機器の各々に関して、前記車載用電子制御装置のコネクタピンの地点の信号の種類及び特性と、前記車載用電子制御装置のコネクタピンと前記マイクロコンピュータのコネクタピンの間の回路における信号変換仕様と、前記マイクロコンピュータのコネクタピンの地点の信号の種類及び特性と、を照合することによって信号変換の整合性の確認を行うことを特徴とするデバイスドライバの作成方法。
【請求項６】
請求項１記載のデバイスドライバの作成方法において、前記信号ピン割付け情報は、マイクロコンピュータの公知情報が格納されたデータベースから入手して生成することを特徴とするデバイスドライバの作成方法。
【請求項７】
車載用電子制御装置に搭載されるマイクロコンピュータに実装される組込みプログラムの作成方法であって、
前記車載用電子制御装置と前記車載用電子制御装置による制御対象の機器の間の電気的接続状態を含む結線情報を表示するＥＣＵ結線情報テーブルを生成することと、
前記車載用電子制御装置に入力される信号群、及び、前記車載用電子制御装置から出力される信号群と、前記マイクロコンピュータの信号ピンとの間の接続関係を含む信号ピン割付け情報を表示する信号ピン割付け情報テーブルを生成することと、
前記ＥＣＵ結線情報テーブルと前記信号ピン割付け情報テーブルから、既存のデバイスドライバ開発ツールを用いて、デバイスドライバソースコードを生成するステップと、
既存の制御ロジック設計ツールを用いて、パーソナルコンピュータ上で開発され、車載用電子制御装置における実際の動作前に該車載用電子制御装置の動作の確認作業を行うことができる制御モデルを構築するステップと、
既存の組込みプログラム開発ツールを用いて、前記制御モデルに基づいて、組込みプログラムソースコードを生成するステップと、
前記組込みプログラムソースコードに前記デバイスドライバを付加するステップと、
既存のソースコードコンパイルツールを用いて、前記デバイスドライバソースコードが付加された前記組込みプログラムソースコードから組込みプログラム実行コードを生成するステップと、
を含む組込みプログラムの作成方法。
【請求項８】
請求項７記載の組込みプログラムの作成方法において、前記デバイスドライバソースコードを生成するステップは、
前記デバイスドライバ開発ツールを用いて、
前記ＥＣＵ結線情報テーブルと前記信号ピン割付け情報テーブルを参照して、前記機器が発生する信号と前記マイクロコンピュータ内のモジュール回路との整合性を確認するモジュール回路整合性確認ステップと、
前記ＥＣＵ結線情報テーブルと前記信号ピン割付け情報テーブルを参照して、前記機器が発生する信号の信号変換の整合性を確認する信号変換整合性確認ステップと、
前記信号ピン割付け情報テーブルを参照して、前記マイクロコンピュータのレジスタに対してアクセスする手順を設定したレジスタアクセスプログラムを生成するステップと、
前記統合情報テーブルの前記信号ピン割付け情報を参照して、前記レジスタアクセスプログラムによりリードアクセスしたレジスタ値に対してどのようなデータ加工を行うかを設定したデータ加工プログラムを生成するステップと、
前記レジスタアクセスプログラムと前記データ加工プログラムを統合してデバイスドライバを生成するステップと、
を実行することを特徴とする組込みプログラムの作成方法。
【請求項９】
請求項７記載の組込みプログラムの作成方法において、
前記結線情報は、前記機器、前記車載用電子制御装置のコネクタピンの地点の信号の種類及び特性、及び、前記車載用電子制御装置のコネクタのピン番号を含むことを特徴とする組込みプログラムの作成方法。
【請求項１０】
請求項７記載の組込みプログラムの作成方法において、
前記信号ピン割付け情報は、前記車載用電子制御装置のコネクタのピン番号、前記車載用電子制御装置のコネクタピンと前記マイクロコンピュータのコネクタピンの間の回路における信号変換仕様、前記マイクロコンピュータのコネクタピンの地点の信号の種類及び特性、前記マイクロコンピュータのピン番号、及び、前記マイクロコンピュータに内臓されたモジュール回路の特性を含むことを特徴とする組込みプログラムの作成方法。
【請求項１１】
請求項７記載の組込みプログラムの作成方法において、
前記モジュール回路整合性確認ステップは、前記機器の各々に関して、前記車載用電子制御装置のコネクタのピン番号と、該コネクタのピンの地点の信号の種類及び特性と、前記マイクロコンピュータのピン番号と、前記マイクロコンピュータのコネクタピンの地点の信号の種類及び特性と、前記マイクロコンピュータに内臓されたモジュール回路の特性と、を照合することによって、モジュール回路の整合性の確認を行うことを特徴とする組込みプログラムの作成方法。
【請求項１２】
請求項７記載の組込みプログラムの作成方法において、
前記信号変換整合性確認ステップは、前記機器の各々に関して、前記車載用電子制御装置のコネクタピンの地点の信号の種類及び特性と、前記車載用電子制御装置のコネクタピンと前記マイクロコンピュータのコネクタピンの間の回路における信号変換仕様と、前記マイクロコンピュータのコネクタピンの地点の信号の種類及び特性と、を照合することによって信号変換の整合性の確認を行うことを特徴とする組込みプログラムの作成方法。
【請求項１３】
請求項７記載の組込みプログラムの作成方法において、前記信号ピン割付け情報は、マイクロコンピュータの公知情報が格納されたデータベースから入手して生成することを特徴とする組込みプログラムの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は車載用電子制御装置を構成するマイクロコンピュータに実装されるデバイスドライバ及び組込みプログラムの作成方法に関わる。
【背景技術】
【０００２】
近年、機械技術と電子技術を組み合わせたメカトロニクス技術があらゆる工業製品に適用されている。メカトロニクス技術の進歩を背景として、自動車など輸送用機器にも多くのコンピュータシステムが適用されている。
【０００３】
自動車に搭載されるコンピュータシステムは、車載用電子制御装置（以下「ＥＣＵ」と称する）と称される。ＥＣＵには、マイクロコンピュータ（以下「マイコン」と称する）とそれを実行するソフトウエアが搭載されている。このソフトウエアは、組み込みプログラムと称される。
【０００４】
組込みプログラムは、基本プログラムとアプリケーションプログラム（以下単に「アプリケーション」と称する）からなる。基本プログラムは、オペレーティングシステム（ＯＳ）とデバイスドライバを含む。
【０００５】
自動車産業では、通常、ＥＣＵはＥＣＵサプライヤーからカーメーカに供給される。サプライヤーは、組込みプログラムを作成し、それをＥＣＵ内のＲＯＭ（Read Only Memory）に格納して、カーメーカに出荷する。
【０００６】
基本プログラムの開発とアプリケーションプログラムの開発は、開発効率や再利用性の理由から、互いに別個独立的に行われる。
【０００７】
基本プログラムの開発は、通常、サプライヤーが行う。アプリケーションプログラムの開発の場合、通常、カーメーカが制御系設計を行い、これを仕様としてサプライヤーへ供給する。サプライヤーは、仕様に沿って制御プログラムのプログラミングを行う。カーメーカは、制御プログラムの仕様を決め、又は、制御プログラムの仕様の承認を行うが、制御プログラムの作成は行わない。
【０００８】
いずれにせよ、制御プログラムのプログラミングを行うこと、および実行コードをＥＣＵ内のＲＯＭ（Read Only Memory）に組み込むことはサプライヤーの役割であり、アプリケーションプログラムの開発は、実質的にサプライヤー側が主導権を有する。
【０００９】
近年、組込みプログラムを作成するための制御系設計支援ソフトウエアが開発されている。このような、支援ソフトウエア（非特許文献１を参照）として、MATLAB、SimLink、TargetLink等がある。これらの支援ソフトウエアを用いて、プログラムのソースコードを自動的に生成することができる。
【００１０】
制御系設計支援ソフトウエアでは、本来はＥＣＵ上で動作する制御ロジックを、パーソナルコンピュ−タ上にて、制御モデルという形式に変換して、開発及び動作確認を行う。さらに、各制御要素（変速線変換やフィードバック制御など）をブロック線図上に記述しながら、制御モデルを作成することができる。更に、制御ロジックをプログラミング言語のソースコードに変換することができる。従って、これを利用すれば、「仕様書という中間的な生成物を介してサプライヤーにプログラミングを依頼する」という作業が不要になる。尚、制御ロジックは、上述の分類ではアプリケーションプログラムに相当する。
【００１１】
【非特許文献１】http://www.dspace.jp/ww/ja/jap/home.cfm: dSPACEジャパン製品情報
【非特許文献２】http://www.vector-japan.co.jp：ベクタージャパン製品及びサービス
【発明の開示】
【発明が解決しようとする課題】
【００１２】
アプリケーションプログラムの開発に関して、カーメーカは以下の問題を抱える。
１）カーメーカは、制御プログラムの仕様をサプライヤーへ供給し、又は、サプライヤーからの提案仕様を承認する。また、プログラムバージョンと納入されたＥＣＵの対応づけの管理も行う。そのため、カーメーカ側では、様々な管理工程が必要である。
２）サプライヤーから供給されるＥＣＵの価格には、制御プログラムの開発に要する作業コストが上乗せされている。従って、制御プログラムがサプライヤーで開発されている限り、ＥＣＵの価格は、制御プログラムの開発費用分だけ高くなる。
３）制御プログラムの開発の主導権はサプライヤーが有する。そのため、開発方式等の技術的事項に関しても、サプライヤーが主導権を有することになる。そのため、ＥＣＵの購入の際に、カーメーカの価格交渉力が弱くなる可能性がある。
【００１３】
これら１）〜３）の問題は、制御ソフトウエアの開発をＥＣＵサプライヤーが行っていることに起因する。
【００１４】
基本プログラムの開発は、上述のように、基本的には、サプライヤーが行っている。例えば、ＯＳは、サプライヤーが独自に開発する。しかしながら、ＥＣＵ用の標準ＯＳとしてOSEK（非特許文献２を参照）が知られている。これを採用すれば、サプライヤーにＯＳの開発及びプログラミングを依頼する必要はなくなる。
【００１５】
一方、デバイスドライバの開発は、現在の技術環境では、サプライヤーに任せざるを得ない。デバイスドライバは、ＥＣＵに対する入力信号及び出力信号を直接制御するプログラムである。従って、デバイスドライバの開発には、ＥＣＵのハードウエア構成に関わる設計情報が必要である。このような設計情報として、例えば、マイコンが内蔵する周辺モジュール群の操作方法、入力信号及び出力信号がマイコンのどの信号ピンに割り当てられているか、等がある。カーメーカが、このような情報に精通することは、困難である。
【００１６】
サプライヤーから供給されるＥＣＵの価格には、アプリケーションプログラムの開発費用ばかりでなく、基本プログラムの開発費用も含まれる。従って、ＥＣＵの価格を低減するには、基本プログラム及びアプリケーションプログラムの開発をカーメーカ側が実行し、ＥＣＵ内のＲＯＭへの実行コード書き込みを、カーメーカ側が実行すればよい。
【００１７】
本発明の目的は、基本プログラム及びアプリケーションプログラムの開発をカーメーカ側が行い、ＥＣＵ内のＲＯＭへの実行コード書き込みを、カーメーカ側が行うことができるデバイスドライバの作成方法又は組込みプログラムの作成方法を提供する。
【課題を解決するための手段】
【００１８】
本発明によるデバイスドライバの作成方法によると、車載用電子制御装置と該車載用電子制御装置による制御対象の機器の間の電気的接続状態を含む結線情報を表示するＥＣＵ結線情報テーブルを生成し、車載用電子制御装置に入力される信号群、及び、車載用電子制御装置から出力される信号群と、マイクロコンピュータの信号ピンとの間の接続関係を含む信号ピン割付け情報を表示する信号ピン割付け情報テーブルを生成し、この２つのテーブルを統合し、統合情報テーブルを生成する。
【００１９】
この統合情報テーブルを用いて、既存のデバイスドライバ開発ツールによって、デバイスドライバを作成する。
【発明の効果】
【００２０】
本発明によると、基本プログラム及びアプリケーションプログラムの開発をカーメーカ側が行い、ＥＣＵ内のＲＯＭへの実行コード書き込みを、カーメーカ側が行うことができる。
【発明を実施するための最良の形態】
【００２１】
図１は、車載用電子制御装置（ＥＣＵ）を搭載した車両の例を示す。本例の車両３は、オートマチックトランスミッション１と、オートマチックトランスミッション（ＡＴ）１を制御するＡＴ制御用のＥＣＵ１０と、エンジン２と、エンジン２を制御するエンジン制御用のＥＣＵ２０と、を有する。
【００２２】
図２は、２つのＥＣＵ１０、２０の基本構成を示す。ＡＴ制御用のＥＣＵ１０はマイコン１３を有する。マイコン１３は、組込みプログラム１１が格納されたメモリ１２、データ送信回路１４、データ受信回路１５、ソレノイドに流れる電流の測定値を入力するのアナログ入力回路３１、車体速度センサからのパルス信号を入力するデジタル入力回路３２、ソレノイドに流れる電流値をコントロールするためにＰＷＭ信号を出力するデジタル出力回路３３、及び、周辺装置を駆動するために電圧値を出力するアナログ出力回路３４とを有する。
【００２３】
尚、ソレノイドは、オートマチックトランスミッション１の油圧回路の開閉を行う電磁弁のコイルである。ソレノイドに流れる電流値は、ソレノイドに直列に配置した抵抗（以下「シャント抵抗」と称する。）の両端電圧値と、シャント抵抗値とから算出する。
【００２４】
エンジン制御用のＥＣＵ２０は、ＡＴ制御用のＥＣＵ１０と異なる機能を有するが、同様の構成であってよく、両者は、互いにデータの送受信を行い、協調しながら車両の制御を行う。
【００２５】
本例では、マイコン１３に、メモリ１２、データ送信及び受信回路１４、１５、入力回路３１、３２、及び、出力回路３３、３４が設けられているが、これらの回路をマイコン１３とは別個に設けてもよい。
【００２６】
図３は、オートマチックトランスミッション１の油圧回路の電磁弁の開閉処理の流れを示す。処理（ａ）では、ギア段数切り替え時に行うクラッチ開放及び締結に必要な目標油圧に基づいて、ソレノイドへ供給する目標電流を計算する。処理（ｂ）では、目標電流と前周期の指示電流に対して実際にソレノイドに流れている電流とを比較し、フィードバック制御を行い、指示電流を計算する。処理（ｃ）では、ソレノイドに対してＰＷＭ（Pulse Width Modulation）制御を行うために、ON/OFF信号のDuty比を算出し、これをマイコンの信号出力ポートから出力する。処理（ｄ）では、ソレノイドに流れている電流を測定する。即ち、シャント抵抗の両端における電圧降下分をマイコンの電圧入力ポートに入力する。マイコン内部のＡ/Ｄ変換器によって、入力電圧値をアナログからデジタルへ変換し、デジタル値を読み取る。処理（ｅ）では、デジタル値に含まれる入力回路特有のばらつき（大部分はシャント抵抗の精度ばらつきに由来する）を補正する演算処理を行う。
【００２７】
図４は、上述の処理（ａ）〜（ｅ）をＯＳによって管理する状態を示す。これらの処理（ａ）〜（ｅ）は、ＯＳによって個別のタスクとして独立して実行され、各処理の間でデータの受渡しを行いながら繰り返し処理が行われる。
【００２８】
図５は、ＡＴ制御用のＥＣＵ１０のマイコン１３に格納された組込みプログラム１１の構成の一例を示す。本例の組込みプログラム１１は、アプリケーションプログラム１１１と、オペレーションシステム（ＯＳ）１１２と、デバイスドライバ１１３とを有する。アプリケーションプログラム１１１として、ここでは３つのアプリケーションプログラム１１１１、１１１２、１１１３を例として示す。デバイスドライバ１１３として、ここでは４つのデバイスドライバ１１３１〜１１３４の例として示す。
【００２９】
第１のアプリケーションプログラム１１１１は、図３の処理（ａ）と処理（ｂ）を行う。即ち、ギア段数切り替え時に行うクラッチ開放及び締結に必要な目標油圧に基づいて、ソレノイドへ供給する目標電流を計算する。さらに目標電流と前周期の指示電流に対して実際にソレノイドに流れている電流とを比較し、フィードバック制御を行い、実指示電流を計算する。
【００３０】
第２のアプリケーションプログラム１１１２は、車体速度センサの値から車体の加速度及び減速度を判定しギア段数の切り替えの指示を行う。第３のアプリケーションプログラム１１１３は、エンジン制御用ＥＣＵ２０との間で通信を行い、エンジンからＡＴに入力されるトルク容量を算出する。また、必要があればギア段数の切り替え判断に必要なデータを第１のアプリケーションプログラム１１１１へ供給する。
【００３１】
ＯＳ１１２は、図４に示したように、時間周期タスクや外部入力に同期して、割り込み処理を呼び出す。また割り込み禁止処理や他のタスクの呼び出しなどのサービスを、第１のアプリケーション１１１に提供する。
【００３２】
第１のデバイスドライバ１１３１は、図３の処理（ｃ）を行う。即ち、ソレノイドに対するＰＷＭ制御を行うため、出力電流指示値に対応したＤｕｔｙ比をもつON/OFF信号を出力する。
【００３３】
第２のデバイスドライバ１１３２は、エンジン制御用ＥＣＵ２０との間の通信を制御する。この通信には、ＥＣＵ間通信に関する標準仕様である、ＣＡＮ（Conrol Area Network）が用いられてよい。例えば、第３のアプリケーション１１１３から送信指示されたメッセージデータをエンジン制御用ＥＣＵ２０に送信し、エンジン制御用ＥＣＵ２０から受信したメッセージデータを第３のアプリケーション１１１３に提供する。
【００３４】
第３のデバイスドライバ１１３３は、車体速度センサから車体速度に比例したパルス数のON/OFF信号を受け取り、パルス数をカウントし、車体速度を算出する。更に、算出した車体速度と前周期で算出した車体速度とを比較し、車体の加速度及び減速度を算出する。
【００３５】
第４のデバイスドライバ１１３４は、図３の処理（ｄ）を行う。先ず、ＡＤ変換器を起動し、シャント抵抗の両端電圧値をデジタル値に変換する。このデジタル値とシャント抵抗値からソレノイドに流れる電流値を算出する。電流値はフィードバック制御のため、第１のアプリケーション１１１１に供給する。
【００３６】
図６を参照して、本発明によるデバイスドライバと組込みプログラムの作成方法を説明する。図６は、開発に使用するツール群と、ツール群への入力情報群と、ツール群からの出力情報群とを、処理の流れに沿って表示する。本例の組込みプログラムの開発プロセスは、図５のアプリケーションプログラム１１１を生成する開発基本プロセスと、デバイスドライバ１１３を生成する追加プロセスを含む。
【００３７】
先ず、追加プロセスを説明する。ＥＣＵ結線情報Ｄ２１と信号ピン割付け情報Ｄ２２から、デバイスドライバ開発ツールＴ２３を用いて、デバイスドライバソースコードＤ１７を生成する。ＥＣＵ結線情報Ｄ２１及び信号ピン割付け情報Ｄ２２は、後に詳細に説明する。デバイスドライバ開発ツールＴ２３は、先ず、ＥＣＵ結線情報Ｄ２１と信号ピン割付け情報Ｄ２２を比較することによって、両者の整合性の確認を行う。より詳細には、制御対象の機器が発生する信号と、その信号の処理を行うマイコン内のモジュール回路との整合性を確認する。次に、ＥＣＵのコネクタピンとマイコンのコネクタピンの間に配置された回路の信号変換の整合性を確認する。こうしてＥＣＵ結線情報Ｄ２１と信号ピン割付け情報Ｄ２２の間の整合性の確認を行ったら、次に、信号ピン割付け情報Ｄ２２を用いて、デバイスドライバを作成する。デバイスドライバは、レジスタアクセスプログラムとデータ加工プログラムからなる。
【００３８】
次に、開発基本プロセスを説明する。制御ロジック設計ツールＴ１１を用いて、制御モデルＤ１２を構築する。制御ロジック設計ツールＴ１１の例として、MATLABがある。制御モデルＤ１２は通常、パーソナルコンピュータ上で開発され、ＥＣＵにおける動作前に一通りの確認作業を行うことができる。次に、組込みプログラム開発ツールＴ１３を用いて、制御モデルＤ１２に基づいて、組込みプログラムソースコードＤ１４を自動生成する。組込みプログラム開発ツールＴ１３の例としてTargetLinkがある。組込みプログラムソースコードＤ１４に、追加プロセスで作成したデバイスドライバソースコードＤ１７を付加する。
【００３９】
次に、デバイスドライバソースコードＤ１７が付加された組込みプログラムソースコードＤ１４から、ソースコードコンパイルツールＴ１５を用いて、組込みプログラム実行コードＤ１６を生成する。最後に、書き込みツールＴ１７を用いて、組込みプログラム実行コードＤ１６をＥＣＵ１０のＲＯＭに書き込む。
【００４０】
図７〜図１３を参照して、デバイスドライバ開発ツールＴ２３を用いて、デバイスドライバＤ１７を生成する処理を詳細に説明する。
【００４１】
図７は、図２に示したＡＴ制御用のＥＣＵ１０の内部及びその周囲を詳細に示す。ＥＣＵ１０は、マイコン１３、ソレノイド制御ＩＣ４１、アナログ入力中間回路Ａ４２、アナログ入力中間回路Ｂ４３、及び、デジタル入力中間回路４４を備え、外部コネクタピンｅ１〜ｅ２２を介して外部と電気的に接続されている。マイコン１３は、メモリ１２、ＣＡＮ送受信回路１６、デジタル入力回路３２、デジタル出力回路３３、及び、アナログ入力回路３４を備え、信号ピンｍ１〜ｍ２２を介して外部と電気的に接続されている。メモリ１２には、組込みプログラム１１が格納されている。ＣＡＮ送受信回路１６は、ＣＡＮ（Conrol Area Network）通信を司る回路であり、図２におけるデータ送信回路１４とデータ受信回路１５の機能を有する。マイコン１３に含まれるメモリ１２以外のモジュール回路は、各々固有のレジスタ群を持ち、これらに対してリード及びライトアクセスすることで所定の機能を実現することができる。レジスタへのアクセス動作は、デバイスドライバによって実行される。
【００４２】
ソレノイド制御ＩＣ４１には、ソレノイド５１、５２、５３が接続されている。マイコン１３内のデジタル出力回路３３からソレノイド制御ＩＣ４１に、ＰＷＭ信号（５Ｖ幅）が供給される。ソレノイド制御ＩＣ４１は、ＰＷＭ信号に同期して、ソレノイド５１、５２、５３に、ＰＷＭ信号（１４Ｖ幅）を供給する。ソレノイド５１、５２、５３は、このＰＷＭ信号によって駆動され、ＡＴの油圧回路の開閉を行う電磁弁を制御する。
【００４３】
ソレノイド５１、５２、５３には、シャント抵抗６１、６２、６３が直列に接続されている。シャント抵抗６１、６２、６３の両端の電圧信号は、アナログ入力中間回路Ａ４２に供給される。アナログ入力中間回路Ａ４２は、オペアンプにより電圧信号の増幅等を行い、それをマイコン１３内のアナログ入力回路３４に供給する。
【００４４】
油圧センサ５４は、油圧回路で発生する油圧を電流信号に変換し、それをアナログ入力中間回路Ｂ４３に供給する。油温センサ５５は、油圧回路内部の油温を電流信号に変換し、それをアナログ入力中間回路Ｂ４３に供給する。アナログ入力中間回路Ｂ４３は、油圧センサ５４及び油温センサ５５からの電流信号を、抵抗により電圧値に変換し、コンデンサによってノイズ除去等を行い、マイコン１３内のアナログ入力回路３４に供給する。
【００４５】
車体速度センサ５６は、車体の速度をON/OFF信号に変換し、それをデジタル入力中間回路４４に供給する。トルコン回転センサ５７は、ＡＴ内部のトルクコンバータの回転速度をON/OFF信号に変換し、それをデジタル入力中間回路４４に供給する。デジタル入力中間回路４４は、車体速度センサ５６及びトルコン回転センサ５７からのON/OFF信号を、トランジスタによって信号増幅し、コンデンサによってノイズ除去を行い、マイコン１３内のデジタル入力回路３２に供給する。
【００４６】
デジタル入力回路３２は、ON/OFF信号の立ち上がりエッジを検出し、組込みプログラム１１の動作における割込み処理を発生する。
【００４７】
シフト位置生成回路５８は、ＡＴのシフト位置（Ｐ：パーキング、Ｎ：ニュートラル、Ｄ：ドライブ、Ｌ：ローギアなど）を複数のビット信号群に変換し、それをマイコン１３内のデジタル入力回路３２に供給する。デジタル入力回路３２は、ビット信号群をビットパターンデータとして受け取る。
【００４８】
図８は、ＥＣＵの結線情報テーブルを示す。ＥＣＵの結線情報テーブルは、ＥＣＵとＥＣＵの制御対象機器の間の電気的接続関係を示す。ＥＣＵの結線情報は、カーメーカからサプライヤーに対して、ＥＣＵについて実現すべき要求仕様の一部として供給される。本例のＥＣＵの結線情報テーブルは、制御対象機器、ＥＣＵのコネクタピンの地点の信号の種類及び特性、及び、ＥＣＵのコネクタのピン番号を含む。
【００４９】
図９は、信号ピン割付け情報テーブルを示す。信号ピン割付け情報テーブルは、ＥＣＵ１０に入力される信号群、及び、ＥＣＵ１０から出力される信号群と、マイコン１３の各信号ピンとの間の接続関係を示す。信号ピン割付け情報は、サプライヤーからカーメーカに対して、ＥＣＵ設計における成果物として納入される。しかしながら、本発明によると、信号ピン割付け情報は、マイクロコンピュータの公知情報が格納されたデータベースから入手してもよい。即ち、サプライヤーに依存しないで、信号ピン割付け情報を入手することができる。
【００５０】
本例の信号ピン割付け情報テーブルは、ＥＣＵのコネクタのピン番号、ＥＣＵのコネクタピンとマイコンのコネクタピンの間の回路における信号変換仕様、マイコンのコネクタピンの地点の信号の種類及び特性、マイコンのピン番号、及び、マイコン内臓モジュール回路を含む。
【００５１】
図１０は、図８のＥＣＵの結線情報テーブルと図９の信号ピン割付け情報テーブルを統合して得られた統合情報テーブルを示す。２つの情報テーブルを統合する処理は、デバイスドライバ開発ツールＴ２３によって行われる。図８に示すＥＣＵの結線情報テーブルの最も右の列に、ＥＣＵのコネクタのピン番号が配列され、図９に示す信号ピン割付け情報テーブル様の最も左の列に、ＥＣＵのコネクタのピン番号が配列される。従って、両者のＥＣＵのコネクタのピン番号の列を重ね合わせることによって、２つの情報テーブルの統合がなされる。本例の統合情報テーブルの列１〜列５はＥＣＵの結線情報を示し、列５〜列１０は信号ピン割付け情報を示す。
【００５２】
図１１を参照して、ＥＣＵの結線情報と信号ピン割付け情報の間の整合性を確認する処理を説明する。この処理は、デバイスドライバ開発ツールＴ２３によって実行される。ここでは、車体速度センサを例にして説明する。図１１は、図１０の統合情報のうち、車体速度センサに関するデータのみを取り出して示した。先ず、最初の処理では、車体速度センサが発生する信号と、その信号の処理を行うマイコン内のモジュール回路との整合性を確認する。列２から制御対象機器の「車体速度センサ」を読み出す。本例では、行６が車体速度センサのデータである。以下に、行６の情報を順次読み出す。列３及び列５を参照すると、車体速度センサからＥＣＵのコネクタのピン番号ｅ１４、ｅ１５に「ON/OFFパルス信号」が供給されることが判る。列７及び列９を参照すると、マイコンのコネクタのピン番号ｍ１４、ｍ１５に「ON/OFFパルス信号」が供給されることが判る。更に、列１０を参照すると、マイコンのコネクタのピン番号ｍ１４、ｍ１５を介して入力された「ON/OFFパルス信号」は、「デジタル入力回路（エッジ検出型）」によって処理されることが判る。従って、車体速度センサからのON/OFFパルス信号が、ＥＣＵに入力され、更に、マイコン内の適切なモジュール回路の入力されることが判る。
【００５３】
次の処理では、車体速度センサからＥＣＵに供給された信号とマイコンへの入力信号の間の信号変換の整合性を確認する。図７に示す例では、車体速度センサ５６とマイコン１３の間に、デジタル入力中間回路４４が配置されている。車体速度センサ５６の出力信号とデジタル入力中間回路４４の入力信号の間に整合性が必要である。また、デジタル入力中間回路４４の出力信号とマイコン１３の入力信号の間の整合性が必要である。これらの整合性を確認する。
【００５４】
列４の「ＥＣＵのコネクタの地点の信号特性」を参照する。本例では、「1.7Ｖ⇔0.0ＶでON/OFF、パルス周波数：0〜3.2kHz」である。次に、列８の「マイコンのコネクタの地点の信号特性」を参照する。本例では、「3.4Ｖ⇔0.0ＶでON/OFF、パルス周波数：0〜3.2kHz」である。更に、列６の「ＥＣＵのコネクタピンとマイコンのコネクタピンの間の回路における信号変換仕様」を参照する。本例では、「ゲイン２の信号増幅」である。従って、適切な信号変換が行われていることが判る。
【００５５】
以上の作業により、車体速度センサに関するＥＣＵの結線情報と信号ピン割付け情報の間の整合性の確認が完了する。他の機器についても同様の作業を行うことで全ての機器に関して、整合性を確認する。全ての制御対象の機器に対する整合性が確認された場合には、「カーメーカからのＥＣＵに対する要求仕様」（ＥＣＵの結線情報テーブル）と「サプライヤーによるＥＣＵ設計成果物」（信号ピン割付け情報テーブル）の整合性が確認されたことになる。
【００５６】
図１２は統合情報テーブルからデバイスドライバを自動生成する過程を表す。この処理は、デバイスドライバ開発ツールＴ２３が、信号ピン割付け情報を用いて、実行する。ここでは図１１における説明と同様に、行６の車体速度センサを例にして説明する。デバイスドライバは、レジスタアクセスプログラムとデータ加工プログラムからなる。先ず、レジスタアクセスプログラムを作成する。レジスタアクセスプログラムは、「どのマイコンレジスタに対してアクセスするか」の手順を設定するものである。マイコンレジスタに対するアクセス手順は、マイコンベンダーより提供されるマイコンマニュアルに記載されている。マイコンマニュアルには、「どのピン番号が」「どのマイコン内蔵モジュール回路と接続されており」「制御のためにはどのレジスタに」「どのようにアクセスすればよいか」が記載されている。
【００５７】
これらの情報は、図９の信号ピン割付け情報テーブルに表示されている。列９及び列１０を参照して、マイコンのコネクタのピン番号ｍ１４、ｍ１５を介して入力された「ON/OFFパルス信号」は、「デジタル入力回路（エッジ検出型）」によって処理されることが判る。この情報を用いて、「どのマイコンレジスタに対してアクセスするか」の手順を設定することができる。
【００５８】
マイコンマニュアルを参照して、全てのマイコン内蔵のモジュール回路に対するアクセス手順プログラムを予め用意しておくことで、制御対象機器毎に、レジスタアクセスプログラムを自動生成することができる。レジスタアクセスプログラム仕様は以上の説明のように、マイコンの仕様に大きく依存するものであり、複数のマイコンに対しても自動プログラミングできるように、専用のデータベースを用意することもできる。
次に、データ加工プログラムを作成する。データ加工プログラムは、「リードアクセスしたレジスタ値に対してどのようなデータ加工を行うか」の手順を設定する。列７及び列８を参照すると、ON/OFFパルス信号の立ち上がりエッジの回数をカウントする処理を行うことが判る。一秒当りのカウント回数は、ON/OFFパルス信号の周波数を表す。このカウント回数が、規定周波数：0〜3.2kHzを外れたときに異常値判定処理を行い、カウント回数値として異常値（例えば２バイト、１６進数データでＦＦＦＦｈ）を設定する。以上の処理は定型処理である。また規定周波数もカーメーカ仕様に由来する数値である。そこで、制御対象機器毎に、ON/OFFパルス信号のデータ加工プログラムを予め用意しておくことができる。
【００５９】
後にレジスタアクセスプログラムとデータ加工プログラムを統合して、一つのデバイスドライバプログラムを生成する。
【００６０】
図１３は、図１０〜図１２において説明したデバイスドライバ開発ツールＴ２３の一連の処理フローを示す。図１１及び図１２における説明と同様に、行６の車体速度センサを例にして説明する。ステップＳ１では列２、列３、列７、列１０の情報から車体速度センサが発生する信号とマイコン内のモジュール回路との整合性を確認する。ステップＳ２にて、整合性判定を行い、問題なければ次ステップＳ３へ進み、問題ある場合は一連の処理を終了する。
【００６１】
ステップＳ３では、列４、列６、列８の情報から信号変換の整合性を確認する。ステップＳ４では整合性判定を行い、問題なければ次ステップＳ５へ進み、問題ある場合は一連の処理を終了する。ステップＳ５では「どのマイコンレジスタに対してアクセスするか」の手順を定めたレジスタアクセスプログラムを自動生成する。ステップＳ６では「リードアクセスしたレジスタ値に対してどのようなデータ加工を行うか」の手順を定めたデータ加工プログラムを自動生成する。ステップＳ７では、レジスタアクセスプログラムとデータ加工プログラムの統合を行う。こうしてデバイスドライバが生成される。
【００６２】
本発明によれば、カーメーカは、ＥＣＵに実装される組込みプログラムのうちデバイスドライバを自動的に生成することができる。従って、従来、制御プログラム開発において必要とされていたカーメーカとサプライヤー間での管理工数を削減することができる。またサプライヤーでのプログラム開発コストを削減でき、カーメーカは、より安価にＥＣＵを購入できることが期待できる。さらに本発明によれば、ＥＣＵに使用しているマイコンに関係なく標準的にプログラム開発できる。そのため、カーメーカは、より多数のサプライヤーからＥＣＵを購入できるようになり、カーメーカの価格交渉力に良い影響を与えることが期待できる。
【００６３】
以上本発明の例を説明したが、本発明は上述の例に限定されるものではなく、特許請求の範囲に記載された発明の範囲にて様々な変更が可能であることは当業者によって容易に理解されよう。
【図面の簡単な説明】
【００６４】
【図１】本発明による車載用電子制御装置（ＥＣＵ）を搭載した車両の例を示す図である。
【図２】本発明による２つの車載用電子制御装置（ＥＣＵ）の基本構成を示す図である。
【図３】本発明による車両のオートマチックトランスミッションの油圧回路の電磁弁の開閉処理の流れを示す図である。
【図４】図３の処理をＯＳによって管理する状態を示す図である。
【図５】本発明によるＡＴ制御用の車載用電子制御装置のマイコンに格納された組込みプログラムの構成の一例を示す図である。
【図６】本発明による組込みプログラムの開発方法を説明する図である。
【図７】本発明によるＡＴ制御用の車載用電子制御装置の内部及びその周囲を詳細に示す図である。
【図８】本発明によるＡＴ制御用の車載用電子制御装置の結線情報を示す図である。
【図９】本発明によるＡＴ制御用の車載用電子制御装置の信号ピン割付け情報を示す図である。
【図１０】図８のＥＣＵの結線情報と図９の信号ピン割付け情報を統合して得られた統合情報を示す図である。
【図１１】本発明による組込みプログラムの開発方法において、統合情報の整合性を確認する処理を説明する図である。
【図１２】本発明による組込みプログラムの開発方法において、統合情報からデバイスドライバを自動生成する過程を表す図である。
【図１３】本発明による組込みプログラムの開発方法による処理の流れを示す図である。
【符号の説明】
【００６５】
１…オートマチックトランスミッション（ＡＴ）、２…エンジン、３…車両、１０…ＡＴ制御用ＥＣＵ、２０…エンジン制御用ＥＣＵ、１１…組込みプログラム、１２…メモリ、１３…マイコン（プロセッサ）、１４…データ送信回路、１５…データ受信回路、１６…ＣＡＮ、３１…アナログ入力回路、３２…デジタル入力回路、３３…デジタル出力回路、３４…アナログ出力回路、４１…ソレノイド制御ＩＣ、４２…アナログ入力中間回路Ａ、４３…アナログ入力中間回路Ｂ、４４…デジタル入力中間回路、５１及び５２及び５３…ソレノイド、５４…油圧センサ、５５…油温センサ、５６…車体速度センサ、５７…トルコン回転センサ、５８…シフト位置生成回路、６１及び６２及び６３…シャント抵抗、１１１…アプリケーションプログラム、１１２…オペレーティングシステム（ＯＳ）、１１３…デバイスドライバ
【図１】
2009015653.tif 000003
【図２】
2009015653.tif 000004
【図３】
2009015653.tif 000005
【図４】
2009015653.tif 000006
【図５】
2009015653.tif 000007
【図６】
2009015653.tif 000008
【図７】
2009015653.tif 000009
【図８】
2009015653.tif 000010
【図９】
2009015653.tif 000011
【図１０】
2009015653.tif 000012
【図１１】
2009015653.tif 000013
【図１２】
2009015653.tif 000014
【図１３】
2009015653.tif 000015