Many applications use PLL's to generate frequencies where long-term frequency accuracy is necessary, but where a certain amount of short-term jitter might be acceptable. I've seen a number of devices with very-low-current low-to-moderate-precision oscillators, and was wondering whether it would be practical for device manufacturers to reduce device current consumption by replacing PLL's with other approaches, such as (note some of the following terms are my own invention, since I don't know of standard names for these techniques):
- Putt-putt-wait: If the goal is to have a signal that's N times the input frequency, arrange for the oscillator frequency to be at least N times the input frequency; let the oscillator run for N pulses, stop it until the next input pulse, run for N pulses, stop until next input, etc.
- Putt-putt-skip: If the goal is to have a signal that's N times the input frequency, arrange for the oscillator frequency to be at least N times the input frequency; allow N pulses of the oscillator through, then stifle pulses from the oscillator until the next input pulse, then let another N pulses through, etc.
- Fractional-rate division: If the goal is to have a signal that's N times the input frequency, arrange for the oscillator frequency to be at least N times the input frequency, and provide hardware to stifle a programmable fraction of the oscillator pulses. Either hardware or software may then adjust what fraction of the oscillator pulses are dropped so as to maintain a consistent phase relationship with the reference wave.
- Rate-control dithering: If the goal is to have a signal that's N times the input frequency, allow the oscillator frequency be instantly switchable between a rate that's too fast and one that's too slow, and provide hardware to make a programmable fraction of the cycles be "slow" ones. As above, software or software could adjust this fraction so as to maintain a phase lock if desired.
All of these approaches would have the restriction that the oscillator rate has to be guaranteed to be slow enough not to violate the device's internal cycle timings, but I would expect that in many cases they would make it practical to keep a precise counter/timing reference alive even during sleep mode.
What advantages or disadvantages are there to using approaches like the above in lieu of a PLL? I've never seen the latter two approaches used, but I would think that in many cases they'd provide adequate performance while using a fraction of the power of a PLL (perhaps some "digital PLL"'s use approach #3, but I've never heard of such things operating in sub-mA range)