Digital engine analyzer with scanner interface

Abstract: A digital engine analyzer has an oscilloscope display and is controlled by microprocessors operating under menu-driven stored program control. The analyzer receives analog input signals from an engine being analyzed, engine identification and parameter data entered via a keyboard, function and mode data selected by keyboard, and data communicated from an engine on-board computer via a hand-held scanner device. The analyzer calculates and displays spark plug burn time information derived from a single analog input signal, a historical display of peak ignition voltage values for a selected cylinder over a number of engine cycles and real time cylinder time balance information. Peak capture circuitry permit the display of a full cylinder period of a waveform, even though it contains very high frequency portions, by selectively switching between normal and high resolution modes. The scanner interface permits the scanner control functions to be effected from the analyzer keyboard.

Description: This invention relates to a vehicle diagnostic system according to the preamble of claim 1. This invention aims at electronically diagnozing and analyzing the performance of internal combustion engines by using digital engine analyzers of the type which display digitized information on an oscilloscope screen. The present invention is an improvement of the digital analyzer disclosed in U.S. patent US-A-4,800,378. MTZ-Motortechnische Zeitschrift, vol. 48, No. 10, 1087, Stuttgart, pages 411-418, discloses a manually operated control unit to which a display and a key board are connected to enable the operator to select, to check and to display a variety of control functions. The control unit is connected through fiber optic means to a test stand computer including a second display unit for visualizing data evaluated by the computer. Most modern automobile engines have on-board computers which control and/or monitor a number of different engine parameters and which produce a serial data stream indicating the status of monitored parameters. This data stream may be accessed through the Assembly Line Data Link (ALDL) connector on the engine. Hand-held diagnostic instruments, known as scanners, are adapted to plug into the ALDL connector and access the serial data stream and interpret and display the information. But such scanners have very limited displays. U.S. patent US-A-4,602,127 discloses the concept of interfacing such a scanner with an engine analyzer so that all of the parameter data available to the scanner can be simultaneously displayed on the cathode-ray tube of the analyzer, but the patent does not disclose any means for accomplishing this result. Furthermore, the scanner must be utilized close to the engine, while the engine analyzer may be remotely located and, therefore, it may be difficult for the operator to read the engine analyzer display while at the same time operating the scanner controls. Certain features of this patent have been incorporated in the preamble of claim 1. It is a general object of the present invention to provide an improved digital engine analyzer which avoids the disadvantages of prior analyzers while affording additional structural and operating advantages. It is an important object of the invention to provide an analyzer of the type set forth which interfaces with a scanner adapted for connection with a vehicle on-board computer, and which permits the scanner control functions to be effected from the analyzer. According to the present invention the objects above referred to are solved by the features of claim 1. Further aspects of the invention are characterized in the subclaims. According to the invention all of the scanner functions can be controlled from the engine analyzer. This considerably enhances the operation of the engine analyzer as certain data from the on-board computer of the vehicle may be transmitted via the scanner 56 to the remote vehicle analyzerl0 under the control of the keys at the analyzer to immediately display any data from the on-board computer as required for being compared for example, with the data picked up from the vehicle engine and displayed at the analyzer display. An embodiment of the present invention will be now described in detail with reference to the drawings. Fig. 1 is a front elevational view of an engine analyzer constructed in accordance with and embodying the features of the present invention; Fig. 1A is an enlarged view ofthe main keyboard ofthe analyzer of Fig. 1; Fig. 2 is a view, partially in elevation and partially in perspective, of the engine analyzer of Fig. 1, showing the lead connections for testing an ignition system with a remote coil; Fig. 3 is a view similar to Fig. 2, illustrating the lead connections for testing an integral-coil type ignition system; Fig. 4 is a functional block diagram of the circuitry of the engine analyzer of Fig. 1; Fig. 5 is a partially schematic and partially block diagram of the power supply system for the engine analyzer of Fig. 1; Fig. 6 is a block diagram of the video display circuits of the circuitry of Fig. 4; Fig. 7 is a block diagram of the communication circuits of the circuitry of Fig. 4; FIGS. 8-10 illustrate various screen displays provided by the engine analyzer of FIG. 1; FIGS. 11A and 11B are a simplified, generalized flow diagram of the menus and other display screens provided by the programs of the engine analyzer of FIG. 1; FIG. 12 is a flow diagram of a scanner interface subroutine of the engine analyzer programs; and FIG. 13 is a flow diagram of the portion of the receive/transmit subroutine of the engine analyzer programs which is pertinent to the scanner interface subroutine of FIG. 12. DESCRIPTION OF THE PREFERRED EMBODIMENT Referring to FIGS. 1 and 1A there is illustrated a digital engine analyzer, generally designated by the numeral 10, constructed in accordance with and embodying the features of the present invention. The analyzer 10 is disposed in a cabinet 11 and includes a cathode ray tube monitor screen 12 in the form of a digital oscilloscope. Arrayed along the bottom edge of the screen 12 is a set 15 of six "soft" keys, F1 through F6, the functions of which are software-controlled and vary with the mode of operation of the analyzer 10, as will be explained in greater detail below. More specifically, the software for controlling the operation of the analyzer 10 causes an indication of each soft key's function to be displayed on the screen 12 immediately adjacent to the key. The analyzer 10 also has a main keyboard 20, which includes a numerical keypad 21 including 10 keys for digits 0 through 9, respectively; four directional keys 22 for the directions up, down, right and left, four function keys 23 for respectively actuating SET POINT, FREEZE, PRINT, and SELECT functions; an ENTER key 24; six menu keys 25; a RESET key 26; and a HELP key 26a. In the operation of the analyzer 10, as will be explained more fully below, the numerical key pad 21 is used for selecting cylinders, inputting engine information and specifying the rpm set point. The ENTER key 24 is used for entering information input with the numerical keypad 21. The directional keys 22 serve to move the cursor and expand or position waveforms. The FREEZE function freezes any "live" test screen, i.e., a screen which follows varying input information. The key operates on a toggle basis, i.e., pressing it once freezes the display and pressing it again unfreezes the display. The SET POINT function calls up an automatic freeze feature when the engine reaches a keyed-in rpm. The print feature prints the displayed screen on an associated optional printer. The SELECT function selects between the two horizontal and the two vertical cursors when measuring a waveform. The menu keys 25 include a PRIMARY MENU key which is used to display a menu of primary ignition tests; a SECONDARY MENU key, used to display a menu of secondary ignition tests, including Burn Time Bar Graph, KV Histograph and Secondary Waveform; a DIAGNOSTIC WAVEFORM MENU key, used for displaying a menu of diagnostic waveforms; a CYLINDER TEST MENU key, used for displaying a menu of cylinder tests, including Cylinder Time Balance Bar Graph; an OPTION MENU key, used to display a menu of options, including identification of the devices, if any, connected to ports A and B and a Scope Setup screen for user definition of the devices connected to port A and port B; and a MEMORY MENU key used to display a menu of screens in memory which can be cleared or recalled. A complete listing of the menu items accessible through each of the menu keys 25 is illustrated in FIGS. 11A and 11B. The RESET key 26 clears the current screen display and returns the system to a start-up Engine Information Screen. The HELP key 26a displays either a help menu or information about the current screen. Referring also to FIG. 5, the analyzer 10 includes an AC power cord 27 adapted to be plugged into an associated 120 or 240-volt, 50 or 60 Hz, AC supply. The analyzer 10 is provided with a suitable switch (not shown) for selecting between the 120 or 240 VAC sources. The analyzer 10 is also provided with suitable conductors for connection to an associated source of DC power, such as a battery 40, which may be the battery of the vehicle under test. The AC and DC sources are connected to an AC/DC switch 28 for selection between the two, the output of the switch 28 being coupled to a suitable power supply circuit 29 for generating a number of DC voltages of different polarities, respectively designated V+, V-, V++, V--, for use by the internal circuitry of the analyzer 10. Referring to FIGS. 2 and 3, the analyzer 10 is also provided with a lead set 30, including an inductive pickup lead 31, a secondary lead 32, a primary/fuel injection lead 33, an alternator/battery lead 34, a ground lead 35, and an auxiliary lead 36. The secondary lead is provided at its distal end with a suitable coupling for connection to a number of different adapters or pickups, including a capacitive pickup 37 (FIG. 2) and a high energy ignition (HEI) pickup 38 (FIG. 3). The inductive pickup lead 31 is provided at its distal end with a suitable inductive pickup clamp 39. The primary/fuel injection lead 33, the alternator/battery lead 34 and the ground lead 35 are all provided at their distal ends with suitable clips for attachment to associated engine parts. The auxiliary lead 36 is provided at its distal end with a suitable fitting for coupling to associated adapters, probes or pickups (not shown). FIG. 2 illustrates a configuration of the lead set 30 for connection to an ignition system with a remote coil. In this configuration, the inductive pickup 39 is clamped over the wire of the number 1 spark plug of the spark plugs 41 for providing the analyzer 10 with the engine rpm data and a reference point for identifying cylinders in the firing order. The secondary lead 32 is coupled to the capacitive pickup 37, which is clamped over the secondary wire which runs between the rotor of a distributor 42 and the secondary winding of a remote coil 43. The primary/fuel injection lead 33 is connected to the negative or tach terminal of the coil 43 to monitor primary ignition and ignition dwell and to enable cylinder shorting. The battery lead 34 is connected to the positive terminal of the automotive battery 40 or to the output terminal of the alternator 44. The ground lead 35 is connected to the negative terminal of the battery 40 or other good vehicle ground. FIG. 3 illustrates a configuration of the lead set 30 for connection to an integral coil type ignition 45, such as a General Motors HEI ignition. This arrangement is substantially the same as that in FIG. 2, with the exception that the secondary lead 32 is coupled to the HEI pickup 38, which is connected to the top of the integral coil ignition 45. The primary/fuel injection lead 33 could also be coupled to a suitable fuel injector adaptor (not shown) to provide a fuel injection waveform. It will be appreciated that other types of couplers or adapters could be connected to the secondary lead 32 for use with other types of engines or ignition systems. The auxiliary lead 36 is not used in the arrangements of FIGS. 2 and 3, but provides for additional input pickups or probes, when necessary. The engine analyzer 10 is designed to operate in a number of different modes for performing a number of different diagnostic tests on internal combustion engines. However, the present invention deals specifically with only the following modes and operational features: 1. Spark Plug Burn Time Bar Graph 2. KV Histograph (where "Histograph" designates a graphical display of a historical series of events) 3. Cylinder Time Balance 4. Waveform Digital Peak Capture 5. Scanner Interface Accordingly, only so much of the hardware and software of the engine analyzer 10 will be described in detail herein as is necessary for a complete understanding of the construction and operation thereof as regards the above-listed modes and operational features. Referring now also to FIG. 4, the signals acquired by the several leads are applied to analog circuits 50. More specifically, there is input to the analog circuits 50 a signal 1CYL from the inductive pickup lead 31, a signal PRIM from the primary/fuel injection lead 33, a signal VOLTLD from the alternator/battery lead 34 and one or more of three secondary signals, respectively labeled ALTSEC, MAINSEC and HIGHSEC, from the secondary lead 32, depending upon the type of engine being analyzed and the type of pickup coupled to the inductive lead. In this regard, the secondary lead 32 is preferably a multi-conductor cable which connects to a multi-conductor pickup device, three of the conductors serving to provide a three-bit digital ID signal indicating to the analog circuits 50 an identification of the specific pickup being used and, thereby, an indication of the type of ignition system being analyzed. While not illustrated in FIG. 4, it will be appreciated that the auxiliary lead 36, when used, can also be coupled to multiple probe or pickup devices, and it is a multi-conductor cable which will similarly provide signals identifying the particular probe or pickup device used. The analog circuits 50 are connected by a number of lines and buses to digital circuits 55. In particular, a PKSIG signal is applied to the digital circuits 55 via a conductor 51, a number of sync signals are applied thereto over line 52 and waveform signals are applied over line 53. Control and ID data is transferred between the analog circuits 50 and the digital circuits 55 via bidirectional bus 54, and control signals are sent from the digital circuits 55 to the analog circuits 50 via line 54a. The signals from the soft key set 15 and the main keyboard 20 are also applied to the digital circuits 55 via lines 59 and 59a, respectively. The engine analyzer 10 also includes communication circuits 60 having ports A and B to which peripheral devices 56 and 56a may be coupled by bidirectional lines 57 and 58, respectively. Each of the peripheral devices 56 and 56a may be a scanner. A scanner is a hand-held device adapted to be coupled to a computer on-board a vehicle under test for accessing and reading out the data being monitored or collected by the on-board computer. The communication circuits 60 are connected by line 61, and 61a and data buses 62 and 63 to video display circuits 65, the latter also being connected by a line 64 to the screen monitor 12 and by the line 61 and by buses 66 and 67 and lines 68 and 69 to the digital circuits 55. More specifically, the line 61 carries drive and sync signals from the video display circuits 65 to the digital circuits 55, to the monitor screen 12 and to the communication circuits 60. The line 61a carries a DOTCLK signal to the communication circuits 60. The bus 62 carries data from the video display circuits 65 to the communication circuits 60 and to the monitor screen 12. The line 64 carries video sync control signals to the monitor screen 12. The bus 63 carries data from the communication circuits 60 to the video display circuits 65. The buses 66 and 67, respectively, carry address information and waveform data, while the lines 68 and 69, respectively, carry character data and control signals from the digital circuits 55 to the video display circuits 65. Operating Modes and Features Before considering the electronic circuits of the engine analyzer 10 in greater detail, it will be helpful to briefly describe the user interface with the engine analyzer 10 as regards the above-listed operating modes and features. In this regard, the system software produces a number of screen displays on the monitor screen 12, which not only display test information, but also serve to guide the user through the operation of the analyzer 10. The major ones of these screen displays are outlined in FIGS. 11A and 11B. The Primary Menu, the Memory Menu and the Help menu are not pertinent to the present invention, but will be briefly described. The Primary Menu permits the user to access three test options, viz., a Primary Waveform screen which permits display of a primary waveform, a Dwell Bar graph screen which measures the closure time of the contact points in a breaker point ignition system or of an internal switch in an electronic ignition, and a Duty Cycle Bar Graph screen which permits display and measurement of fuel system duty cycle/dwell/voltage signals. The Memory Menu permits the screen display to be saved in memory and later recalled. The Help menu permits access to various help instructions for user assistance in operating various features of the system. As will be explained below, specific help instructions can also be accessed from individual test screen displays. The following screen displays are pertinent to the present invention: (a) Start-up (FIG. 8) (b) Option Menu (FIG. 9) (c) Scope Setup (FIG. 10) Start-up Upon powering up the engine analyzer 10, the user first sets the AC/DC switch 28 (FIG. 5) to the appropriate position, connects the analyzer 10 to the appropriate power source and actuates an ON/OFF switch (not shown). This will cause the start-up display of FIG. 8 to appear on the monitor screen 12. This screen permits the display of certain information regarding the engine under test, including the number of cylinders at 70, the number of cycles at 71 and the firing order of the cylinders at 72. The screen may also display a company logo or other identifying information at 73. An instructional message appears at 74, instructing the user to press one of the menu keys 25 (FIG. 1) or one of the soft keys F1-F6, labels for which respectively appear on the screen at 74a and 74b as "Modify Engine Data" and "Help". If the engine analyzer 10 has previously been used for testing a particular engine, the data for that engine will reappear at 70-72. If the user now wishes to test a different engine, he presses the "Modify Engine Data" soft key F1 which will call up the first of three screens (not shown) to permit the user to enter the appropriate data. More specifically, the first screen will instruct him to enter the number of cylinders. After that is entered, the second screen will automatically appear which will instruct him to enter the number of cycles, and finally a screen will appear instructing him to enter the firing order. All this information is entered utilizing the numerical keypad 21. Since there are only ten numbered keys, on the first of these engine information screens, the soft keys F1-F6 will respectively be labeled 11-16 to permit the entry of a number of cylinders greater than ten. The cursor will automatically appear at the appropriate place for entry of the appropriate data and, as each number is entered, the cursor will automatically move to the position for the next entry. The directional keys 22 may be utilized to move the cursor for the purpose of correcting mistakes. Once the desired information has been keyed in, it is entered by pressing the ENTER key 24. After the firing order information has been entered, the system will automatically return to the start-up display,of FIG. 8. The user can then move to the desired test operation by pressing the appropriate one of the menu keys 25. If the user is unsure as to how to proceed during any part of the operation, he can press the HELP key 26a to bring up a help display to obtain assistance. Option Menu Pressing the OPTION MENU key 25 calls up the screen display of FIG. 9. This display includes a title at 106 and an instructional message at 106a which directs the user to select among five options by the use of the soft keys F1-F4 and F6. The soft keys F2, F3 and F6 are, respectively, labeled at 107a-107c as "Scope Setup", "Self Diagnostics", and "Return to Start". The soft key F1 may have no label or may be labeled "Scanner Port A", and the soft key F4 may have no label or may be labeled "Scanner Port B", depending upon what is selected in the Scope Setup procedure, described below. Actuation of the "Scope Setup" soft key F2 calls up the screen display of Fig. 10, which is utilized for user selection of certain operating conditions. The screen display includes a title at 108 and permits selection among five types of operating conditions by use of the soft keys F1-F5, which are respectively labeled at 108a-108e as "Set Time and Date", "Beeper On/Off", "ERR Message On/Off", "Comm Port Setup" and "Indicators On/Off". The screen also includes instructional messages 109a-109e which, respectively, correspond to the soft key selections and explain for each selection how to effect the change of operating condition for that selection. The "Set Time and Date", the "Beeper On/Off", the "ERR Message On/Off" and the "Indicators On/Off" selections are not pertinent to the present invention. If the "Comm Port Setup" selection is made, the user can select the type of device, if any, which is connected to each of the ports A and B. The up and down directional keys 22 are used to move the cursor between the port A and port B messages, and the SELECT key 23 is used to scan among the several possible device options. Each time the SELECT key is pressed, the system will scan to the next option which will then appear next to the corresponding port designation. The options include any one of three different scanners or no device at all, in which case "OFF" will appear on the screen for that port. Where a scanner is selected, the label for the corresponding soft key (e.g., F1) on the option menu screen (FIG. 9) will be "Scanner Port A". If no device is selected, the corresponding soft key F1 or F4 on the option menu screen display of FIG. 9 will have no label. If a scanner is selected, actuation of the corresponding soft key (F1 or F4) on the option menu screen display of FIG. 9 will activate a suitable program sub-routine which is designed to interface with a corresponding device type and will call up a screen display (not shown) for that device type. More specifically, as will be explained in greater detail below, the selected screen display will have soft key labels corresponding to function keys on the device and the program will permit those device functions to be actuated by operation of the soft keys F1-F6 of the engine analyzer 10. Video Display Circuits The video display circuits 65, illustrated in FIG. 6, generate and control the screen displays on the monitor screen 12. The circuits include a microprocessor 210 and an electronically programmable logic device (EPLD) 211 which cooperate to control the operation of the video display circuits 65. A clock oscillator 212 provides a master clock signal DOTCLK which is applied to the EPLD 211 and to the communication circuits (FIG. 7) via the line 61a. The EPLD 211 is programmed by PROGRAM signals from the microprocessor 210 to generate screen address signals which are sent via a data bus 216 to a waveform display RAM 214. The program for operating the microprocessor 210 is stored in a program ROM 213. The RAM 214 is a dual port RAM, which is essentially divided into two portions, with the input data being written alternately into the two portions, so that one portion can be read from while the other is being written to. The RAM 214 is enabled by the MEMWRB signal and the switching between the portions is controlled by the MA and MB signals, all received on the line 69 from the memory address and control circuit. The waveform data from the fill-in-the-dots circuit 215 is read serially into the EPLD 211 for transfer to the monitor screen 12 and to the communication circuits 60 (FIG. 7) in the VIDEO signal on line 62. Character data can be received either from the digital circuits 55 in the DIGTXD signal on line 68, being then transferred to the microprocessor 210 in the RXDIN signal, or from the communication circuits 60 (FIG. 7) in the COMTXD signal on line 63, which is also input to the microprocessor 210. Character data may also be obtained from a screen ROM 217 which stores format information for the various screen displays, such as titles, headings, instructional text and the like, this information being read by the microprocessor 210. Information is read from the ROMS 213 and 217 under the control of address signals from the microprocessor 210 via a bus 220, the data being read out on the bus 221. The microprocessor 210 determines where the character information is to be displayed on the screen and the attributes with which it is to be displayed, such as whether it is to be in inverse video, flashing, single or double height or width, and the intensity and color of its display, as well as whether it is to override waveform data appearing at the same screen location. The character data is fed to a character RAM 218 and the attribute data is fed to an attribute RAM 219 over the data bus 221, to be written into those RAMS at addresses determined by address information on the bus 220. The character and attribute information is read from the RAMs 218 and 219 for display at screen addresses determined by address data generated by the EPLD 211 on a bus 222. The attribute data is sent directly to the EPLD 211 on a bus 223, while the character data is sent via a bus 224 to a character generator 225, which assembles the bit pattern for each character and transmits the information serially to the EPLD 211. The EPLD 211 determines whether or not the character data, at any screen location, is to override waveform data and outputs the character and attribute data to the monitor or to the communication circuits 60 (FIG. 7) in the VIDEO signal. The EPLD 211 also generates the video sync control signals which are applied to the monitor screen 12 via the line 64. The microprocessor 210 generates a VIDTXD signal which contains video data which is transmitted to the digital circuits 55 and to the communication circuits 60 (FIG. 7) on the line 61. Communication Circuits The communication circuits 60 are shown in FIG. 7 and operate to provide an interface between peripheral devices, such as a scanner or a printer, and the monitor 12, the digital circuits 55 and the video display circuits 65. The communication circuits 60 include a microprocessor 230, which is coupled to the ports A and B by a transmitter/ receiver 231, which is essentially a level translator. The program for the microprocessor 230 is stored in an EPROM 232 which is addressed by the microprocessor 230 via a bus 233, the program data being sent to the microprocessor 230 over a data bus 234. The VIDEO screen data from the video display circuits 65 (FIG. 6) are stored in a RAM 235, being written thereinto at addresses generated by an address counter 236, which receives control LD and TRIG signals from the microprocessor 230. The TRIG signal is also applied to control logic 237, which also receives the DOTCLK signal from the video display circuits 65 (FIG. 6) via the line 61a and generates BDOT signals for controlling the clock rate of the address counter 236 and the RAM 235. Data to be printed is read out from the RAM 235 to the microprocessor 230 over a line 238 under the control of address signals generated by the microprocessor 230 and applied to the RAM 235 through a latch 239. The microprocessor 230 also receives the VERTDR signal and the VIDTXD signal from the video display circuits 65 (FIG. 6) on line 61 and outputs a COMTXD signal on the line 63 to the video display circuits 65. Operation Assuming that the analyzer 10 (FIG. 1) has not previously been used, upon power up the start-up display of FIG. 8 will appear on the monitor screen 12. The first thing that the user must do is enter information regarding the engine to be tested, which he does by pressing the soft key F1 to call up the data entry screens as explained above. The user can then, by pressing the OPTION MENU key 25, call up the option menu screen display of FIG. 9, which permits him to access the Scope Setup screen display of FIG. 10, which permits him to program in information concerning what type of equipment, if any, is connected to each of the ports A and B (FIG. 4). The microprocessor in the digital circuits 55 monitors the key strokes used to enter all of this information, and stores the information in the non-volatile character RAM. The information is also transferred in the DIGTXD signal over line 68 to the EPLD 211 and thence to the microprocessor 210 in the video display circuits 65 (FIG. 6), and thence in the VIDTXD signal on line 61 to the microprocessor 230 in the communication circuits 60 (FIG. 7). Each of the microprocessors 210 and 230 has sufficient internal RAM to store this setup information. This information will be used by all of the microprocessors to tailor each of the display screens to the particular type of engine being tested, and to tailor the scanner interface mode of operation to the particular type of scanner connected. Because the character RAM is non-volatile, it will retain all of the setup information when the analyzer 10 is powered down. Thus, when it is again powered up, the microprocessor will reinitialize itself in accordance with the saved setup information, and will accordingly initialize the microprocessors 210 and 230. Character information to be displayed on the monitor screen 12 may come from any of a number of sources, viz.: (a) the lead set 30, which provides voltage level information, such as for the KV histograph, and timing information, such as for the cylinder time balance and spark plug burn time analyses; (b) from the main keyboard 20, such as engine information keyed in by the user; (c) from the screen ROM 217 (FIG. 6), which provides background formats for the various screen displays; and (d) from an associated scanner via the communication circuits 60 (FIG. 7). Referring to FIGS. 6 and 7, when the character data is being received from a scanner, it passes directly from the communication circuits 60 to the video display circuits 65 in the COMTXD signal on line 63, without passing through the digital circuits 55. In this event, the digital circuits 55 are used only for monitoring the soft key set 15 and the main keyboard 20. In the video display circuits 65 the waveform data is read out of the waveform display RAM 214 (FIG. 6), at a rate completely independent of the rate at which it is written therein, under the control of the screen address signals on the bus 216 from the EPLD 211. This waveform data is first applied to the fill-in-the-dots circuit 215 which provides a substantially continuous trace between waveform sample values, the waveform data then being passed back to the EPLD 211, which sends it to the monitor screen 12 in the VIDEO signal via line 62. The character data received from the digital circuits 55 in the DIGTXD signal on line 68 is applied to the EPLD 211, which sends it as RXDIN to the microprocessor 210. Similarly, the character information from the scanner is received by the microprocessor 210 and the EPLD 211 in the COMTXD signal on the line 63. The character data includes information as to the nature of each character and as to its attributes for display. The microprocessor 210 assembles this data, along with that from the screen ROM 217, and stores it in the character RAM 218 and the attribute RAM 219 via the data bus 221 at address determined by address signals generated by the microprocessor 210 and sent over the address bus 220. The EPLD 211 then reads the data from the RAMS 218 and 219 under the control of screen address signals generated by the EPLD 211. This character information is then passed to the monitor screen 12 and/or to the communication circuits 60 (for printing) in the VIDEO signal. Portions of the character data may also be sent by the microprocessor 210 to the communication circuits 60 (FIG. 7) in the VIDTXD signal, to be passed to an associated scanner for control thereof. Referring to FIG. 7, it will be appreciated that the VIDEO signal includes all of the information which is to be displayed on the screen, including both waveform and character information. Scanner Interface When a scanner is coupled to one of the ports A or B of the communication circuits 60, the information read by the scanner from the vehicle on-board computer is passed by the communication circuits 60 to the video display circuits 65, as explained above. In this mode of operation, the scanner controls what is being displayed on the monitor screen 12, and the digital circuits 55 are used only for the purpose of monitoring the soft key set 15 in the main keyboard 20. In this regard, when the particular scanner being used is selected from the scanner menu of FIG. 10, the keys on the main keyboard 20 and in the soft key set 15 will be programmed to perform the functions which are performed by corresponding keys on the scanner. For example, if the scanner contains numerical keys 0 through 9, then the numerical key pad 21 of the engine analyzer 10 will be programmed to performed whatever functions are performed by the corresponding keys on the scanner. This is true of any other keys on the main keyboard, such as the directional keys 22 and function keys 23. Similarly, the scanner may contain a control member such as a thumb wheel for controlling direction, which can be simulated by appropriate programming of the directional keys 22. If the scanner has a key or control member which does not readily correspond to anything on the main keyboard 20, then one or more of the soft keys F1-F6 will be programmed to perform the corresponding function and a scanner screen will be displayed showing those soft key functions. Whenever a key is pressed, an identifying signal will be sent from the microprocessor in the DIGTXD signal on line 68 to the EPLD 211 (FIG. 6), which in turn passes it to the microprocessor 210 in the RXDIN signal. If the key corresponds to a function of the scanner being used, the microprocessor 210 will signal the microprocessor 230 (FIG. 7) via the VIDTXD signal to send this information to the scanner, which will see it as a key depression and respond in the same manner as if the corresponding key on the scanner had been pressed. In this way, the user can operate the scanner from the engine analyzer 10. This may be a significant convenience if the engine analyzer 10 is located at some distance from the scanner, since the user will want to be stationed adjacent to the engine analyzer 10, because the monitor screen 12 is much larger than the display of the scanner and can display much more information at a time. Software Scanner Interface Referring to FIG. 12, there is illustrated a flow chart of the program routine 310 for operating the scanner interface mode. The flow chart shows the routine for a particular scanner A, for purposes of illustration, but it will be appreciated that similar subroutines are provided for each of the other scanners which may be selected from the scanner menu screen display 25. Initially, upon selection of a scanner, the program clears the screen and then proceeds through point 311 to write the soft key labels for this particular scanner, and then checks at decision 312 to see if one of the menu keys 25 has been pressed. If it has, the program exits to the selected mode and, if it has not, the program proceeds to decision 315 to see if any data is being transmitted from the scanner to the engine analyzer 10 or from the engine analyzer 10 to the scanner. If there is no data present, the program returns to point 311, and if there is data, the program proceeds to decision 314 to see if the data is an ESCAPE or other control sequence. If it is not, the program assumes that it is substantive data and writes it to the screen, and then returns to point 311. If the data is an escape or control sequence, it is data sent by the scanner for screen control. In this case, the program proceeds to decision 315, to check to see if this particular control sequence has any special significance for this scanner. If it does not, the program does a standard sequence interpretation and returns to point 311. If it is a sequence which has special meaning for the scanner, the program performs a special interpretation before returning to point 311. Referring to FIG. 13, there is illustrated a flow chart for a portion 320 of the receive/transmit routine which is pertinent to the scanner interface. In this routine the program checks at decision 321 to see if a key on the engine analyzer 10 has been pressed. If it has not, the program skips this portion of the subroutine and continues in a main loop (not shown) of the receive/transmit routine. If a key has been pressed, the program checks at decision 322 to see if this key has any significance for this particular scanner. If not, the program skips the balance of the routine and continues in the main loop of the receive/ transmit routine. If the key does have special significance for the scanner, the program decodes the key meaning for this particular scanner and then sends the decoded sequences to the communication circuits 60 for transmission to the scanner. From the foregoing, it can be seen that there has been provided an improved digital engine analyzer which permits ready comparison of the burn times of the several engine cylinders by means of a burn time bar graph, deriving the burn time information from a single analog input signal; provides a historical display of peak ignition voltage values for a selected cylinder over a number of engine cycles in a running graphical display; provides a relatively stable display of cylinder time balance information; permits substantially accurate presentation of portions of an analog waveform having very short rise and fall times while at the same time permitting an entire cylinder period of the waveform to be displayed on the screen, and permits an interface with a scanner which allows the scanner control functions to be effected from the engine analyzer keyboard.

