Содержание к диссертации
Введение
1 Методы обработки информации с индуктивных датчиков 12
1.1 Постановка задачи 12
1.2 Общие сведения. 12
1.3 Области применения индуктивных датчиков 15
1.4 Классификация методов обработки информации с первичного преобразователя 17
1.5 Амплитудное считывание информации с первичного преобразователя 19
1.5.1 Измерительные мосты и их использование в качестве преобразователей параметров 19
1.5.2 Преобразователи параметров с импульсным питанием и области их применения 22
1.6 Частотное считывание сигнала с первичного преобразователя 26
1.6.1 Возможные схемные решения преобразователей параметров.. 26
1.6.2 Измерение частоты и периода сигнала 30
1.6.3 Уменьшение погрешности измерения весовым методом 32
1.7 Проблема калибровки и линеаризации характеристики измерительной части системы 33
Выводы по главе 35
2 Анализ и проектирование измерительной части системы 37
2Л Постановка задачи 37
2.2 Анализ возможностей использования периферии современных микроконтроллеров для обработки сигналов .37
2.3 Проблема выбора метода считывания информации с первичного преобразователя 42
2.4 Анализ работы индуктивного первичного преобразователя при питании импульсным сигналом типа «меандр» 44
2.5 Сравнительные свойства преобразователей параметров при питании разными сигналами 51
2.6. Масштабирование сигнала при питании импульсным сигналом 54
2.7. Измерение периода сигнала 57
2.8. Измерение частоты периодического сигнала 66
2.9 Прямое измерение постоянной времени LR цепочки 71
2.10 Проблема датирования результата 72
2.11 Калибровка и линеаризация характеристики измерительной части системы 75
Выводы по главе ...84
3 Способы ввода сигнала с первичного преобразователя в микроконтроллер 86
3.1 Постановка задачи 86
3.2 Проблема выбора параметров усилителя при амплитудной модуляции: и питании измерительной цепи импульсным сигналом . ...86
3.3 Анализ работы схемы при питании измерительной цепи импульсным сигналом 90
3.4 Измерение периода сигнала с использованием встроенного модуля захвата 97
3.5 Измерение периода с использованием программного опроса состояния
входного сигнала 103
3.6 Измерение частоты с использованием точной программной задержки 107
3.7 Измерение частоты с использованием прерываний... 112
3.8 Линеаризация характеристики методом кусочно-линейной аппроксимации 113
Выводы по главе 118
4 Практические результаты применения предложенных методов 120
4.1 Универсальный STRONG модуль для макетирования 120
4.2 Результаты проверки алгоритмов измерения частоты и периода 122
4.2.1 Библиотека математических функций. 122
4.2.2 Цифровой частотомер на микроконтроллере PIC16F84A 122
4.2.3 Измерение периода с помощью микроконтроллера РІС 16F84A 125
4.3 Разработка угломерного устройства 127
4.3.1 Описание принципиальной схемы. 129
4.3.2 Программное обеспечение микроконтроллера угломерного устройства 131
4.3.3 Способ масштабирования 132
4.4 Разработка профилометра. 134
4.4.1 Описание принципиальной схемы 136
4.4.2 Программное обеспечение микроконтроллера профилометра 138 4.5. Разработка платы управления электродвигателем. 140
Основные результаты работы.
- Классификация методов обработки информации с первичного преобразователя
- Анализ возможностей использования периферии современных микроконтроллеров для обработки сигналов
- Проблема выбора параметров усилителя при амплитудной модуляции: и питании измерительной цепи импульсным сигналом
- Программное обеспечение микроконтроллера угломерного устройства
Введение к работе
Актуальность проблемы. В настоящее время наблюдается широкое внедрение всевозможных автоматических систем не только в промышленности, но и в повседневной жизни любого человека. В-состав таких систем входят всевозможные датчики. Чтобы система обладала минимальной стоимостью при широких функциональных возможностях, целесообразно ставить задачу проектирования всей системы в целом; не выделяя задачу проектирования датчика в отдельную проблему. При этом система должна с помощью датчика не только измерять параметры какого-либо физического процесса, но и выполнять какие-либо другие действия, зависящие от результатов измерения.
Такую систему разумно строить на основе микроконтроллера, так как это значительно повышает возможности системы благодаря вычислительным способностям микроконтроллера, уменьшает время разработки и стоимость системы в целом. На. рынке микроконтроллеров можно выделить два основных направления - шестнадцатибитные (и более) микроконтроллеры, имеющие в своем составе специальные средства ввода сигнала с разнообразных датчиков, и.восьмибитные микроконтроллеры, имеющие универсальную периферию. Микроконтроллеры со специальными возможностями, как правило, рассчитаны на промышленное применение, имеют значительную мощность и соответственно немалую стоимость. Восьмибитные микроконтроллеры благодаря своей универсальности и простоте дёшевы, поэтому подавляющее большинство изделий ориентировано именно на них.
В диссертации рассмотрены датчики на основе индуктивных преобразователей, отличающиеся простотой конструкции и широким распространением. Использование их в системе, построенной на основе недорогого микроконтроллера с ограниченными периферийными возможностями, ставит ряд задач, требующих решения для эффективного построения систем, но, с другой стороны, позволяет благодаря математическим возможностям контроллера расширить область их применения. Например, задача линеаризации характеристики легко решается с использованием математической обработки од-
0ТР^ I
новременно с задачей калибровки датчика и преобразования входного значения индуктивности в реальное значение измеряемой величины. Результаты, полученные в процессе исследований, во многих случаях применимы и к другим датчикам и системам.
Вместе с тем при использовании микроконтроллера появляются задачи иного плана, чем при создании чисто аппаратных средств решения проблем измерения и управления. Выделим некоторые из них.
Во-первых, архитектурные особенности микроконтроллеров накладывают определённые ограничения или заставляют учитывать эти особенности при решении конкретных задач.
Во-вторых, остаётся проблема оптимизации соотношения сложности дополнительных аппаратных средств и достигаемого эффекта, например, точности измерения.
В-третьих, применение микроконтроллеров позволяет по-новому ставить и решать проблемы.масштабирования,- линеаризапии.функ-ций преобразования, начального смещения нуля.
В-четвёртых, аппаратные возможности в сочетании с программными позволяют по-новому решать конкретные, проблемы или использовать методы, ранее считавшиеся неприемлемыми.
Применение современных микроконтроллеров в системах, использующих индуктивные датчики, позволяет значительно упростить аппаратные средства с одновременным повышением надёжности системы, практически исключить необходимость применения для коррекции масштаба и балансировки нуля потенциометров, расширить функциональные возможности при одновременном уменьшении времени и стоимости разработки. Поэтому проблему разработки программных и аппаратных средств обработки информации с индуктивных датчиков с использованием недорогих восьмибитных микроконтроллеров с ограниченной периферией следует считать актуальной.
Цели и задачи исследования. Цель состоит в разработке методов построения микроконтроллерных систем на основе восьмибитных микроконтроллеров с ограниченными периферийными возможностями, принимающих сигнал с индуктивных датчиков, уменьшении объема аппаратных средств таких систем.
Задачи исследования, решение которых необходимо для достижения этой цели:
произвести анализ существующих методов обработки сигналов с индуктивных датчиков с целью определения направлений исследования, дать рекомендации по выбору метода для конкретного применения;
пересмотреть и модернизировать методы измерения частоты и периода с учётом архитектурных особенностей микроконтроллеров, что позволяет исключить необходимость применения дополнительных аппаратных средств;
проанализировать возможности уменьшения аппаратных средств при амплитудной модуляции сигнала с датчика;
предложить методы масштабирования и линеаризации характеристик в микроконтроллерных системах.
Предмет исследования. В данной работе исследуются вопросы максимального использования аппаратных и программных возможностей современных восьмибитных микроконтроллеров при обработке сигналов с индуктивных датчиков с целью упрощения аппаратной части системы, расширения функциональных возможностей и повышения надёжности.
Основные методы исследования. В работе используется комплексный подход, совмещающий математические методы анализа электронных схем, численные методы и моделирование предлагаемых схем.
Научная новизна работы состоит в следующем:
доказана целесообразность использования в микроконтроллерных системах для питания преобразователей параметров импульсного сигнала типа «меандр», получаемого с помощью самого микроконтроллера, вместо традиционного синусоидального сигнала. Это существенно упрощает аппаратные средства, повышает амплитуду выходного сигнала;
разработан метод масштабирования изменением частоты опорного сигнала, что при питании импульсным сигналом реализуется
без применения дополнительных аппаратных средств и позволяет существенно упростить аппаратные средства, отказавшись от органов подстройки;
разработаны методы программного масштабиров'ания микроконтроллерных систем с предварительным расчётом таблиц. Это позволяет свести к минимуму необходимость применения потенциометров, повысить надёжность системы в целом и упростить процедуру коррекции масштаба при минимальной математической обработке в микроконтроллере;
уточнены области применения амплитудной и частотной модуляции в системах с индуктивными датчиками. Это позволяет облегчить задачу выбора аппаратных средств считывания информации, уменьшает время разработки систем;
модифицированы методы измерения частоты с учётом архитектурных особенностей микроконтроллеров. Это позволяет упростить аппаратные средства при использовании микроконтроллеров;
предложены инженерные методы расчёта аппаратных средств обработки информации с индуктивных датчиков.
Практическая ценность работы.
Предложенные модифицированные методы измерения частот позволяют более эффективно использовать микроконтроллеры при обработке информации с индуктивных датчиков.
Предложенный метод масштабирования изменением частоты питающего сигнала позволяет отказаться от применения в схеме регулировочных элементов и других аппаратных средств масштабирования и калибровки.
В результате разработки аппаратных средств с учетом особенностей использования микроконтроллера значительно уменьшен их объём.
Применение программной калибровки и программного масштабирования позволило полностью отказаться от применения потенциометров или каких-либо других аппаратных регулировочных элементов, что значительно упростило процесс калибровки.
— Предложены инженерные методы расчета аппаратных средств обработки сигналов с индуктивных датчиков.
Основные положения, выносимые на защиту;
метод выбора способа модуляции сигнала с индуктивного датчика;
методы измерения частоты и периода сигнала с учётом возможностей микроконтроллеров при частотной модуляции сигнала с индуктивного датчика в предположении минимума дополнительных аппаратных средств;
метод расчета аппаратных средств при аналоговой модуляции сигнала с индуктивного датчика при их питании прямоугольными импульсами;
метод масштабирования микроконтроллерной системы путём изменения частоты опорного сигнала, питающего измерительный мост;
метод калибровки и масштабирования измерительной части системы, использующий линейную аппроксимацию, на основе предварительного расчёта характеристики прибора, алгоритмы реализации линейной аппроксимации с учётом специфики микроконтроллеров и существующих типов энергонезависимой памяти данных.
Апробация и внедрение результатов работы.
С целью подтверждения результатов был проведен ряд исследований, как с помощью теории электрических цепей, с использованием электронного моделирования, так и с помощью создания работоспособных макетов.
Разработанные алгоритмы и методы были использованы при проектировании нескольких устройств. Наиболее полно исследуемые методы применялись при построении угломерного устройства и профилометра.
Основные научные результаты диссертационной работы докладывались на конференциях:
VI Всероссийская научная конференция студентов и аспиран
тов «Техническая кибернетика, радиоэлектроника и системы управ
ления», г.Таганрог, 2002 г., 10-11 октября;
V Международная научно-техническая конференция, «Новые информационные технологии и системы», г. Пенза, 2002;
конференция молодых учёных и студентов «Актуальные проблемы современной науки», г. Самара, 2000 г., сентябрь.
По теме диссертации опубликовано 10 печатных работ.
Структура и объем работы. Диссертация состоит из введения, четырех глав и заключения, библиографического списка, включающего 37 наименований, и приложения. Работа изложена на 147 страницах машинописного текста, иллюстрированного 45 рисунками.
Классификация методов обработки информации с первичного преобразователя
Существующие варианты обработки информации, заключенной в изменении индуктивности датчика, обобщены в таблице 1.1. Данные варианты получены на основе обзора литературы [23,33, 35,37].
Традиционно индуктивность датчика включается в мост, питаемый синусоидальным сигналом. Далее полученный сигнал усиливается, детектируется и т.д. Для преобразования информации в цифровую форму при таком подходе используется АЦП, а с целью повышения линейности и чувствительности используются дифференциальные датчики.
Другой подход, получивший распространение с развитием цифровой техники, основан на изменении частоты генератора при изменении индуктивности катушки. Преимуществом таких схем является значительно меньшая сложность и меньшая погрешность, а также возможность обработки сигнала чисто цифровыми схемами, основным недостатком является меньшее быстродействие.
Мостовые схемы находят чрезвычайно широкое применение в измерительной технике [13, 17-21,23] для измерения активных сопротивлений, индуктивности, ёмкости, угла диэлектрических потерь конденсаторов и других параметров компонентов электрической цепи. Мостовые схемы позволяют создавать приборы для измерения и неэлектрических величин. С помощью датчиков измеряемые физические величины преобразуются к виду, удобному для работы в мостовой схеме.
Широкое применение мостовых схем обусловлено высокой точностью измерения, высокой чувствительностью, универсальностью в применении.
Ограничимся рассмотрением одинарных мостов, которые вполне нас устроят в предполагаемом применении для получения сигнала с индуктивного датчика при приемлемой точности. Схема одинарного моста представлена на рисунке 1.3.
В общем случае плечи моста содержат комплексные сопротивления Z1...Z4. Мост питается напряжением Ui(t), в качестве которого обычно используется постоянное или синусоидальное напряжение с известными величинами амплитуды и частоты. Диагональ Z0 считается выходной и используется для формирования выходного сигнала. Зависимость тока Іо в нагрузке Z0 от параметров моста и напряжения питания выражается формулой: j _v Z1-Z4-Z2-Z3 а2у - -1 Z0-(Z2 + Z2)-(Z3 + Z4) + Z1-Z2-(Z3 + Z4) + Z3-Z4-(Z1 + Z2)" V ; Если подбором параметров моста достигается баланс, то есть равенство нулю тока 1о, то достигается это при равенстве нулю числителя выражения: Z1Z4-Z2Z3 (1.3)
Это условие равновесия моста. Используя это равенство, можно рассчитать значение неизвестного параметра мостовой схемы. Если мост содержит только активные сопротивления, то сделать расчёт достаточно просто. Если же сопротивления комплексные и содержат как активные составляющие, так и реактивные, то процедура расчёта усложняется.
В общем виде справедливы равенства: Z\-R\+j-X% Z2-R2 + J-X2, Z3-R3+J-X3, Zl-Rl+j-Xl. (1.4) Подставив значения полных сопротивлений в условие равновесия, можно получить два равенства: для мнимой и действительной частей, соблюдаемые в момент равновесия моста: R1-R4-XVX4-R2-R3-X2-X1; /-, дч RVX4 + R4-X1»R2-X3 + R3-X2. Добившись равновесия моста, можно рассчитать активную и реактивную составляющие одного из плеч моста. При таком использовании моста для измерения параметров плеча требуется выполнять расчёт для получения результата, что делает неудобным применение мостов. Но в случае использования мостовых схем совместно с датчиками возможно непосредственное формирование амплитудно-моудлированного сигнала в диагонали моста. Это особенно справедливо в том случае, когда изменение входного параметра датчика наблюдается в незначительных пределах относительно исходного значения.
Мосты, в которых значение интересующего параметра определяется значением тока или напряжения в диагонали моста при отсутствии равновесия, называют неуравновешенными. Будем ориентироваться именно на такое использование мостовых схем.
Максимальную чувствительность и приемлемую линейность зависимости амплитуды выходного сигнала от физического воздействия на датчик можно достичь применением дифференциальных индуктивных датчиков [1]. В этом случае схема включения катушек индуктивности датчика в мостовую схему может выглядеть так, как показано на рисунке 1.4.
Анализ возможностей использования периферии современных микроконтроллеров для обработки сигналов
Построение различных узлов преобразования сигнала заставляет применять определенные схемотехнические приемы, использующие различные аппаратные средства. Если ставить задачу уменьшения аппаратных средств при использовании микроконтроллера, то требуется при построении тех же узлов максимально использовать встроенные в микроконтроллер аппаратные средства, то есть его периферию.
Кроме того, применение встроенной периферии позволяет добиться большей точности, чем применение только программных средств, в основном из-за уменьшения времени реакции на изменения сигнала и отсутствия неоднозначности в моментах реагирования, присущей программным средствам.
Рассмотрим наиболее популярные на сегодняшний день восьмибитные микроконтроллеры и определим, какую периферию можно считать наиболее распространенной, то есть имеющейся в наибольшем количестве контроллеров.
Микроконтроллеры фирмы Atmel делятся на два семейства - MCS51 совместимое семейство микроконтроллеров At89 и семейство с RISC ядром At-Mega и АТ90.
Почти все микроконтроллеры первого семейства и микроконтроллеры семейства АТ90 имеют в своем составе несколько .таймеров-счётчиков, имеющих возможность использовать внутреннюю частоту, в двенадцать раз меньше тактовой. Максимальная тактовая частота в зависимости от типа достигает 33МГц. Таймер-счётчик может быть сконфигурирован несколькими способами: как схема захвата, срабатывающая по спадающему фронту входного сигнала и переписывающая содержимое таймера в специальный регистр, в режиме перезапуска, при котором по спадающему фронту содержимое специального регистра переписывается в таймер, и в режиме автоматического перезапуска, в котором перезапуск осуществляется по достижении крайнего значения. В последнем режиме таймер работает как программируемый генераторна внутренняя частота таймера может достигать половины тактовой частоты контроллера. Некоторые микроконтроллеры содержат также аналоговый компаратор, оба входа которого выведены наружу.
Более современные микроконтроллеры семейств ATMega уже имеют на входе схем таймера/захвата предделители, а частота прибавления таймера увеличилась до 1А тактовой частоты контроллера, правда, тактовая частота контроллера уменьшилась до 8 МГц из-за смены архитектуры. Кроме того, в составе микроконтроллеров появился 10-разрядный АЦП. Менее известные микроконтроллеры Intel MCS51 также содержат схемы таймеров-счётчиков с возможностью реализации режима захвата.
Широко распространённые дешевые микроконтроллеры фирмы Microchip, начиная с ранних версий, содержат в своем составе таймеры-счетчики, которые могут конфигурироваться как схемы захвата по любому из фронтов, с предделителем на 2, 16 и 128.. Максимальная частота прибавления таймера равна Ул от тактовой частоты контроллера. Тактовая частота достигает 33МГц у дорогих контроллеров и 20МГц у дешёвых. Также возможна конфигурация таймера как ШИМ-генератора с частотой до 1/8 тактовой частоты. В составе многих контроллеров есть АЦП, в некоторых — десятиразрядный- АЦП оснащён входным селектором с числом входов от пяти до восьми.
Микроконтроллеры Scenix интересны большой тактовой частотой - до 150МГц, при возможности выполнять почти все команды за один период тактовой частоты.. Это дает возможность возлагать на программное обеспечение обязанности аппаратной части контроллера. Микроконтроллеры младших моделей практически не содержат расширенной периферии. Единственное исключение сделано для компаратора, который имеется во всех версиях контроллера. Изготовитель предлагает использовать компаратор для программного построения простейшего АЦП, пользуясь большой тактовой частотой. Микроконтроллеры старших моделей уже содержат два дополнительных таймера-счётчика с реализацией режимов захвата и сравнения, а также с возможностью конфигурации как ШИМ - модуля.
Микроконтроллеры Z86 при тактовой частоте до 4 МГц содержат два аналоговых компаратора и таймеры-счётчики без возможности реализации режима захвата или возможности конфигурации как ШИМ - генератор.
Наиболее известные современные отечественные микроконтроллеры 1878ВЕ1 имеют в составе своей периферии таймер-счётчик и сторожевой таймер с возможностью использования его как интервального таймера. Кроме того, возможны прерывания по любому (выборочно) фронту на любом выводе микросхемы.
Проблема выбора параметров усилителя при амплитудной модуляции: и питании измерительной цепи импульсным сигналом
При питании первичного преобразователя импульсным сигналом возникает проблема обоснованного выбора параметров усилителя У1, используемого перед фазочувствительным детектором (рисунок 2.5). Выбор усилителя определяет достижимую точность измерения. Можно заметить, что к этому усилителю следует предъявить требования по стабильности коэффициента усиления с цепями обратной связи, но требования к величине смещения нуля и температурной стабильности этого смещения не столь велики. В процессе проктирования измерительной части системы необходимо определить требуемый для выбранного датчика и условий его работы коэффициент усиления усилителя без цепей обратной связи к частоту единичного усиления /,, максимально необходимую скорость изменения выходного сигнала или скорость слежения усилителя Vmax» С учетом обоснованно выбранных упомянутых параметров можно осуществить выбор микросхемы усилителя. Начнем с определения требуемого коэффициента усиления без обратной: связи, к„ А,„і.и частоты единичного усиления
Обычно усилитель строится с использованием операционного усилителя с глубокой отрицательной обратной связью, характеризуемой коэффициентом р. Если коэффициент усиления усилителя без обратной связи равен ku, то модуль коэффициента усиления с обратной связью кж определится из выражения: кК=—-—.. (3.1) При большом коэффициенте усиления без обратной связи можно пренебречь единицей в знаменателе, т.е. справедливо равенство: = (3-2)
То есть коэффициент усиления определяется только параметрами компонентов цепи обратной связи. Если граничная частота усиления операционного усилителя близка к рабочей частоте сигнала, то приходится учитывать влияние коэффициента усиления собственно усилителя. Зададим с помощью масштабного коэффициента км 1 возможное уменьшение коэффициента усиления kK за счёт ограниченности усиления выбранного операционного усилителя. Определим при этом минимальное значение коэффициента усиления операционного усилителя kuma из выражения: "- -1.Л 1 (3-3)
Из этого выражения получим значение минимального коэффициента усиления операционного усилителя на частоте сигнала:
При питании первичного преобразователя импульсным сигналом возникает проблема выбора операционного усилителя с учётом спектрального состава сигнала. Первый период подлежащего усилению сигнала описывается выражением: и2= maxl U. в") если 0 t 0.5у (3.5) ги КиГ(е т -е ") если 0.5 t Tt
Это выражение получено с учётом формулы (2.4). Если аппроксимировать это выражение рядом Фурье, то ряд будет содержать только нечётные гармоники. Значимая информация заключается в интеграле модуля сигнала, поэтому учитывать будем только первый полупериод сигнала иг, обозначив его через Ti=0.5T. Значения коэффициентов ряда определится из выражений: т М о 2\ (3.6) г1 _« fl е Tl)-cos(kcot)-dt; = -J «r( Г е )-8ш(ЬиО-Л,. = 1,3,5,7,.. . Интерес представляют модули коэффициентов сА: ск=4" +Ьк\ (3.8)
Предложенные интегралы относятся к табличным и могут быть решены аналитически. Чтобы не тратить на это время, используем Matcad . Рассчитаем коэффициенты Cj в предположении, что постоянные времени отличаются на 10%, UBUKi =1 и не будем учитывать коэффициенты перед интегралами. Резуль-таты расчётов для шести первых нечётных гармоник представлены в таблице 3.1.
Наибольший вклад в результирующий сигнал вносят первые две гармоники. Желательно, конечно, чтобы полоса пропускания усилителя позволяла усилить линейно максимальное число гармоник. С другой стороны, информация о сигнале заложена в амплитуду любой гармоники, что позволяет ограничиться, например, первой гармоникой. Ограничимся двумя первыми. Будем считать, что на частоте третьей гармоники коэффициент усиления не должен быть ниже величины, определённой выражением (3.4). Тогда частота единичного усиления fi, которой характеризуют операционные усилители, может быть оценена из выражения: J\ ос min /( =3)
Зная амплитуду выходного сигнала с широтно-импульсного модулятора микроконтроллера Uaaxl и диапазон изменения постоянных времени индуктивных датчиков гтн1и г из выражения(2.10) можно определить соотношение между амплитудой выходного сигнала усилителя У1 и его коэффициентов усиления Киї min ІИЇ max 2 \u. max! KU\ mm __ nun max J \ max J (3.10) Требуемая скорость слежения усилителя определяется с учетом выражения .! 7]из следующего неравенства: V Z твГ 1 (Л (3.11) шах mm Таким образом, используя выражения (3.9, ЗЛО, 3.11),можно определить требования к динамическим свойствам операционного усилителя и к его коэффициенту усиления с цепями обратной связи.
Программное обеспечение микроконтроллера угломерного устройства
При отсутствии в микроконтроллере модуля захвата можно организовать процедуру измерения периода без использования какой-либо периферии кроме входа сигнала. При этом опрос состояния сигнала производится программным путем в цикле, что накладывает жесткие ограничения на минимальную длительность каждого уровня сигнала и на максимальную частоту сигнала, кроме того, полностью загружает контроллер, так как использование прерываний в процессе измерения невозможно. Однако такой вариант реализации полезен тем, что осуществим на самых дешевых и простых микроконтроллерах. Это дает возможность использовать простой микроконтроллер как отдельный элемент системы, организующий процесс измерения конкретного датчика, обрабатывающий результаты и передающий их основной системе по какой-либо простой шине типа I2C, либо выполняющий простейшие действия в промежутках между измерениями.
Таблица 3.3. Алгоритм программного измерения периода сигнала. 1. Действия основной программы 3. Обнуление счетчика длительности измерения и счетчика циклов 4. Ожидание переключения сигнала в ноль. 5. Ожидание переключения сигнала в единицу. 6. Начало цикла ожидания спадающего фронта 7. Прибавление счетчика длительности 8. При переполнении счетчика - переход к состоянию ошибки — слишком низкая частота сигнала 9. Если сигнал равен единице - возвращение к 6-му пункту 10.Прибавление единицы к счетчику длительности 11 Прибавление единицы к счетчику периодов сигнала 12.Выравнивание времени перехода между циклами до значения времени выполнения цикла 13.Начало цикла ожидания нарастающего фронта 14. Прибавление счетчика длительности 15.При переполнении счетчика - переход к состоянию ошибки — слишком низкая частота сигнала Іб.Если сигнал равен нулю — возвращение к 12 пункту 17.Проверка набора требуемого количества циклов - если набрано, переход к 19 пункту 18.Прибавление единицы к счетчику длительности 19.Выравнивание времени прохода между циклами до значения времени выполнения цикла 20. Переход к 4 пункту - опрос следующего периода сигнала 21 .Вычисление результата делением значения счетчика циклов на количество периодов.
Алгоритм состоит из двух основных циклов - ожидания спадающего и нарастающего фронтов. Циклы ничем кроме ожидаемого значения сигнала не различаются. Между циклами выполняется прибавление счетчика пришедших периодов и проверка счетчика циклов измерения, то есть счетчика времени измерения, на возможность завершить измерение. Для того, чтобы не нарушать подсчет времени, промежутки между циклами также выравниваются по длительности с циклами, и в них происходит прибавление счетчика циклов.
Реализация данного алгоритма полностью соответствует описанному в главе 2. Частотой счетных импульсов в данном случае является время выполне ния одного цикла опроса входного сигнала. На сигнал накладываются ограничения:
1. Длительность единичного и нулевого сигнала должна быть не менее длительности счетного импульса Тсч, т.е. не менее длительности одного цикла опроса, для гарантированной регистрации фронта.
2. Период сигнала должен быть не менее 4 Тсч, так как в противном случае алгоритм не будет успевать считать периоды.
Для оценки возможности реализации такого алгоритма и получаемых при этом параметров рассмотрим программу, приведенную в таблице 3.4 и реализующую данный алгоритм для микроконтроллера PIC12C508A или любого другого этой фирмы.