JP2009080566A - Vehicle control program and program generation method, program generator, and automobile controller - Google Patents

Vehicle control program and program generation method, program generator, and automobile controller Download PDF

Info

Publication number
JP2009080566A
JP2009080566A JP2007247823A JP2007247823A JP2009080566A JP 2009080566 A JP2009080566 A JP 2009080566A JP 2007247823 A JP2007247823 A JP 2007247823A JP 2007247823 A JP2007247823 A JP 2007247823A JP 2009080566 A JP2009080566 A JP 2009080566A
Authority
JP
Japan
Prior art keywords
application program
device driver
program
interface information
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007247823A
Other languages
Japanese (ja)
Inventor
Fumio Narisawa
文雄 成沢
Junji Miyake
淳司 三宅
Koji Hashimoto
幸司 橋本
Atsuhisa Motoyama
敦久 本山
Yuichiro Morita
雄一朗 守田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007247823A priority Critical patent/JP2009080566A/en
Publication of JP2009080566A publication Critical patent/JP2009080566A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent quality from degrading by adding new software to a part of software whose quality has been assured, when developing control software in a plurality of sections. <P>SOLUTION: An access to a timer causing a response delay, addition of interruption response processing, or an access from the added software to input and output processing depending on state transition of a peripheral circuit is limited by eliminating an interface positioned between components affected by an access of an added component, out of the softwares for controlling each I/O, other than the interface for setting a final computation value or a target value. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、自動車用制御装置を構成するマイクロコンピュータに実行させるための車両制御用プログラムおよびプログラム生成方法およびプログラム生成装置および自動車用制御装置に係り、特に、アプリケーションプログラムと当該アプリケーションが制御する自動車部品との間のデータ入出力処理を行うデバイスドライバとを有する車両制御用プログラム、プログラム生成方法、プログラム生成装置、自動車用制御装置に関する。   The present invention relates to a vehicle control program, a program generation method, a program generation device, and a vehicle control device to be executed by a microcomputer constituting a vehicle control device, and in particular, an application program and a vehicle part controlled by the application. The present invention relates to a vehicle control program, a program generation method, a program generation device, and a vehicle control device having a device driver that performs data input / output processing between the control device and the vehicle.

自動車エンジン制御などを行う制御装置として、中央演算装置、ROM、RAM、入出力信号処理装置などを内蔵したマイクロコントローラ(以下マイコンと表記)が用いられている。マイコンに搭載されるソフトウェアは、目的とする制御動作が行えるように、一般的には、制御処理を行うアプリケーションプログラムと、アプリケーションプログラムが制御する自動車部品(デバイス)に対してデータの入出力を行うデバイスドライバ、オペレーティングシステム(OS)などによって構成されている。   A microcontroller (hereinafter referred to as a microcomputer) incorporating a central processing unit, a ROM, a RAM, an input / output signal processing device, and the like is used as a control device that performs automobile engine control and the like. Software installed in a microcomputer generally inputs and outputs data to and from an application program that performs control processing and automobile parts (devices) that are controlled by the application program so that the target control operation can be performed. A device driver, an operating system (OS), and the like are included.

近年、ソフトウェアの規模の増大に伴い、個別の制御システムについてアプリケーションプログラムと、デバイスドライバと呼ばれるデバイス制御プログラムとを全て開発することが困難になっており、ソフトウェアを小さな単位の部品として構成し、これを再利用する手法や、これらを階層化し、変更箇所を局所化するなどの手法が採用されている。   In recent years, as the scale of software has increased, it has become difficult to develop all application programs and device control programs called device drivers for individual control systems. The method of reusing the method and the method of hierarchizing these and localizing the changed part are adopted.

階層化、部品化の手法により、デバイス制御プログラムをマイコンや電子回路を専門とする組織で開発し、アプリケーションプログラムを車両制御を専門とする組織それぞれ別々に開発し、両者を統合する組織で全ての制御ユニットとソフトウェアをとり纏めるといった複数の組織で並行に開発する開発プロセスの採用が可能となっている。   With the hierarchization and componentization methods, device control programs are developed by organizations specializing in microcomputers and electronic circuits, application programs are developed separately by organizations specializing in vehicle control, and all organizations are integrated with both. It is possible to adopt a development process that develops in parallel in multiple organizations, such as putting together control units and software.

従来技術として、エンジン制御プログラムにオブジェクト指向設計されたプログラム適用し、デバイスドライバを三階層化することにより、デバイスの変更を局所化することで、ハードウェアの変更に伴うソフトウェアの開発工数の低減を図ったものがある(例えば、実施形態1)。   As a conventional technology, by applying an object-oriented design program to the engine control program and making device drivers three-tiered, by localizing device changes, software development man-hours associated with hardware changes can be reduced. There is what is illustrated (for example, Embodiment 1).

また、要求仕様が異なる多様なアプリケーションプログラムに対して共通のプラットフォームプログラムを再利用するための手法として、中間層を設けてアプリケーションプログラム毎の差異を吸収する手法、データ形式や提供タイミングに基いて橋渡しを行う中間層を設ける手法が知られている(例えば、実施形態2)。   In addition, as a technique for reusing a common platform program for various application programs with different required specifications, a bridge is provided based on a technique for absorbing differences between application programs by providing an intermediate layer, data format, and provision timing. There is known a method of providing an intermediate layer for performing (for example, Embodiment 2).

特開2000−97102号公報JP 2000-97102 A 特開2004−192541号公報JP 2004-192541 A

プログラムを機能単位毎に分割するモジュール化の手法においては、モジュール間のインタフェースの形式を定め、各モジュールのインタフェースを明確に定義し、必要に応じてコンポーネント間の接続を行うことにより、ソフトウェアを構築する。このとき、接続するモジュール間のインタフェースの形式が合致していれば、モジュールを自由に組み合わせることが可能であり、モジュールの再利用が促進できる。このため、モジュールのインタフェースは、可能な限りオープンにするべく作成される。   In the modularization method that divides the program into functional units, the software is constructed by defining the interface format between modules, clearly defining the interface of each module, and connecting components as necessary. To do. At this time, if the interface format between the connected modules matches, the modules can be freely combined, and the reuse of the modules can be promoted. For this reason, module interfaces are created to be as open as possible.

しかしながら、複数の組織でソフトウェアの一部をそれぞれ担当し、各組織で開発、品質保証まで担当する場合には、品質保証の完了したモジュールに対し、他組織が作成したソフトウェアから、そのモジュールあるいはそのモジュールが利用している他のモジュールへのアクセスが自由になされると、モジュールの動作が意図せず変わってしまうことがある。このことにより、品質保証が維持できず、システムとしての品質の低下と修正、検証に要する開発期間の増大とを招くことになる。   However, when multiple organizations are in charge of a part of software, and each organization is in charge of development and quality assurance, the module or its If access to other modules used by a module is made free, the module's behavior may change unintentionally. As a result, quality assurance cannot be maintained, leading to deterioration in quality as a system, correction, and increase in the development period required for verification.

特に、自動車などの制御に好適なリアルタイム制御を実現するためには、演算、入出力処理などの各処理の内容が正しいこととともに、各処理が最適なタイミングで行われる必要があり、数マイクロ秒の遅延も許されない場合も多い。   In particular, in order to realize real-time control suitable for control of automobiles and the like, it is necessary that the contents of each processing such as calculation and input / output processing are correct, and that each processing must be performed at an optimal timing, and several microseconds In many cases, this delay is not allowed.

このような応答性が要求される信号制御は、マイコン上のソフトウェアだけでなく、マイコン内蔵あるいはマイコンに外付けされるタイマと信号出力装置の組み合わせで実現されることが多く、タイマの状態に依存した操作や、その順序によって所望の動作が得られなくなる。   Signal control that requires such responsiveness is often implemented not only by software on the microcomputer, but also by a combination of a timer built in the microcomputer or externally attached to the microcomputer and a signal output device, and depends on the state of the timer. The desired operation cannot be obtained depending on the operation and the order.

また、予期せぬ追加アプリケーション処理が、応答性の要求される割込み処理や、割込み優先度のより高い処理として追加されることにより、所定の応答すべき出力が遅延し、アプリケーションプログラム追加前に保証した最悪応答時間を増大させる結果となり得る。   In addition, unexpected additional application processing is added as interrupt processing that requires responsiveness or processing with higher interrupt priority, delaying the output that should be given a response, and guaranteeing before adding an application program Resulting in increased worst-case response time.

