DETECTING IMPROPER OPERATION OF A DIGITAL DATA PROCESSING APPARATUS

Abstract: Improper operation of a digital data processing apparatus is detected by applying a predetermined pattern of test digits to a data input of the apparatus and determining whether the pattern of digits provided at the data output of the apparatus in response to the application of the predetermined pattern of test digits to the data input is the same as the pattern that would be provided at the data output if the apparatus were op­ erating properly.

Description: DETECTING IMPROPER OPERATION OF A DIGITAL DATA PROCESSING APPARATUS This invention relates to the detection of improper operation of a digital data processing apparatus. It is desirable that a fault condition occurring in a digital data processing apparatus be detected promptly. Furthermore, it is desirable that the detection of a fault condition should be accomplished during operation of the apparatus, without its being necessary to stop operation in order to detect a fault condition. The present invention may be used to detect a fault condition in a digital video signal processing apparatus including a large memory, such as a frame or multi-frame store, located between the point of analog-to-digital conversion and the point of digitalto-analog conversion. In a preferred embodiment of the invention, a fault condition which is identified as a memory bit error is at least partially concealed by shifting the data digits entering and leaving the memory such that the faulty memory device is in the path of the least significant data digit. According to one aspect of the present invention there is provided a method of detecting improper operation of a digital data processing appparatus, comprising applying a predetermined pattern of test digits to a data input of the apparatus and determining whether the pattern of digits provided at a data output of the apparatus in response to application of said predetermined pattern of test digits to said data input is the same as the pattern that would be provided at said data output if the apparatus were operating properly. According to another aspect of the present invention there is provided in combination, a digital data processing apparatus having a data input and a data output, and an apparatus for detecting improper operation of the data processing apparatus and comprising a first circuit for applying a predetermined pattern of data digits to said data input and a second circuit for determining whether the pattern of data digits provided at the output of the apparatus in response to application of the predetermined pattern of data digits to said data input is the same as the pattern that would be provided at said data output if the apparatus were operating properly. For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawing, the single figure of which is a block diagram of a television frame synchronizer. The illustrated frame synchronizer receives a composite video input signal, including sync pulses and video information. The video information may include a color subcarrier. The frame synchronizer encodes the input signal into digital form and temporarily stores the digital data in a memory array. The digital data is read out of the memory array and decoded into analog form, under control of a reference signal including sync pulses and a subcarrier wave, thereby to generate from the input signal a corresponding composite video output signal in which the sync pulses and the color subcarrier (if present in the video information of the input signal) are in predetermined phase relationship to the sync pulses and subcarrier wave of the reference signal. The composite video input signal is applied to a video signal input terminal 48 which is connected to a write lock and timing circuit 10 and to an analog-todigital converter 12, preferably a ten-bit analog-todigital converter. The lock and timing circuit 10 generates a continuous waveform at the color subcarrier frequency and synchronized with the color burst signal of the composite video input signal. This continuous waveform is used to generate clock pulses at a repetition rate equal to a multiple of, for example 4 times, the subcarrier frequency, and these clock pulses establish the sampling times of the converter 12. Thus, at each clock pulse the A/D converter 12 generates a 10 bit data word representing in binary code the voltage level of the signal present at the video signal input terminal on occurrence of the clock pulse. The clock pulses from the lock and timing circuit 10 are additionally supplied to a write address sequencer 16. In response to the clock pulses, the write address sequencer 16 generates a predetermined sequence of address words which are supplied both to an address multiplexer 18 and to a controller 20. While an address word is being applied by the write address sequencer 16 to the address multiplexer 18 and to the controller 20, a memory access request signal is applied to an arbitrator 22. The reference input signal is applied to a reference input terminal 24 which is connected to a read lock and timing circuit 26. The read lock and timing circuit 26 operates in similar fashion to the write lock and timing circuit 10, in that it generates a continuous wave at the reference subcarrier frequency and produces therefrom a train of clock pulses at the same multiple of the reference subcarrier frequency as that relating the frequency of the clock pulses generated by the circuit 10 to the input video signal subcarrier frequency. The clock pulses are applied to a ten-bit digital-to-analog converter 28 to establish conversion times for the converter. The clock pulses are also applied to a read address sequencer 30 to generate the same predetermined sequence of address words as is generated by the sequencer 16 and apply the sequence of address words to the address multiplexer 18 and to the controller 20. While an address word is being applied by the read address sequencer 30 to the address multiplexer 18 and to the controller 20, a memory access request signal is applied to the arbitrator 22. The output bus of the A/D converter 12 is connected through a pattern generator 14 to the internal data bus of a memory array 32. The internal data bus of the memory array 32 is also connected through a pattern detector 33 and a pattern detector and blanking circuit 34 to the input bus of the D/A converter 28. The address bus of the memory array is connected to the address multiplexer 18. As will be apparent from the foregoing, the data words received from the A/D converter 12 in synchronism with the clock pulses generated by the timing circuit 10 are written into the memory array 32 utilizing the memory locations defined by the address words provided to the memory array by the sequencer 16, and the data words are read out of the memory array 32, from the locations defined by the address words provided by the sequencer 30, in synchronism with the clock pulses generated by the timing circuit 26. The output data words are applied to the D/A converter 28, which operates under control of the clock pulses generated by the timing circuit 26 to reconstruct the digital data into the composite video output signal, which is provided at a video signal output terminal 50 and in which the sync pulses and the subcarrier are in phase with the sync pulses and subcarrier of the reference signal. There is no definite phase relation between the clock pulses generated by the timing circuit 26 and those generated by the timing circuit 10. Therefore, in order to avoid contentions between the read and write demands imposed upon the memory array, the memory array includes not only random access memories (the storage elements proper) but also input data registers, for temporarily storing input data words until access can be had to the RAMs, and output data registers, for temporarily storing output data words from the RAMs until access can be had to the memory's internal data bus. In addition, the address word provided by the sequencer 16 or 30 is maintained at the output of the respective sequencer until that sequencer is called upon, by the lock and timing circuit 10 or 26, to provide the next address word. This interval is long enough to insure that if, for example, a write access is being performed when the read address sequencer 30 receives a clock signal and generates the next address word in its sequence, and thus calls for a read access, there is sufficient time to compl#te the write access before the said next address word is removed from the output of the sequencer 30. The arbitrator 22 utilizes the memory access request signals to control the accessing of the memory so as to resolve conflicts between the demands placed on the RAMs. It will be noted that the write address sequencer 30 is also connected to the controller 20. The purpose of this connection is to provide to the controller the address of the memory location at which the data word representing a selected point of each frame of the input video signal, e.g., the leading edge of sync on line 1, is stored. The read address sequencer identifies the corresponding point of the reference video signal, and the controller provides the address of the relevant data word to the read address sequencer. The read address sequencer uses the address of this selected reference point as the starting point for reading data words from the memory 32, and it is in this manner that the desired synchronization is accomplished. In addition to the components whose functions have already described, the frame synchronizer comprises the pattern generator 14 interposed between the A/D converter 12 and the memory array 32, and the pattern detector 33 and the pattern detector and blanking circuit 34 interposed between the memory array 32 and the D/A converter 28. The timing circuit 10, as well as generating the clock pulses for controlling operation of the A/D converter 12 and the write address sequencer 16, also detects the vertical blanking interval of the input video signal and causes the pattern generator 14 to insert an alternating pattern of test data words 1000000000 and 0111111111 into the stream of video data words passing from the A/D converter to the memory array during an unused line, for example line 9, of the vertical blanking interval of the input signal. The test data words are field correlated, i.e., after each odd-numbered field the word 1000000000, e.g., is inserted and after each evennumbered field the word 0111111111 is inserted. The pattern detector 33 is controlled by the timing circuit 26 to examine the data words read out from the memory during line 9 of the vertical blanking interval of the reference signal. The pattern detector compares the complement of the most significant bit of each test data word received during line 9 of the vertical blanking interval with the remaining data bits of the word. A non-match indicates a fault condition which results in a signal being generated to cause latches 36 and 38 to store the address word identifying the location in the memory array from which the word was read and the word itself. The address word and the test data word are applied to the controller 20. The pattern detector and blanking circuit 34 is also controlled by the timing circuit 26 to examine, in similar manner to the pattern detector 33, the data words read out during line 9 of the vertical blanking interval of the reference signal. In the event that a fault is detected, the circuit 34 provides a signal to the controller 20. The circuit 34 also reinserts the blanking level into the stream of words which is passed on to the D/A converter 28. The total number of memory locations in the memory array is greater than the total number of memory locations required to store an entire frame and is not equal to an integral multiple thereof. The data words applied to the memory array are written into the memory sequentially, using all the memory locations. Accordingly, the selected alternating pattern of words inserted by the pattern generator causes all data lines and all memory locations to be exercised to both allowable states during quite a short period of time. The controller 20 examines the address and data words received from the latches 36 and 38. If an error is observed in the same bit of numerous data words, an interface fault is indicated. In a practical construction of the frame synchronizer, the memory array 32 and the arbitrator 22 are constructed on a first circuit board, and the pattern detector 33 and the latches 36 and 38 are constructed on a second circuit board with the blocks 16, 18, 20 and 30. The pattern detector 34 and the D/A converter 28 are constructed on yet a third board. If an interface fault is detected by the circuit 33 and a corresponding fault is detected by the circuit 34, an interface fault between the first and second circuit boards or between the memory 32 and the pattern generator 14 is indicated. If an interface fault is detected by the circuit 34 without a corresponding fault being detected by the circuit 33, an interface fault between the second and third boards is indicated. A repeated nonmatch at the same bit position of a given memory location, with a corresponding error being detected by the circuit 34, indicates a memory fault. Pattern sensitivity errors in memory may also be detected by virtue of the nearly random nature of the video data in memory and of the fact that the test pattern overwrites that data. When the controller has received sufficient information to enable it to diagnose the particular fault giving rise to errors, it causes a visible error message to be displayed by means of LEDs 40. The controller is also provided with switches 42 which enable more specific information regarding the fault condition to be displayed by the LEDs 40. Unlike many data processing applications, in a digital video signal processing apparatus a fault condition does not always require that the apparatus be taken out of service. Thus, a fault in one bit position of a given memory location, so that the bit read out from the position is always a one or is always a zero, does not normally degrade the composite video output signal to such an extent that the frame synchronizer could not be used. Clearly, however, it is desirable that the effect of the fault condition should be concealed as far as possible. Accordingly, it is preferred that a bit shifter circuit 44, as shown in broken lines in the drawing, should be interposed between the pattern generator 14 and the memory array 32, so that a less significant bit of an input data word is directed to a faulty bit position, and a second bit shifter circuit 46 should be interposed between the memory array 32 and the pattern detector 34 for restoring the bits of output words to their previous positions.The directing of the less significant bit to the faulty bit position may be controlled automatically in response to the error detection. It will be appreciated that the invention is not restricted to the particular digital data processing apparatus that has been described, since variations may be made therein without departing from the scope of the invention as defined in the appended claims, and equivalents thereof. For example, the invention is not restricted to use with a frame synchronizer, in which the output data from the circuit under- test (the memory array) is identical to the input data, but can also be applied to other apparatus in which the output data bears a predetermined relationship to the input data. It is not essential that a plurality of test data words be written consecutively into the circuit under test and read out consecutively from the circuit under test. In certain applications, it may be desirable to write a single test word into the circuit under test, followed by a block of data words, then a second test word followed by a second block of data words, and so on.

