Abstract:
A high frequency programmable frequency divider operates in a digital manner to divide the frequency of an applied signal by an integer value greater than five. The frequency divider combines emitter coupled logic (ECL) devices to perform a frequency divide algorithm at frequencies of 220 MHz.

Description:
RELATED APPLICATION 
     This is a continuation-in-part application of pending application Ser. No. 708,467, entitled PROGRAMMABLE FREQUENCY DIVIDER AND METHOD, filed on July 26, 1976 by William J. Crilly, Jr., and now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     At frequencies of 200 MHz, digital frequency dividers become difficult to implement. Presently, the fastest commercially available logic family, commonly known as MECL III, has a worst case setup time of approximately 0.5 nsec per flip-flop, a worst case delay time of approximately 2.9 nsec per flip-flop, and a worst case delay time of approximately 1.0 nsec per gate. At 200 MHz a signal period is approximately 4.5 nsec; thus to allow real time processing of an applied signal, any feedback control requiring a response time within a signal period must have a critical timing path of less than 4.5 nsec. 
     SUMMARY OF THE INVENTION 
     Accordingly, the present invention combines emitter coupled logic (ECL) devices to perform a frequency divide algorithm that satisfies the critical timing requirements. The first stage of the circuit performs a partial frequency divide of the applied signal by dividing the frequency of the applied signal with a selectable partial divisor of three or four. The second stage selects the partial divisor used by the first stage and detects the desired number of first stage partial divisions before generating an output pulse and initializing a new sequence. 
    
    
     DESCRIPTION OF THE DRAWING 
     FIG. 1 is a simplified schematic diagram of the programmable divider of the present invention; 
     FIG. 2 is a timing diagram showing the logic states associated with an operating cycle of the divider circuit; 
     FIG. 3 is a programming table which sets forth the input conditions for selected frequency division ratios. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, there is shown a frequency divider comprising a 3/4 divider circuit which receives an applied digital signal at an input 12, divides the applied signal with a partial divisor of three or four determined by a 3/4 select line 14 and generates a partially divided signal on an output line 13 having a frequency of one-third or one-fourth the frequency of the applied signal. As used in this description, 3/4 divider means a frequency divider with a selectable divisor of three or four. A 3/4 divider 11 may be implemented using a combination of bistable switching elements such as D type flip-flops 15 and 16 (Motorola Model MC 1670), a NOR gate 18 (Motorola Model MC 1662) and a wired-OR gate 17 which is formed by the connection of the Q output of flip-flop 16 and the output of NOR gate 18, all connected as shown. The input 12 is connected to the clock input of each of the D-type flip-flops 15 and 16. The D input of flip-flop 15 is connected by a wired-OR gate 17 to the Q output of flip-flop 16 and to the output of NOR gate 18. The Q output of flip-flop 15 is connected to the D input of flip-flop 16 and an input of NOR gate 18. The other input of NOR gate 18 is connected to the 3/4 control line 14. A logical zero level on the 3/4 select line 14 will cause the 3/4 divider 11 to divide by three and generate a signal on line 13 having a frequency of one-third the frequency of the applied signal. A logical one level on the 3/4 select line 14 will cause the 3/4 divider 11 to divide by four and generate a signal on line 13 having a frequency of one-fourth the frequency of the applied signal. 
     The wired-OR gate 17 eliminates a gate propagation delay from the critical timing path of the 3/4 divider 11. Thus, the critical timing path within the 3/4 divider 11 is one flip-flop delay, from the D input of flip-flop 15 through flip-flop 15, and one gate delay, through NOR gate 18 to the D input of flip-flop 15. 
     Also shown is a 3/4 contrller circuit which receives the signal on line 13 from the 3/4 divider 11 and a plurality of applied control signals, and generates the 3/4 select signal on line 14 and the frequency divided output on line 20. A 3/4 controller 19 may be implemented using a shift register 21 and a multiplexer 22. Line 13 from the 3/4 divider 11 is connected to the clock input of shift register 21 which comprises a plurality of interconnected cells capable of storing data. An output signal from the 3/4 divider 11 on line 13 causes the shift register 21 to serially shift the data stored in the cells until the appropriate load level is shifted into a selected shift register cell, such as the last cell of the shift register, S n , which acts as a reference condition or point in the shifting process. When the load level is shifted into the last cell, Q n , a signal on the clock input will cause the shift register to be parallel-loaded with a plurality of applied inputs, such as the signals applied to D 0 , D 1 , D 2 , D 3 , which load the desired pattern of logic states into the shift register 21. To be self-starting, the serial carry-in input may be connected to a reference supply of the appropriate parallel load level, such as a logical zero level voltage source for a shift register which is loaded by a logical zero level at the parallel load control input. 
     The outputs of Q 0  -Q 3  of the shift register cells may be connected to the signal inputs, X 0  -X 3 , of multiplexer 22. The control signals applied to the control inputs, A, B, of multiplexer 22 may be internally decoded by multiplexer 22 to determine which signal input X 0  -X 3  is connected to output Z. 
     A pattern 23 that may be programmed at the applied inputs, D 0  -D 3 , is a sequence of logical zero levels concatenated to a preamble of logical one levels. The same pattern may then be shared by all divisions requiring the same number of shifts prior to repeating a combination of partial divisions, as shown in the Table of FIG. 3. Different 3/4 select line signal combinations are obtained from the same pattern by multiplexing different shift register cells to the 3/4 select line. 
     As an example of the operation of the illustrated embodiment, consider the division of input frequency by a programmed divisor such as eleven. A frequency divide by eleven may be achieved by partially dividing the input frequency by three once, partially dividing by four twice and generating an output pulse before repeating the process. Thus, an integer multiplier of one multiplied with the partial divisor three plus an integer multiplier of two multiplied with the partial divisor four is equal to the desired programmed divisor eleven. Since the 3/4 controller 19 must select a partial divisor three times before repeating (once for the divide by three plus twice for the divide by four) the logical one preamble must contain two logical one bits. Thus, after two shifts the S n  cell of the shift register 21 will contain a logical zero level which will be produced at the output at one-eleventh the frequency of the applied signal at input 12. The signal on line 13 will cause the shift register 21 to be parallel loaded again with the initial pattern having two logical one bits in the preamble. Further, the multiplexer may be programmed at the control inputs, A, B, to select the shift register cell Q n , and will receive two logical one levels followed by one logical zero level before repeating. This will set the 3/4 select line 14 to a logical one level for two partial divide cycles of the 3/4 divider 11 and a logical zero level for one partial divide cycle of the 3/4 divider 11 before repeating the sequence. The net effect will cause the 3/4 divider 11 to divide the input frequency by four twice and by three once and cause the 3/4 controller to generate an output pulse once every eleven periods of the applied signal at input 12. 
     Referring now more specifically to the timing diagram of FIG. 2, the status of the logic signals is illustrated over a single divide-by-eleven cycle. Positive-going transitions of the input signal 12 clock the flip-flops 15 and 16 which form the divide-by-3 or 4 module. Similarly, positive-going transitions of the Q output of flip-flop 15 clock the flip-flops which form the shift register 21. 
     A series of cycles of the input signal 12 is shown in FIG. 2(a). The waveforms of FIGS. 2(b) and 2(c) labeled Q 15  and Q 16  describe the operation of the divide by 3 or 4. The waveform FIG. 2(c) of Q 16  is essentially the waveform FIG. 2(b) of Q 15  delayed by one input cycle of input signal 12. The waveform FIG. 2(d) for controlling the divide by 3 or 4, shows the pattern of logic states developed on the 3/4 select line 14. Finally the waveforms FIGS. 2(e), (f), (g), (h) labeled Q 0 , Q 1 , Q 2  and Q 3  describe the outputs of the shift register 21. 
     During cycles of signal on the input 12, while the 3/4 select line 14 is high, the Q 15  output undergoes a cycle every four input cycles. During cycles of the input while the 3/4 select line is low, the Q 15  output is effectively inverted through gate 18 and wired-OR gate 17. This results in a high-level signal at the D input of flip-flop 15 after the Q 15  causes the Q 15  output to go high following the next positive transition of signal on input 12, as shown in FIG. 2(a). Therefore, while the 3/4 select line 14 is low, the 3/4 divider divides by 3. 
     The waveforms of FIGS. 2(e), (f), (g), and (h) labeled Q 0 , Q 1 , Q 2  and Q 3  describe the operation of the shift register 21 over divide-by-eleven cycle. Q 3  is connected in this embodiment to the parallel load control input of the shift register 21. To provide the proper pattern of logic levels on the 3/4 select line for divide by eleven operation, the programming inputs of the multiplexer 22 must select the Q 3  output of the shift register 21 to apply to the 3/4 select line. This is accomplished by applying a high logic level to both programming inputs A and B of the multiplexer 22. The programming inputs of the shift register 21 must also be properly selected. For a shift register 21 of Motorola type MC 10141, as shown, the D 0  and D 1  inputs must be low and the D 2  and D 3  inputs must be high. Additionally, the serial carry input, D L , must be in the low state. 
     The shift register 21, once properly programmed, begins to shift its data to the right for the connection shown in FIG. 1. At input transition 1 of FIG. 2(a), the parallel load control input of shift register 21 is low and the positive transition, a, on Q 15  causes the shift register 21 to be parallel loaded with the programming data described above. On the next positive transition, b, FIG. 2(b), the data is shifted by one cell in the shift register 21. This causes the Q 2  output of shift register 21 to go low. Other shift register outputs are unchanged. On transition C of FIG. 2(b), the Q 3  line goes low due to the shift of the low level signal present on output Q 2 . The output Q 3  is coupled to the 3/4 select line, so the 3/4 divider begins its divide by three sequence following transition C. The Q 3  output is connected to the parallel load control input, so the next positive transition of FIG. 2(b) causes the divide-by-eleven sequence to repeat. The Q 3  output is also connected to the output 20 for providing an output signal every eleven input cycles. 
     The Table of FIG. 3 contains programming information and 3/4 sequence descriptions for other divide numbers. Division by eight, if needed, can be implemented by adding a wired-OR gate (not shown) between the multiplexer Z output and pin 5 of the gate 18. The other input of the wired-OR gate is held high during divide-by-eight operation and the shift register 21 is programmed for the divide-by-seven case. The A and B control inputs of the multiplexer 22 are redundant for this case.