US5121417A - Count-locked loop timing generator - Google Patents

Count-locked loop timing generator Download PDF

Info

Publication number
US5121417A
US5121417A US07/239,872 US23987288A US5121417A US 5121417 A US5121417 A US 5121417A US 23987288 A US23987288 A US 23987288A US 5121417 A US5121417 A US 5121417A
Authority
US
United States
Prior art keywords
counter
signal
count
input
pulses
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US07/239,872
Inventor
Stephen A. Swierczek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Eastman Kodak Co
Original Assignee
Eastman Kodak Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Eastman Kodak Co filed Critical Eastman Kodak Co
Priority to US07/239,872 priority Critical patent/US5121417A/en
Assigned to EASTMAN KODAK COMPANY, ROCHESTER, NEW YORK, A NEW JERSEY CORP. reassignment EASTMAN KODAK COMPANY, ROCHESTER, NEW YORK, A NEW JERSEY CORP. ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: SWIERCZEK, STEPHEN A.
Priority to EP19890420312 priority patent/EP0357527A3/en
Priority to JP1227259A priority patent/JPH02230819A/en
Application granted granted Critical
Publication of US5121417A publication Critical patent/US5121417A/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/68Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using pulse rate multipliers or dividers pulse rate multipliers or dividers per se
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/62Performing operations exclusively by counting total number of pulses ; Multiplication, division or derived operations using combined denominational and incremental processing by counters, i.e. without column shift