本発明は前記解決しようとする課題に鑑みてなされたものであって、その目的とするところは、制御ソフトウェアを複数部署で開発する際に、品質保証の完了したコンポーネントへ悪影響を及ぼすコンポーネントの追加を制限し、機能追加時に既存ソフトウェア部品の動作を損ねることなく新機能の追加を可能することである。   The present invention has been made in view of the problems to be solved, and the object of the present invention is to add a component that adversely affects a component for which quality assurance has been completed when developing control software in a plurality of departments. The new function can be added without impairing the operation of the existing software component when the function is added.

前記目的を達成するべく、本発明によるプログラム生成方法は、アプリケーションプログラムと、制御対象ハードウェアの信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して車両制御用プログラムを生成するプログラム生成方法であって、前記アプリケーションプログラム、前記デバイスドライバ及び前記インターフェース情報を入力し、前記インターフェース情報の一部を削除し、前記アプリケーションプログラム、前記デバイスドライバ及び前記削除部によって削除された残りのインターフェース情報を出力する第1のステップと、前記アプリケーションプログラムとは異なる新たなアプリケーションプログラムを入力し、前記第1の処理で出力された前記アプリケーションプログラム、前記デバイスドライバ、及び前記新たなアプリケーションプログラムとを、前記残りのインターフェース情報を用いて結合する第2のステップとを有する。   In order to achieve the above object, a program generation method according to the present invention provides a common data sharing between an application program and a device driver that performs input / output processing between a signal of a hardware to be controlled and data handled by the application program. A program generation method for generating a vehicle control program by combining the application program and the device driver based on interface information defining a specification, the application program, the device driver and the interface information being input, A first step of deleting a part of the interface information and outputting the remaining interface information deleted by the application program, the device driver and the deletion unit; A second application program that is different from the application program is input, and the application program, the device driver, and the new application program output in the first process are combined using the remaining interface information. Steps.

また、本発明によるプログラム生成装置は、アプリケーションプログラムと、制御対象の自動車部品の信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して車両制御用プログラムを生成するプログラム生成装置であって、前記アプリケーションプログラム、前記デバイスドライバ及び前記インターフェース情報を入力する入力部と、前記インターフェース情報の一部を削除する削除部と、前記アプリケーションプログラム、前記デバイスドライバ及び前記削除部によって削除された残りのインターフェース情報を出力する出力部とを有する。   Further, the program generation apparatus according to the present invention defines a common specification of data between an application program and a device driver that performs input / output processing between a signal of a controlled automobile part and data handled by the application program. A program generation apparatus that generates a vehicle control program by combining the application program and the device driver based on interface information, the input unit for inputting the application program, the device driver, and the interface information; A deletion unit that deletes part of the interface information; and an output unit that outputs the application program, the device driver, and the remaining interface information deleted by the deletion unit.

更に、本発明による車両制御用プログラムは、アプリケーションプログラムと当該アプリケーションが制御する自動車部品との間のデータ入出力処理を行うデバイスドライバとを有し、前記自動車部品の制御をコンピュータに実行させるための車両制御用プログラムであって、前記アプリケーションプログラム同士、前記デバイスドライバ同士、または前記アプリケーションプログラムと前記デバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して生成され、前記自動車部品の目標制御量であって前記デバイスドライバの入力パラメータとは異なる目標制御量を出力する第1のアプリケーションプログラムと、前記第1のアプリケーションプログラムから出力された前記目標制御量を前記デバイスドライバの入力パラメータに変換して出力する第2のアプリケーションプログラムとを有し、前記デバイスドライバは、前記第2のアプリケーションプログラムから出力された入力パラメータに基づいて前記自動車部品に対して制御信号を出力し、前記第1のアプリケーションプログラムは、所定の前記デバイスドライバへの情報が除かれた前記インターフェース情報を用いて作成されている。   The vehicle control program according to the present invention further includes an application program and a device driver that performs data input / output processing between the automobile parts controlled by the application, and causes the computer to execute control of the automobile parts. A vehicle control program based on interface information defining a common specification of data between the application programs, between the device drivers, or between the application program and the device driver. And a first application program that outputs a target control amount that is a target control amount of the automobile part and that is different from an input parameter of the device driver, and the first application A second application program that converts the target control amount output from the program into an input parameter of the device driver and outputs the input parameter, and the device driver uses the input parameter output from the second application program as an input parameter. Based on this, the control signal is output to the automobile part, and the first application program is created using the interface information from which information to the predetermined device driver is removed.

更にまた、本発明による車両制御用プログラムは、アプリケーションプログラムと、制御対象の自動車部品の信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバと、前記アプリケーションプログラムと前記デバイスドライバとの間のデータの共通仕様を定義したインターフェース情報を有する補助データとを有し、前記補助データに基づいて前記アプリケーションプログラムと前記デバイスドライバを結合して成る車両制御用プログラムであって、前記補助データは、所定の前記デバイスドライバにアクセスする前記アプリケーションプログラムの開発時には、前記所定のデバイスドライバと前記アプリケーションプログラムとの間の前記インターフェース情報を含むとともに、前記所定のデバイスドライバにアクセスする新たなアプリケーションプログラムの開発時には、前記インターフェース情報が削除されている。   Furthermore, a vehicle control program according to the present invention includes an application program, a device driver that performs input / output processing between a signal of an automobile part to be controlled and data handled by the application program, the application program, and the device driver. An auxiliary data having interface information that defines a common specification of data between the application program and a vehicle control program that combines the application program and the device driver based on the auxiliary data. The data includes the interface information between the predetermined device driver and the application program at the time of development of the application program that accesses the predetermined device driver, and the predetermined device driver. During development of a new application program to access the scan driver, the interface information is deleted.

更にまた、本発明による車両制御用プログラムは、アプリケーションプログラムと、制御対象の自動車部品の信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバとを有し、前記アプリケーションプログラムと前記デバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して成る車両制御用プログラムであって、前記アプリケーションプログラム、前記デバイスドライバ及び情報の一部が削除された前記インターフェース情報を有し、前記削除されたインターフェース情報に関係する前記アプリケーションプログラムと前記デバイスドライバとの結合時に警告を表示するように構成されている。   Furthermore, a vehicle control program according to the present invention includes an application program, and a device driver that performs input / output processing between a signal of an automobile part to be controlled and data handled by the application program, A vehicle control program that combines the application program and the device driver based on interface information that defines a common specification of data between the device driver, the application program, the device driver, and information A part of the interface information is deleted, and a warning is displayed when the application program related to the deleted interface information is combined with the device driver.

更にまた、本発明による自動車用制御装置は、アプリケーションプログラムと当該アプリケーションが制御する自動車部品との間のデータ入出力処理を行うデバイスドライバとを有し、前記アプリケーションプログラム同士、前記ドライバ同士、または前記アプリケーションプログラムと前記ドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて前記アプリケーションプログラムと前記ドライバを結合して生成された車両制御用プログラムを記憶し、当該車両制御用プログラムに従って前記自動車部品を制御する自動車用制御装置であって、前記自動車部品の目標制御量であって、前記ドライバの入力パラメータとは異なる目標制御量を出力する第1のアプリケーションプログラムと、前記第1のアプリケーションプログラムから出力された前記目標制御量を前記ドライバの入力パラメータに変換して出力する第2のアプリケーションプログラムと、前記第2のアプリケーションプログラムから出力された入力パラメータに基づいて前記自動車部品に対して制御信号を出力するデバイスドライバを有し、前記第1のアプリケーションプログラムは、所定の前記デバイスドライバへの情報が除かれた前記インターフェース情報を用いて作成された車両制御用プログラムに従って前記自動車部品を制御することを特徴としている。   Furthermore, the vehicle control apparatus according to the present invention includes an application program and a device driver that performs data input / output processing between the vehicle parts controlled by the application, and the application programs, the drivers, or the A vehicle control program generated by combining the application program and the driver is stored based on interface information defining a common specification of data between the application program and the driver, and the vehicle is controlled according to the vehicle control program. A vehicle control apparatus for controlling a component, the first application program outputting a target control amount that is a target control amount of the automotive component and is different from an input parameter of the driver, and the first application A second application program for converting the target control amount output from the program into an input parameter of the driver and outputting the parameter, and controlling the automobile part based on the input parameter output from the second application program A device driver for outputting a signal, wherein the first application program controls the automobile component according to a vehicle control program created using the interface information from which information to the predetermined device driver is removed. It is characterized by that.