Claims: A vehicle diagnostic system including display means (65) remote from the vehicle and having a display screen (12), sensing means (33,37,39,50,55,60) for monitoring one or more vehicle parameters and generating parameter data signals, and a hand-held scanner (56) adapted to be coupled to the sensing means and to the display means and having first control members selectively operable for causing the scanner to perform control functions for controlling the flow of parameter data signals from the sensing means to the display means, and second control members (15,20) adjacent to the display means, characterized by processing means (145,210,230) operating under stored program control and coupled to said second control members (15,20) and to the display means (65) and to the hand-held scanner (56) for controlling information displayed on the display means (65) in response to actuation of said second control members (15,20), said processing means including means (210) for causing operation of predetermined ones of said second control members (15,20) to duplicate the control functions performed by operation of predetermined ones of the first control members, whereby operation of the hand-held scanner (56) and the display means (65) can be effected from adjacent to the display means by operation of said second control members without operation of the first control members. The system of claim 1, wherein the vehicle includes an internal combustion engine (40-45), and the sensing means monitors engine parameters. The system of claim 2, and further comprising an engine analyzer console (10) including the display means. The system of claim 1, wherein said processing means includes means (210,230) selectively operable for causing operation of predetermined ones of said second control members (15,20) to duplicate the control functions performed by operation of predetermined ones of the first control members on a selected one of a plurality of different hand-held scanners (56,56a). The system of claim 1, wherein said second control members include keys of a keyboard (20). The system of claim 1, wherein said second control members include soft keys (15) disposed adjacent to the display screen and having the functions thereof identified by indicia displayed on the display screen respectively adjacent to the keys. The system of claim 1, wherein said processing means (210,230) includes means for controlling the information displayed on the display screen (12) in response to actuation of the first control members. The system of claim 1, wherein the display means is a cathode-ray tube monitor (12). The system of claim 8, wherein the display means is a digital oscilloscope (12).

Inventors: GOVEKAR CRAIG F, JONKER GARY D, MEEKER MICHAEL B, PIEHL JAMES R, PUTROW MICHAEL C, SNIEGOWSKI JOHN C, GOVEKAR, CRAIG F., JONKER, GARY D., MEEKER, MICHAEL B., PIEHL, JAMES R., PUTROW, MICHAEL C., SNIEGOWSKI, JOHN C.
Applicants: SNAP ON TOOLS CORP, SNAP-ON TOOLS CORPORATION
Application year: 1991
Main classification: F02P17
IPC codes: F02P17