Definitions

  • the invention relates to the field of digital timing generators and, more particularly, to digital timing generators which generate a frequency by automatically adjusting their output pulse streams.
  • Timing generators are used to synchronize the many functions found within electronic systems. Most commonly, a certain number of operations must be performed in a given interval of time, this interval of time, generally a cycle time, is marked by a start and a stop pulse or a cycle pulse whose duration is equal to the time between start and stop pulses. It is the purpose of the timing generator to divide the cycle time into sub-intervals, usually of equal length, so that the number of sub-intervals equals the number of operations to be performed. This process is performed in synchronism with the start/stop or cycle pulses.
  • An example of sub-interval timing is in the division of a spinning motor's shaft rotation into 360 equal intervals, one for each degree of rotation.
  • timing generator adapts its interval timing rate to the varying shaft speed.
  • the timing generator is considered to be adaptive and, as such, must vary the time between sub-intervals to accommodate the change in cycle, or shaft rotation time.
  • phase locked loop The conventional approach to adaptive timing generation for these types of devices has been the phase locked loop (PLL).
  • the dynamic range of the PLL that is, its ability to accommodate large changes in cycle time, is relatively constrained by noise and saturation in the feedback loop, and in the limited range of the PLL's phase comparator.
  • this necessitates manual adjustment of controls for document or material width, and often does not permit the most efficient use of image memory.
  • CLL timing generator which automatically adjusts its output pulse intervals to fit within the durations of periodic input pulses.
  • the intervals are synchronous with the leading edges of the input pulses and their number within the pulse interval is selectable in increments of one.
  • the generator uses a direct digital feedback loop to correct its output timing for changes in input pulse width and in one embodiment employs an integer time marker to prevent unlocking on non-integer width input pulses.
  • a clock oscillator is gated by the periodic input pulses through synchronizing logic circuitry and is used to drive a divide-by-N counter (first counter).
  • the divide-by-N counter has first and second inputs, with the first input receiving the gated clock pulse signals from the clock oscillator and the second input receiving a number count N provided by an N counter (second counter).
  • the output N from the N counter is incremented, left as is, or decremented at the end of the input pulse by the output from a magnitude comparator.
  • the magnitude comparator compares the selected input interval value against the output interval value from the divide-by-N counter in accordance with the difference and/or error between the fixed input value and the provided output value.
  • the digital feedback loop is comprised of an output clock divided-by-N counter (third counter), the magnitude comparator and a program input reference number device for providing the reference interval count number.
  • the digital feedback loop conditions the N counter at a rate of one count per input pulse, to provide the divide-by-N counter with the appropriate value of N so that the number of clock pulses divided by N outputted during each input pulse, matches the number of desired output intervals entered into the program input to establish the reference interval count number.
  • a divide by the reference number counter (fourth counter) provides an output that is directed to an enabling input to the synchronizing logic circuitry.
  • the reference number counter receives as an input the gated oscillator signal from the synchronizing logic circuitry and is connected to receive the reference number from the program input.
  • the fourth counter is synchronized in time with the divide-by-N counter and inhibits any change of the value in the N counter if the input pulses width changes and terminates at a time which is not longer by at least one integer value of the selected interval.
  • the N counter is allowed to increment or decrement only at times corresponding to integer values for the clock divided by N signal interval thus maintaining the loop in lock even in the presence of jittery input pulses.
  • FIG. 1 is a block diagram of one embodiment of the present invention.
  • FIG. 2 is a block diagram of another embodiment of the present invention.
  • FIGS. 3A-3E illustrate a group of waveforms useful in understanding the operation of the present embodiments when input pulse width is increasing.
  • FIGS. 4A-4E illustrate a group of waveforms. useful in understanding the operation of the present embodiments when input pulse width is decreasing.
  • FIGS. 5A through 5H assembled in accordance with the map of FIG. 5 form a detailed chip level schematic diagram of the FIG. 2 embodiment of the present invention.
  • N is an integer value from which the counter is decremented to zero during each division cycle. At zero count, a terminal count pulse is generated which resets the counter to the value N, and the cycle repeats.
  • N is zero, every decrement will provide a terminal count pulse, hence, N defaults to one under this circumstance. If the counter is decremented at the rate of F clock hertz, the resulting terminal count pulse frequency, F t , will correspond to:
  • N an integer value greater than zero with the time interval between terminal count pulses t, being the reciprocal of F t ,
  • t p can be changed by altering the value of N.
  • Equation (5) is satisfied only for discrete values of t p . Since, however, in this equation, there are no upper limits placed on B, N or F clock , t p can be resolved into very fine increments over an unlimited range of values.
  • the digital count-locked-loop (CLL) timing generator 10 shown in FIG. 1 exploits this ability. Its operation is based upon a divide-by-N counter 15, connected to a digital feedback loop that is formed by an N counter 16, a magnitude comparator 17, an F clock /N counter 18 and a program input reference number device 19.
  • An oscillator 14 provides the clock signal F clock to a synchronizing logic circuit 12.
  • the synchronizing logic circuit 12 provides an enable signal to the N counter 16 and a gated F clock signal to the countdown input to the divide-by-N counter 15 in response to input pulses.
  • the pulse, t p can be divided into B intervals by varying the value of N. This is accomplished automatically in the timing generator 10 most notably, without the need for high stability time or frequency sources.
  • the input pulses to be dissected, of width t p are applied to the synchronizing logic 12, where each pulse gates the passage of F clock into a first counter, the divide-by-N counter 15.
  • N is determined by the value in a second counter, N counter 16, which acts as a filter and storage register in the feedback loop and can be set to some specific value, if desired, when power is applied.
  • the output of the divide-by-N counter 15, for the duration of each pulse t p consists of terminal count pulses occurring from Equation (1) with a frequency of:
  • N the value of the N counter
  • terminal count pulses are accumulated in a thrid counter, the F clock /N counter 18, which feeds the accumulated terminal count value (A) to the magnitude comparator 17.
  • the number of terminal count pulses (A) accumulated during t p in the F clock /N counter 18, is compared with the value (B).
  • (B) is the number of terminal count pulses one wishes to provide during the interval t p
  • the magnitude comparator indicates at any instant whether (A) is greater or less than (B).
  • (A) can thus be regarded as an error signal that is compared with (B), a selectable reference number.
  • the synchronizing logic 12 inhibits the gated F clock pulses from decrementing the divide-by-N counter 15 any further. Also, at this same time, the magnitude comparator 17 indicates the value of (A) relative to (B) and if, for example, too few terminal count pulses were produced, that is, (A) ⁇ (B), the N counter 16 is decremented and immediately provides this new, lower value of N to the divide-by-N counter 15.
  • the divide-by-N counter 15 is automatically conditioned by way of the feedback loop consisting of the F clock /N counter 18, magnitude comparator 17, and N counter 16, to adapt its terminal count timing to the input pulse duration.
  • the dynamic range of the CLL timing generator 10 can be defined as the ratio of the maximum to the minimum input pulse duration to which the loop can adapt. Simply stated:
  • R the dynamic range of the CLL timing generator.
  • N represents the value in the N counter 16.
  • the minimum count is zero, which defaults to one in the divide-by-N configuration.
  • the maximum count is zero, which defaults to one in the divide-by-N configuration.
  • the dynamic range of the CLL timing generator 10 is, theoretically speaking, unlimited, and increases exponentially with the number of counter stages employed.
  • the amount of time required for the N counter 16 to be incremented or decremented to the appropriate value of N, due to a change in input pulse duration, is a measure of the generator's transient response. If the value in the N counter 16 is modified at the rate of one count per input pulse, the time depends upon the pulse rate and duration, and the difference in input pulse width. This can be expressed as:
  • ⁇ N the change in the value of the N counter 16
  • Equation (6) the number of divide-by-N cycles required to dissect a pulse, t p , into equal intervals
  • the CLL timing generator 10 will attain an appropriate value for N, and the terminal (sub-interval) count pulses will all fall within + or -1/F clock period of their respective times, relative to the leading edge of t p .
  • Equation (6) A glance at Equation (6) reveals two solutions. Since N is confined to integer values, either t p or F clock must be conditioned to settle on one value for N. Conditioning F clock can be accomplished using a conventional PLL, but modifying t p by quantizing its duration is perhaps, the simplest approach. Restating (6),
  • N the value in the N counter when the loop is locked
  • FIG. 2 illustrates in block diagram form the implementation of a CLL timing generator 20 with such a counter shown as a fourth counter 22.
  • the gated F clock signal drives both the divide-by-N counter 15 and the divide-by-B counter 22 to guarantee synchronization of their output pulses.
  • the integer time mark output pulses of the divide-by-B counter 22 are fed to a synchronizing logic circuit 21 where the termination of the input pulse is compared with the occurrence of an integer time mark. The result of the comparison controls the enable line to the N counter 16 to allow a decrement to occur only if the input pulse terminates at least one integer time mark later than the previous input pulse termination.
  • waveform (A) represents a string of INPUT pulses having a nominal pulse width designated t p which increases in width by an amount ⁇ t p .
  • the waveform of FIG. 4B illustrates the integer time marks for a B value of 512. Each mark is 25 n sec. in width and is spaced at a distance t 1 .
  • the integer time marks are compared against the termination of the input pulses. A decrement/increment can occur only if the input pulse terminates at least one integer time mark later than the previous input pulse termination. At the termination A 1 , the integer mark coincides with the input pulse termination and, at termination A 2 , it is greater. In turn, in FIG. 3C the counter is permitted to increment at these two times.
  • FIG. 3D shows that decrementing of the counter does not occur during this time period.
  • FIG. 3E illustrates the CLL timing generator output signal F clock /N where X is equal to 512 equally spaced pulses.
  • waveform (A) represents a string of pulses having a nominal pulse width t p which then decreases in width by an amount ⁇ t p .
  • FIG. 4B illustrates the integer timing marks occurring at least one integer time mark later than the previous input pulse termination.
  • FIG. 4C illustrates the increment N waveform which remains flat while
  • FIG. 4D illustrates the decrement N waveform which contains a decrement pulse that is fed to the N counter 16.
  • the resultant output is a group of pulses, illustrated in FIG. 4E which contain 512 equally spaced pulses, except for the transition pulse E 1 , which contains less than 512 pulses.
  • FIGS. 5A through 5H illustrate in detail a chip schematic diagram of the CLL timing generator for enabling those persons skilled in the art to replicate the invention without undue experimentation.
  • the illustrated CLL timing generator incorporates three TIL 311 displays coupled to the N counter stages, 74F193's, to display the values stored in the N counter 16.
  • address outputs FAO through FA11 are derivable from the (A) output of the F clock /N counter 18. These address signals may be used to address peripheral equipment such as a flying spot laser or a solid state linear array scanner (which form no part of the present invention).
  • an ADDRVALID signal is generated to assist in the utilization of the address signals FAO through FA11.
  • the number of intervals program inputs block 19 can be set to the value of B from external sources on the input labeled A 0 through A 11 or the value may be established by setting the hexadecimal coded switches 230057GB to reflect the desired value. All of the dotted block circuitry corresponds to like numbered blocks in FIGS. 1 and 2.
  • FIGS. 5A through 5B Further description of the interconnections of the chips used in FIGS. 5A through 5B is believed unnecessary as the schematic is self-explanatory to a person skilled in the art.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Pulse Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