各I/Oを制御するソフトウェアのうち、追加コンポーネントのアクセスにより影響を受けるコンポーネント群の中間に位置するインターフェースを削除し、最終演算値あるいは目標値設定のインターフェースのみを残すことにより、応答時間遅延の原因となるタイマへのアクセス、割込み応答処理の追加、あるいは、周辺回路の状態遷移に依存する入出力処理への追加ソフトウェアからのアクセスを制限することが行われる。このようにして作成したソフトウェアは、各部署で検証した品質保証をもとに、システムの品質保証を行うことができ、組み合わせによる品質低下とそれに伴う開発期間の増大を防止できる。   In the software that controls each I / O, the interface located in the middle of the component group affected by the access of the additional component is deleted, and only the interface of the final calculation value or target value setting is left, thereby reducing the response time delay. Access to the cause timer, addition of interrupt response processing, or access from additional software to input / output processing depending on the state transition of the peripheral circuit is performed. The software created in this way can be used to guarantee the quality of the system based on the quality assurance verified by each department, and can prevent the deterioration of quality due to the combination and the accompanying increase in the development period.

本発明の実施形態を、図を参照して説明する。
図1は、本発明の対象とする制御システムの一つである自動車エンジン制御システムの構成を示している。コントロールユニット201は、中央演算装置(CPU)202、割込みコントローラ203、タイマ・パルスコントローラ204、AD変換器205、読み出し専用メモリ(ROM)206、揮発性読み書きメモリ(RAM)207、バス208、入出力ポート209などから構成され、電源装置210から電源の供給を受ける。
Embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a configuration of an automobile engine control system which is one of control systems targeted by the present invention. The control unit 201 includes a central processing unit (CPU) 202, an interrupt controller 203, a timer / pulse controller 204, an AD converter 205, a read only memory (ROM) 206, a volatile read / write memory (RAM) 207, a bus 208, and an input / output. The port 209 is configured to receive power from the power supply device 210.

なお、符号202〜210の各要素は、一つの素子上に内蔵される場合と、別素子を用いて接続される場合があるが、その相違は、本発明に特に影響しないので、その構成は問わない。   In addition, although each element of code | symbol 202-210 may be connected using the case where it is incorporated in one element, and another element, since the difference does not affect in particular this invention, the structure is It doesn't matter.

コントロールユニット201には制御対象であるエアフローセンサ221、電制スロットル222、インジェクタ223、点火プラグ224、空燃比センサ225、クランク角センサ226などのセンサや、アクチュエータ230が入出力ポート209を介して接続され、コントロールユニット201がこれらの制御を行う。制御は、CPU202をはじめとする構成要素から入出力ポート209のレジスタへの読み書きにより行われる。制御の方法を記述したソフトウェアはコントロールユニット201上のROM206およびRAM207に搭載される。   The control unit 201 is connected with sensors such as an air flow sensor 221, an electric throttle 222, an injector 223, a spark plug 224, an air-fuel ratio sensor 225, a crank angle sensor 226, and an actuator 230 via an input / output port 209. Then, the control unit 201 performs these controls. The control is performed by reading / writing from / to a register of the input / output port 209 from a component such as the CPU 202. Software describing the control method is installed in the ROM 206 and RAM 207 on the control unit 201.

図2は、コントロールユニット201が実行するソフトウェアの構成図である。ソフトウェアは、大きく分けて、アプリケーションプログラム301と、オペレーティングシステム302と、デバイスドライバ303に分類される。   FIG. 2 is a configuration diagram of software executed by the control unit 201. The software is roughly classified into an application program 301, an operating system 302, and a device driver 303.

アプリケーションプログラム301は、アプリケーションプログラムインターフェイス(API)305を通してオペレーティングシステム302やデバイスドライバ303と情報や処理の受け渡しを行う。接続されるハードウェアによらずAPI305を標準化することにより、ハードウェアが変更されても、その影響がアプリケーションプログラム301へ及ぶことを避けることができる。オペレーティングシステム302、デバイスドライバ303は、マイコン304の入出力ポートなどのハードウェアインターフェイス(HWI)306を通してこれらの制御を行う。   The application program 301 exchanges information and processing with the operating system 302 and the device driver 303 through an application program interface (API) 305. By standardizing the API 305 regardless of the connected hardware, even if the hardware is changed, it is possible to avoid the influence on the application program 301. The operating system 302 and the device driver 303 control these through a hardware interface (HWI) 306 such as an input / output port of the microcomputer 304.

図3は、図2に示すソフトウェアの構成の詳細である。本実施形態では、制御ソフトウェアを部品化し、下記の階層に配置する。   FIG. 3 shows details of the software configuration shown in FIG. In this embodiment, the control software is made into parts and arranged in the following hierarchy.

制御ロジックを記述するのがアプリケーション部123である。ここでは、ハードウェアやマイコンに依存しない制御ロジックや演算処理、情報処理を行う。アプリケーション101、102と、アプリケーション同士の入力インターフェース105、出力インターフェース103、104とで指定された接続関係に基づき接続するのが部品接続部124である。   The application unit 123 describes the control logic. Here, control logic, arithmetic processing, and information processing that do not depend on hardware or a microcomputer are performed. The component connection unit 124 connects the applications 101 and 102 based on the connection relationship specified by the input interface 105 and the output interfaces 103 and 104 between the applications.

ハードウェア128に関連する処理を行うのがプラットフォーム110であり、アプリケーション部123とのインターフェースがプラットフォームI/F125である。   The platform 110 performs processing related to the hardware 128, and the interface with the application unit 123 is the platform I / F 125.

プラットフォーム110の内部は、結合済みソフトウェア部品111と、単体ソフトウェア部品117、121とに分類する。そして、プラットフォームI/F125は、プラットフォーム110が有する結合済みソフトウェア部品111のための出力インターフェース107、入力インターフェース108と、単体ソフトウェア部品117のための入力インターフェース109とを有する。   The inside of the platform 110 is classified into a combined software component 111 and single software components 117 and 121. The platform I / F 125 includes an output interface 107 and an input interface 108 for the combined software component 111 included in the platform 110, and an input interface 109 for the single software component 117.

結合済みソフトウェア部品111は、検証を終えたなどの理由により、動作の変更を行わないソウトウェア部品であり、部品の内部処理として、検証済みアプリケーション処理部112、113、信号変換処理部115、116、入力デバイス制御部119、出力デバイス制御部120を有し、追加されるソフトウェア部品から内部処理に到達するインターフェースを削除して到達できないよう構成したものである。   The combined software component 111 is a software component that does not change its operation due to reasons such as completion of verification. As the internal processing of the component, the verified application processing units 112 and 113, the signal conversion processing units 115 and 116, It has an input device control unit 119 and an output device control unit 120, and is configured so that it cannot be reached by deleting an interface that reaches internal processing from the added software component.

単体ソフトウェア部品117、121は、以下の構成である。単体ソフトウェア部品117により具現されて信号変換部126に属する信号変換部品117aは入力インターフェース114を有し、もう一つの単体ソフト部品121により具現されて入出力制御部127に属する出力デバイス制御部品121aも入力インターフェース118を有する。   The single software components 117 and 121 have the following configuration. The signal conversion component 117a implemented by the single software component 117 and belonging to the signal conversion unit 126 has an input interface 114, and the output device control component 121a embodied by another single software component 121 and belonging to the input / output control unit 127 is also included. An input interface 118 is included.

入力デバイス制御部119、出力デバイス制御部120および出力デバイス制御部品121aは、ハードウェア128にアクセスし、マイコン上あるいはマイコン外付けの入出力デバイスを駆動する。   The input device control unit 119, the output device control unit 120, and the output device control component 121a access the hardware 128 and drive an input / output device on or external to the microcomputer.

上述したように、所定のソフトウェア部品を結合済みソフトウェア部品として纏め、各ソフトウェア部品毎の入出力インターフェースを削除することにより、検証後の工程で追加されるソフトウェアによる誤動作を防止できる。   As described above, it is possible to prevent malfunction caused by software added in the post-verification process by collecting predetermined software components as combined software components and deleting the input / output interface for each software component.

以下では、点火制御を例にとって各コンポーネントの構成と動作について説明する。
点火制御は、自動車エンジンの各気筒に配置された点火プラグへ印加する電圧電流のオン・オフを制御することで行う。図4は、その機器構成を示している。制御対象であるエンジン701は、ピストン702の上下によってクランク軸701Aが回転する。クランク軸701Aの回転位置を検出するのがクランク角センサ704である。クランク角センサ704は、回転プレート705の円周上に配置した歯に対して磁気センサやホールIC706を用いることにより、エンジン701の回転位置(クランク軸701Aの回転位置)を検出する。
Hereinafter, the configuration and operation of each component will be described taking ignition control as an example.
The ignition control is performed by controlling on / off of a voltage / current applied to a spark plug disposed in each cylinder of the automobile engine. FIG. 4 shows the device configuration. In the engine 701 to be controlled, the crankshaft 701 </ b> A rotates as the piston 702 moves up and down. The crank angle sensor 704 detects the rotational position of the crankshaft 701A. The crank angle sensor 704 detects the rotational position of the engine 701 (the rotational position of the crankshaft 701A) by using a magnetic sensor or a Hall IC 706 with respect to the teeth arranged on the circumference of the rotating plate 705.

