If you use the hardware timers (as mentioned in my page above) you can trigger on either the leading or trailing edge which would eliminate the problem of the "up" side being longer than the "down" side.
If you use the hardware timers (as mentioned in my page above) you can trigger on either the leading or trailing edge which would eliminate the problem of the "up" side being longer than the "down" side.