Болл С.Р. Аналоговые интерфейсы микроконтроллеров (2007) (1264220), страница 25
Текст из файла (страница 25)
Однако этот метод добавляет задержку в систему за счет дополнительной подпрограммы обработки прерываний. Второй эффект от изменения периода ИС МАХ6576 — изменение времени, требуемого для получения результата. При новых установках чтение температуры может производиться только раз в 9.6 мс (при — 30'С) или в 14.9 мс (при 100'С). Если ИС МАХ6576 сконфигурирована для работы с минимальной крутизной преобразования (640 мкс/К), время между процедурами чтения будет длиться от 0.15 до 0.24 с. Это может составить проблему в конкретном применении. Частота тактовых импульсов должна быть согласована с частотой и разрешением входного сигнала. Это может наложить некоторые ограничения на выбор микропроцессора.
Например, некоторые микроконтроллеры могут захватывать сигнал, частота которого кратна тактовой частоте процессора, например 1/4 или 1/8 от тактовой частоты. Так 8-МГц процессор такого типа смог бы измерить период входного сигнала только с точностью 0.5 или 1 мкс. Этого может оказаться недостаточно для вашей разработки. Как упоминалось в главе 1, разрешение и динамический диапазон— важные параметры аналоговых систем. При измерении аналоговых величин с промежуточным преобразованием в цифровую величину — длительность или период, — наименьший измеряемый интервал может быль эквивалентен разрешающей способности, а наибольший интервал — величине динамического диапазона.
Анализ требуемой точности и диапазона измерений необходимо производить всякий раз, когда применяется преобразование в частоту или период при измерении аналоговых величин. 4.6. Увеличение точности при ограниченном разрешении Каждый раз при измерении периода сигнала с помощью микропроцессора, к погрешности измерений добавляется (или вычитается) один такт. Для должной точности измерений вы можете произвести измерение при большом количестве тактовых импульсов. Сигналы, длительность которых составляет всего несколько тактов, не могут быть измерены точно. Например, на Рнс. 4.9 микропроцессором измеряется сигнал, который длится 2.5 134 ° Глава 4. Измерение временных параметров периода прерывания.
В этом случае микропроцессор мог бы подсчитать число прерываний за время сигнала. Как показано на рисунке, число прерываний колеблется между 2 и 3, в связи с неопределенностью момента старта сигнала. Невозможно ничего сказать о длительности сигнала, используя только одно измерение.
На рисунке показано измерение с помощью прерываний от обычного таймера. А В С Прерывание от таймера Если период измеряется здесь, то счетчик досчитает до 3 (3 прерывания: А, В и С произойдут между передним и задним фронтом импульса) Если период измеряется здесм то счетчик досчитает до 2 (2 прерывания: В и С произойдут между передним и задним фронтом импульса) Если период измеряется здесь, то счетчик досчитает до 3 (3 прерывания: А, В и С) Если период измеряется здесь, то счетчик досчитает до 2 (2 прерывания: А и В) Рас. 4.9. Неопределенность в один такт при измерении длительности сигналов Подобные ситуации встречаются в тех случаях, когда: ° Необходимо измерить очень короткий сигнал с помощью таймера с ограниченной разрешающей способностью. На многих РС-совместимых компьютерах, минимальный период таймера для таких измерений составляет 122 мкс.
° Измеряемый сигнал, слишком короткий для измерения с заданной точностью, потребовал бы слишком быстрых прерываний, не осуществимых при данной пропускной способности микропроцессора. ° В системе есть быстрый таймер, но он требуется для других функ- ций. 4.б. Увеличение точности нри ограниченном разрешении ° 135 И при таких ограничениях существует возможность произвести точные измерения. Каждое измерение на Рис.
4.9 будет давать результат где-то между 2 и 3 прерываниями таймера. Если сделано большое число измерений, то средняя величина даст действительное значение длительности импульса. Например, для длительности 2.5 при 50% измерений получится 2 и при остальных 50% получится 3. Если длительность составит 2.75, то процентные соотношения измеренных итогов 2 и 3 составят 25% и 75% соответственно. Для точного измерения короткого сигнала можно проделать 100 измерений, сложить данные, а затем разделить результат на 100. Интересно, что данный метод работает, даже если длительность сигнала меньше одного периода таймера. Естественно, такие вычисления потребуют применения математики с плавающей точкой.
Однако можно разделить, например, на 1О, а не на 100, и получить результат 25. До тех пор, пока точность одной десятичной позиции будет соответствовать требуемой точности, данный принцип будет работать. Если требуется большая точность, но нет возможности использования математики с плавающей точкой, можно записывать результат в виде 16-битных чисел, оставляя примерно 4...8 цифр для дробной части. Чтобы объяснить, как работает такой метод измерений, можно попробовать измерить сигнал, длительность которого меньше одного тактового периода. Например, это прямоугольный импульс, период импульса равен 400 мкс.
При измерениях с помощью следующих через 1 мс прерываний, период сигнала составит лишь 40% от тактового. Если фронт сигнала появляется случайно, то вероятность того, что прерывание случится между фронтом и спадом сигнала составляет 40% Допустим, при первом измерении прерывание произошло вне временных рамок сигнала, тогда в счетчик прерываний запишется О. Однако, если произведено много измерений, то в сорока процентах из них в счетчик будет записана 1. При длительности сигнала, превышающей тактовый период, действует тот же принцип. В предыдущем примере с длительностью сигнала 2.5 можно сказать, по 2 прерывания за время импульса случатся с вероятностью 100%. Существует 50-процентная вероятность, что за время импульса произойдет третье прерывание.
Снова, если усреднигь большое число измерений, то получится результат, близкий к действительной величине. Чем больше произвести измерений 1выборок), тем точнее будет результат. В Табл. 4.1 приведено соотношение между числом измерений, величиной в процентах и результатом, полученным с помощью данного метода. 136 ° Глава 4. Измеренне временных нарамемров Таблица 4.1. Статистические данные, полученные прп проведении 100 и 1000 пзмереппй (выборок) Данные Табл. 4.1 получены с помощью функции гапдош программы М)сгозой Ехсе! (ем.
Приложение Г). Как можно заметить, увеличение числа измерений от 100 до 1000 значительно увеличивает точность результата. Хотя метод позволяет произвести измерения с большой точностью, существуют и некоторые ограничения: ° Измеряемый сигнал нельзя синхронизировать с тактовыми импульсами. Такая методика работает, только если сигналы поступают случайно по отношению к тактовой последовательности. Как бы то ни было, сигнал может быть повторяющимся, например, периодической последовательностью прямоугольных импульсов. Старт и стоп события могут формироваться программным обеспечением, если они не синхронизированы с входным сигналом.
° В системе должна быть возможность производить операцию деления, которую, конечно, можно упростить, используя двоичный код (128, 1024 и т. д.). Тогда операцию деления можно заменить операцией сдвига. ° Длительность измеряемого сигнала не должна меняться за все время измерений. ° Общая точность ограничивается числом произведенных измерений и стабильностью временных параметров тактовых импульсов. Например, если измерения производятся с помощью прерываний процессора, вариации задержки прерываний скажутся на общем результате. ° Общее время измерений равняется периоду сигнала, умноженному на число измерений.
При возрастании периода, общее время измерений может возрасти очень значительно. На Рпс.4.10 показаны два периодических сигнала, измеряемых данным методом. Оба сигнала представляют собой последовательность пря- 4.6. Увеличение точносши нри ограниченном разрешении ° 137 моугольных импульсов от ИС МАХ6576, результат определяется как интервалы времени между фронтами импульсов. Для обеих последовательностей число прерываний, посчитанных за период, заметно меньше результата на рисунке.
В данном примере результат вычисляется также подсчетом прерываний. Частота первой последовательности в 1.2 раза выше частоты следования прерываний. Если сложить число зарегистрированных прерываний (11) и поделить на число итогов (9), получится 1.22. Это довольно точное измерение периода сигнала с учетом того, что произведено всего 9 измерений. Частота второй последовательности составляет 60% от частоты прерываний.
Если сложить число зарегистрированных прерываний и поделить на число итогов, получим 0.578. Снова мы получили довольно точное приближение. Большее число измерений даст еще более точный результат. Типичное применение этого метода — холодильник, в котором измерение температуры производится с использованием ИС МАХ6576. В холодильнике обычно температура не меняется очень быстро, поэтому можно применить усреднение за 100 или 1000 измерений.