DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0062] (First Embodiment)
[0063] In FIG. 1, a management station C serving as a competent authority acquires data related to emission (exhaust gas), data regarding an abnormality in an engine, and the like from each of a plurality of vehicles A via a receiver B by a radio communication. The management station C specifies a vehicle A having a malfunction and demands the holder of the vehicle to repair or improve the vehicle A. Various methods such as mailing of a document can be used to demand the repair or improvement of the vehicle A.
[0064] As shown in FIG. 2, a transponder 10 receives a request from the receiver B, acquires necessary information via a communication line 5 from an engine ECU 30 , a navigation ECU 50 , and a meter ECU 70 serving as control units mounted on the vehicle A and transmits the acquired information to the receiver B ( FIG. 1 ).
[0065] The engine ECU 30 controls the engine, self-diagnoses an abnormality relating to the emission of the engine, and transmits the information to the transponder 10 in response to a request from the transponder 10 . The navigation ECU 50 and the meter ECU 70 carry out a navigation control and a meter display control, respectively. When the engine ECU 30 detects an abnormality by the self diagnosis, the navigation ECU 50 and the meter ECU 70 output a travel distance of the vehicle and the position of the vehicle to the engine ECU 30 in response to requests sent from the engine ECU 30 , respectively. When requests from the transponder 10 are received, the ECUs 50 and 70 output the travel distance and the vehicle position at that time point to the transponder 10 .
[0066] In the transponder 10 shown in FIG. 3 , since the electric power is always supplied from a battery 3 to a power circuit 13 for supplying the electric power to operate the transponder 10 , the transponder 10 operates irrespective of the state of a key switch of the vehicle A. The CPU in a microcomputer 11 executes a process in response to a request sent from the outside via an antenna 20 in accordance with a control program stored in a ROM in the microcomputer 11 . A RAM in the microcomputer 11 temporarily stores data and the like sent from the engine ECU 30 and so on. An input/output circuit 12 is connected to the antenna 20 and the communication line 5 and data inputted and outputted via the input/output circuit 12 is received and transmitted from/to the CPU and the like via an I/O device in the microcomputer 11 . An EEPROM 14 is also connected to the microcomputer 11 and stores an identification number (VIN code) unique to the vehicle.
[0067] In the engine ECU 30 shown in FIG. 4, a main power circuit 33 is connected to the battery 3 via an ignition switch 4 . Basically, by turning on the ignition switch 4 , the power is supplied from the main power circuit 33 and the engine ECU 30 operates. A power is also supplied from a sub power circuit 34 which is directly connected to the battery 3 not through the ignition switch 4 , so that data in a RAM in a microcomputer 31 is held even after turn-off of the ignition switch 4 .
[0068] The battery 3 is charged when the engine is driven. Specifically, the battery 3 is provided with an alternator driven by the engine. The alternator generates an electric power according to the engine speed and the generated electric power is supplied to the battery 3 . The battery 3 is therefore charged by the generated electric power.
[0069] In the microcomputer 31 , according to the control program stored in the ROM, the CPU generates signals for controlling an injector 47 and an igniter 48 so that the engine operates optimally on the basis of sensor signals inputted via the input/output circuit 32 and the I/O device in the microcomputer 31 . The microcomputer 31 self-diagnoses an abnormality relating to the emission of the engine, the operation of the engine, and an abnormality or the like occurring in sensors 41 to 46 . Data of the diagnosis result is outputted in response to a request from the outside (a DIAG tester 49 or the transponder 10 ). The RAM in the microcomputer 31 holds sensor data used for an arithmetic operation in the CPU, control data acquired by the arithmetic operation, various diagnosis data derived by the diagnosis, and the like.
[0070] The sensors 41 to 46 connected to the input/output circuit 32 are the air-fuel ratio (A/F) sensor 41 , revolution sensor 42 for sensing the rotational speed (RPM) of the engine, air flow meter 43 , water temperature sensor 44 , throttle sensor 45 , and starter switch 46 .
[0071] In the navigation ECU 50 shown in FIG. 5, a power circuit 53 is connected to the battery 3 via an accessory switch 6 and a microcomputer 51 and an input/output circuit 52 operate when the accessory switch 6 is turned on. A receiver 62 , a map data input device 64 , and a display monitor 66 are connected to the input/output circuit 52 . A GPS antenna 60 is connected to the receiver 62 . Those components construct a GPS (Global Positioning System) for detecting the position of the vehicle on the basis of electromagnetic waves from a GPS satellite. The map data inputting device 64 is a device for inputting various data including map matching data to improve the accuracy of position detection and map data from a storage medium. As a storage medium for this use, although it is typical to use a CD-ROM because of a large data amount, other media such as DVD and memory card can be also employed. The display monitor 66 is used to display a map, a guiding path, and the like. In the embodiment, the display monitor 66 also has the function of receiving an instruction from the user.
[0072] In the microcomputer 51 , in accordance with the control program stored in the ROM, the CPU executes a displaying process in response to instruction information from the user acquired through the display monitor 66 on the basis of map data from the map data inputting device 64 and a signal from the receiver 62 inputted via the input/output circuit 52 and the I/O device in the microcomputer 51 and allows the display monitor 66 to display desired information of the user. When a request from the engine ECU 30 or the transponder 10 is received via the communication line 5 , the microcomputer 51 can output the vehicle position at the time of receipt of the request to the engine ECU 30 or transponder 10 which sent the request.
[0073] In the meter ECU 70 shown in FIG. 6, a power circuit 73 is connected to the battery 3 via the accessory switch 6 . When the accessory switch 6 is turned on, a microcomputer 71 and an input/output circuit 72 operate. A meter panel 74 , a speed sensor 75 , and the like are connected to the input/output circuit 72 .
[0074] In the microcomputer 71 , in accordance with the control program stored in the ROM, the CPU receives a sensor signal from the speed sensor 75 and the like and allows the meter panel 74 to display information such as the speed of the vehicle. When a request from the engine ECU 30 or the transponder 10 is received via the communication line 5 , the microcomputer 71 can output a cumulative travel distance of the vehicle at the time of the receipt of the request to the engine ECU 30 or transponder 10 which sent the request.
[0075] The engine ECU 30 is programmed to execute processing shown in FIGS. 7 to 11 .
[0076] First, when the engine ECU 30 starts to operate by the turn-on of the ignition switch 4 ( FIG. 4 ), as shown at the first step S 100 of the main process of FIG. 7 , detection data, counter data, and the like in the RAM is initialized. Data stored in relation to a self-diagnosing process (S 400 ) which will be described hereinlater is not an object of the initialization.
[0077] After the initializing process at step S 100 , an electronic fuel injection (EFI) control process at S 200 , an electronic spark advance (ESA) control process at S 300 , the self-diagnosing process related to the engine at S 400 , and other processes are repeatedly performed.
[0078] The diagnosing process at step S 400 will be described in detail with reference to FIGS. 8 and 9 .
[0079] The diagnosing process shown in FIG. 8 is a base process executed, for instance, every 64 m/sec. Whether the throttle sensor 45 and the water temperature sensor 44 ( FIG. 4 ) are abnormal or not is discriminated (S 410 and S 430 ). When an abnormality is detected (YES at S 410 , YES at S 430 ), a code for specifying the detected abnormal object is stored in the RAM (S 420 , S 440 ). Also, whether a misfire of the engine is detected or not is checked (S 450 ). If a misfire is detected (YES at S 450 ), a misfire code is stored in the RAM (S 460 ). Although not shown in FIG. 8 , it is also possible to discriminate a defective state of an engine related part such as the injector 47 or a catalyst and store a code specifying the detected abnormal object into the RAM when an abnormality is detected. The diagnosing process shown in FIG. 9 is also a base process executed, for example, every 64 m/sec. At the first step S 510 , whether an abnormality is detected or not in the diagnosing process of FIG. 8 is decided. Specifically, when step S 410 , S 430 , or S 450 is positively determined, it is decided that an abnormality is detected.
[0080] If there is no abnormality (NO at S 510 ), the processing routine is finished. When there is an abnormality (YES at S 510 ), whether it is the abnormality which has already been detected or not is checked (S 520 ). That is, when the detected abnormality is that which has been detected before (YES at S 520 ), the processing routine is finished immediately. On the other hand, when it is the abnormality which is detected for the first time, namely, when the abnormality code has not been stored in the RAM until then (NO at S 520 ), the routine advances to step S 530 where the operating conditions are stored.
[0081] The data (freeze frame data) of the operating conditions stored at step S 530 is used for abnormality analysis when the vehicle is diagnosed and is a part of data sent from the transponder 10 to the management station C ( FIG. 1 ) via the receiver B. Items to be stored are control data relating to the engine speed, an intake air volume, a water temperature, a throttle opening angle, and an injection amount, control data relating to an ignition timing, a travel distance of the vehicle, the position of the vehicle, and the like. Among the items, the travel distance and the position of the vehicle are acquired in such a manner that the engine ECU 30 sends requests to the meter ECU 70 and the navigation ECU 50 via the communication line 5 , a cumulative travel distance at that time point is outputted from the meter ECU 70 and the position at that time point is outputted from the navigation ECU 50 . The process for outputting th ECUmulative travel distance at that time point executed by the meter ECU 70 in response to the request from the engine ECU 30 will be described hereinlater with reference to FIG. 15 . The process for outputting the position information at the time point by the navigation ECU 50 in response to the request from the engine ECU 30 will be also described hereinlater with reference to FIG. 17 .
[0082] In the engine ECU 30 , the process regarding the diagnosis is executed as described above, and the presence or absence of an abnormality, the contents of the abnormality, and the operating conditions at the time of occurrence of the abnormality are stored. The engine ECU 30 in the embodiment stops the operation as mentioned above after the ignition switch 4 is turned off. Consequently, the engine ECU 30 outputs the information regarding the abnormality stored by itself to the transponder 10 via the communication line 5 at predetermined intervals during the operation, so that the transponder 10 can always receive the request from the receiver B.
[0083] The abnormality information outputting process shown in FIG. 10 is a base process executed by the engine ECU 30 , for example, every 1024 m/sec. First, whether a transmission waiting counter Ca is 60 or larger is determined (S 610 ). If the transmission waiting counter Ca is 60 or larger (YES at S 610 ), the processing routine advances to step S 620 . When the conditions of steps S 620 to S 640 are satisfied, the abnormality information is outputted to the transponder 10 at step S 650 . If the transmission waiting counter Ca is less than 60 (NO at step S 610 ), only by incrementing the transmission waiting counter Ca (Ca←Ca+1) (S 670 ), the processing routine is finished.
[0084] As mentioned above, on the basis of the idea that the information regarding an abnormality does not change frequently, the execution interval (every 1024 m/sec) of the abnormality information outputting process is set to be longer than that of other processes so as to put the priority lower than that of the various engine control processes executed by the engine ECU 30 , thereby reducing the processing load. Further, in order to reduce the communication volume on the communication line 5 , as shown at step S 610 , data is transmitted each time the transmission waiting counter Ca counts 60 . In other words, according to the embodiment, the information regarding an abnormality is transmitted about every one minute from the engine ECU 30 to the transponder 10 via the communication line 5 .
[0085] Process at step S 620 to which the routine advances when the transmission waiting counter Ca is equal to or larger than 60 (YES at S 610 ) and at the subsequent steps will be explained.
[0086] In this case, whether the engine high revolution time or not (S 620 ), whether the engine highly loaded time or not, that is, the throttle opening angle is equal to or larger than a predetermined angle or not (S 630 ), and whether the engine starting time or not (S 620 ) are checked one by one. If NO, the routine advances to the next step. When it is determined as YES at any of the above steps, that is, if the operation of the microcomputer 31 is busy, i.e., it is the engine high revolution time when (YES at S 620 ), the engine highly loaded time (YES at S 630 ) or the engine starting time (YES at S 640 ), the processing routine is finished. On the other hand, it is determined as NO at all of the steps, the routine advances to step S 650 .
[0087] At step S 650 , the stored abnormality information (the presence or absence of an abnormality, the code of the abnormal object when there is the abnormality, driving condition data at the time point when the abnormality is detected, and the like) is outputted to the transponder 10 . After that, the transmission waiting counter Ca is cleared at step S 660 and the processing routine is finished.
[0088] As mentioned above, in the process, the routine advances to step S 620 for the first time after the transmission waiting counter Ca becomes 60 or larger and the processes (S 620 to S 640 ) for determining whether or not the period is suitable for outputting the abnormality information is executed. When the transmission waiting counter Ca is smaller than 60 , the transmission waiting counter Ca is simply incremented by “1” (S 670 ). This is for the purpose of preventing the engine control process from being delayed by the outputting operation of the abnormality information since the process load on the engine ECU 30 is extremely high in the state where the engine rotates at high speed or the load is high. Especially, in the case where an abnormality is detected and the amount of data to be outputted is large, the other processes have to wait long because of the outputting process. If the data is outputted in a proper state where the process load on the engine ECU 30 is low, the ordinary control is not hindered. Moreover, the output of the abnormality information is not so urgent, so that no problem occurs even if the output is delayed a little.
[0089] Even when the process load on the engine ECU 30 is low (NO at steps S 620 and S 630 ), if it is in the engine starting time (YES at step S 640 ), the abnormality information is not outputted. Since it is presumed that noises probably occur at the engine starting time, by avoiding the communication in such a state, erroneous data is prevented from being transmitted to the transponder 10 .
[0090] The process executed by the transponder 10 having the above configuration is shown in FIGS. 11 to 14 .
[0091] The process shown in FIG. 11 is the process executed by a receiving interruption. At the first step S 1010 , whether it is a transmission request of abnormality information sent from the receiver B ( FIG. 1 ) or not is checked. If it is the transmission request of abnormality information (YES at S 1010 ), after setting a transmission request flag F(rq) to “1” (S 1020 ), a request to output the present vehicle position is sent to the navigation ECU 50 (S 1030 ) and a request to output the present cumulative travel distance is sent to the meter ECU 70 (S 1040 ).
[0092] After sending the request at step S 1040 or when it is determined as NO at step S 1010 , the processing routine is finished and the program returns to the interrupted process. In the process shown in FIG. 12 which is also a process executed by a receiving interruption, for storing received data, at the first step S 1110 , whether it is information outputted from the engine ECU 30 or not is determined. If yes (YES at S 1110 ), the routine advances to step S 1120 and the received data is stored in a predetermined storage area D(EG) in the RAM. The received data is the abnormality information outputted from the engine ECU 30 at step S 650 in FIG. 10 .
[0093] On the other hand, when the information output is not from the engine ECU 30 (NO at S 1110 ), whether it is from the meter ECU 70 or not is checked (S 1130 ). If it is from the meter ECU 70 (YES at S 1130 ), the routine advances to step S 1140 and the received data is stored into a predetermined storage area D(MT). The received data is the one outputted from the meter ECU 70 in response to the request of outputting the travel distance information sent at step S 1040 in FIG. 11 .
[0094] Further, when the information output is not from the meter ECU 70 (NO at S 1130 ), whether it is an information output from the navigation ECU 50 or not is checked (S 1150 ). If so (YES at S 1150 ), the processing routine advances to step S 1160 and the received data is stored into a predetermined storage area D(NV) in the RAM. The received data is the one outputted from the navigation ECU 50 in response to the request of outputting the position information sent at step S 1030 in FIG. 11 .
[0095] As shown at steps S 1120 , S 1140 , and S 1160 , after storing the received data from the engine ECU 30 , meter ECU 70 , or navigation ECU 50 into the storage areas D(EG), D(MT), or D(NV), or when “NO” is determined at step S 1150 , the processing routine is finished and the program returns to the interrupted process.
[0096] An output permission flag setting process shown in FIG. 13 is a base process executed, for instance, every 256 m/sec. The following point is taken into account in this process. Since the operation of the navigation ECU 50 and the meter ECU 70 is stopped when the accessory switch 6 is turned off, even if there is a request from the receiver B while the operation is stopped, information cannot be acquired at that time point. Consequently, when the information cannot be received from the navigation ECU 50 and the meter ECU 70 in a predetermined period, it is determined that the operation of the ECUs 50 and 70 is stopped and output permission flags F(nv) and F(mt) which are set according to completion of the information reception are set. When the flags are set, the data received before and stored in the predetermined storage areas D(NV) and D(MT) in the RAM can be used as data to be transmitted to the receiver B.
[0097] At the first step S 1210 , whether the transmission request flag F(rq) is set or not is checked. When the transmission request flag F(rq) is set at step S 1020 in FIG. 11 , YES is determined at this step S 1210 . The processing routine then advances to step S 1220 and whether the position information has been already received from the navigation ECU 50 or not is checked. Whether it is received or not is determined by checking whether the process for storing the received data into the storage area D(NV) is executed or not at step S 1160 in the received data storing process of FIG. 12 .
[0098] In the case where the received data from the navigation ECU 50 has been stored (YES at S 1220 ), the processing routine advances to step S 1250 and the output permission flag F(nv) which is set according to the completion of reception is set. On the other hand, when the received data has not been stored (NO at S 1220 ), the counter Cnv is incremented (S 1230 ) and whether the counter Cnv is equal to or larger than 40 is checked (S 1240 ). If the counter Cnv is 40 or larger (YES at S 1240 ), the routine advances to step S 1250 where the output permission flag F(nv) is set. If the counter Cnv is smaller than 40 (NO at S 1240 ), the routine advances to step S 1260 without executing the process at step S 1250 .
[0099] At steps S 1260 to S 1290 , a process similar to that regarding the navigation ECU 50 performed at the above steps S 1220 to S 1250 is executed as a process regarding the meter ECU 70 . That is, whether or not the travel distance information has been received from the meter ECU 70 is checked (S 1260 ). If it has been received (YES at S 1260 ), the routine proceeds to step S 1290 where the output permission flag F(mt) which is set according to completion of reception is set. On the other hand, if the received data has not been stored (NO at S 1260 ), the counter Cmt is incremented (S 1270 ) and then, whether the counter Cmt is 40 or larger is checked (S 1280 ). If the counter Cmt is 40 or larger (YES at S 1280 ), the routine advances to step S 1290 and the output permission flag F(mt) is set. If the counter Cmt is smaller than 40 (NO at S 1280 ), the processing routine is finished without executing the process at step S 1290 .
[0100] Subsequently, a transmission processing routine shown in FIG. 14 is executed. The transmission process is a base process which is executed, for example, every 256 m/sec. First at step S 1310 , whether the transmission request flag F(rq) is set to “1” or not is checked. If the transmission request flag F(rq) is set to “1” (YES at S 1310 ), at the subsequent step S 1320 , whether both of the output permission flags F(nv) and F(mt) are set to “1” or not is checked.
[0101] If both of the output permission flags F(nv) and F(mt) are set to “1” (YES at S 1320 ), the received data stored in the storage areas D(EG), D(MT), and D(NV) in the RAM is transmitted as diagnosis data together with the VIN code stored in the EEPROM 14 ( FIG. 3 ) to the receiver B. Further, the transmission request flag F(rq) and the output permission flags F(nv) and F(mt) are set to “0”, namely, cleared (S 1340 ), and the processing routine is finished.
[0102] When the transmission request flag F(rq) is “0” (NO at S 1310 ) or when at least one of the output permission flags F(nv) and F(mt) is “0” (NO at S 1320 ), the processing routine is finished immediately.
[0103] The process executed by the meter ECU 70 is shown in FIGS. 15 and 16 .
[0104] The process shown in FIG. 15 is a base process executed, for example, every 64 m/sec. At the first step S 2010 , whether or not a request for the travel distance information is sent from the engine ECU 30 is checked. If there is the request (YES at S 2010 ), the travel distance information at the time point is outputted to the engine ECU 30 (S 2020 ). The request for the travel distance information from the engine ECU 30 is sent during the process at step S 530 in FIG. 9 . The travel distance information outputted at step S 2020 is stored likewise during the process at S 530 in FIG. 9 .
[0105] The process shown in FIG. 16 is also a base process executed, for instance, every 64 m/sec. While the process of FIG. 15 is that for responding to the request from the engine ECU 30 , the process of FIG. 16 is that for responding to the request from the transponder 10 or voluntarily outputting the information.
[0106] At the first step S 2110 , whether the travel distance information is requested from the transponder 10 or not is checked. If there is the request (YES at S 2110 ), the travel distance information at that time point is outputted to the engine ECU 30 (S 2140 ), further, the transmission completion flag F(TP) is set to “1” (S 2150 ), and the processing routine is finished.
[0107] The above is the basis of the responding process. Even if the travel distance information is not requested by the transponder 10 (NO at S 2110 ), however, when the vehicle speed is zero (YES at S 2120 ) and the transmission completion flag F(TP) is zero (YES at S 2130 ), the travel distance information is outputted to the engine ECU 30 (S 2140 ). That is, since the operation of the meter ECU 70 is stopped when the accessory switch 6 is turned off, the request from the transponder 10 cannot be responded while the operation is stopped. Consequently, even if there is no request from the transponder 10 , each time it is detected that the vehicle speed is zero, that is, the vehicle is stopped, the travel distance information at that time point is voluntarily outputted to the transponder 10 .
[0108] In the flow diagram of FIG. 16 , when it is negatively determined, that is, the vehicle speed is not zero at S 2120 , the processing routine advances to step S 2160 where the transmission completion flag F(TP) is cleared. If NO at step S 2130 , namely, although the vehicle speed is zero (YES at S 2120 ), when the transmission completion flag F(TP) is set to “1”, the processing routine is finished. As mentioned above, those are operations performed basically in response to the request from the transponder 10 , and for voluntarily outputting the information to the transponder 10 each time the stop of the vehicle is detected even if there is no request.
[0109] The process executed by the navigation ECU 50 is shown in FIGS. 17 and 18 .
[0110] The process shown in FIG. 17 is a base process executed, for example, every 64 m/sec. At the first step S 3010 , whether the position information is requested from the engine ECU 30 or not is checked. If there is the request (YES at S 3010 ), the position information at that time point is outputted to the engine ECU 30 (S 3020 ). The request of the position information from the engine ECU 30 is sent during the process at step S 530 in FIG. 9 . The position information outputted at step S 3020 is stored likewise during the process at step S 530 in FIG. 9 .
[0111] Meanwhile, the process shown in FIG. 18 is also a base process executed, for instance, 64 m/sec. While the process of FIG. 17 is that for responding to the request from the engine ECU 30 , the process of FIG. 16 is that for responding to the request from the transponder 10 or voluntarily outputting the information.
[0112] At the first step S 3110 , whether the position information is requested from the transponder 10 or not is checked. If there is the request (YES at S 3110 ), the position information at that time point is outputted to the engine ECU 30 (S 3140 ), the transmission completion flag F(TP) is set to “1”, and the processing routine is finished.
[0113] Although this is the basis of the responding process, even in the case where the position information is not requested from the transponder 10 (NO at S 2110 ), if the vehicle speed is zero (YES at S 3120 ) and the transmission completion flag F (TP) is “0” (YES at S 3130 ), the position information is outputted to the engine ECU 30 (S 3140 ). Since the operation of the navigation ECU 50 is also stopped when the accessory switch 6 is turned off, if a request is sent from the transponder 10 while the operation is stopped, the request cannot be responded. During the operation, consequently, even if there is no request from the transponder 10 , each time it is detected that the vehicle speed is zero, namely, the vehicle is stopped, the position information at that time point is voluntarily outputted to the transponder 10 .
[0114] In the flow diagram of FIG. 18 , when the vehicle speed is not zero (NO at S 3120 ), the routine advances to step S 3160 and the transmission completion flag F(TP) is cleared. Even if the vehicle speed is zero (YES at S 3120 ), when the transmission completion flag F(TP) is set to “1” (NO at S 3130 ), the processing routine is finished at once. Those are processes for basically responding to the request from the transponder 10 and, even if there is no request, for voluntarily outputting information to the transponder 10 each time the stop of the vehicle is detected.
[0115] As described above with reference to FIGS. 16 and 18 , even if the operation of the meter ECU 70 or the navigation ECU 50 is stopped, when the vehicle speed becomes zero (the vehicle is stopped) during the operation, the travel distance information or position information is outputted to the transponder 10 . Consequently, even if there is no output request from the transponder 10 during the operation, the information can be certainly stored in the transponder 10 . The accessory switch 6 is turned off basically only when the vehicle is stopped. By outputting the information in such a state, unnecessary transmission can be therefore avoided. Further, since the travel distance information and the position information does not change basically while the vehicle is stopped, if the information is outputted only when the vehicle is stopped, proper information according to the actual condition is stored in the transponder 10 .
[0116] By executing the above processes, the vehicle position and cumulative travel distance at the time point when the abnormality is detected and the vehicle position and cumulative travel distance at the time point when the receiver B requested the vehicle to send the abnormality information are transmitted from the transponder 10 to receiver B, so that the management station C to which the data is transferred from the receiver B knows the travel distance and the movement state of the vehicle A after detection of the abnormality. A proper measure can be therefore taken for the user of the vehicle A. The proper measure is taken in such a manner that, for example, a warning is notified, the engine is forcedly stopped via communication when the vehicle A is stopped in a safe place depending on a case, the engine is not started again after the engine is turned off by the user, and the like.
[0117] According to the vehicle diagnosis system of the embodiment, the ECUs 30 , 50 , and 70 serving as “control units” mounted on the vehicle A diagnose the conditions of various devices controlled by the ECUs, respectively, the results of diagnosis are transmitted to the receiver B outside of the vehicle by the transponder 10 serving as a “communication unit” connected via the communication line 5 and is further transferred to the management station C. The ECUs 30 , 50 , and 70 and the transponder 10 operate by the electric power supplied from the battery 3 which is charged by the driving of the vehicle-mounted engine. Since it is constructed so that the electric power necessary for an ordinary operation is always supplied from the battery 3 to the transponder 10 , whenever the transmission request is sent from the receiver B, the transponder 10 can transmit the diagnosis result in response to the request.
[0118] On the other hand, it can be switched between the state in which the electric power necessary for an ordinary operation is supplied from the battery 3 to each of the ECUs 30 , 50 , and 70 by the ignition switch 4 or the accessory switch 6 and the state in which it is not supplied. Since the ignition switch 4 or the accessory switch 6 is turned on while the vehicle is used, the electric power necessary for the ordinary operation is supplied from the battery 3 . On the other hand, when the vehicle is not used, both of the ignition switch 4 and the accessory switch 6 are off, so that the electric power necessary for the ordinary operation is not supplied from the battery 3 . In this sense, the ignition switch 4 for the engine ECU 30 and the accessory switch 6 for the navigation ECU 50 and the meter ECU 70 operate as a supply state setting device.
[0119] In the state where the vehicle-mounted engine is stopped and the battery 3 is not charged when the vehicle is not used, the supply of electric power to each of the ECUs 30 , 50 , and 70 is reduced. Specifically, only the electric power for holding data stored in the RAM in the microcomputer 31 is supplied via the sub power circuit 34 ( FIG. 4 ) in the engine ECU 30 , so the power consumption of the battery 3 is considerably reduced.
[0120] That is, it is irrational from the viewpoint of battery power consumption to prepare the ECUs 30 , 50 , and 70 in addition to the transponder 10 so as to perform the ordinary operation in order to always respond to the request transmitted from the receiver B which cannot be expected when it is transmitted. If it intends only to respond to the transmission request, it is sufficient that only the transponder 10 operates. Consequently, the electric power to enable the ordinary operation to be executed is not supplied to each of the ECUs 30 , 50 , and 70 .
[0121] Since the power which enables the ordinary operation to be performed is not supplied to each of the ECUs 30 , 50 , and 70 while the vehicle is not used, if the transmission request is sent from the receiver B while the vehicle is unused, information cannot be acquired from each of the ECUs 30 , 50 , and 70 at the time point. Instead of obtaining the information from each of the ECUs 30 , 50 , and 70 at the time point, therefore, the transponder 10 transmits the latest information acquired from each of the ECUs 30 , 50 , and 70 while the vehicle is used before the vehicle A enters an unused state.
[0122] While it is constructed so as to always respond to the transmission request from the receiver B, the battery power consumption can be reduced as much as possible.
[0123] In the embodiment, the diagnosis result from the engine ECU 30 is outputted under the control of the engine ECU 30 . That is, basically, the abnormality information is outputted every predetermined time, not in response to the request from the transponder 10 ( FIG. 10 ). The outputting operation is, however, performed by avoiding periods which are considered to be improper since a processing load required for the control is assumed to be high such as periods in which the engine rotates at high speed or the load on the engine is high. Various controls to the engine are the inherent work and the priority of them is relatively high. On the other hand, the priority of outputting the abnormality information is relatively low. That is, in a period during which the engine ECU 30 is busy executing the process having the high priority, it is unnecessary to execute the process having the low priority for outputting the abnormality information prior to the process having the high priority. Even if there is a request to output the diagnosis result to the transponder 10 during such a period, the request is not consequently responded. Further, also in a period during which noises may be occurring on the communication line 5 due to starting of the engine, the abnormality information is not outputted to the transponder 10 . The possibility that noises occur on the communication line 5 by operations such as rotation of the starter is high upon starting of the engine. Consequently, when the abnormality information is outputted from the engine ECU 30 to the transponder 10 in such a state, there is the possibility that illegal data or data destruction occurs on the communication line 5 and an erroneous diagnosis result different from the result outputted from the engine ECU 30 is transmitted to the management station C. Even if there is a request to output the diagnosis result to the transponder 10 during the periods, the request is not responded.
[0124] The above embodiment may be modified as follows.
[0125] (1) In the foregoing embodiment, the abnormality information is outputted at timings controlled by the engine ECU 30 itself. The navigation ECU 50 and the meter ECU 70 basically output information in response to a request from the transponder 10 . In the case where the vehicle is stopped, however, they voluntarily output the information at that time point. When there is the transmission request from the receiver B during the vehicle unused time, the latest information outputted from each of the ECUs 30 , 50 , and 70 at the above timing when the vehicle is used is stored. The stored information is transmitted as the “latest diagnosis result” to the receiver B.
[0126] Besides the above, the following method can be also employed. For example, with respect to the engine ECU 30 , by continuing the state where the electric power necessary for the ordinary operation of the engine ECU 30 is supplied for a predetermined period since the time point the ignition switch 4 is turned off, the engine ECU 30 is allowed to output the abnormality information during the predetermined period. For instance, by the electric power supplied from the sub power circuit 34 shown in FIG. 4 , the abnormality information outputting process is executed. With respect to the cases of the navigation ECU 50 and the meter ECU 70 as well, it is sufficient to likewise add the sub power circuit.
[0127] Besides the method of using the sub power circuit, it can be also realized as follows. For example, when the ignition switch 4 and the accessory switch 6 are turned off by a key operation of the driver of the vehicle, actual power supply from the battery 3 to the power circuits 33 , 53 , and 73 is stopped after a predetermined delay time since the time point of the turn-off operation. For instance, a power source line routing the ignition switch 4 and the accessory switch 6 is provided between the battery 3 and the power circuits 33 , 53 , and 73 . Relays provided on the line are controlled by the microcomputer in accordance with the states of the ignition switch 4 and the accessory switch 6 .
[0128] That is, since the switch timing from the vehicle used state to the unused state is determined by the key operation of the driver, it is sufficient to delay the actual stop of power supply from the switch timing.
[0129] In this manner, a result which is more proper as a “latest diagnosis result” can be acquired. That is, when the latest information among the information voluntarily outputted from the ECUs 30 , 50 , and 70 is used as the “latest diagnosis result”, there is the possibility that the information in which the state just before the vehicle A is changed from the use state to the unused state is reflected is not acquired depending on an output interval. For instance, there is a case that the vehicle is driven even after the latest information is outputted and there is the possibility that a new abnormality occurs by the driving. Even if a new abnormality does not occur, there is the possibility that an error from the position information and the travel distance information at the time point when the vehicle is stopped finally occurs. By employing the above method, therefore, it is advantageous that the position information and the travel distance information at the time point when the vehicle is actually stopped can be acquired.
[0130] (2) Although the engine ECU 30 outputs the abnormality information at the timing managed by the engine ECU 30 itself in the foregoing embodiment, for example, the following method can be also used. The request is sent from the transponder 10 periodically or non-periodically and the abnormality information is outputted from the engine ECU 30 in respond to the request.
[0131] In the case where the engine ECU 30 outputs the abnormality information in response to the request from the transponder 10 as mentioned above, there is a problem how to deal with the period in which the processing load is high and the period which is improper for the output of the abnormality information at the time of engine starting. In a manner similar to the foregoing case, the request is not responded, that is, the abnormality information is not outputted in the improper periods. For instance, if there is a transmission request from the transponder 10 during the improper period, the request is not responded but the request itself is stored. After that, the abnormality information is outputted to the transponder 10 in response to the stored output request of the diagnosis result at the time point when the state becomes proper.
[0132] Consequently, the response to the output request is improved by the following reason. Whether it is in the improper period or not is determined upon receipt of the output request, if it is in the improper period, the request is not responded. In the case where the request is responded if it is not in the improper period, even if the improper period is finished, the timing of the next output request has to be waited. Namely, the output request does not always come just after the improper period. On the contrary, when the output request itself of the diagnosis result is stored and is responded at the time point when the state becomes proper, the request can be responded as soon as the state becomes proper. Thus, the response to the output request is improved.
[0133] (3) When it is on the precondition that the engine ECU 30 outputs the diagnosis result to the transponder 10 in response to the output request from the transponder 10 as described in (2), it may be modified as follows.
[0134] The transponder 10 repeatedly sends the output request to the engine ECU 30 until the diagnosis result is outputted from the engine ECU 30 a plurality of times and the contents of the diagnosis results of the plurality of times coincide with each other. When the diagnosis results coincide with each other, the coincided diagnosis result is transmitted to the management station C. It is effective to improve the accuracy of the diagnosis result outputted from the engine ECU 30 to the transponder 10 .
[0135] As a measure on the engine ECU 30 side when there is an abnormality in the transponder 10 , the following is also effective. Although the diagnosis results are outputted more than a predetermined number of times in response to the requests from the transponder 10 when the diagnosis result output request is received, the request after that is not responded.
[0136] (Second Embodiment)
[0137] In this embodiment, as shown in FIG. 19 , the transponder 10 (communication unit) 10 receives a request from the receiver B, acquires necessary information from the engine ECU (engine diagnosing unit) 30 via the communication line 5 , and transmits the acquired information to the receiver B ( FIG. 1 ).
[0138] The engine ECU 30 controls the engine, self-diagnoses an abnormality relating to the emission of the engine, and transmits the diagnosis information to the transponder 10 in response to the request of the transponder 10 . The engine ECU 30 is so constructed as to obtain present position information from the navigation ECU (position detecting unit) 50 via the communication line 5 . That is, the navigation ECU 50 executes the navigation control and also outputs the information of the present position of the vehicle in response to the request from the engine ECU 30 .
[0139] In the present embodiment, the transponder 10 and the navigation ECU 50 are constructed in the same manner as in the first embodiment ( FIGS. 3 and 5 ).
[0140] In the engine ECU 30 , however, as shown in FIG. 20 , the main power circuit 33 is connected to the battery 3 via a main relay 40 . The main relay 40 is turned on by a main relay control circuit 35 when the ignition switch 4 is turned on. When the power from the battery 3 is supplied to the microcomputer 31 or the like via the main power circuit 33 , therefore, the engine ECU 30 operates.
[0141] On the other hand, even if the ignition switch 4 is turned off when the main relay 40 is ON, the main relay 40 is not immediately turned off. That is, the main relay control circuit 35 can maintain turn-on of the main relay 40 not only when the ignition switch 4 is ON but also when there is an instruction from the microcomputer 31 . That is, if one of predetermined conditions is satisfied, the main relay 40 can be made ON. In the embodiment, after the ignition switch 4 is turned off, the microcomputer 31 keeps on sending the instruction to allow the main relay to be ON for a predetermined time and, after that, sends an instruction to turn off the main relay 40 to the main relay control circuit 35 , thereby turning off the main relay 40 and stopping the power supply from the battery 3 via the main relay 40 in practice.
[0142] Since the engine ECU 30 is provided with the sub power circuit 34 which is directly connected to the battery 3 not through the ignition switch 4 , even after the power supply via the main power circuit 33 is stopped, the power is supplied to the microcomputer 31 , particularly to the memory (RAM) via the sub power circui