try this![]()
400*300+300=240.000 us
1.000.000 us /240.000 us =4,1666666667
4,1666666667*400 pulses =1.666,66666668 hz for one second if the quartz is precise.......
the pwm work good and the frequency counter confirm the exact frequency and its possible to stop it at a fixed point, now i need a second timer to count the y pulses other than 400) with a same time of x. The x train with 400 pulses do the work in: 400*300+300=240.000us. I need the same time for y, with pulses other than 400....
what's the lowest possible increment in uS units of the two other timers with 20mhz quartz?
i think thats the wrong questionwhat's the lowest possible increment in uS units of the two other timers with 20mhz quartz?
1. first thing is what time intervals are required to toggle the output at to achieve for the given number of pulses in the time frame
2. are they all possible within the available timer resolution ? how many pulses do you really need ? steps of 5 10, 50 ,1 ,2 ?
3. what method will be fast enough to toggle the output and count the pulses too .ie an isr or a fast loop to monitor timer overflows
PULSES TOGGLES PERIOD uS
100 199 1204.52
101 201 1192.54
150 299 801.67
200 399 600.75
250 499 480.36
300 599 400.17
350 699 342.92
400 799 300.00
450 899 266.63
500 999 239.94
550 1099 218.11
599 1197 200.25
600 1199 199.92
hi richard, to match the x pulses (1666hz) for the y pulses i need to set a range from 500us (250high+250low) to 7500us (3750high+3750low) the increment can be 50us. For your 3rd question i need your help....
if you go down that path then
then :-Code:
toggle /time pulses 250 479 300 399 350 342 400 299 450 266 500 239 550 217 600 199 650 184 700 171 750 159 800 149 850 141 900 133 950 126 1000 119 1050 114 1100 108 1150 104 1200 99 1250 95 1300 92 1350 88 1400 85 1450 82 1500 79 1550 77 1600 74 1650 72 1700 70 1750 68 1800 66 1850 64 1900 63 1950 61 2000 59 2050 58 2100 57 2150 55 2200 54 2250 53 2300 52 2350 51 2400 49 2450 48 2500 47 2550 47 2600 46 2650 45 2700 44 2750 43 2800 42 2850 42 2900 41 2950 40 3000 39 3050 39 3100 38 3150 38 3200 37 3250 36 3300 36 3350 35 3400 35 3450 34 3500 34 3550 33 3600 33 3650 32 3700 32 3750 31
1. your range is 31 to 479 pulses nothing like the 100-600 initially specified
2. not every period produces a different pulse count
3. pulses will not always finish synchronously within the 400 pulse stream
4. the pulse count varies in a non-linear manner
![]()
Bookmarks