Там прерывания на ножках по фронту есть? Если есть то настраиваете одну ножку на +/- другую на -/+ и соединяете их вместе. А таймер пусть просто по кругу считает. Можно и одну ножку на изменение сигнала настроить, но тогда обработка чуть больше времени займет. Кстати время обработки прерывания оно скорей на минимальный интервал влияет чем на точность.