クランク角センサ704が出力するセンサ信号は、ECU707上の入力回路709を介してマイコン710の端子に入力され、マイコン内部のタイマ712を介してマイコン710上で動作するソフトウェアに取り込まれる。   A sensor signal output from the crank angle sensor 704 is input to a terminal of the microcomputer 710 via an input circuit 709 on the ECU 707, and is taken into software operating on the microcomputer 710 via a timer 712 inside the microcomputer.

また、一般に、エンジン701の燃焼室701Bではピストン702が圧縮上死点付近に達したタイミングで点火を行う。点火は点火プラグ703に一定時間に亘って電流(電圧)を印加し、その電流を遮断することによりイグニッションコイル(図示省略)を介して高電圧を発生させることにより行う。電圧の印加はマイコン710上のソフトウェアからの出力指示によりタイマ711を介して駆動回路708によって実際の駆動電流が出力される。この電流を印加開始する時期を通電時期と呼び、電流を遮断する時期を点火時期と呼ぶ。   Further, generally, in the combustion chamber 701B of the engine 701, ignition is performed at the timing when the piston 702 reaches the vicinity of the compression top dead center. Ignition is performed by applying a current (voltage) to the spark plug 703 for a certain period of time and cutting off the current to generate a high voltage via an ignition coil (not shown). For the voltage application, an actual drive current is output by the drive circuit 708 via the timer 711 in accordance with an output instruction from software on the microcomputer 710. The timing at which this current starts to be applied is called energization timing, and the timing at which the current is cut off is called ignition timing.

図5は、点火信号を出力するためのソフトウェアの処理タイミングを時系列に示したものであり、図6は、この一連の処理順序を行うハードウェアおよびソフトウェアの実行順序を記述したものである。   FIG. 5 shows the processing timing of software for outputting an ignition signal in time series, and FIG. 6 describes the execution order of hardware and software for performing this series of processing order.

クランク角センサ704の検出信号Scの立ち上がりを検出し(ステップ501)、その数や周期などをもとに回転数やエンジン回転位置を検出する(ステップ502)。吸気上死点ITDCを点火信号算出のための基準位置として用いるために、時点t0〜t1まで基準位置を待つ(ステップ503)。時点t1で吸気上死点ITDCを検出すると、時点t1を基準として出力目標値を算出する(ステップ504)。出力目標値は、通電時間Tcと点火タイミングTiの組である。通電時間Tcはイグニッションコイルに印加する電流であることから時間で指定され、点火タイミングTiは、エンジンシリンダ内のピストン702の位置に依存するため、クランク角度で指定する場合が多い。   The rising edge of the detection signal Sc of the crank angle sensor 704 is detected (step 501), and the rotational speed and the engine rotational position are detected based on the number and cycle thereof (step 502). In order to use the intake top dead center ITDC as a reference position for calculating the ignition signal, the controller waits for the reference position from time t0 to time t1 (step 503). When the intake top dead center ITDC is detected at time t1, an output target value is calculated with reference to time t1 (step 504). The output target value is a set of energization time Tc and ignition timing Ti. The energization time Tc is designated by time because it is a current applied to the ignition coil, and the ignition timing Ti is often designated by the crank angle because it depends on the position of the piston 702 in the engine cylinder.

クランク角度はエンジン回転数を元に時間に換算する必要があり、通電開始時期換算で、タイマに設定すべき時間単位に換算する(ステップ505)。これらをもとに通電開始時期設定にてタイマ値に換算された通電、点火時期をマイコン710のレジスタに設定する(ステップ506)。設定される値は、通電用コンペアマッチ値Ccと、点火用コンペアマッチ値Ciである。タイマ内部では定時周期で更新されるタイマカウンタCtとコンペアマッチ値Cc、Ciが一致する時点で、割込みが発生する。   The crank angle needs to be converted into time based on the engine speed, and is converted into a unit of time to be set in the timer in terms of energization start timing (step 505). Based on these, the energization and ignition timing converted to the timer value in the energization start timing setting is set in the register of the microcomputer 710 (step 506). The set values are an energizing compare match value Cc and an ignition compare match value Ci. In the timer, an interrupt is generated when the timer counter Ct updated at regular intervals and the compare match values Cc and Ci match.

例えば、時刻t2で通電用コンペアマッチが発生すると、通電開始時期到達をソフトウェアで検知し(ステップ507)、通電開始処理ルーチンを起動する(ステップ508)。通電開始処理の時点t3で、実際に出力端子からパルスが出力される。次に、エンジンの回転変動などに対応するための点火時期の補正処理(ステップ509)を行った後に、点火時期を設定する(ステップ510)。その後、時点t4で、タイマカウンタCtと点火用コンペアマッチ値Ciが一致すると、割り込みが発生し、点火時期到達を検知すると(ステップ511)、点火処理ルーチンを呼出し(ステップ512)、時点t5で通電停止することで、点火する。   For example, when an energizing compare match occurs at time t2, the energization start timing is detected by software (step 507), and an energization start processing routine is started (step 508). A pulse is actually output from the output terminal at time t3 of the energization start process. Next, after performing an ignition timing correction process (step 509) to cope with engine rotation fluctuations, the ignition timing is set (step 510). Thereafter, when the timer counter Ct matches the ignition compare match value Ci at time t4, an interrupt is generated, and when the ignition timing is detected (step 511), the ignition processing routine is called (step 512). I ignite by stopping.

これらのうち時点t3−t2が通電開始時期の遅延時間(ジッタ)、時点t5−t4が点火時期の遅延時間となる。また、時点t1〜t2間により上位の割り込みが発生し通電時期演算が間に合わない場合には所望の出力が得られないことになるため、クランク角センサの入力から点火パルスの出力までの動作を検証する必要がある。   Among these, time t3-t2 is the delay time (jitter) of the energization start timing, and time t5-t4 is the delay time of the ignition timing. Also, if a higher-order interrupt occurs between time points t1 and t2 and the energization timing calculation is not in time, the desired output cannot be obtained, so the operation from the crank angle sensor input to the ignition pulse output is verified. There is a need to.

上記の処理のうち、ステップ503〜504、ステップ507〜508およびステップ511〜512は、実行時に遅延が発生すると、点火のための出力パルスに影響が現れる部分である。これらの各モジュールの動作は、タイマユニットや割り込みコントローラなどのハードウェアと、マイコン710上で動作するソフトウェアの協調動作により実現している。   Of the above processing, steps 503 to 504, steps 507 to 508, and steps 511 to 512 are portions that affect the output pulse for ignition when a delay occurs during execution. The operation of each of these modules is realized by a cooperative operation of hardware such as a timer unit and an interrupt controller and software operating on the microcomputer 710.

マイコン割り込みコントローラの構成を、図7を参照して説明する。マイコン710に内蔵されたパルス入力部905、AD変換器906、タイマ907、通信部908などの内蔵モジュール902の生成する割り込み要因が割り込みコントローラ903に入力される。これらの割り込み要因は、割り込み優先レベル設定レジスタ909に設定された割り込み要因毎の優先度にしたがって最も優先度の高いものが選択される。選択された優先レベルは、中央処理装置904内のステータスレジスタ911の示す現在の割り込みレベルと比較器910で比較され、優先順位がより高ければ、中央処理装置904に割り込みが伝達される。   The configuration of the microcomputer interrupt controller will be described with reference to FIG. Interrupt factors generated by the built-in module 902 such as the pulse input unit 905, the AD converter 906, the timer 907, and the communication unit 908 incorporated in the microcomputer 710 are input to the interrupt controller 903. The interrupt factor having the highest priority is selected according to the priority for each interrupt factor set in the interrupt priority level setting register 909. The selected priority level is compared with the current interrupt level indicated by the status register 911 in the central processing unit 904 by the comparator 910. If the priority level is higher, an interrupt is transmitted to the central processing unit 904.

上述のステップ507〜508での各ハードウェアやソフトウェアのモジュールの動作の詳細を、図8を参照して説明する。   Details of the operation of each hardware or software module in steps 507 to 508 described above will be described with reference to FIG.

ステップ807でタイマに設定した通電時期の到来を表すコンペアマッチがマイコン上のハードウェアであるタイマユニット802で発生する。これを受けた割り込みコントローラ803は優先度判定を行い(ステップ808)、優先度が高ければ割り込みを発生し(ステップ809)、割り込み処理部804にて受け付ける。   In step 807, a compare match indicating the arrival of the energization time set in the timer occurs in the timer unit 802, which is hardware on the microcomputer. Receiving this, the interrupt controller 803 determines the priority (step 808). If the priority is high, an interrupt is generated (step 809) and accepted by the interrupt processing unit 804.