The present invention is an all digital timing and address generator which automatically adjusts its output pulse intervals to fit within the duration of periodic input pulses. The intervals are alway synchronous with the leading edges of the input pulses, and their number within the duration of a periodic input pulse is selectable in increments of one. The generator uses direct digital feedback to control its output timing for changes in input pulse width, and employs an integer time mark to prevent "unlocking" on non-integer width input pulses.

Description

TECHNICAL FIELD OF THE INVENTION
The invention relates to the field of digital timing generators and, more particularly, to digital timing generators which generate a frequency by automatically adjusting their output pulse streams.
BACKGROUND OF THE INVENTION
Timing generators are used to synchronize the many functions found within electronic systems. Most commonly, a certain number of operations must be performed in a given interval of time, this interval of time, generally a cycle time, is marked by a start and a stop pulse or a cycle pulse whose duration is equal to the time between start and stop pulses. It is the purpose of the timing generator to divide the cycle time into sub-intervals, usually of equal length, so that the number of sub-intervals equals the number of operations to be performed. This process is performed in synchronism with the start/stop or cycle pulses. An example of sub-interval timing is in the division of a spinning motor's shaft rotation into 360 equal intervals, one for each degree of rotation. The fact that the rotational speed of the motor's shaft can change, requires that the timing generator adapt its interval timing rate to the varying shaft speed. In this sense, the timing generator is considered to be adaptive and, as such, must vary the time between sub-intervals to accommodate the change in cycle, or shaft rotation time.
The conventional approach to adaptive timing generation for these types of devices has been the phase locked loop (PLL). The dynamic range of the PLL, that is, its ability to accommodate large changes in cycle time, is relatively constrained by noise and saturation in the feedback loop, and in the limited range of the PLL's phase comparator. In electrophotographic copiers and material scanning systems, this necessitates manual adjustment of controls for document or material width, and often does not permit the most efficient use of image memory.
SUMMARY OF THE INVENTION
In the preferred embodiment of the invention, there is provided and all digital count-locked-loop (CLL) timing generator which automatically adjusts its output pulse intervals to fit within the durations of periodic input pulses. The intervals are synchronous with the leading edges of the input pulses and their number within the pulse interval is selectable in increments of one. The generator uses a direct digital feedback loop to correct its output timing for changes in input pulse width and in one embodiment employs an integer time marker to prevent unlocking on non-integer width input pulses.
In one embodiment, a clock oscillator is gated by the periodic input pulses through synchronizing logic circuitry and is used to drive a divide-by-N counter (first counter). The divide-by-N counter has first and second inputs, with the first input receiving the gated clock pulse signals from the clock oscillator and the second input receiving a number count N provided by an N counter (second counter). The output N from the N counter is incremented, left as is, or decremented at the end of the input pulse by the output from a magnitude comparator. The magnitude comparator compares the selected input interval value against the output interval value from the divide-by-N counter in accordance with the difference and/or error between the fixed input value and the provided output value. The digital feedback loop is comprised of an output clock divided-by-N counter (third counter), the magnitude comparator and a program input reference number device for providing the reference interval count number. The digital feedback loop conditions the N counter at a rate of one count per input pulse, to provide the divide-by-N counter with the appropriate value of N so that the number of clock pulses divided by N outputted during each input pulse, matches the number of desired output intervals entered into the program input to establish the reference interval count number.
In a second embodiment of the invention, a divide by the reference number counter (fourth counter) provides an output that is directed to an enabling input to the synchronizing logic circuitry. The reference number counter receives as an input the gated oscillator signal from the synchronizing logic circuitry and is connected to receive the reference number from the program input. In this embodiment, the fourth counter is synchronized in time with the divide-by-N counter and inhibits any change of the value in the N counter if the input pulses width changes and terminates at a time which is not longer by at least one integer value of the selected interval. Thus, the N counter is allowed to increment or decrement only at times corresponding to integer values for the clock divided by N signal interval thus maintaining the loop in lock even in the presence of jittery input pulses.
From the foregoing, it can be seen that it is a primary object of the present invention to provide an all digital timing generator which automatically adjusts its output pulse intervals to fit within the durations of periodic input pulses.
It is also another object of the present invention to provide output pulses which are synchronous with the leading edges of input pulses.
It is a further object of the present invention to provide a digital timing generator having an extended dynamic range which may be easily increased to accommodate differing input pulse widths.
It is a further object of the present invention to provide a digital timing generator which does not utilize analog phased locked oscillators.
These and other objects of the present invention will become more apparent when taken in conjunction with the following description and drawings wherein like characters indicate like parts and which drawings form a part of the present description.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of one embodiment of the present invention.
FIG. 2 is a block diagram of another embodiment of the present invention.
FIGS. 3A-3E illustrate a group of waveforms useful in understanding the operation of the present embodiments when input pulse width is increasing.
FIGS. 4A-4E illustrate a group of waveforms. useful in understanding the operation of the present embodiments when input pulse width is decreasing.
FIGS. 5A through 5H assembled in accordance with the map of FIG. 5 form a detailed chip level schematic diagram of the FIG. 2 embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
For general background, in a typical divide-by-N counter, N is an integer value from which the counter is decremented to zero during each division cycle. At zero count, a terminal count pulse is generated which resets the counter to the value N, and the cycle repeats. Of course, if N is zero, every decrement will provide a terminal count pulse, hence, N defaults to one under this circumstance. If the counter is decremented at the rate of F clock hertz, the resulting terminal count pulse frequency, Ft, will correspond to:
F.sub.t =F.sub.clock /N                                    (1)
where:
Ft =the terminal count pulse repetition frequency
Fclock =the frequency at which the counter is decremented
N=an integer value greater than zero with the time interval between terminal count pulses t, being the reciprocal of Ft,
t=1/F.sub.t                                                (2)
Substituting Equation (1) for Ft,
t=1/F.sub.clock /N=N/F.sub.clock                           (3)
Assuming that the division cycle is repeated B times, exactly B terminal count pulses would be generated over a time duration tp,
t.sub.p =Bt                                                (4)
Substituting Equation (3) for t,
t.sub.p =BN/F.sub.clock                                    (5)
and thus, tp can be changed by altering the value of N.
Since Fclock is usually a fixed frequency developed by a crystal oscillator, for example, and B and N are integer values, it can be shown that Equation (5) is satisfied only for discrete values of tp. Since, however, in this equation, there are no upper limits placed on B, N or Fclock, tp can be resolved into very fine increments over an unlimited range of values. By rearranging Equation (5) and solving for B, the number of division cycles for a given pulse width is represented by,
B=t.sub.p F.sub.clock /N                                   (6)
The digital count-locked-loop (CLL) timing generator 10 shown in FIG. 1 exploits this ability. Its operation is based upon a divide-by-N counter 15, connected to a digital feedback loop that is formed by an N counter 16, a magnitude comparator 17, an Fclock /N counter 18 and a program input reference number device 19. An oscillator 14 provides the clock signal Fclock to a synchronizing logic circuit 12. The synchronizing logic circuit 12 provides an enable signal to the N counter 16 and a gated F clock signal to the countdown input to the divide-by-N counter 15 in response to input pulses.
Referencing back to Equation (6), the pulse, tp, can be divided into B intervals by varying the value of N. This is accomplished automatically in the timing generator 10 most notably, without the need for high stability time or frequency sources. The input pulses to be dissected, of width tp, are applied to the synchronizing logic 12, where each pulse gates the passage of Fclock into a first counter, the divide-by-N counter 15. N is determined by the value in a second counter, N counter 16, which acts as a filter and storage register in the feedback loop and can be set to some specific value, if desired, when power is applied. The output of the divide-by-N counter 15, for the duration of each pulse tp, consists of terminal count pulses occurring from Equation (1) with a frequency of:
F.sub.t =F.sub.clock /N                                    (7)
where:
Ft =the terminal count frequency
Fclock =the frequency at which the counter is decremented
N=the value of the N counter
At this point, the digital feedback loop comes into play. These terminal count pulses are accumulated in a thrid counter, the Fclock /N counter 18, which feeds the accumulated terminal count value (A) to the magnitude comparator 17. In the comparator, the number of terminal count pulses (A) accumulated during tp in the Fclock /N counter 18, is compared with the value (B). (B) is the number of terminal count pulses one wishes to provide during the interval tp, and the magnitude comparator indicates at any instant whether (A) is greater or less than (B). (A) can thus be regarded as an error signal that is compared with (B), a selectable reference number. At the termination of each input pulse, the synchronizing logic 12 inhibits the gated Fclock pulses from decrementing the divide-by-N counter 15 any further. Also, at this same time, the magnitude comparator 17 indicates the value of (A) relative to (B) and if, for example, too few terminal count pulses were produced, that is, (A)<(B), the N counter 16 is decremented and immediately provides this new, lower value of N to the divide-by-N counter 15.
The next iteration of tp provides the same sequence of events until (A)=(B), and the N counter 16 contains the appropriate value of N to satisfy Equation (6) for B, the number of terminal count cycles required during one input pulse.
In this way, the divide-by-N counter 15 is automatically conditioned by way of the feedback loop consisting of the Fclock /N counter 18, magnitude comparator 17, and N counter 16, to adapt its terminal count timing to the input pulse duration.
DYNAMIC RANGE
The dynamic range of the CLL timing generator 10 can be defined as the ratio of the maximum to the minimum input pulse duration to which the loop can adapt. Simply stated:
R=t.sub.pmax /t.sub.pmin                                   (8)
where: R=the dynamic range of the CLL timing generator.
By substitution of Equation (5) for tp, it can be shown that;
R=N.sub.max /N.sub.min                                     (9)
where N represents the value in the N counter 16.
For a binary counter, the minimum count is zero, which defaults to one in the divide-by-N configuration. The maximum count,
N.sub.max =2.sup.x-1 +2.sup.x-2 + . . . +2.sup.1 +2.sup.0  (10)
or more simply stated,
N.sub.max =2.sup.x-1                                       (11)
where x=the number of counter stages, in bits.
From Equation (9),
R=N.sub.max /N.sub.min =.sup.(2x-1) /1=2.sup.x-1           (12)
As such, the dynamic range of the CLL timing generator 10 is, theoretically speaking, unlimited, and increases exponentially with the number of counter stages employed.
TRANSIENT RESPONSE
The amount of time required for the N counter 16 to be incremented or decremented to the appropriate value of N, due to a change in input pulse duration, is a measure of the generator's transient response. If the value in the N counter 16 is modified at the rate of one count per input pulse, the time depends upon the pulse rate and duration, and the difference in input pulse width. This can be expressed as:
t.sub.d =(t.sub.rep)(t.sub.pmax /t.sub.pmin)               (13)
or
t.sub.d =(t.sub.rep)(ΔN)                             (14)
where:
td =the time required for the loop to lock, in seconds
trep =1/the pulse repetition rate (in Hertz)
tpmax =the longer input pulse duration
tpmin =the shorter input pulse duration
ΔN=the change in the value of the N counter 16
Of course, since the dynamic range of the feedback loop determines the maximum difference in input pulse width over which the loop can lock, the maximum time required for the loop to lock on an instantaneous change in input pulse width spanning the full loop dynamic range would be from Equation (13)
t.sub.dmax =(t.sub.rep)(t.sub.pmax /t.sub.pmin)            (15)
Since;
t.sub.pmax /t.sub.pmin =N.sub.max /N.sub.min               (16)
and;
t.sub.max /t.sub.min =R                                    (17)
then;
t.sub.dmax =(t.sub.rep)R                                   (18)
where:
R=the dynamic range of the feedback loop from Equation (9)
trep =1/the pulse repetition rate (in Hertz)
Timing Error
Reviewing Equation (6) for B, the number of divide-by-N cycles required to dissect a pulse, tp, into equal intervals,
B=t.sub.p F.sub.clock /N                                   (19)
it can be shown that, for a fixed Fclock, B will attain integer values only for specific values of tp.
Under these circumstances, the CLL timing generator 10 will attain an appropriate value for N, and the terminal (sub-interval) count pulses will all fall within + or -1/Fclock period of their respective times, relative to the leading edge of tp.
A situation arises when the values for tp and Fclock result in a fractional value for B. In this case, the loop will alternately switch between two values for N, one too low, and the other too high to satisfy the equation, and the number of sub-intervals generated during tp will, for one cycle, be too few, and for the next, too many.
A glance at Equation (6) reveals two solutions. Since N is confined to integer values, either tp or Fclock must be conditioned to settle on one value for N. Conditioning Fclock can be accomplished using a conventional PLL, but modifying tp by quantizing its duration is perhaps, the simplest approach. Restating (6),
B=t.sub.p F.sub.clock /N                                   (20)
and rearranging,
F.sub.clock /B=N/t.sub.p                                   (21)
Substituting,
F.sub.clock =1/t.sub.c                                     (22)
where: tc =the period of Fclock
Bt.sub.c =t.sub.p /N                                       (23)
where:
B=the number of sub-intervals created during tp
tp =the input pulse duration
N=the value in the N counter when the loop is locked
This sequence demonstrates that if a separate counter is configured to divide the gated Fclock by the value of B, the terminal count pulses from this counter will coincide precisely with the discrete time intervals of tp that satisfy Equation (6) for all values of N.
FIG. 2 illustrates in block diagram form the implementation of a CLL timing generator 20 with such a counter shown as a fourth counter 22.
The gated Fclock signal drives both the divide-by-N counter 15 and the divide-by-B counter 22 to guarantee synchronization of their output pulses. The integer time mark output pulses of the divide-by-B counter 22 are fed to a synchronizing logic circuit 21 where the termination of the input pulse is compared with the occurrence of an integer time mark. The result of the comparison controls the enable line to the N counter 16 to allow a decrement to occur only if the input pulse terminates at least one integer time mark later than the previous input pulse termination.
Under this condition, the maximum time error Δt between the actual and the quantized input pulses is,
Δt=t.sub.p -t.sub.q                                  (24)
From Equation (23),
t.sub.p =NBt.sub.c                                         (25)
and,
t.sub.q =(N-1)Bt.sub.c                                     (26)
where: tq =the quantized input pulse width
Therefore;
Δt=NBt.sub.c -(N-1)Bt.sub.c                          (27)
Δt=NBt.sub.c -NBt.sub.c +Bt.sub.c                    (28)
Δt=Bt.sub.c                                          (29)
where:
B=the number of desired sub-intervals during tp and
tc =1/Fclock
Referring to FIG. 3, which is a group of waveforms illustrating the CLL's operation when the INPUT signals' pulse width increases, specifically waveform (A) represents a string of INPUT pulses having a nominal pulse width designated tp which increases in width by an amount Δtp.
The waveform of FIG. 4B illustrates the integer time marks for a B value of 512. Each mark is 25 n sec. in width and is spaced at a distance t1. The integer time marks are compared against the termination of the input pulses. A decrement/increment can occur only if the input pulse terminates at least one integer time mark later than the previous input pulse termination. At the termination A1, the integer mark coincides with the input pulse termination and, at termination A2, it is greater. In turn, in FIG. 3C the counter is permitted to increment at these two times.
FIG. 3D shows that decrementing of the counter does not occur during this time period.
FIG. 3E illustrates the CLL timing generator output signal Fclock /N where X is equal to 512 equally spaced pulses.
Referring to FIG. 4, which is a group of waveforms illustrating the CLL's operation when the INPUT signals' pulse width decreases, specifically waveform (A) represents a string of pulses having a nominal pulse width tp which then decreases in width by an amount Δtp.
The waveform of FIG. 4B illustrates the integer timing marks occurring at least one integer time mark later than the previous input pulse termination. FIG. 4C illustrates the increment N waveform which remains flat while FIG. 4D illustrates the decrement N waveform which contains a decrement pulse that is fed to the N counter 16. The resultant output is a group of pulses, illustrated in FIG. 4E which contain 512 equally spaced pulses, except for the transition pulse E1, which contains less than 512 pulses.
FIGS. 5A through 5H illustrate in detail a chip schematic diagram of the CLL timing generator for enabling those persons skilled in the art to replicate the invention without undue experimentation. The illustrated CLL timing generator incorporates three TIL 311 displays coupled to the N counter stages, 74F193's, to display the values stored in the N counter 16. In addition, address outputs FAO through FA11 are derivable from the (A) output of the Fclock /N counter 18. These address signals may be used to address peripheral equipment such as a flying spot laser or a solid state linear array scanner (which form no part of the present invention).
Through circuitry in the sychronizing logic block 21 an ADDRVALID signal is generated to assist in the utilization of the address signals FAO through FA11.
The number of intervals program inputs block 19 can be set to the value of B from external sources on the input labeled A0 through A11 or the value may be established by setting the hexadecimal coded switches 230057GB to reflect the desired value. All of the dotted block circuitry corresponds to like numbered blocks in FIGS. 1 and 2.
Further description of the interconnections of the chips used in FIGS. 5A through 5B is believed unnecessary as the schematic is self-explanatory to a person skilled in the art.
While there has been shown what are considered to be the preferred embodiments of the present invention, it will be manifest that many changes and modifications may be made therein without departing from the essential spirit of the invention. It is intended, therefore, in the annexed claims to cover all such changes and modifications as may fall within the true scope of the invention.