Claims: I claim: 1. A method of detecting improper operation of a digital data processing apparatus, comprising applying a predetermined pattern of test digits to a data input of the apparatus and determining whether the pattern of digits provided at a data output of the apparatus in response to application of said predetermined pattern of test digits to said data input is the same as the pattern that would be provided at said data output if the apparatus were operating properly. 2. A method according to claim 1, wherein said digital data processing apparatus has n parallel data paths, and said predetermined pattern of test digits comprises n digits which are applied in parallel to said n parallel data paths respectively. 3. A method according to claim 1, wherein said digital data processing apparatus has n parallel data paths and each data digit has m possible states, and said predetermined pattern of test digits comprises m subpatterns which are applied serially to the data input of the apparatus and which each have n digits which are applied in parallel to said n parallel data paths respectively, the m digits, of the m subpatterns respectively, which are applied to each of the n parallel paths being of the m possible states respectively. 4. A method according to claim 3, wherein m is two, and one digit of one subpattern has one of the two possible states and each other digit of said one subpattern has the other of the two possible states. 5. A method according to claim 3, wherein the most significant digit of said one sub-pattern has one of the two possible states and each other digit of said one sub-pattern has the other of the two possible states, and the pattern of data digits provided at the output of the apparatus in response to application of said predetermined pattern to said input is compared with a pattern that would be provided at said output if the apparatus were working properly by comparing the complement of the most significant digit of each sub-pattern with the other digits of the sub-pattern. 6. A method according to claim 1, wherein said pattern of data digits is applied to the input of the apparatus by inserting it into a stream of data digits in place of at least one data word of said stream, and said predetermined pattern of data digits is removed from the stream of data words at the output of the apparatus and is replaced in said stream by at least one other data word. 7. In combination, a digital data processing apparatus having a data input and a data output, and an apparatus for detecting improper operation of the data processing apparatus and comprising a first circuit for applying a predetermined pattern of data digits to said data input and a second circuit for determining whether the pattern of data digits provided at the output of the apparatus in response to application of the predetermined pattern of data digits to said data input is the same as the pattern that would be provided at said data output if the apparatus were operating properly. 8. A combination according t6 claim 7, wherein said digital data processing apparatus has n parallel data paths and said first circuit is operative to apply a pattern of test digits comprising n digits in parallel to said n parallel data paths respectively. 9. A combination according to claim 7, wherein said digital data processing apparatus has n parallel data paths and each data digit has m possible states, and said first circuit is operative to apply to said data input, as said predetermined patterns of data test digits, m successive sub-patterns each having n digits which are applied in parallel to said n parallel data paths respectively, the m digits, of the m sub-patterns respectively, which are applied to each of the n parallel paths being of the m possible states respectively. 10. A combination according to claim 9, wherein m is two and one digit of one sub-pattern has one of the two possible states and each other digit of said one sub-pattern has the other of the two possible states. 11. A combination according to claim 10, wherein said first circuit is operative to remove at least one data word from a stream of data words being applied to said data input and insert a predetermined pattern of test digits in place of the removed word, and said second circuit is operative to remove the digits provided at the data output of the apparatus in response to application of said predetermined pattern of test digits to said data input from the stream of data words provided at said data output and to insert at least one predetermined data word in place of the removed pattern of digits. 12. A combination according to claim 7, wherein said digital data processing apparatus comprises a memory array. 13. A digital data processing apparatus in accordance with claim 12, comprising a first digit shifting circuit interposed between said first circuit and said memory array and a second digit shifting circuit interposed between said memory array and said second circuit, said first digit shifting circuit being operative to shift the digits of a data word applied to said data input and the second digit shifting circuit being operative to shift in the opposite sense the digits of a data word provided at the data output of the memory array.

Inventors: JUDGE, JOHN L.
Applicants: TEKTRONIX, INC.
Application year: 1983
Main classification: G06F11
IPC codes: H04N5, G11C29, H04L9, G01D21, H04L1, H04N17, H04N7, G06F11