Enigm писал(а):По поводу фронтов.
Однозначно, существует какой-то гистерезис и пороговые значения лог. уровней, насколько правильно и как он реализован в модели я затрудняюсь сказать.
Измеряя длительность в диапазоне микросекунд и имея фронты в 1 мкс мы и будем получать погрешности в таком же диапазоне 1 -2 мкс.
Но я хотел обратить внимание, что в отличии от замера длинны импульса таймером, природа этой погрешности другая.
Захват - это аппаратная работа МК. Как только выполнилось условие на входе порта (уровень), аппаратные средства МК перекидывают значение таймера в регистр захвата и таким образом запоминают его. В этом случае нет ни каких задержек, присущих чтению таймера по прерыванию, когда после изменения уровня проходит некоторое время до момента чтения регистра таймера (рассмотривалось неоднократно) и поэтому чтение таймера нужно делать как можно быстрее. Функция захватат дает возможность не думать о задержках при обработке значения захвата (разумеется, в пределах периода до следующего захвата). Поэтому коррекция не может быть расчитана так как это было ранее. В данном случае ты просто опирался на известное значение длинны импульса. Фактически считается что захват происходит мгновенно (могут присутствовать ошибки внутренней синхронизации МК, но чем выше частота МК тем они меньше).