Claims (8)

I claim:
1. A count locked loop for dividing the width of an input pulse into a selectable number of equal intervalled pulses comprising:
oscillator means for providing a train of clock pulses;
synchronizing logic means for gating said train of provided clock pulses to an output as a function of the width of an input pulse;
divide-by-N counter means having first and second inputs, said first input for receiving the gated clock pulses from the output of said synchronizing logic means said second input receiving a signal of value N, said divide-by-N counter dividing the gated clock pulses by the value N to provide at an output a signal corresponding to the selectable number of equally spaced pulses desired within the interval corresponding to the width of an input pulse;
feedback means coupled between the output of said divide-by-N counter means and said second input; and
reference means for providing the selectable number signal to said feedback means such that a difference between the value of the output signal from the divide-by-N counter and the value of the selectable number signal determines if number N to be applied to said divide-by-N counter means is changed to minimize the difference.
2. A count locked loop according to claim 1 wherein said feedback means is comprised of:
a comparator means for comparing the magnitude of the output signal from the divide-by-N counter means with the magnitude of the selectable number signal for providing an increment/decrement signal indicative of the difference between the output signal and the selectable number signal; and
an N counter means responsive to the provided increment/decrement signal from said comparator means for changing the number N and for providing the number N to said divide-by-N counter.
3. A count locked loop according to claim 2 wherein said feedback means is further comprised of:
a counter means interposed between the output of said divide-by-N counter means and an input to said comparator means for counting the number of pulses contained in the output signal and for providing a count number to said comparator for comparison with said selectable signal.
4. A count locked loop according to claim 2 wherein said synchronizing logic means includes an enable signal means for providing an enable signal to said N counter means for a period corresponding to the width of the input pulses.
5. A count locked loop according to claim 3 and further comprising:
a divide by the selectable number counter having an input for receiving the selectable number signal from said reference means, and the gated signal from said synchronizing logic means for counting down from the selectable number and for being reset by the gated signal, and having an output directed to said synchronizing logic means to control the gating of said synchronizing logic means.
6. A count-locked-loop timing generator comprising:
a clock pulse generating means;
synchronizing logic means for receiving spaced-apart signals corresponding to a timing interval and the clock pulses and for gating said clock pulses to an output during the timing interval and for providing an enable signal;
N counter means having an increment and decrement input for outputting a count signal when the count in said counter corresponds to N after receipt of the enable signal from said synchronizing logic means;
a divide-by-N counter means having a first input connected to the output of said synchronizing logic means for receiving the gated clock pulses and having a second input for receiving the count signal from said N counter means for providing at an output a timing interval signal having a number of equally spaced pulses;
a pulse counter means for counting the number of equally spaced pulses on the output of said divide-by-N counter means;
interval input means for generating a reference count corresponding to the number of equally spaced intervals desired; and
comparator means for receiving the count from said pulse counter means and the reference count from said interval input means for providing an increment signal to said N counter means when the count from said pulse counter means is greater than then the reference count and for providing a decrement signal to said N counter means when the count from said pulse counter means is less than the reference count so to adjust the output of said divide-by-N counter to equally divide the input timing interval into the number of intervals determined by the number of the reference count.
7. A count locked loop for providing a selectable number of equally spaced pulses within a time period established by an input signal comprising:
logic means responsive to the time period of an input signal for providing periodic pulses and an enable signal;
first counter means for receiving the provided periodic pulses and for counting down from a count value at a rate determined by the provided periodic pulses to provide an output signal formed of a number of equally spaced pulses;
second counter means for outputting a count value to said first counter in response to the provided enable signal from said logic means and for changing the count value in accordance with a comparison signal;
third counter means for counting the number of equally spaced pulses in the output signal from said first counter;
programmable means for providing the selectable number corresponding to the number of equal intervals of pulses desired in the output signal from said first logic means; and
comparator means for receiving the number count from said third counter and the provided number from said programmable means for comparing the same and for providing the comparison signal to said second counter means.
8. The count locked loop according to claim 7 and further comprising:
fourth counter means having an input connected to receive the provided periodic pulses from said logic means, an input connected to receive the provided selectable number from said programmable means for providing an output to said logic means to control said enable signal to said second counter in accordance with the value of the selectable number.
US07/239,872 1988-09-02 1988-09-02 Count-locked loop timing generator Expired - Fee Related US5121417A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US07/239,872 US5121417A (en) 1988-09-02 1988-09-02 Count-locked loop timing generator
EP19890420312 EP0357527A3 (en) 1988-09-02 1989-08-24 Count-locked-loop timing generator
JP1227259A JPH02230819A (en) 1988-09-02 1989-09-01 Numerical lock loop type timing generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/239,872 US5121417A (en) 1988-09-02 1988-09-02 Count-locked loop timing generator