ここでは、スタック退避(ステップ810)、割り込み関連レジスタの処理など後処理(ステップ811)を行った上で、オペレーティングシステムへのイベント発生を通知し(ステップ812)、スタックを復帰する(ステップ813)。   Here, post-processing (step 811) such as stack saving (step 810) and interrupt-related register processing is performed, an event occurrence is notified to the operating system (step 812), and the stack is restored (step 813). .

オペレーティングシステムは、ステップ812で通知したイベントに基づき優先度を判定した上で(ステップ814)、スケジューリングを行い(ステップ815)、最も優先度の高い処理に実行権限を渡す。   The operating system determines priority based on the event notified in step 812 (step 814), performs scheduling (step 815), and passes execution authority to the process with the highest priority.

スケジューリングされた入出力制御部805は、経過時間をタイマユニット802のインプットキャプチャレジスタを参照して経過時間を計測し(ステップ816)、点火パラメータ演算アプリケーションプログラム806の通電時間補正演算を呼び出す(ステップ817)。算出された通電時間に基づき通電開始処理を行い(ステップ818)、出力時間を設定するタイマのレジスタを更新し(ステップ819)、出力であるON波形出力を行う(ステップ820)。これに基づき、タイマユニット802は点火プラグへの信号を出力する。   The scheduled input / output control unit 805 measures the elapsed time by referring to the input capture register of the timer unit 802 (step 816), and calls the energization time correction calculation of the ignition parameter calculation application program 806 (step 817). ). An energization start process is performed based on the calculated energization time (step 818), a timer register for setting the output time is updated (step 819), and an ON waveform output as an output is performed (step 820). Based on this, the timer unit 802 outputs a signal to the spark plug.

これら一連の点火制御のソフトウェアをエンジン制御システムとして構成した例を、図9に示す。アプリケーションの移植性、ハードウェア変更時のソフトウェア変更の局所化を実現するために階層化した構造となっている。検証済みのアプリケーションとしてエンジン回転数検出処理部6−11と点火パルス計算処理部6−12があり、未検証のアプリケーションとしてバルブ開度制御部6−2が混在する例である。   FIG. 9 shows an example in which a series of ignition control software is configured as an engine control system. It has a layered structure to realize portability of applications and localization of software changes when hardware changes. In this example, the engine speed detection processing unit 6-11 and the ignition pulse calculation processing unit 6-12 are verified applications, and the valve opening degree control unit 6-2 is mixed as an unverified application.

アプリケーション部ではエンジンの制御を主として物理量をモデルとした演算を行い、その演算処理はコンポーネントとして部品化する。   In the application section, the engine control is performed mainly using a physical quantity as a model, and the calculation processing is made into a component as a component.

6−1は、トルク指令演算を行う追加アプリケーションであり、エンジン回転数検出処理部6−11で検出したエンジン回転数を入力し、点火パルス計算処理部6−12に点火時期と通電時間を出力する。6−2は、未検証デバイスであるバルブの制御を行うアプリケーションである。   6-1 is an additional application for performing a torque command calculation. The engine speed detected by the engine speed detection processing unit 6-11 is input, and the ignition timing and energization time are output to the ignition pulse calculation processing unit 6-12. To do. Reference numeral 6-2 denotes an application for controlling a valve which is an unverified device.

これらのアプリケーション部品はパラメータの受け渡しなどを行う部品接続部6−6を介して接続する。アプリケーション部品とプラットフォームソフトウェア27は、標準I/Oインターフェース6−20を介して接続する。標準I/Oインターフェース6−20は、エンジン回転数を示すアプリケーション量インターフェース6−7、点火指令アプリケーション量インターフェース6−8と、駆動パルス信号量インターフェース6−9を持つ。   These application components are connected via a component connection unit 6-6 for transferring parameters and the like. The application component and the platform software 27 are connected via a standard I / O interface 6-20. The standard I / O interface 6-20 has an application quantity interface 6-7 indicating the engine speed, an ignition command application quantity interface 6-8, and a drive pulse signal quantity interface 6-9.

標準I/Oインターフェース6−20以下がプラットフォームソフトウェア6−21である。プラットフォームソフトウェア6−2は結合済み入出力制御部6−10とバルブ開度・駆動量変換部6−18、駆動パルス制御6−19からなる。   The standard I / O interface 6-20 or lower is platform software 6-21. The platform software 6-2 includes a combined input / output control unit 6-10, a valve opening / drive amount conversion unit 6-18, and a drive pulse control 6-19.

結合済み入出力制御部6−10は、エンジン回転数検出処理部6−11、ノイズフィルタ6−13、パルス入力制御部6−15、点火パルス計算処理部6−12、時間変換部6−14、パルス出力制御部6−16、割り込み優先度制御部6−17を内部に持つ。   The combined input / output control unit 6-10 includes an engine speed detection processing unit 6-11, a noise filter 6-13, a pulse input control unit 6-15, an ignition pulse calculation processing unit 6-12, and a time conversion unit 6-14. And a pulse output control unit 6-16 and an interrupt priority control unit 6-17.

パルス入力制御部6−15では、マイコン内蔵あるいは外付けのパルス入力器とそのタイマの制御を行い、パルス出力制御部6−16、6−19はパルス出力器とそのタイマの制御を行う。   The pulse input control unit 6-15 controls a built-in or external pulse input unit and its timer, and the pulse output control units 6-16 and 6-19 control the pulse output unit and its timer.

割り込み優先度は、パルス入力器、パルス出力器、タイマ、ソフトウェア処理などによる割り込みの優先度制御部6−17を保持し、割り込みコントローラの設定レジスタに設定するものである。   The interrupt priority holds the interrupt priority control unit 6-17 by a pulse input device, a pulse output device, a timer, software processing, etc., and is set in the setting register of the interrupt controller.

以上のように、構成することで、上記の遅延を引き起こす虞れのあるアプリケーションの追加を排除できる。   By configuring as described above, it is possible to eliminate the addition of an application that may cause the above-described delay.

前述のクランク角センサ704と点火パルス出力のように、複数のセンサやアクチュエータの連携による動作のタイミングを保証したプラットフォーム上に、新たなアプリケーションプログラムを追加した場合に、当該センサやアクチュエータの動作に関連する動作を損ねていないことを保証するためには、当該センサ、アクチュエータに関連するデバイスにアクセスしていないことや、当該処理を許容時間以上に待たせる上位優先度の処理が存在しないことが必要である。   When a new application program is added to a platform that guarantees the timing of operation by cooperation of multiple sensors and actuators, such as the crank angle sensor 704 and ignition pulse output described above, it relates to the operation of the sensors and actuators. In order to guarantee that the operation to be performed is not impaired, it is necessary that the device related to the sensor or actuator is not accessed, and there is no higher priority process that makes the process wait longer than the allowable time. It is.

従って、アクセス許可インターフェースからクランク角センサ704と点火パルス出力に関わるコンポーネントのインターフェースを削除し、さらにこれらのコンポーネントが実行する優先度よりも低い優先度のコンポーネントのみを追加可能であることを指定すれば動作を保証することができる。   Therefore, if the interface of the components related to the crank angle sensor 704 and the ignition pulse output is deleted from the access permission interface, and it is specified that only components having a priority lower than the priority executed by these components can be added. Operation can be guaranteed.

図10は、温度センサの検知を一つのアナログデジタル(AD)変換器を用いて測定するために用いられる方法を示している。測定対象は、水温センサ1812と、吸気温センサ1813である。   FIG. 10 illustrates a method used to measure temperature sensor detection using a single analog-to-digital (AD) converter. Measurement objects are a water temperature sensor 1812 and an intake air temperature sensor 1813.

検知に用いるAD変換器1809は、一つのチャネルのみであるため、マルチプレクサ1811を用いて入力信号を適宜切り替えることにより、二つのセンサの入力を得る。マルチプレクサ1811の制御を行うのはデジタル出力部1810であり、この出力値に応じてチャネルを切り替える。ソフトウェア上でAD変換器1809の変換開始の指定や結果の取得処理を行うのがAD変換器制御部1807であり、デジタル出力制御部1808で出力処理を行う。二つのセンサの入力を適切に切り替えるのがマルチプレクサ制御部1806であり、両者の測定電圧の正規化などを行うのが電圧変換部1804,1805である。   Since the AD converter 1809 used for detection has only one channel, the input of two sensors is obtained by appropriately switching the input signal using the multiplexer 1811. The digital output unit 1810 controls the multiplexer 1811, and switches the channel according to the output value. The AD converter control unit 1807 performs the conversion start designation and result acquisition processing of the AD converter 1809 on the software, and the digital output control unit 1808 performs output processing. The multiplexer controller 1806 appropriately switches the inputs of the two sensors, and the voltage converters 1804 and 1805 perform normalization of the measured voltages of the two sensors.

