1. Field of the Invention
The object of the invention relates to a frequency divider.
It relates especially to a multi-octave frequency divider with a structure known as a funnel structure and a synchronous output.
It can be applied in the field of frequency synthesis and more particularly in the field of phase-locked loop frequency synthesis.
It can also constitute a basic cell of a programmable digital component of the FPGA (Field Programmable Gate Array) and DSP (Digital Signal Processing) type.
It can also be used for pulse generators with very low jitter.
2. Description of the Prior Art
It is formed by a prescaler 1 that divides the input frequency Fe by Na or by Na+1, a first counter A, referenced 2, whose output TC controls the division of the prescaler by Na or by Na+1, a second counter B, referenced 3, whose output TC is the output of the divider.
The assembly works as follows: when the counter B reaches the end of the counting stage (which corresponds to the end of a frame), it delivers the signal TC which respectively reloads the two counters with the values A and B, in complying with B≧A. A new frame then starts. So long as the counter A has not finished counting, the prescaler 1 divides the input frequency Fe by Na+1. This means that whenever A and B are counted down by one unit, the prescaler 1 counts (Na+1) cycles of the input signal with a period Te. The counter A therefore reaches the end of counting at the end of A*(Na+1) cycles with a duration Te. At this point in time, the counter A stops and orders the prescaler to perform a division by Na. To reach the end of counting, the counter B must again count B−A, which corresponds to Na*(B−A) cycles of the input signal. The device then returns to the initial state.
The total number of cycles of the input signal during a frame gives the division rank N of the divider:
N=A(Na+1)+Na(B−A)
N=A+BNa
So that N may evolve continuously in steps of 1, A should be programmable between 0 and Na−1. Since B is greater than or equal to A, we have Bmin=Na−1.
Hence Mmin=Na*(Na−1).
For a ⅘ prescaler, the minimum division rank needed to obtain continuity in steps of 1 is therefore equal to 12.
A structure of this kind has especially the following drawbacks:
The counters A and B are synchronous counters for which all the stages must work at a high frequency equal to Fe/Na,
For a division rank N varying from a few units to several hundreds of units, these synchronous counters give rise to very high consumption (given a high operating frequency and a large number of stages),
It is not easy to implement the fractional modes,
The number of logic layers between the input and the output is generally greater, thus limiting the phase noise performance.
The invention relates to a frequency divider enabling the division by N of a frequency Fe and comprising at least one prescaler followed by a division chain. The invention is characterized in that:
Should there be a single stage, the carry signal RX(K) is a command ΔNA.
The command NA of the division rank varies from N0 to 2*N0−1 where N0 is the minimum rank of the prescaler and a command ΔNA is equal to NA+1 in order to increment the division rank NA by one unit. N0 is for example of power of 2 and the command NA varies for example from 2P to 2(P+1)−1.
The device according to invention has especially the following advantages:
Other features and advantages of the invention shall appear more clearly from the following description of a detailed example that in no way restricts the scope of the invention, and from the appended figures of which
In the present invention, the term “prescaler” designates a divider placed at the front end of a division chain, generally having a simple structure and working at high speed.
Any other device having functional characteristics that are identical or substantially identical with this prescaler may be used.
It comprises for example a prescaler 10 whose division rank NA varies on one octave or substantially on one octave. The prescaler has one input which receives the signal to be divided Fe, one input for a command NA of the basic division rank of the prescaler, one input for a command NA/(NA+1) (making it possible to obtain a one-unit variation in the division rank of the prescaler, for example enabling it to be incremented by one unit) coming from a module 11 comprising one or more identical or substantially identical division stages.
The prescaler has, for example, a division rank NA varying from N0 to 2*N0−1 where N0 is the minimum rank of the prescaler.
In the example given here below by way of an illustration that in no way restricts the scope of the invention, NA may assume the values 2P to 2(P+1)−1 depending on the value of the control word of the division rank NA, referenced 12 and represented by the bits R(1), R(2) . . . R(P). Furthermore, a command NA/NA+1, referenced 13, which comes from the next division stage, enables division by NA or NA+1 depending on the value 0 or 1 of the command. (The value of P is chosen for example so that the prescaler has an optimum critical path).
For P=0, the prescaler is a divider by 1 that receives only the command NA/NA+1 which enables division by 1 or by 2.
For P=1, the prescaler divides by NA=2 or 3 depending on the value of R(1). The command NA/NA+1 makes it possible to obtain variations of 2 to 3 or 3 to 4 depending on the value of R(1).
For P=2, the prescaler divides by NA=4, 5, 6, 7 and the command NA/NA+1 makes it possible to obtain variations of ⅘, ⅚, 6/7 and ⅞. And so on and so forth for the other values of P.
In this example, the prescaler 10 is followed by Kmax−P stages which have an identical or substantially identical function and are series-connected to form the divider. The divider thus formed in this exemplary embodiment enables the division by a rank ranging from 2Kmax to 2(Kmax+1)−1 with a command RX(Kmax+1) that enables the division rank to be augmented by one unit.
A division stage K comprises for example a divider by 2, referenced 14K whose input is F(K−1) (frequency coming from the previous stage K−1) and whose output is F(K), a frequency that corresponds to the input of the following stage (K+1). The stage K also has a two-input switch 15K which is controlled by the output of the divider by 2, 14K. A first input of the switch is the carry signal RX(K+1) which comes from the following stage (named (K+1)), and a second input of the switch is the programming data R(K), line 16K. The output of the switch 15K is the carry signal RX(K) which is one of the two inputs of the switch 15K−1 of the stage K−1.
For the stage K=P+1, the output of the switch 15P+1 is the command NA/NA+1 of the prescaler. The addition of the stage P+1 after the prescaler 10 gives a divider that divides by a programmable rank NA′ with a value ranging from 2(P+1) to 2(P+2)−1. This divider has an input RX(P+2) which gives the command NA′/NA′+1. The addition of Kmax−P stages behind the prescaler gives a divider that divides by a programmable rank with a value ranging from 2(Kmax) to 2(Kmax+1)−1. This division rank may be incremented by 1 by the command RX(Kmax+1).
Other conventions can be used without changing the properties of the divider provided that the following rule is followed: the stage K reads the carry value coming from the stage K+1 on the state of the signal F(K) which is located just before the edge of F(K) which activates the changes in state for the stage K+1.
Since the divider is constituted by the ½ prescaler followed by the division stages K1, K2, K3, the duration of a counting frame of the divider is defined, for example, as the period of time constituted by a high state and a low state of the output signal of the last stage (the stage K3, in this example, and the signal F3).
This counting frame comprises two counting cycles of the stage K2. Each cycle is constituted by a high state and a low state whose durations may be different from one cycle to another, according to the propagation of the carry values RX. The counting frame therefore contains four counting cycles of the stage K1 and eight counting cycles of the prescaler 10.
The counting frame generally contains 2(Kmax−P) counting cycles of the prescaler when Kmax−P divide-by-2 stages are cascaded behind the prescaler. Each of these cycles has a duration equal to NA or NA+1 times the period of the input signal Fe.
The duration of these eight counting cycles is obtained by the propagation of the carry values during the counting frame (this propagation is done downstream to upstream). This propagation is represented in table 1 (
Finally, the duration of the counting frame is obtained. This duration is equal to: (8+4R1+2R2+R3+RX4)*Te, where Te is the period of the input signal of the divider.
For a prescaler ½ followed by Kmax divide-by-2 stages, the division rank obtained is:
In taking RX (Kmax+1)=0 (which means that the stage K is the last stage and that it receives no carry value) this division rank is written in binary mode very simply since the MSB is a 1. Then the different bits are R(1), R(2) until R(Kmax) which constitutes the LSB.
This is an advantage of the device. The decoding that enables the commands R(1), R(2) . . . , R(Kmax) to be presented to the different devices is obtained very simply from the binary word presented as a command of the division rank N.
The table (
This table 1 (
The structure shown in
This definition is found in the timing diagrams of this
In this exemplary implementation, the chains of the switches delivering TC(P+1) and MC(P+1) are provided at their inputs with logic levels used to obtain only one pulse per frame for each chain. This pulse is windowed down by F(P+1); hence it is synchronous with F(P+1) and has a duration equal to one cycle of the prescaler. The pulse TC(P+1) selects:
The pulse MC(P+1) selects the edge of F(P) neighboring the middle of the frame.
Thus, in selecting the appropriate transitions of F(P), the signals TC(P+1) and MC(P+1) make it possible to generate a signal that is the image of the output signal of the funnel F(P). Such a structure especially has the following advantages:
One way to obtain the signal TC(K) that represents the end of counting of the stage K is to:
One way to obtain MC(K) is to:
Different types of synchronous output, some examples of which are given here below, can be envisaged.
The first type, shown schematically in
A second type of synchronous output is given in
A third type of synchronous output (not shown in the figures) consists especially in sending the output TC(P+1) to the J and K inputs so as to alternatively obtain a high state and a low state, each state having the duration given by N*Te where Te is the input period of the clock and N is the overall division rank.
The synchronous output shown in
The basic signals for performing this resynchronization optimally are:
Other solutions of resynchronization on Fe can be achieved by imposing operational constraints on the prescaler such as, for example, the constraint of presenting a state of its output cycle with a constant duration. In the device of the invention, the signals TC(P+1), MC(P+1) and RX(P+1) are obtained without additional pulses. This is due to the funnel structure which works with inverse propagation: upstream to downstream for the chain of dividers by 2 and downstream to upstream for the chains RX, TC and MC.
As compared with the structure described in
Dynamic Changing of the Division Rank
According to the invention, it is possible to choose a new division rank from frame to frame (i.e. with dynamic change).
It comprises a prescaler 10 dividing by NA varying from N0 to 2*N0−1, for example from 2P to 2(P+1)−1, followed by Kmax−P stages corresponding to the funnel structure (described in detail in
The new division rank can be taken to account for example as follows:
For the divider according to
The divider comprises for example:
Such a structure advantageously enables the dynamic management of the counting length and hence makes it possible to obtain a division rank that is switchable from frame to frame, having the value 2(P+1) (maximum division rank of the prescaler) and 2(Kmax+1) (maximum division rank when all the stages of the device are active).
The stage K comprises, for example:
The asynchronous state machine 55 works with a piece of data which is the NEXT_ACT(K) signal and with two clock signals which are F(K−1) and TC(K). The clock signals set the rate of the succession of the states of the machine as a function of the piece of data NEXT_ACT(K) and as a function of the state of one of more storage flip-flop circuits internal to the machine.
The state machine delivers the signals DER(K) and ACT(K). The signal DER(K) is used to manage the quality of the last stage for the stage K and is used by the functions preparing the signals corresponding to the middle and end of counting of the stage K.
The signal ACT(K) is an activation signal for the next stage. The activation signal controls the switch located at output of the divider by 2. It is also transmitted to the next stage
Working of the Stage K
The description shall be limited here to the operation of the new functions as compared with the structure previously described in the paragraph on the synchronous output. These new functions are essentially:
When the stage K is not the last stage, the mid-counting and end-of-counting functions work as in the diagram describing the working of the funnel structure with synchronous output: i.e. TC(K+1) and MC(K+1) are windowed down by the signal D(K) to give TC(K) and MC(K) respectively.
When the stage K is the last stage, it is the signal DER(K) that is windowed down by D(K) and transmitted on MC(K) during the first part of the frame and TC(K) during the second part of the frame.
The asynchronous state machine comprises at least one storage flip-flop circuit ACT(K) that memorizes the active or non-active state of the next stage. The detail of the operating cycle of the state machine described here below is a preferred embodiment given by way of an example.
It is clear that modifications of this operating cycle are possible without changing the spirit of the invention.
Preferred Mode of Operation
At the beginning of the frame, all the flip-flop circuits ACT(K) and all the dividers are at zero and the stage (P+1) is considered to be the last stage.
The first edge of F(K−1) (relative to the start of the frame as defined in the previous paragraph) writes the value NEXT_ACT(K) in the storage flip-flop circuit ACT(K). If and only if the following stage is active, the output ACT(K) of this storage flip-flop circuit prompts the following two events:
Thus, when the signal TC makes a trace back along the chain of the stages starting from the last active stage towards the first active stage (which is always P+1), it resets all the flip-flop circuits ACT(K) and therefore opens the switches located between the dividers so as to leave all the dividers in the zero state. At the end of the frame, all the flip-flop circuits ACT(K) and all the dividers have therefore returned to the initial stage and the stage (P+1) is considered to be the last stage.
Advantageously, a dynamic management of the number of active stages is thus obtained: from frame to frame, it is possible to choose any value N between 2P+1 and 2Kmax+1.
This alternative embodiment including a simple asynchronous state machine in each stage of the divider makes it possible to obtain a division rank varying from 2P+1 (maximum division rank of the prescaler) to 2Kmax+1 (maximum division rank when all the stages of the device are active). This divider also shows optimum consumption because the entire management of the operation works at the speed of the stage concerned and carries out only a limited number of operations per frame (and not per cycle which makes a great difference).
Asynchronous State Machine
In its general form, this state machine consists of N D-type flip-flop circuits sharing the same clock input called CLK. A particular N-bit word stored in these D flip-flop circuits represents a state of the machine. There are therefore 2N possible states of the machine.
The input CLK is connected to the output of a 2N-position switch that is controlled by the state word of the machine, i.e. by the N-bit bus constituted by the Q outputs of the D flip-flop circuits.
The 2N inputs of this switch are the 2N clock signals which set the rate of the succession of the states of the machine. Each D input of each flip-flop circuit is also connected to the output of a switch with 2N inputs which is controlled by the N output-bits bus of the machine. Since there are N flip-flop circuits, there are N input switches each of which has 2N inputs. There is therefore a total of N*2N data inputs for the machine.
Number | Date | Country | Kind |
---|---|---|---|
03 01485 | Feb 2003 | FR | national |
Number | Name | Date | Kind |
---|---|---|---|
4011516 | Heimbigner et al. | Mar 1977 | A |
4179670 | Kingsbury | Dec 1979 | A |
4815018 | Reinhardt et al. | Mar 1989 | A |
5867068 | Keating | Feb 1999 | A |
5878101 | Aisaka | Mar 1999 | A |
6035182 | Shurboff | Mar 2000 | A |
6369623 | Heinen | Apr 2002 | B1 |
Number | Date | Country | |
---|---|---|---|
20040222825 A1 | Nov 2004 | US |