Publications (1)

Publication Number Publication Date
US5121417A true US5121417A (en) 1992-06-09

Family

ID=22904086

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/239,872 Expired - Fee Related US5121417A (en) 1988-09-02 1988-09-02 Count-locked loop timing generator

Country Status (3)

Country Link
US (1) US5121417A (en)
EP (1) EP0357527A3 (en)
JP (1) JPH02230819A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398263A (en) * 1993-01-14 1995-03-14 Motorola, Inc. Autonomous pulse train timing controls for time-mark alignment
US5542113A (en) * 1994-09-06 1996-07-30 Motorola, Inc. Carrier derived frequency stabilizer for a radio communication transmitter
DE10013633A1 (en) * 2000-03-18 2001-09-20 Inst Halbleiterphysik Gmbh Static frequency divider with switchable division ratio prevents metastable states using two D=type flip-flops with alternately activatable inputs
US20180091161A1 (en) * 2016-09-23 2018-03-29 Taiwan Semiconductor Manufacturing Company Limited Frequency synthesizer

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0548446A (en) * 1991-08-09 1993-02-26 Sony Corp Semiconductor integrated circuit
US8044742B2 (en) 2009-03-11 2011-10-25 Qualcomm Incorporated Wideband phase modulator
US8588720B2 (en) * 2009-12-15 2013-11-19 Qualcomm Incorproated Signal decimation techniques
US9000858B2 (en) 2012-04-25 2015-04-07 Qualcomm Incorporated Ultra-wide band frequency modulator

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668315A (en) * 1970-05-15 1972-06-06 Hughes Aircraft Co Receiver timing and synchronization system
US4242639A (en) * 1978-09-05 1980-12-30 Ncr Corporation Digital phase lock circuit
US4280099A (en) * 1979-11-09 1981-07-21 Sperry Corporation Digital timing recovery system
US4400817A (en) * 1980-12-30 1983-08-23 Motorola, Inc. Method and means of clock recovery in a received stream of digital data
US4415933A (en) * 1979-12-18 1983-11-15 Fuji Xerox Co., Ltd. Carrier wave recovery circuit
US4535461A (en) * 1983-06-01 1985-08-13 Cincinnati Electronics Corporation Digital clock bit synchronizer
US4614973A (en) * 1983-04-08 1986-09-30 Tektronix, Inc. Method and apparatus for generating timing pulses
US4623845A (en) * 1984-02-15 1986-11-18 Takeda Riken Kogyo Kabushikikaisha Multi-clock generator
US4628519A (en) * 1984-04-06 1986-12-09 Advanced Micro Devices, Inc. Digital phase-locked loop circuit
US4680780A (en) * 1986-05-01 1987-07-14 Tektronix, Inc. Clock recovery digital phase-locked loop
US4694259A (en) * 1986-09-29 1987-09-15 Laser Magnetic Storage International Company Data tracking clock recovery system having media speed variation compensation
US4695805A (en) * 1985-05-13 1987-09-22 Online Computer Systems Inc. Apparatus for generating signals synchronized to an unstable external signal
US4712225A (en) * 1986-10-09 1987-12-08 Rockwell International Corporation Phase quantizer apparatus
US4712223A (en) * 1986-10-09 1987-12-08 Rockwell International Corporation Linear all-digital phase locked loop

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA903854A (en) * 1970-12-16 1972-06-27 H. Lougheed James Digital frequency multiplying system
SU1034145A1 (en) * 1982-03-18 1983-08-07 Особое Конструкторское Бюро При Физико-Техническом Институте Ан Узсср Controlled pulse repetition frequency multiplier
US4752837A (en) * 1983-10-26 1988-06-21 Deland Jr Robert S Data synchronizer for use with a variable rate input source

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668315A (en) * 1970-05-15 1972-06-06 Hughes Aircraft Co Receiver timing and synchronization system
US4242639A (en) * 1978-09-05 1980-12-30 Ncr Corporation Digital phase lock circuit
US4280099A (en) * 1979-11-09 1981-07-21 Sperry Corporation Digital timing recovery system
US4415933A (en) * 1979-12-18 1983-11-15 Fuji Xerox Co., Ltd. Carrier wave recovery circuit
US4400817A (en) * 1980-12-30 1983-08-23 Motorola, Inc. Method and means of clock recovery in a received stream of digital data
US4614973A (en) * 1983-04-08 1986-09-30 Tektronix, Inc. Method and apparatus for generating timing pulses
US4535461A (en) * 1983-06-01 1985-08-13 Cincinnati Electronics Corporation Digital clock bit synchronizer
US4623845A (en) * 1984-02-15 1986-11-18 Takeda Riken Kogyo Kabushikikaisha Multi-clock generator
US4628519A (en) * 1984-04-06 1986-12-09 Advanced Micro Devices, Inc. Digital phase-locked loop circuit
US4695805A (en) * 1985-05-13 1987-09-22 Online Computer Systems Inc. Apparatus for generating signals synchronized to an unstable external signal
US4680780A (en) * 1986-05-01 1987-07-14 Tektronix, Inc. Clock recovery digital phase-locked loop
US4694259A (en) * 1986-09-29 1987-09-15 Laser Magnetic Storage International Company Data tracking clock recovery system having media speed variation compensation
US4712225A (en) * 1986-10-09 1987-12-08 Rockwell International Corporation Phase quantizer apparatus
US4712223A (en) * 1986-10-09 1987-12-08 Rockwell International Corporation Linear all-digital phase locked loop

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398263A (en) * 1993-01-14 1995-03-14 Motorola, Inc. Autonomous pulse train timing controls for time-mark alignment
US5542113A (en) * 1994-09-06 1996-07-30 Motorola, Inc. Carrier derived frequency stabilizer for a radio communication transmitter
DE10013633A1 (en) * 2000-03-18 2001-09-20 Inst Halbleiterphysik Gmbh Static frequency divider with switchable division ratio prevents metastable states using two D=type flip-flops with alternately activatable inputs
US6593782B2 (en) 2000-03-18 2003-07-15 Institut Fuer Halbleiterphysik Frankfurt (Oder) Gmbh Static frequency divider with a divider ratio which can be switched over
US20180091161A1 (en) * 2016-09-23 2018-03-29 Taiwan Semiconductor Manufacturing Company Limited Frequency synthesizer
US9966963B2 (en) * 2016-09-23 2018-05-08 Taiwan Semiconductor Manufacturing Company Limited Frequency synthesizer

