(19)
(11) EP 0 244 991 A2

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
11.11.1987 Bulletin 1987/46

(21) Application number: 87303608.1

(22) Date of filing: 24.04.1987
(51) International Patent Classification (IPC)4G09G 1/00
(84) Designated Contracting States:
BE DE FR GB NL SE

(30) Priority: 03.05.1986 GB 8610888

(71) Applicant: AMT(HOLDINGS) LIMITED
Reading Berkshire RG6 1AZ (GB)

(72) Inventor:
  • Humpleman, Richard James
    Talke Stoke-on-Trent (GB)

(74) Representative: Rackham, Stephen Neil et al
GILL JENNINGS & EVERY, Broadgate House, 7 Eldon Street
London EC2M 7LH
London EC2M 7LH (GB)


(56) References cited: : 
   
       


    (54) Variable delay circuit


    (57) A data processing system is described comprising a display terminal (10) and a processing unit (11). The display terminal includes a video timing generator (14) producing synchronisation signals (VSYNC, HSYNC). This triggers requests (QUAL) for the processing unit to supply video data. The display terminal includes a variable delay circuit (24) which measures the time delay between the outgoing request and the incoming data, and causes the synchronisation signals to be delayed by a corresponding amount. This ensures that the synchronisation signals are maintained in the correct timing relationship with the video data, irrespective of any unknown delays between the display terminal and the processing unit.




    Description


    [0001] This invention relates to variable delay circuits.

    [0002] The invention is particularly, although no exclusively, concerned with a delay circuit for use in a data processing system comprising a processing unit and a display terminal remote from the processing unit. In such a system, the display terminal normally produces synchronisation signals for controlling the scanning of the display. It has been proposed to use these synchronisation signals to generate request signals, which are sent to the processing unit requesting it to supply video data to the terminal. However, a problem arises in that, when the data arrives at the display terminal, it will not be in the correct timing relationship with the synchronisation signals: it will be delayed relative to the synchronisation signals by an amount which depends on the transmission delay between the display terminal and the processing unit. This delay will be unknown, and will vary if the connections between the display terminal and processing unit are altered.

    [0003] One object of the present invention is to provide a variable delay circuit which can used to overcome this problem.

    Summary of the invention



    [0004] According to the invention there is provided a variable delay circuit comprising a variable delay line, characterised by means (30,31) for measuring the time delay between two control signals (QUAL3, ENTER5+), and means for automatically setting the delay of the delay line (31,32) to a value corresponding to the measured delay.

    [0005] The two control signals may be, for example, a request signal from a display terminal, requesting a processing unit to supply video data, and a data qualifier signal which is returned to the display terminal along with the requested data, and the delay circuit may be used to delay a synchronisation signal in the display terminal. In this case, it can be seen that the delay circuit can be arranged to automatically adapt itself to compensate for delays between the display terminal and the processing unit, so as to ensure that the synchronisation signal is correctly aligned with the data.

    Brief description of the drawings



    [0006] One variable delay circuit in accordance with the invention will now be described by way of example with reference to the accompanying drawings.

    Figure 1 shows a data processing system including a display terminal and a processing unit, wherein the display terminal includes a variable delay circuit.

    Figure 2 shows the variable delay circuit in more detail.


    Description of an embodiment of the invention



    [0007] Figure 1 shows a data processing system comprising a display terminal 10 and a data processing unit 11 interconnected by an interface 12. The distance between the terminal 10 and processing unit 11 may be typically of the order of 10 metres.

    [0008] The display terminal 10 includes a video monitor 13 having a conventional raster-scanned display. The display terminal has a video timing generator 14 for producing the conventional synchronisation signals for the monitor, including a horizontal synchronisation signal HSYNC, a vertical synchronisation signal VSYNC, and a blanking signal BLANK. Normally, the synchronisation signals would be applied directly to the monitor, but in the present system they are delayed, as will be described below. Both the monitor 13 and the video timing generator 14 may be conventional units and will not be described in any further detail.

    [0009] The video monitor 13 and the video timing generator 14 are both controlled by a clock signal CLK from a clock generation circuit 15. This clock has a frequency equal to the pixel (picture element) rate of the monitor. The clock CLK is divided in frequency in a circuit 16 by a factor R, equal to the number of pixels represented by each data word supplied by the data processing unit 11, to produce a request clock signal RCLK. For example, if each data word contains 32 bits, and each pixel is represented by four bits, then R=8.

    [0010] The display terminal also includes a request generation circuit 17, which receives the request clock RCLK, the vertical synchronisation signal YSYNC, and the blanking signal BLANK. Wherever the signal VSYNC occurs, indicating the start of a frame, the circuit 17 produces a series of request signals QUAL, one for each request clock RCLK for which BLANK is false. Each of these request signals QUAL requests the processing unit 11 to supply a word of video data. The number of QUAL signals produced after each VSYNC is a present number, equal to the number of video data words required to make up a frame.

    [0011] The request signal QUAL is transmitted over the interface 12, along with the request clock RCLK, to the processing unit 11. Whenever the processing unit receives a request signal QUAL, it outputs a word of video data, in synchronisation with the received request clock RCLK, and transmits it back to the display terminal 10, along with a data qualifier QUALD which indicates the presence of a data word. The data processing unit 11 also returns the clock signal RCLK to the display terminal along with the data, as a data clock signal DCLK, to which the data is synchronised.

    [0012] This technique of re-transmitting the request clock signal back to the requesting unit along with the requested data is the subject of our European Patent Application No. 175564.

    [0013] When the data is received by the display Terminal 10, it is clocked through two registers 18,19 by the data clock DCLK. The output of the register 19 is fed to a parallel-to-serial converter 20, which converts each 32-bit data word into a series of groups of 32/R bits, at the pixel clock rate, each group representing one pixel of the display. The output of the converter 20 is then fed to the video monitor 13 where it is converted to analog form to provide the video input signal for the monitor.

    [0014] It can be seen that the data input to the monitor 13 is delayed, relative to the original VSYNC signal that produced the request for the data, by five beats of the clock signal RCLK, plus the unknown delay in travelling around the loop from the display terminal to the processing unit and back again. (These five clock beat delays occur respectively in the request generator 17, the processing unit 11, the register 18, the register 19, and the parallel-to-serial converter 20). Thus, the synchronization signals HSYNC and VSYNC will not be in the correct timing relationship with the data, and must be delayed by the same amount (5 clock beats plus the loop delay) before being applied to the monitor. The way in which this is done will now be described.

    [0015] The synchronisation signals HSYNC and VSYNC are clocked through a pipeline comprising two registers 21,22 by the request clock signal RCLK. These signals pass through the pipeline twice as shown, to that they emerge four beats later as signals HSYNC4 and VSYNC4. At the same time, the request signal QUAL is clocked once through the pipeline registers 21,22, to emerge two beats later as signal QUAL 3. (The "3" indicates that this signal occurs three clock beats after the original VSYNC signal, including one clock beat delay in the request generator 17).

    [0016] The first data qualifier QUALD returning from the processing unit to the display terminal is clocked into a register 23 by the data clock DCLK and is latched there by a feedback connection. this produces a signal ENTER 3+ which remains true until the register 23 is reset by a RESET signal. The "3+" indicates that this signal is delayed relative to the original VSYNC signal by three clock beats (in the request generator 17, the processing unit 11, and the register 23) plus the unknown loop delay in travelling from the display terminal 10 to the processing unit 11 and back again.

    [0017] The signal ENTER 3+ is clocked through the pipeline registers 21,22 to emerge two clock beats later as a signal ENTER 5+. This resynchronises this signal to the clock RCLK, eliminating any fraction of a clock beat delay between QUAL 3 and ENTER 5+.

    [0018] The signals QUAL 3 and ENTER 5+ are applied to a delay circuit 24, which measures the time delay between these signals in terms of number of beats of the clock RCLK. The delay circuit 24 also receives signals HSYNC4 and VSYNC4 and delays them by an amount one clock beat less than the measured delay between QUAL 3 and ENTER 5+, to produce output synchronisation signals HSYNCOUT and VSYNCOUT for the monitor 13. It can be seen that HSYNCOUT and VSYNCOUT are therefore delayed, relative to the original VSYNC signal, by five beats of RCLK, plus the loop delay in travelling between the display terminal and the processing unit and back again (ignoring any fraction of a clock beat). In other words, these signals HSYNCOUT and VSYNCOUT are delayed by the same number of whole clock beats as the data applied to the video monitor 13.

    [0019] The delay circuit 24 will now be described in more detail with reference to Figure 2.

    [0020] Referring to Figure 2, the delay circuit 24 comprises a three-bit binary counter 30 which produces an output signal SQ. When the counter is enabled by a signal ENCOUNT, it counts up from state 0 (SQ=0) to state 7 (SQ=7) at successive beats of the clock RCLK. After state 7, the counter recycles back to state 0.

    [0021] The signal SQ controls a multiplexer 31 so as to select one of seven inputs 1-7 according to the value of SQ. Thus, if SQ=1, input 1 is selected, and so on. If SQ=0, no input is selected.

    [0022] The delay circuit 24 also includes a shift register 32 which receives the signal VSYNC4 at its serial data input and is controlled by the clock signal RCLK. Thus, the signal VSYNC4 is shifted through successive stages of the shift register at successive beats of RCLK. The outputs of the stages of the register 32 are connected to respective inputs of the multiplexer 31. The output of the multiplexer 31 provides the signal VSYNCOUT.

    [0023] Thus, it can be seen that the shift register 32 and the multiplexer 31 together act as a variable delay line which delays the signal VSYNC4 by a number of beats of the clock RCLK, specified by the signal SQ. For example, if SQ=2 then VSYNCOUT is delayed by two clock beats relative to VSYNC4.

    [0024] The counter 30 is controlled by a control circuit 33, which receives the signals SQ, QUAL 3 and ENTER 5+, and produced the signal ENCOUNT which enables the counter, and also a signal RESET which resets the counter to state (SQ=7). This control circuit can conveniently be implemented by means of a programmable logic array, and performs the following logic functions:
    ENCOUNT is true if either
    (1) QUAL 3 is true AND ENTER 5+ is false AND SQ=7
    OR (2) ENTER 5+ is false AND SQ=0, 1, 2....6.
    Otherwise ENCOUNT is false.

    [0025] RESET is true if ENTER 5+ is true and SQ=0.
    Otherwise RESET is false.

    [0026] The delay circuit 24 therefore operates as follows.

    [0027] It is assumed initially that the counter 30 is in state 7 (SQ=7) and that QUAL 3 and ENTER 5+ are both false. The counter is therefore disabled and remains in state 7.

    [0028] When the signal QUAL 3 arrives, ENCOUNT is made true, and the counter 30 is therefore enabled, so that it steps forward to state 0 at the next clock beat.

    [0029] If ENTER 5+ still remains false, then ENCOUNT will stay true, and hence the counter continues to step forward one state at each clock beat, until ENTER 5+ goes true. The counter 30 is then disabled, and hence is frozen in its current state.

    [0030] Thus, it can be seen that QUAL 3 triggers the counter 30 to start counting, and the counter will then count up one at each successive clock beat until ENTER 5+ arrives, whereupon it is frozen. The count value will then indicate the time delay, measured in beats of the clock RCLK, between QUAL 3 and ENTER 5+. For example, if ENTER 5+ occurs 5 clock beats after QUAL 3, then the counter will be frozen in state 4 (SQ=4). (It should be noted that the state number is one less than the measured number of clock beats delay).

    [0031] Thus, it can be seen that VSYNCOUT is delayed relative to VSYNC4 by one clock beat less than the measured delay between QUAL 3 and ENTER 5+.

    [0032] However, if ENTER 5+ occurs only one beat after QUAL 3, i.e. while SQ=0, then RESET signal is produced, and the counter is forced into state 7. This indicates an error condition since ENTER 5+ should not occur at this time: even if the loop delay between the display terminal and the processing unit is less than a single clock beat, ENTER 5+ should still occur two clock beats after QUAL 3 in the system as shown in Figure 1.

    [0033] The delay circuit 24 also includes similar circuits (not shown) for delaying the signal HSYNC4 by the same amount to produce HSYNCOUT.


    Claims

    1. A variable delay circuit comprising a variable delay line, characterised by means (30,31) for measuring the time delay between two control signals (QUAL3, ENTER5+), and means for automatically setting the delay of the delay line (31,32) to a value corresponding to the measured delay.
     
    2. A circuit according to Claim 1 wherein the means for measuring the time delay comprises a counter (30) which is triggered when the first of the two control signals (QUAL3) arrives, and which then counts beats of a clock signal (RCLK) until the second of the two control signals (ENTER5+) arrives.
     
    3. A circuit according to Claim 1 or 2 including error detection means for indicating an error condition if the measured delay between the two control signals is smaller than a predetermined value.
     
    4. A data processing system comprising

    (a) a first unit (10) including means for generating a synchronisation signal (VSYNC, HSYNC) and a request signal (QUAL) in a predetermined timing relationship to the synchronisation signal, and

    (b) a second unit (11) remote from the first unit, the second unit being operative upon receipt of said request signal from the first unit to return data to the first unit along with a data qualifier (QUALD) indicating presence of the data,

    (c) characterised in that the first unit includes a variable delay circuit (24) having means for measuring the time delay between said request signal and said data qualifier and means for delaying said synchronisation signal by an amount dependent upon the measured time delay.


     
    5. A system according to Claim 4 wherein the first unit is a display terminal and the second unit is a data processing unit.
     
    6. A system according to Claim 5 wherein the synchronisation signal is a video synchronisation signal, and the data is video data.
     
    7. A system according to any one of Claims 4 to 6 wherein the means for measuring the time delay comprises a counter (30) which is triggered by the request signal, and which then counts beats of a clock signal until the data qualifier arrives.
     
    8. A system according to any one of Claims 4 to 7 wherein the means for measuring the time delay includes error detection means for indicating an error condition if the measured time delay is less than a predetermined value.
     




    Drawing