この構成によってアプリケーションプログラムである水温算出部1802と吸気温算出部1803は、移植性の高いソフトウェアコンポーネントとすることができる。   With this configuration, the water temperature calculation unit 1802 and the intake air temperature calculation unit 1803, which are application programs, can be software components with high portability.

ところが、この構成で吸気温算出のアプリケーションが変更された場合、その制御の影響が両者で共有しているマルチプレクサ制御部1806、AD変換器制御部1807、デジタル出力制御部1808にまで及ぶこととなる。   However, when the application for calculating the intake air temperature is changed in this configuration, the influence of the control extends to the multiplexer control unit 1806, AD converter control unit 1807, and digital output control unit 1808 shared by both. .

このように、デバイスを共有した入出力制御では、共有しているうち一つでも保護対象のインターフェースが存在する場合には、影響を及ぼす他のインターフェースも保護対象とする必要がある場合がある。   As described above, in the input / output control in which devices are shared, if at least one of the shared interfaces includes a protection target interface, it may be necessary to protect other affected interfaces as protection targets.

図11は、前述のアクセス保護されたインターフェースを生成する装置の構成を示している。インターフェース生成装置1003は、不具合の原因となり得るインターフェースのリストと対象となるコンポーネントを入力すると、アクセス許可されたインターフェースのみを持つプラットフォームソフトウェアを出力する。   FIG. 11 shows a configuration of an apparatus for generating the above access-protected interface. When the interface generation apparatus 1003 inputs a list of interfaces that may cause a failure and a target component, the interface generation apparatus 1003 outputs platform software having only interfaces that are permitted to be accessed.

出力されたプラットフォームソフトウェアは、追加アプリケーションから許可されないインターフェースへのアクセスを試みても構築時にコンパイルエラーなどの警告が出ることにより保護するものである。   The output platform software is protected by issuing a warning such as a compile error at the time of construction even if an additional application attempts to access an unauthorized interface.

インターフェース生成装置1003は、開発用のパーソナルコンピュータやワークステーションで構成することが考えられ、その入出力する情報、ここでは、コンポーネントソフトウェア本体1001、コンポーネントソフトウェアインターフェース1002、1008、ソフトウェアコンポーネント本体1005、ソフトウェアコンポーネントインターフェース1006、アクセス不許可I/F情報1004は、ハードディスクやメモリなどの記憶装置やネットワークなどから得る電子ファイルとし、その変換手順は、パーソナルコンピュータやワークステーションで実行可能なプログラムとして備えることができる。   The interface generation device 1003 may be configured by a development personal computer or workstation, and information to be input / output thereof, here, component software main body 1001, component software interfaces 1002, 1008, software component main body 1005, software component The interface 1006 and the access not-permitted I / F information 1004 are electronic files obtained from a storage device such as a hard disk or a memory or a network, and the conversion procedure can be provided as a program that can be executed by a personal computer or a workstation.

コンポーネントソフトウェアの本体1001は、C言語などのプログラミング言語のソースコードや機械語によるオブジェクトコードの形態のファイルであり、コンポーネントソフトウェアインターフェースに必要な情報を記述したファイルである。例えば、C言語などのプログラミング言語によるヘッダファイルソースコードや、CSV(カンマ区切りテキスト)、XML(構造化テキスト)、DB(データベースファイル)など形式のファイルである。   A component software main body 1001 is a file in the form of a source code of a programming language such as C language or an object code in machine language, and is a file describing information necessary for a component software interface. For example, a header file source code in a programming language such as C language, a file in a format such as CSV (comma separated text), XML (structured text), DB (database file), or the like.

アクセス不許可I/F情報1004は、所定のI/Fをアクセス不許可とするための情報を記述したものであり、CSV(カンマ区切りテキスト)、XML(構造化テキスト)、DB(データベースファイル)など形式のファイルである。   The access disapproved I / F information 1004 describes information for disabling access to a predetermined I / F, and is CSV (comma separated text), XML (structured text), DB (database file). File of the format.

これらをもとに、ソフトウェアコンポーネント本体1005と、公開用I/Fのみに限定したソフトウェアコンポーネントインターフェース1006を出力する。   Based on these, the software component main body 1005 and the software component interface 1006 limited to the public I / F are output.

これらに追加してソフトウェアコンポーネントインターフェース1006で公開するI/Fのみを使用するコンポーネントソフトウェア本体1007およびコンポーネントソフトウェアインターフェース1008を追加し、システム構成装置1009を用いて開発対象ソフトウェア1010を得る。システム構成装置1009は、一般のC言語のコンパイラ・リンカであっても良い。   In addition to these, a component software main body 1007 and a component software interface 1008 that use only the I / F disclosed by the software component interface 1006 are added, and the development target software 1010 is obtained using the system configuration device 1009. The system configuration apparatus 1009 may be a general C language compiler / linker.

図12は、インターフェース生成装置1003の処理アルゴリズムを示している。
アクセス不許可ファイル、コンポーネントファイルを読み込み(ステップ1101、1102)、コンポーネントファイルに記載のコンポーネントを選定し(ステップ1104)、各コンポーネントに対して公開用I/Fを作成する(ステップ1105)。各コンポーネント内のI/F宣言を切り出す(ステップ1106)。I/F宣言(ステップ1106)はC言語の関数プロトタイプ宣言や変数の宣言などである。切り出した各I/Fについて、許可I/Fであるか判定する(ステップ1108)。判定結果が許可であれば公開用I/Fファイルに当該I/Fの前記宣言を出力し(ステップ1109)、不許可であれば当該ファイルを保護対象ファイルリストへ追加する(ステップ1110)。
FIG. 12 shows the processing algorithm of the interface generation device 1003.
An access denied file and a component file are read (steps 1101 and 1102), a component described in the component file is selected (step 1104), and a public I / F is created for each component (step 1105). The I / F declaration in each component is cut out (step 1106). The I / F declaration (step 1106) is a C function prototype declaration or variable declaration. It is determined whether each cut out I / F is a permitted I / F (step 1108). If the determination result is permission, the declaration of the I / F is output to the public I / F file (step 1109), and if not permitted, the file is added to the protection target file list (step 1110).

全てのコンポーネントの全てのI/Fについて上記処理が終了したら、保護対象リストに記載のコンポーネントをコンパイル・リンクしたファイルと公開用I/Fファイルとを出力する(ステップ1111)。   When the above processing is completed for all the I / Fs of all the components, a file obtained by compiling and linking the components described in the protection target list and a public I / F file are output (step 1111).

図13は、ステップ1108の許可I/F判定の詳細を記述したものである。この許可I/F判定は、各対象I/Fについてアクセス許可あるいは不許可を判定するものである。対象I/FがアプリケーションI/Fであれば(ステップ1201肯定)、アクセス許可する(ステップ1208)。対象I/Fが許可I/Fリストに存在しない場合には(ステップ1202否定)、アクセス不許可である(ステップ1209)。存在する場合で(ステップ1202肯定)、割込みレベル条件が存在し(ステップ1203肯定)、当該I/Fの割込みレベルが許可レベルよりも高い場合には(ステップ1204肯定)、アクセス不許可である(ステップ1209)。当該I/Fが共有デバイスリスト中に存在し(ステップ1205肯定)、当該共有デバイスリスト中の全てのI/Fが許可リスト中に存在すれば(ステップ1206、1207)、アクセス許可であり(ステップ1208)、一つでも許可しないものが含まれていれば、アクセス不許可である(ステップ1209)。   FIG. 13 describes details of the permission I / F determination in step 1108. This permission I / F determination is to determine whether access is permitted or not for each target I / F. If the target I / F is an application I / F (Yes at Step 1201), access is permitted (Step 1208). If the target I / F does not exist in the permitted I / F list (No at Step 1202), access is not permitted (Step 1209). If it exists (Yes at Step 1202), an interrupt level condition exists (Yes at Step 1203), and if the interrupt level of the I / F is higher than the permitted level (Yes at Step 1204), access is not permitted ( Step 1209). If the I / F exists in the shared device list (Yes in step 1205) and all the I / Fs in the shared device list exist in the permission list (steps 1206 and 1207), the access is permitted (step 1208) If even one that is not permitted is included, access is not permitted (step 1209).

以上の方法によるインターフェース生成装置を用いることで、アクセス許可インターフェースのみを持つソフトウェアを得ることができる。   By using the interface generation apparatus according to the above method, software having only an access permission interface can be obtained.