Also Published As

Publication number Publication date
EP0357527A2 (en) 1990-03-07
JPH02230819A (en) 1990-09-13
EP0357527A3 (en) 1991-10-30

Similar Documents

Publication Publication Date Title
JPH04351008A (en) Digital vco
JPS6436184A (en) Phase locked loop apparatus
US5256980A (en) Frequency synthesizer incorporating vernier phase adjuster
CA2036135A1 (en) Phase locked loop including non-integer multiple frequency reference signal
EP0170207A3 (en) A write clock pulse generator used for a time base corrector
US5121417A (en) Count-locked loop timing generator
JPH02271794A (en) Clock signal regenerating network
EP0164785B1 (en) Electric circuit arrangement comprising a phase control-circuit
JPH0351123B2 (en)
EP0159893B1 (en) Signal generator circuits
US5815694A (en) Apparatus and method to change a processor clock frequency
US4573175A (en) Variable digital frequency generator with value storage
US5565928A (en) Circuit for generating a scan at a multiple of a synchronizing signal
US5168360A (en) Sampling clock generating circuit for a-d conversion of a variety of video signals
EP0893877B1 (en) Motor drive system controlled by a phase accumulator and method therefor
JPH07143000A (en) Synchronous clock production method using controllable oscillator circuit
KR830008595A (en) Horizontal Phase Lock Loop Circuits for Televisions
CA2192881A1 (en) PLL Circuit and Noise Reduction Means for PLL Circuit
US4626797A (en) Phase locked loop providing three-level control signal to VCO
EP0691745B1 (en) Method and device for phase-shifting a signal
AU750763B2 (en) Frequency synthesiser
US4682362A (en) Generating narrowly-separated variable-frequency clock signals
RU2081510C1 (en) Frequency synthesizer
KR910001472Y1 (en) Clock Generation Circuit for Image Memory
KR900002636B1 (en) A apparatus for synchronizing transmission clock signal

Legal Events

Date Code Title Description
AS Assignment

Owner name: EASTMAN KODAK COMPANY, ROCHESTER, NEW YORK, A NEW

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:SWIERCZEK, STEPHEN A.;REEL/FRAME:004937/0668

Effective date: 19880830

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
FP Lapsed due to failure to pay maintenance fee

Effective date: 20000609

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362