Abstract:
An inspection device is provided an inspection parameter generator generating predetermined parameter data. The parameter data is transmitted to a control unit subjecting inspection. The inspection device receives input signal from the control unit, which input signal corresponds to the parameter data input to the control unit. Both of the control unit and inspection device processes the corresponding data. The control unit feeds resultant output to the inspection device. The inspection device compares its own resultant data and the resultant output of the control unit to make judgment whether the control unit operates in normal condition or not.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates generally to a method and a system for inspecting a microprocessor-based unit or component thereof. More specifically, the invention relates to a method and system for inspecting a microprocessor containing control unit, which as an automotive device control unit, such as an engine control unit, a brake control unit, a suspension control unit and for forth, and particularly for inspecting hardware of the control unit for detecting defective unit. 
     2. Description of the Background Art 
     In the recent automotive vehicles, various electronic control units, such as an engine control unit for controlling fuel injection, spark ignition timing and so forth, are installed for optimizing performance of the vehicular devices to be controlled. Such control units have been disclosed in the Japanese Patent First (unexamined) Publication (Tokkai) Showa 61-34334. 
     In manufacture of such control units, hardware has to be checked or inspected before shipping. Conventionally, one of methods of inspection is to apply a dummy load corresponding to a predetermined condition to the control unit to receive a control signal output from the control unit in response thereto. The control signal is compared with a reference value which represents the control signal value when the control unit operates in normal condition. In another method, an inspection program is installed in the control unit which is also provided with an input port for inputting inspection commands and an output port for outputting data indicative of the result of execution of the inspection program. An externally installed inspection apparatus receives the output of the control unit and compares its with a reference signal to check whether the output from the control unit indicates a normal value as represented by the reference signal. 
     The former method is economical in the viewpoint of cost. However, in order to check the control unit subjecting inspection, a relatively large number of inspection data are to be processed for obtaining the output to be compared with the reference value. This makes it difficult to identify a faulty component even when a defective control unit is detected. Furthermore, since the control unit must process a large number of data for obtaining the output to be checked, process time in the control unit can be long to require substantially long inspection period for each control unit. This clearly drops the efficiency of inspection. On the other hand, since the latter method is operated by the inspection program installed in the control unit, which uses a program specifically designed for inspection, it becomes easier to troubleshoot a faulty element based on the output. Furthermore, once a special inspection program may be optimized for checking operation of necessary component, process time can be minimized to shorten the inspection period. However, in order to install the inspection program, additional memory area is required and this makes the cost of the control unit expensive. 
     In addition, in either method, when the specification of the control unit is changed, substantial change of data and process, such as change of program, may become necessary. 
     SUMMARY OF THE INVENTION 
     Therefore, it is an object of the invention to provide a method and system to effectively and cheaply perform inspection for a microprocessor-based system, such as a control unit for automotive devices. 
     In order to accomplish the aforementioned and other objectives, an inspection device is provided with an inspection parameter generator which generates predetermined parameter data. The parameter data is transmitted to a control unit subjecting inspection. The inspection device receives input signal from the control unit, which input signal corresponds to the parameter data input to the control unit. Both the control unit and the inspection device process the corresponding data. The control unit feeds resultant output to the inspection device. The inspection device compares its own resultant data and the resultant output of the control unit to make judgement whether the control unit operates in normal condition or not. 
     According to one aspect of the invention, an inspection system for a microprocessor based unit comprises first means for storing data to be used for inspection of the microprocessor based unit, second means for reading out the data stored in the storing means and outputting to the read data to the microprocessor based unit for triggering the operation of the microprocessor based unit, third means for reading out an intermediate data which is derived in operation of the microprocessor based unit and deriving a reference data based on the read intermediate data, and fourth means for receiving a resultant data derived through the operation of the microprocessor based unit and comparing the received resultant data with the reference data in order to detect fault of operation of the microprocessor based unit by detecting a difference between the resultant data and the reference data greater than a given value. 
     The microprocessor based unit forms a control unit to be connected to a control load for outputting a control signal having a value in a known relationship with an input representative of a control parameter, the first means at least stores the data indicative of a given value corresponding to the control parameter, and the third means reads an intermediate data which is derived during the process of derivation of the control signal and having known relationship with the control signal. The microprocessor based unit has an input port to receive therethrough the control parameter, a first output port connected to the control load to output the control signal therethrough, the first means is connected to the input port for inputting the control parameter corresponding data therethrough, the fourth means is connected to the first output port for receiving the control signal therethrough, and the control unit further has a second output port for outputting the intermediate data therethrough, to which the third means is connected to receive therefrom the intermediate data. 
     The control signal derives a control magnitude of the control load on the basis of the input data input through the input port from the first means and produces the control signal for driving the control for a controlled magnitude based on the control magnitude, and the third means receives a signal indicative of the control magnitude for deriving the reference data representative of a control signal value which is to be derived by the control unit operating in normal condition. 
     According to another aspect of the invention, an inspection system for a microprocessor based control unit for controlling a predetermined electrically or electronically controlled device based on a predetermined control parameter, comprises first means for storing parameter data corresponding to the control parameter and having a known value, second means for reading out the parameter data stored in the storing means and outputting the read parameter data to the microprocessor based control unit for triggering the latter to perform operation for controlling the control load on the basis of the parameter data, third means for reading out an intermediate data which is derived during operation of the microprocessor based control unit for deriving a control signal, which intermediate data being in known relationship with the control signal to be derived by the microprocessor based control signal, the third means deriving a reference data based on the read intermediate data, fourth means for receiving the control signal from the microprocessor based control unit and comparing the received control signal value with the reference data in order to detect fault of operation of the microprocessor based control unit by detecting a difference between the resultant data and the reference data greater than a given value to produce a fault indicative signal, and fifth means, responsive to the fault indicative signal, for indicative fault of the control signal 
     According to a further aspect of the invention, an inspection system for a microprocessor based unit comprises first means for storing an inspection program to be executed by the microprocessor based unit, and parameter data corresponding to the control parameter and having a known value, which inspection program is so designed as to derive a resultant data in a known relationship with the parameter data, second means for reading the inspection program and loading the read inspection program to the microprocessor based unit, the second means triggering the microprocessor based unit to make it to execute inspection program, second means for outputting the read parameter data, third means for deriving a reference data based on the parameter data, fourth means for receiving the resultant data from the microprocessor based unit and comparing the received resultant data value with the reference data in order to detect fault of operation of the microprocessor based unit by checking relationship between the resultant data and the reference when the relationship is other hand a known relationship, and fifth means, responsive to the fault indicative signal, for indicative fault of the resultant data 
     According to a yet further aspect of the invention, a method for inspecting for a microprocessor based unit comprising the steps of: 
     setting data to be used for inspection of the microprocessor based unit; 
     outputting to the data to the microprocessor based unit for triggering the operation of the microprocessor based unit; 
     reading out an intermediate data which is derived in operation of the microprocessor based unit and deriving a reference data based on the read intermediate data; 
     receiving a resultant data derived through the operation of the microprocessor based unit; and 
     comparing the received resultant data with the reference data in order to detect fault of operation of the microprocessor based unit by detecting a difference between the resultant data and the reference data greater than a given value. 
     According to a still further aspect, a method for inspecting a microprocessor based unit comprising the steps of: 
     setting an inspection program to be executed by the microprocessor based unit, and parameter data corresponding to the control parameter and having a known value, which inspection program is so designed as to derive a resultant data in a known relationship with the parameter data; 
     reading the inspection program and loading the read inspection program to the microprocessor based unit, the second means triggering the microprocessor based unit to make it to execute inspection program; 
     outputting the read parameter data; 
     deriving a reference data based on the parameter data; 
     receiving the resultant data from the microprocessor based unit and comparing the received resultant data value with the reference data in order to detect fault of operation of the microprocessor based unit by checking relationship between the resultant data and the reference when the relationship is other hand a known relationship; and 
     indicating fault of the microprocessor based unit in response to the fault indicative signal. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be understood more fully from the detailed description given herebelow and from the accompanying drawings of the preferred embodiment of the invention, which, however, should not be taken to limit the invention to the specific embodiment but are for explanation and understanding only. 
     In the drawings: 
     FIG. 1 is a block diagram of the first embodiment of an inspection system of a microprocessor based unit, according to the invention; 
     FIG. 2 is a flowchart of a program to be executed by an inspection device in the inspection system of FIG. 1, during operation for inspection; 
     FIG. 3 is a flowchart of a program to be executed by the microprocessor based unit subjecting inspection, during operation for inspection; 
     FIG. 4 is a block diagram of a fuel injection pulse generator section in an output interface of a control unit to be subject inspection; 
     FIG. 5 is a block diagram of the second embodiment of an inspection system of a microprocessor based unit, according to the invention; and 
     FIG. 6 is a flowchart of an inspection program to be executed by an inspection device in the second embodiment of the inspection system of FIG. 4. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring now to the drawings, particularly to FIG. 1, the first embodiment of an inspection system and inspection process to be implemented utilizing the inspection system will be discussed herebelow in terms of inspection of a microprocessor based control unit for controlling fuel injection in an internal combustion engine, such as an automotive fuel injection internal combustion engine. Though the specific application of the inspection system and method will be discussed in order to facilitate better understanding of the invention, the invention should not be regarded as limiting to the shown specific application but can be applicable for inspection of any type of microprocessor based units which processes input or inputs for deriving an output having a given relationship with the inputs. 
     In the first embodiment of FIG. 1, an inspection system generally comprises an inspection device 10 which comprises a microprocessor 12. The microprocessor 12 has CPU 14, ROM 16, RAM 18, input interface 20 and an output interface 22. ROM 16 of the inspection device 10 stores a program which is illustrated in FIG. 3 and will be discussed later. RAM 18 stores inspection data to be used during execution of the inspection program. In the shown embodiment, since a fuel injection control unit 30 is checked, the inspection data stored in RAM 18 represents fuel injection control parameters, e.g. a first parameter data representative of a predetermined engine revolution speed N, a second parameter data representative of a predetermined engine load Q, and a third parameter data representative of a predetermined engine coolant temperature Tw. These first, second and third parameter data may have the data format identical to those which are normally generated by the respective corresponding sensors monitoring the engine driving conditions during actual engine control operation. Therefore, the engine speed N indicative of first parameter data may be in a form of a predetermined frequency and pulse width of pulse train corresponding a crank reference signal or a crank position signal which may be input from a crank angle sensor in actual control. Similarly, the engine load Q indicative of second parameter data may be an analog signal of a predetermined voltage representative of a predetermined engine load indicative value Q, which analog signal corresponds to that to be generated by an air flow meter or an intake vacuum sensor in the actual control. The engine coolant temperature Tw indicative of third parameter data may be also in a form of a predetermined voltage of analog signal corresponding to that to be generated by an engine coolant temperature sensor in the actual control. The output interface 22 of the inspection device 10 has output ports O 11 , O 12 , O 13  . . . for outputting inspection data therethrough. 
     On the other hand, a control unit 30 generally comprises a microprocessor which includes CPU 32, ROM 34, RAM 36, an input interface 38 and an output interface 40. ROM 34 stores a fuel injection pulse setting program for performing fuel injection control. The input interface 38 has a plurality of input ports I 21 , I 22 , I 23  . . . The output ports O 11 , O 12  and O 13  of the output interface 22 is connected to the input ports I 21 , I 22  and I 23  of the control unit 30. In the shown construction, the input port I 21  of the control unit 30 is provided for receiving the engine speed indicative data N. Therefore, in the actual installation to the engine, the input port I 21  is connected the engine speed indicative data N source, such as a crank angle sensor. Likewise, the input port I 22  is designed to receive the engine load data Q and thus is connected to the engine load data source, such as an air flow meter, intake vacuum sensor. Likewise, the input port I 23  is designed to be connected to the engine coolant temperature sensor to receive therefrom the engine coolant temperature indicative signal in the actual installation. 
     In the practical embodiment, the engine speed N indicative third parameter data is output through the output port O 11  of the inspection device 10 and thus input to the input port I 21  of the control unit. Similarly, the engine load Q indicative second parameter data is transferred from the output port O 12  to the input port I 22 . Furthermore, the engine coolant temperature Tw indicative third parameter data is transferred from the output port O 13  to the input port I 23 . 
     The output interface 40 of the control unit 30 has an output port O 24  to output therethrough a fuel injection amount indicative data Ti as a resultant value of execution of the fuel injection control program of FIG. 3. This output port O 24  is connected to an input port I 14  of the input interface 20 of the inspection device 10. The output interface 40 of the control unit 30 also has a fuel injection pulse generator section 42 to which the fuel injection amount indicative data Ti is to be set. Practically, the fuel injection pulse generator section 42 comprises a fuel injection timing control stage 44 and a fuel injection pulse outputting stage 46, as shown in FIG. 4. The fuel injection timing control stage 44 includes a register 48 to be the fuel injection timing indicative data which representative of a fuel injection start timing derived through fuel injection control operation to be performed by the control unit in a known process, is to be set, which register will be hereafter referred to as &#34;ANG register&#34;, a clock counter 50 which is connected to a clock generator 52 to count up clock pulses delivered therefrom, and a comparator 54 which compares the counter value of the clock counter 50 with the set fuel injection timing data on the ANG register 48. When the counter value becomes greater than or equal to the set fuel injection timing data, the comparator 54 output a comparator signal for triggering the fuel injection pulse outputting stage 46. The fuel injection pulse outputting stage includes a register 56. The fuel injection amount indicative data Ti representative of a fuel injection amount derived through execution of the program of FIG. 3 by the control unit, is to be set, which register will be hereafter referred to as &#34;Ti register&#34;. A clock counter 58 is connected to the clock generator 52 to count clock pulses delivered therefrom, and a comparator 60 compares the counter value of the clock counter 58 with the set fuel injection amount indicative data Ti set on the Ti register 56. The comparator 60 as triggered by the comparator signal of the comparator 54 outputs a fuel injection pulse. This fuel injection pulse is outputted through an output port O 25  of the output interface 40, the output port being designed to be connected to a fuel injection valve in actual installation on the engine to drive the latter. When the counter value becomes greater than or equal to the set fuel injection timing data, the comparator 60 terminates the fuel injection pulse. 
     In inspection, the output port O 25  of the output interface 40 of the control unit 30 is connected to an input port I 15  of the input interface 20 of the inspection device 10. Therefore, the inspection device 10 receives the fuel injection pulse output through the output port O 25 . Based on the inputs through the input ports I 14 , the inspection device 10 derives a reference data Ti&#39; corresponding to the fuel injection pulse to be generated and compares the reference data with the fuel injection pulse to check the control unit. Namely, the inspection device 10 compares the fuel injection pulse with the reference data Ti&#39; to derive a difference therebetween and checks whether the obtained difference is within a predetermined acceptable range or not for making judgement whether the control unit 30 subjected to inspection is normal or not. The result of inspection is visibly indicated by an indicator 24 provided in the inspection device 10. 
     Practical process of inspection to be performed by the first embodiment of the inspection system set forth above will be discussed herebelow with reference to FIGS. 2 and 3. 
     After connecting respective output ports O 11 , O 12  and O 13  and the input ports I 14  and I 15  to respective input ports I 21 , I 22  and I 23  and output ports O 24  and O 25  of the control unit 30, the inspection program of FIG. 2 is triggered. 
     Initially, the first, second and third parameter data set in RAM 18 are read out and transferred through the output ports O 11 , O 12  of the output interface 22 to the input ports I 21 , I 22  and I 23  of the input interface 38 of the control unit 10, at a step 102. The control unit 30 is triggered by these parameter data for executing the program of FIG. 3. As will be seen from FIG. 3, the program to be executed by the control unit 30 is a normal fuel injection control program to be cyclically executed in actual fuel injection control. 
     As triggered, the control unit 30 derives a basic fuel injection amount Tp on the basis of the first and second parameter data N and Q according to the equation, at a step 202. 
     
         Tp=K×Q/N 
    
     where K is a given constant value 
     Then, an engine driving condition dependent correction value COEF and a battery voltage compensation value Ts are derived at a step 204. In practical fuel injection control, the correction value COEF is derived on the various correction parameters, such as ignition switch position for engine start-up enrichment, engine acceleration demand for acceleration enrichment and so forth. However, in the inspection, only the third parameter data indicative of the engine coolant temperature Tw is input as the correction parameter, the correction value COEF is derived only based upon the third parameter data. The basic fuel injection amount Tp is corrected by the correction value COEF and the battery voltage compensation value Ts to derive a fuel injection amount Ti according to the following equation, at a step 206. 
     
         Ti=Tp×COEF+Ts 
    
     At the step 206, the fuel injection amount Ti derived from the aforementioned equation is set in the Ti register 56. 
     The fuel injection amount Ti set in the Ti register 56 is transferred to the inspection device through the output port O 24  of the output interface 40 of the control unit 30 to the input port I 14 . Transfer of the fuel injection amount Ti is triggered at a step 104 of the inspection program of FIG. 2. Then, the fuel injection amount data Ti thus read out is set in a register 56. Subsequently, a clock counter 58 is triggered in response to the leading edge of the fuel injection pulse output through the output port O 25  of the output interface 40 of the control unit and received through the input port I 25 , at a step 106. The clock counter 28 may be a software timer and designed to count up internal clock for measuring the fuel injection pulse width. The counter value of the clock counter 58 is latched in response to the trailing edge of the fuel injection pulse. The counter value of the clock counter 58 thus obtained serves as the fuel injection pulse width indicative reference data Ti&#39;. 
     At a step 108, the fuel injection amount data Ti set in the register 56 is compared with the reference data Ti&#39; to obtain a difference between the compared data. At the step 108, the difference is compared with a predetermined threshold value which representative of the allowable maximum deviation between the fuel injection amount Ti and the reference data Ti&#39;. When the difference is smaller than or equal to the threshold value, the indicator 24 is triggered to indicate that the control unit 30 subjected to inspection is &#34;OK&#34;, at a step 110. On the other hand, when the difference is greater than the threshold value, the indicator 24 is triggered to indicate that the control unit 30 is no good (NG). 
     As will be appreciated from the discussion given hereabove, since the inspection system according to the present invention utilizes intermediate data derived during process of control operation by the control unit subjected to inspection. This intermediate data is then used by the inspection system for deriving a data to be compared with the output resultant value of the control unit derived by its control operation. Therefore, it is not necessary to preliminarily set the reference value to be compared with the output of the control unit. Furthermore, since the common data is used for producing the reference data and the output to check, accuracy of inspection can be obtained. 
     Although the aforementioned first embodiment of the inspection process may not detect fault in the software, software check can be performed by separately performed software check process, i.e. so-called ROM check. 
     FIG. 5 shows the second embodiment of an inspection system according to the invention for checking the control unit. In this embodiment, an inspection device 50 comprises a microprocessor including CPU 52, ROM 54, RAM 56, an input interface 58 and an output interface 60. ROM 54 stores a plurality of inspection programs. The feature of the shown embodiment is that the inspection programs stored in ROM 54 is designed to be executed by the control unit 70 to be subject inspection. 
     Similarly to the former embodiment, the output interface 60 has output ports O 51 , O 52 , O 53  . . . for outputting engine speed N indicative first parameter data, engine load indicative second parameter data and engine coolant temperature indicative parameter data. In addition, the output interface 60 has a serial data output port SCO 54 . The inspection programs stored in ROM 54 is transferred through this serial data output port SCO 54 . 
     The control unit subjected to inspection is substantially the identical construction as discussed with respect to the former embodiment. Therefore, discussion for respective components of the control unit 30 will not be given in detail and will be represented by the same reference numerals to the former embodiment. In addition to the input ports I 21 , I 22  and I 23  which are concerned to the output ports O 51 , O 52  and O 53  of the output interface 60 to receive the first, second and third parameter data, a serial data input port SCI 24  is provided. The serial data input port SCI 24  is connected to the serial data output port SCO 54  of the inspection device 50. On the other hand, the output interface 40 is provided a serial data output port SCO 25  which is connected to a serial data input port SCI 55  of the input interface 58 of the inspection device. 
     Each inspection program stored in ROM 54 is read out by one in order and transferred through the serial data output port SCO 54  and the serial data input port SCI 24  as a serial data and temporarily stored in a back-up memory section 36a of RAM 36. Each inspection program includes transfer completion indicative signal at the end of the program. The inspection program stored in RAM 36 is triggered in response to the transfer completion indicative signal to perform programmed inspection. 
     The inspection programs are respectively designed for checking specific components of the control unit. For example, one of the inspection programs is designed for detecting abnormality in the input system to receive engine speed indicative parameter, such as a crank angle sensor signal. In case that the crank reference signal is used as the engine speed indicative parameter, the control unit 30 reads the crank reference signal to derive the engine speed data N received through the input port I 21  and output the engine speed data through the serial data output port SCO 25 . Therefore, the inspection program designed for checking the input system of the engine speed data processes the crank reference signal to derive the engine speed data and to output this data through the serial data output port. The inspection device compares the engine speed data received from the control unit 30 via the serial data output port SCO 25  and the serial data input port SCI 55  with a reference value indicative of the possible engine speed to be derived on the basis of the crank reference signal frequency represented by the firs parameter data. When the engine speed data matches the reference value, judgement is made that the engine speed data input system is in normal condition. 
     The process of inspection to be performed by the second embodiment of the inspection system will be discussed herebelow with reference to FIG. 6. 
     The inspection device initially transfer one of the inspection programs corresponding to the component of the control unit 30 to be checked, as triggered, at a step 302. Completion of transfer of the desired inspection program is detected by the inspection device by detecting the transfer completion signal, at a step 304. Then, the inspection device outputs an inspection command to the control unit 30 through the serial data output port SCO 54  and the serial data input port SCI 24 , at a step 306. By the inspection command, the control unit 30 is triggered to execute inspection program. As triggered, the control unit 30 receives one of the parameter data corresponding to the inspection program to be executed through one of the input ports I 21 , I 22  and I 23  and processes the received parameter data according to the inspection program. The control unit 30 outputs the results of the process through the serial data output port SCO 25 . 
     The output of the control unit 30 is received by the inspection device 50 through the serial data input port SCI 55 . The inspection device 50 compares the received output of the control unit with a reference value which represents a normal value to be derived on the basis of the parameter data input, at a step 308. When the output matches the reference value as checked at the step 308, judgement is made that the control unit 30 is normal. Then, indication that the control unit is &#34;OK&#34;, is made on an indicator 62, at a step 310. On the other hand, when the output does not match the reference value, the indicator 62 indicates that the control unit is &#34;NG&#34;, at a step 312. 
     After the step 310 or 312, check is performed whether the all of the inspection programs are performed, at a step 314. If not, process returns to the step 302 to perform next inspection program. When all of the inspection programs are performed, process goes END. 
     As will be appreciated herefrom, it is possible to perform the inspection not only utilizing the inspection program for checking the component of the control unit, but also utilizing the control program installed in the control unit. In case that the control program is used for inspection, the process to perform the inspection would be substantially same as that discussed with respect to the former embodiment. 
     According to the shown second embodiment, since the inspection program can be designed in any way and can be loaded to the control unit upon checking, the memory capacity for storing the inspection program in the control unit can be significantly reduced. Furthermore, since the inspection program can be specifically designed for performing inspection of each component, inspection time for each component can be minimized. 
     Furthermore, when the specification of the control unit is modified, modification of only inspection programs influenced by the modification of the specification of the control unit becomes necessary. 
     It should be noted that through the shown embodiment utilizes serial data for transferring data between the inspection device and the control unit, it may be possible to employ parallel data transfer system for transferring the data. Utilizing of the serial data may require only respective port for the inspection device and the control unit and thus maintain the cost of a low inspection device and the control unit. On the other hand, utilizing the parallel data may reduce period of time required for inspection. 
     While the present invention has been disclosed in terms of the preferred embodiment in order to facilitate better understanding of the invention, it should be appreciated that the invention can be embodied in various ways without departing from the principle of the invention. Therefore, the invention should be understood to include all possible embodiments and modifications to the shown embodiments which can be embodied without departing from the principle of the invention set out in the appended claims.