図14は、図9に示す構成のソフトウェアのインターフェースの全てをアクセス許可した場合のアクセス許可情報の例を示している。ここでは、各インターフェースについて、入出力、種別、名称、関数名、パラメータ詳細などを指定する。これを元に、図12、図13に示されている処理手順によって図10に示す構成を持つインターフェース生成装置1003によって得られる公開用ソフトウェアコンポーネントインターフェース1006の例を図17に示している。このインターフェースは、図14に記載の各インターフェースをC言語の関数で実装した関数宣言を得ることができる。   FIG. 14 shows an example of access permission information when access is permitted to all the software interfaces configured as shown in FIG. Here, input / output, type, name, function name, parameter details, etc. are specified for each interface. Based on this, FIG. 17 shows an example of the public software component interface 1006 obtained by the interface generation apparatus 1003 having the configuration shown in FIG. 10 by the processing procedure shown in FIGS. This interface can obtain a function declaration in which each interface shown in FIG. 14 is implemented by a C language function.

図15は、前述した点火制御を追加アプリケーションの悪影響から保護するためのインターフェース許可情報のリストを示している。これによって得られる公開インターフェース情報を図18に示している。   FIG. 15 shows a list of interface permission information for protecting the ignition control described above from the adverse effects of additional applications. The public interface information obtained by this is shown in FIG.

図16は、図11に示したマルチプレクサによる共有デバイスのアクセス保護の指定例である。これによって得られた許可インターフェース情報を図19に示している。この許可インターフェース情報では、共有デバイスリストに保護対象が存在するためにアプリケーションI/Fのみが公開されている。   FIG. 16 is an example of designation of access protection of a shared device by the multiplexer shown in FIG. FIG. 19 shows the permission interface information obtained as a result. In this permission interface information, only the application I / F is disclosed because the protection target exists in the shared device list.

本発明の対象とする制御システムの一つである自動車エンジン制御システムの構成を示すブロック図。The block diagram which shows the structure of the motor vehicle engine control system which is one of the control systems made into the object of this invention. コントロールユニットが実行するソフトウェアの構成図。The block diagram of the software which a control unit performs. 本発明による車両制御用プログラムのソフトウェア結合方式を示すブロック図。The block diagram which shows the software combination system of the program for vehicle control by this invention. 自動車エンジンの点火制御の構成を示すブロック図。The block diagram which shows the structure of the ignition control of a motor vehicle engine. 点火信号を出力するためのソフトウェアの処理タイミングを時系列に示したタイミングチャート。The timing chart which showed the processing timing of the software for outputting an ignition signal in time series. 点火信号を出力するためのソフトウェアの実行順序を記述したフローチャート。The flowchart which described the execution sequence of the software for outputting an ignition signal. 割込みコントローラの構成を示すブロック図。The block diagram which shows the structure of an interrupt controller. 各ハードウェアとソフトウェアのモジュールの動作の詳細を示すシーケンス図。The sequence diagram which shows the detail of operation | movement of each hardware and software module. 一連の点火制御のソフトウェアをエンジン制御システムとして構成した例を示すブロック図。The block diagram which shows the example which comprised the software of a series of ignition control as an engine control system. 温度センサの検知を一つのアナログデジタル(AD)変換器を用いて測定するブロック図。The block diagram which measures the detection of a temperature sensor using one analog digital (AD) converter. アクセス保護されたインターフェースを生成する装置の構成を示すブロック図。The block diagram which shows the structure of the apparatus which produces | generates an access protected interface. インターフェース生成装置の処理フローを示すフローチャート。The flowchart which shows the processing flow of an interface production | generation apparatus. 許可インターフェース判定のフローチャート。The flowchart of permission interface determination. インターフェース記述例を示す表図。The table figure which shows an example of an interface description. インターフェース記述例を示す表図。The table figure which shows an example of an interface description. インターフェース記述例を示す表図。The table figure which shows an example of an interface description. ソースコードを示すリスト図。The list figure which shows a source code. ソースコードを示すリスト図。The list figure which shows a source code. ソースコードを示すリスト図。The list figure which shows a source code.

符号の説明Explanation of symbols

110 プラットフォーム
111 結合済みソフトウェア部品
117、121 単体ソフトウェア部品
123 アプリケーション部
124 部品接続部
125 プラットフォームI/F
201 コントロールユニット
301 アプリケーションプログラム
302 オペレーティングシステム
303 デバイスドライバ
110 Platform 111 Combined software component 117, 121 Single software component 123 Application unit 124 Component connection unit 125 Platform I / F
201 Control Unit 301 Application Program 302 Operating System 303 Device Driver

Claims (6)

