Figure SW-2 shows an implementation of a waveform generator for the function which uses a K(clock) for the time base. In order to change the period of the waveform, the clock must be changed. The K(clock) would have either a fixed period waveform or be variable using a potentiometer. A programmable clock (given in the preceding section) would provide the variability needed for such a generator. Note with a K(clock) there is no data part which uses an RTM Bus. The only evoke complements the Output(t) function which is held in a DMflag. The function simply is 0,1,0,1,... with every clock period count.
Fig. SW-2. RTM diagram of square wave generator using clock 'time base.
1. Design a square wave generator which uses the K(delay) to specify the time. Note, two K(delay)'s are needed because of the recovery time restrictions of K(delay).
2. Design a square wave generator using the K(programmable delay) given in the problems of the clock-delay.
3. Design a square wave generator in which the period, T, consists of two variable parts, t-off and t-on. That is, T = t-on + t-off.
The Output(t) = 0 for 0 < t < t-off
= 1 for t-off < t <T
Use either a K(clock) and K(delay) or two K(delay)'s.
4. Design a complete system in which the output of the waveform generator, time t-off, is 1, and time t-on is proportional to the next Fibonacci number. Each time the waveform changes, a one is added to the number used to generate the Fibonacci number. That is: the Output(t) sequence will be:
off, on(0), off, on( 1), off, on (1), off, on(2), off, on(3) off ...
When the generator overflows it should be reset to start at 0.
5. What is the maximum rate for the clock in the case of the Fibonacci number generator? Can you redesign the system to increase this rate?