Болл С.Р. Аналоговые интерфейсы микроконтроллеров (2007) (1264220), страница 5
Текст из файла (страница 5)
При использовании РС-подобной архитектуры следует удостовериться, что выбранные вами программное обеспечение и операционная система будут поддерживать необходимые функции. 1.7.4. Системные требования Нужен ли вам процессор, способный проводить вычисления с плавающей точкой для обработки данных? Если так, то простым 8-битным микроконтроллером не обойтись.
Понадобится, по крайней мере, компьютер на основе 486-го процессора. Потребуется ли для выбранной скорости передачи данных процессор с прямым доступом к памяти? Подобное изучение круга решаемых задач помогает выбрать подходящий микропроцессор. В некоторых случаях, возможно, лучше немного переделать технические средства, работающие совместно с микропроцессором для снижения цены прибора, чем применять дорогостоящий экземпляр процессора. Данное утверждение иллюстрируется на следующем примере.
Представьте, что колесо, приводимое в движение двигателем, производит прерывание в вашей программе через каждые 20 градусов поворота (Рве. 1.2). Двигатель может вращаться с разной скоростью, и процессор должен отслеживать эти изменения, так как включает соленоид, чтобы открыть клапан через несколько градусов вращения после вызова процедуры обработки прерывания. Такие 20-градусные прерывания будут повторяться через каждые 3.3 мс, если колесо вращается со скоростью 1000 оборотов в минуту, либо через каждые 666 мкс, если скорость вращения равна 5000 об./мин. Если процессор использует таймер для измерения скорости вращения (времени между прерываниями) с тактовой частотой 1 Мрц, то между прерываниями на скорости 1000 об./мин таймер сделает 3300 отсчетов, а на скорости 5000 об./мин — 666 отсчетов.
26 ° Глава 1. Параметры сиспгвмы 20 градусов угла поворота колеса Прерывание МП от датчика, уствновленного нв вращающемся колесе Микропроцессордолжен включить некоторое устродствочерез несколько грвдусов обороте колеса после прерыввния Метки угла поворота нвколесечерез каждые 20 градусов Рис. 1.2. Временные диаграммы вращения колеса Скажем, процессор должен включить соленоид после поворота колеса на 5 градусов после очередного прерывания, как показано на Рис.1.2.
Формула для вычисления времени таймера (сколько должно быть добавлено к текущему отсчету для задержки на 5') выглядит следующим образом: 5' задержка Приращение таймера = х Лl, 20' / прерывание где )у — число отсчетов таймера на прерывания. Так, на скорости 1000 об./мин задержка 5' составит 825 отсчетов таймера, а на 5000 об./мин — 166 отсчетов.
Применение данного метода во встроенных системах с использованием ограниченных по производительности процессоров проблемно из-за необходимости проведения операции деления. Деление очень затратная по времени операция для программного обеспечения, и для данного метода лучше выбрать процессор со встроенной инструкцией деления. Если заменить нашу измерительную систему так, чтобы двадцатиградусные метки были поделены на двоичные величины, вычисления становятся гораздо проще.
Скажем, мы решили поделить 20-градусные метки на 32 равные части, каждая — по 0.625'. Теперь переименуем наши приращения. Приращение 5' будет теперь 5/0.625 или 8 единиц. Формула будет выглядеть следующим образом: Приращение таймера = 8 х )ту. 32 /прврыванив 68. Частота дискретизации и налолсение ° 27 Это даст нам тот же результат, что и ранее (825 на скорости 1000 об /мин и ! 66 на скорости 5000 об /мин), но деление на 32 может быть выполнено с помощью простой операции сдвига в сдвиговом регистре, вместо сложного программного алгоритма.
Мы, путем дополнительной разметки, перешли от десятичной к двоичной системе счисления, в которой выполняет вычислени микропроцессор. Подобное изменение позволяет применять простой 8-битный микроконтроллер вместо сложного и дорогого микропроцессора. Все, что мы сделали — это перешли от измерения скорости вращения к измерению того, что легче будет считать процессору. Это пример нетривиального выхода из положения, если не по карману покупка дорогого микропроцессора. 1.7.5. Разрядность цифрового слова Если перед вами стоит задача соединения 12-битного АЦП с микропроцессором, вы, вероятно, предпочли бы 16-битный процессор вместо 8- битного.
Хотя 16-битные операции можно исполнить и на 8-битном микропроцессоре, но это требует обычно множества инструкций и накладываетдругие ограничения. Если процессор не просто передает данные, а обеспечивает взаимосвязь различных устройств, то необходимо также организовать интерфейс с определенной разрядностью (шириной) слова. Если же производятся вычисления с 32-битной точностью, то более приемлемым покажется 16-битный процессор с шириной слова 32-бита для более быстрых и легких вычислений. 1.7.6. Интерфейсы Удостоверьтесь, что какое-либо из возможных состояний интерфейса не нанесет вред системе. Например, плата микропроцессора соединена с контроллером двигателя при помощи кабеля.
Что произойдет, если кто- либо из обслуживающего персонала оставит кабель неподключенным и включит систему? Останется двигатель в первоначальном положении или начнет двигаться бесконтрольно? Необходимо учесть все подобные варианты. 1.8. Частота дискретизации и наложение На Рис. 1.3 показан входной синусоидальный сигнал АЦП и выходной сигнал при недостаточно высокой частоте дискретизации. При аналогоцифровом преобразовании синусоиды заданной частоты с вдвое меньшей частотой дискретизации, АЦП измеряет кажущуюся синусоиду вдвое 28 ° Глава 1.
Параметры системы меньшей частоты. Этот эффект называется наложением спектров (айаяпй) и происходит всякий раз, когда частота вхолного сигнала кратна высокой частоте дискретизации. Также на Рис. 1.3 показан входной сигнал другой формы — не синусоидальный. В этом случае сигнал, сохраняемый в дискретных отсчетах и вовсе не совпадает с входным. Точками показаны уровни напряжения в моменты дискретизации Вкодной сигнал Точки дискретизации АЦП ~ Вьиодной снгн Другой екодной сншал Что система измеряет на самом деле Рис.
1Л Наложение Заметим, что любая система должна быть спроектирована так, чтобы не искажать измеряемую величину. Должна быть учтена и скорость, с которой АЦП дискретизирует входной сигнал, и скорость, с которой АЦП может обрабатывать полученные отсчеты. Как известно, каждый непрерывный сигнал можно представить в виле набора выборок (дискретов), период которых, согласно теореме Шеннона", должен быть обратно про- В отечественной научной литературе зту теорелгу называют теоремой Котельникова по фамилии ученого, сформулировавшего зту теорему независимо от иностранного автора.
(Прггм. науч. ред) 1.8. Частота дискретизации и налолсение ° 29 порционален удвоенной частоте спектра исходного аналогового сигнала. Эта операция называется дисгсретизацией ло времени. Тогда непрерывный сигнал представляется набором точек разной амплитуды, отстоящих друг от друга на период выборки. Каждому уровню присваивается определенный вес (двоичный код), например 0.25, 0.5, 1.0 и т. л. Эта операция называется квантованием но уровню. Например, в 4-битном АЦП будет! 6 уровней, так как код АЦП изменяется от 0000 до 1111.
Если минимальный шаг квантования равен 0.25 В и коду 0000 соответствует напряжение 0 В, то коду 1!!! (число 15) будет соответствовать напряжение 0.25 х 15 = 3.75 В. Таким образом, аналого-цифровое преобразование «стоит на трех китах», а именно на; 1. Дискретизации по времени. 2. Квантовании по уровню.
3. Кодировании, т. е. на выходе любого АЦП будет кодовое слово. У 4-битного АЦП будет кодовое слово от 0000 до 11! 1. Если мы выберем период выборки меньше, чем «нам указал Шеннон», мы пропустим часть непрерывного сигнала при его восстановлении, то есть обратном цифро-аналоговом преобразовании. Примером неправильного выбора периода выборки служит Рис. 1.3.
Если частота входного сигнала оказывается выше, чем частота дискретизации измерительной системы, можно пойти по одному из следующих путей: ° Увеличить скорость работы системы для согласования с входным сигналом. ° Отфильтровать высокочастотную компоненту сигнала перед АЦП. ° Отфильтровать или проигнорировать высокочастотные компоненты на программном уровне.
Хотя звучит данное утверждение довольно неестественно: как можно отфильтровать более высокую частоту, чем та частота, которую вы измеряете? Но если известен реальный диапазон измеряемых величин, например, число автолюбителей, въезжающих на определенный участок земли за определенное время, тогда фиктивные входные сигналы могут быть выявлены. В данном случае любая входная частота, превышающая 2 события в секунду, может расцениваться как влияние шума нли результат ошибки датчика. Реальные автомобили не смогут парковаться на стоянке с такими скоростями. Качество проектируемой системы зависит от выбора правильных соотношений между производительностью процессора, ценой системы и простотой изготовления.
Аналого-цифровые преобразователи глдвА 2 2.1. Общие сведения Хотя данная глава в первую очередь об АПП (АРС), но понимание работы ПАП (ОАС) также важно. На Рис. 2.1 показана простая резистивная цепь лестничного типа с тремя ключами. Резисторы составлены в К/2К конфигурации. Номиналы резисторов не имеют значения; сопротивление может быть 10 кОм, 100 кОм и т.
п. Каждый из ключей 50...52 может подключать один вывод одного резистора номиналом 2К между землей и входным опорным напряжением, Чает. На рисунке показано что происходит, когда $2 замкнут «ОН«(соединен с Чяег), а 50 и К1 разомкнуты «ОГГ» (соединены с землей). В результате падения напряжения на последовательно-параллельной резистивной цепи окончательно выходное напряжение (Чо) становится равным 0.5 Чкег. Если подобным образом вычислить Чо для всех других комбинаций ключей, получим: Если положения (замкнут-разомкнуг) трех ключей представить, как цифровое слово из трех бит, тогда можем переписать таблицу следующим образом (используя обозначения ОН = 1 (замкнут), О ГГ = 0 (разомкнут)): 2.1.
Общие сведения ° 31 ВЗ В В5 й чочт ВЗ В В5 В ВЭ й В5 В чочт чол Чхл = О.вейег г ЧВ Рис. 1.1. 3-битные ЦАП Выходное напряжение, таким образом, является представлением комбинации положений ключей. Каждый дополнительный бит в таблице добавляет Чйвг/8 к общему напряжению. Или, другими словами, выходное напряжение равно двоичному числу комбинации 80...82, умноженному на Нйвг/8. Такой 3-битный АЦП имеет 8 возможных состояний, и каждый шаг напряжения составляет Чаег/8. Мы могли бы добавить еще одну В/2В пару и еше один ключ в цепь, получив цепь с четырьмя ключами н шестналцатью шагами по Чйвг/16 вольт 32 ° Глава 2 Аналого-лиф)ховые н)мобразовантети каждый.
Цепь с восемью ключами имела бы 256 ступеней по Чаев/256 вольт каждая. В итоге, мы можем заменить механические ключи в схеме на электронные для создания полноценного интегрального ЦАП. 2.2. Описание АЦП Широко используемый метод передачи аналогового сигнала в микропроцессор — это использование АЦП.