アプリケーションプログラムと、制御対象ハードウェアの信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して車両制御用プログラムを生成するプログラム生成方法であって、
前記アプリケーションプログラム、前記デバイスドライバ及び前記インターフェース情報を入力し、前記インターフェース情報の一部を削除し、前記アプリケーションプログラム、前記デバイスドライバ及び前記削除部によって削除された残りのインターフェース情報を出力する第1のステップと、
前記アプリケーションプログラムとは異なる新たなアプリケーションプログラムを入力し、前記第1の処理で出力された前記アプリケーションプログラム、前記デバイスドライバ、及び前記新たなアプリケーションプログラムとを、前記残りのインターフェース情報を用いて結合する第2のステップと、
を有するプログラム生成方法。
Based on interface information defining a common specification of data between an application program and a device driver that performs input / output processing between signals of hardware to be controlled and data handled by the application program, the application program and the A program generation method for generating a vehicle control program by combining device drivers,
The application program, the device driver and the interface information are input, a part of the interface information is deleted, and the remaining interface information deleted by the application program, the device driver and the deletion unit is output. Steps,
A new application program different from the application program is input, and the application program, the device driver, and the new application program output in the first process are combined using the remaining interface information. A second step;
A program generation method comprising:
アプリケーションプログラムと、制御対象の自動車部品の信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して車両制御用プログラムを生成するプログラム生成装置であって、
前記アプリケーションプログラム、前記デバイスドライバ及び前記インターフェース情報を入力する入力部と、
前記インターフェース情報の一部を削除する削除部と、
前記アプリケーションプログラム、前記デバイスドライバ及び前記削除部によって削除された残りのインターフェース情報を出力する出力部と、
を有する車両制御用プログラム生成装置。
Based on interface information defining a common specification of data between an application program and a device driver that performs input / output processing between a signal of an automobile part to be controlled and data handled by the application program, A program generation device that combines the device drivers to generate a vehicle control program,
An input unit for inputting the application program, the device driver, and the interface information;
A deletion unit for deleting a part of the interface information;
An output unit that outputs the application program, the device driver, and the remaining interface information deleted by the deletion unit;
A vehicle control program generating device having
アプリケーションプログラムと当該アプリケーションが制御する自動車部品との間のデータ入出力処理を行うデバイスドライバとを有し、前記自動車部品の制御をコンピュータに実行させるための車両制御用プログラムであって、
前記アプリケーションプログラム同士、前記デバイスドライバ同士、または前記アプリケーションプログラムと前記デバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して生成され、
前記自動車部品の目標制御量であって前記デバイスドライバの入力パラメータとは異なる目標制御量を出力する第1のアプリケーションプログラムと、前記第1のアプリケーションプログラムから出力された前記目標制御量を前記デバイスドライバの入力パラメータに変換して出力する第2のアプリケーションプログラムとを有し、
前記デバイスドライバは、前記第2のアプリケーションプログラムから出力された入力パラメータに基づいて前記自動車部品に対して制御信号を出力し、前記第1のアプリケーションプログラムは、所定の前記デバイスドライバへの情報が除かれた前記インターフェース情報を用いて作成されている車両制御用プログラム。
A device driver for performing data input / output processing between an application program and an automobile part controlled by the application, and a vehicle control program for causing a computer to control the automobile part,
Based on interface information that defines common specifications of data between the application programs, between the device drivers, or between the application program and the device driver, the application program and the device driver are combined and generated,
A first application program that outputs a target control amount that is a target control amount of the automobile part and is different from an input parameter of the device driver; and the target control amount that is output from the first application program A second application program that converts and outputs the input parameter to
The device driver outputs a control signal to the automobile part based on an input parameter output from the second application program, and the first application program excludes information to a predetermined device driver. A vehicle control program created using the interface information.
アプリケーションプログラムと、制御対象の自動車部品の信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバと、前記アプリケーションプログラムと前記デバイスドライバとの間のデータの共通仕様を定義したインターフェース情報を有する補助データとを有し、前記補助データに基づいて前記アプリケーションプログラムと前記ドライバを結合して成る車両制御用プログラムであって、
前記補助データは、所定の前記デバイスドライバにアクセスする前記アプリケーションプログラムの開発時には、前記所定のデバイスドライバと前記アプリケーションプログラムとの間の前記インターフェース情報を含むとともに、前記所定のデバイスドライバにアクセスする新たなアプリケーションプログラムの開発時には、前記インターフェース情報が削除されている車両制御用プログラム。
An interface that defines an application program, a device driver that performs input / output processing between a signal of an automobile part to be controlled and data handled by the application program, and a common specification of data between the application program and the device driver Vehicle control program comprising auxiliary data having information, and combining the application program and the driver based on the auxiliary data,
The auxiliary data includes the interface information between the predetermined device driver and the application program at the time of development of the application program that accesses the predetermined device driver, and a new access to the predetermined device driver. A vehicle control program from which the interface information has been deleted when an application program is developed.
アプリケーションプログラムと、制御対象の自動車部品の信号と前記アプリケーションプログラムで扱うデータとの間の入出力処理を行うデバイスドライバとを有し、前記アプリケーションプログラムと前記デバイスドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて、前記アプリケーションプログラムと前記デバイスドライバを結合して成る車両制御用プログラムであって、
前記アプリケーションプログラム、前記デバイスドライバ及び情報の一部が削除された前記インターフェース情報を有し、前記削除されたインターフェース情報に関係する前記アプリケーションプログラムと前記デバイスドライバとの結合時に警告を表示するように構成されている車両制御用プログラム。
An application program, and a device driver that performs input / output processing between a signal of an automobile part to be controlled and data handled by the application program, and a common specification of data between the application program and the device driver A vehicle control program configured by combining the application program and the device driver based on defined interface information,
The application program, the device driver, and the interface information in which a part of the information is deleted, and a warning is displayed when the application program related to the deleted interface information and the device driver are combined. A vehicle control program.
アプリケーションプログラムと当該アプリケーションが制御する自動車部品との間のデータ入出力処理を行うデバイスドライバとを有し、前記アプリケーションプログラム同士、前記ドライバ同士、または前記アプリケーションプログラムと前記ドライバとの間のデータの共通仕様を定義したインターフェース情報に基づいて前記アプリケーションプログラムと前記ドライバを結合して生成された車両制御用プログラムを記憶し、当該車両制御用プログラムに従って前記自動車部品を制御する自動車用制御装置であって、
前記自動車部品の目標制御量であって、前記セバイスドライバの入力パラメータとは異なる目標制御量を出力する第1のアプリケーションプログラムと、前記第1のアプリケーションプログラムから出力された前記目標制御量を前記ドライバの入力パラメータに変換して出力する第2のアプリケーションプログラムと、前記第2のアプリケーションプログラムから出力された入力パラメータに基づいて前記自動車部品に対して制御信号を出力するデバイスドライバを有し、前記第1のアプリケーションプログラムは、所定の前記デバイスドライバへの情報が除かれた前記インターフェース情報を用いて作成された車両制御用プログラムに従って前記自動車部品を制御することを特徴とする自動車用制御装置。
A device driver that performs data input / output processing between an application program and an automobile part controlled by the application, and common data between the application programs, between the drivers, or between the application program and the driver A vehicle control device that stores a vehicle control program generated by combining the application program and the driver based on interface information that defines a specification, and controls the vehicle component according to the vehicle control program,
A first application program that outputs a target control amount that is a target control amount of the automobile part and is different from an input parameter of the device driver; and the target control amount that is output from the first application program. A second application program that converts and outputs the input parameter of the driver; and a device driver that outputs a control signal to the automobile part based on the input parameter output from the second application program, The first application program controls the automobile part according to a vehicle control program created using the interface information from which information to a predetermined device driver is removed.
JP2007247823A 2007-09-25 2007-09-25 Vehicle control program and program generation method, program generator, and automobile controller Withdrawn JP2009080566A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007247823A JP2009080566A (en) 2007-09-25 2007-09-25 Vehicle control program and program generation method, program generator, and automobile controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007247823A JP2009080566A (en) 2007-09-25 2007-09-25 Vehicle control program and program generation method, program generator, and automobile controller

Publications (1)

Publication Number Publication Date
JP2009080566A true JP2009080566A (en) 2009-04-16

Family

ID=40655291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007247823A Withdrawn JP2009080566A (en) 2007-09-25 2007-09-25 Vehicle control program and program generation method, program generator, and automobile controller

Country Status (1)

Country Link
JP (1) JP2009080566A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512584A (en) * 2011-02-23 2014-05-22 コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method, computer program, and control apparatus for configuring automobile control apparatus
KR20180044786A (en) * 2016-10-24 2018-05-03 주식회사 세인전장 Smart vehicle control unit applying to method for controlling vehicle using common platform using to development of green environment vehicle
WO2024048328A1 (en) * 2022-09-01 2024-03-07 株式会社オートネットワーク技術研究所 In-vehicle device, program, and, information processing method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331228A (en) * 2000-05-22 2001-11-30 Sony Corp Information processing method and information processor and recording medium and download method
WO2006061884A1 (en) * 2004-12-07 2006-06-15 Hitachi, Ltd. Automobile controller, and its software creating method and system
JP2006344146A (en) * 2005-06-10 2006-12-21 Konica Minolta Business Technologies Inc Application development program and image processing apparatus
JP2007122348A (en) * 2005-10-27 2007-05-17 Ricoh Co Ltd Image forming apparatus, security management method, security management program and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331228A (en) * 2000-05-22 2001-11-30 Sony Corp Information processing method and information processor and recording medium and download method
WO2006061884A1 (en) * 2004-12-07 2006-06-15 Hitachi, Ltd. Automobile controller, and its software creating method and system
JP2006344146A (en) * 2005-06-10 2006-12-21 Konica Minolta Business Technologies Inc Application development program and image processing apparatus
JP2007122348A (en) * 2005-10-27 2007-05-17 Ricoh Co Ltd Image forming apparatus, security management method, security management program and recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512584A (en) * 2011-02-23 2014-05-22 コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method, computer program, and control apparatus for configuring automobile control apparatus
US9043084B2 (en) 2011-02-23 2015-05-26 Continental Automotive Gmbh Method for configuring a control apparatus for a motor vehicle, computer program and control apparatus
KR20180044786A (en) * 2016-10-24 2018-05-03 주식회사 세인전장 Smart vehicle control unit applying to method for controlling vehicle using common platform using to development of green environment vehicle
KR101944472B1 (en) 2016-10-24 2019-02-01 주식회사 세인전장 Smart vehicle control unit applying to method for controlling vehicle using common platform using to development of green environment vehicle
WO2024048328A1 (en) * 2022-09-01 2024-03-07 株式会社オートネットワーク技術研究所 In-vehicle device, program, and, information processing method

Similar Documents

Publication Publication Date Title
US5490064A (en) Control unit for vehicle and total control system therefor
JP4728020B2 (en) Vehicle control software and vehicle control apparatus
Nunes et al. {APEX}: A verified architecture for proofs of execution on remote devices under full software compromise
US6236910B1 (en) Vehicle control apparatus having programs of object-oriented design
WO2010113538A1 (en) In-vehicle electronic control device, control software and development tool for control software
JP2002202001A (en) Vehicular control device provided with self-diagnostic function, and recording medium
JP2015531521A (en) Method and controller for controlling the separate execution of a plurality of linked program blocks
US20180259577A1 (en) Electronic control apparatus and method
JP2009080566A (en) Vehicle control program and program generation method, program generator, and automobile controller
JP6306530B2 (en) Electronic control unit for automobile
Albinet et al. Model-based methodology for requirements traceability in embedded systems
KR20050103498A (en) Controller and control of a drive unit of a vehicle
JP4852629B2 (en) Simulation system, method and program
Boulanger Experiences from a model-based methodology for embedded electronic software in automobile
JP7067078B2 (en) Internal combustion engine control system
JP3457520B2 (en) Task execution control method on real-time OS
JP6466269B2 (en) Electronic control device and stack area usage monitoring method
WO2017002939A1 (en) Electronic control device and stack usage method
Gaglio Design and realization of an open-loop simulator for ICE control unit, developing the crankshaft and camshaft sensors simulation
Leteinturier et al. Advanced Gasoline Engine Management Platform for Euro IV & CHN IV Emission Regulation
Viele et al. A PC and FPGA hybrid approach to hardware-in-the-loop simulation
JP4921175B2 (en) Software creation method for automobile control device
JP2021076021A (en) Electronic control unit
Brewerton et al. Rapid gasoline powertrain system design and evaluation using a powertrain starter kit
JP2019135656A (en) Electronic control device and method of using stack

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090403

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110805