Разработка блока АЦП на МК
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВЯТСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТИЕТ
ФАКУЛЬТЕТ
ПРИКЛАДНОЙ МАТЕМАТИКИ И ТЕЛЕКОММУНИКАЦИЙ
КАФЕДРА
РАДИОЭЛЕКТРОННЫХ СРЕДСТВ
Разработка
блока АЦП на МК
Пояснительная
записка
Курсовая работа по дисциплине
«Техника микропроцессорных систем в коммутации»
ТПЖА. 601027.04 ПЗ
Разработал: студент гр. СК-31 / Ганичев Е.А./
(подпись)
Руководитель: к.т.н., доцент / Краев Н.А./
(подпись)
Киров
2010
Реферат
Ганичев
Е.А. Разработка блока АЦП на МК: ТПЖА.601027.04
ПЗ: Курс. проект / ВятГУ, каф. РЭС; рук. Н.А.
Краев. - Киров, 2010. ПЗ 31 с., 8 рис., 2 табл.,
9 источников, 4 прил.; технол. докум. 2 л.,
специф. 1 л., програм. докум. 3 л.
МИКРОКОНТРОЛЛЕР, АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ, СИГНАЛ, МИКРОПРОЦЕССОР, ЦИФРО-АНАЛОГОВЫЙ ПРЕОБРАЗОВАТЕЛЬ, ПОРТ, КРИСТАЛЛ, РЕГИСТР, ТАЙМЕР, КОМПАРАТОР, ГЕНЕРАТОР, АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА, ОПОРНОЕ НАПРЯЖЕНИЕ.
Объект исследования и разработки – аналого-цифровой преобразователь (АЦП) на базе микроконтроллера.
Цель
работы – разработка электрической
схемы аналого-цифрового
Методы решения основаны на теории проектирования МПСУ, а также на методах программирования на языке Assembler.
В приложениях приведены: принципиальная электрическая схема устройства, алгоритм аналого-цифрового преобразования, текст прошивки микроконтроллера.
Данную работу можно использовать как руководство для изготовления конкретного устройства аналого-цифрового преобразования, совмещающего простоту схемотехнического решения, низкую стоимость аппаратной части и оптимальный программный код.
Изм.
Лит
№ документа
Подпись
Дата
Разработ.
Проверил
Н. контр.
Утв.
Ганичев Е.А.
Краев Н.А.
Литера
Лист
Листов
Каф. РЭС
гр. СК-31
ТПЖА. 601027.04 ПЗ
Разработка блока
АЦП на МК
31
3
СОДЕРЖАНИЕ
Введение 4
1 Описание принципов работы объекта 5
1.1 АЦП параллельного приближения 6
1.2 АЦП последовательного приближения 7
1.3 АЦП последовательно-параллельного приближения 8
2 Разработка функциональной схемы АЦП 9
2.1 Алгоритм аналого-цифрового преобразования 9
2.2 Описание работы программы. 10
3 Обоснование выбора МК и схем сопряжения с внешними устройствами 10
3.1 Обоснование выбора МК 10
3.1.1 Микроконтроллеры семейства Mcs51 фирмы Intel 10
3.1.2 Микроконтроллеры семейства С500 фирмы Siemens 11
3.1.3 Семейство Microconverter фирмы Analog Devices 11
3.1.4 Микроконтроллеры Xemics. Семейство XE8000 11
3.1.5 PIC микроконтроллеры компании MICROCHIP 12
3.1.6 Микроконтроллеры Scenix Sem. SX 13
3.1.7 Микроконтроллеры Ангстрем, выпускаемые ОАО "АНГСТРЕМ" 14
3.1.8 Микроконтроллеры фирмы Atmel 15
3.1.9 Описание выбранного микроконтроллера 16
3.2 Обоснование выбора схемы сопряжения 19
3.3 Возможности доработки и развития данной схемы 20
3.4 Разработка фрагмента программы для выбранного МК 20
Заключение 23
Приложение А(справочное). Алгоритм аналого-цифрового преобразования 24
Приложение Б (обязательное). Схема электрическая принципиальная 25
Приложение В (справочное). Текст программы 28
Приложение
Г (справочное). Библиографический список 31
Введение
Ускорение
научно-технического прогресса, развитие
автоматизации процессов
Цифро-аналоговые и аналого-цифровые преобразователи находят широкое применение в различных областях современной науки и техники. Они являются неотъемлемой составной частью цифровых измерительных приборов, систем преобразования и отображения информации, программируемых источников питания, индикаторов на электронно-лучевых трубках, радиолокационных систем, установок для контроля элементов и микросхем, а также важными компонентами различных автоматических систем контроля и управления, устройств ввода—вывода информации ЭВМ. На их основе строят преобразователи и генераторы практически любых функций, цифроуправляемые аналоговые регистрирующие устройства, корреляторы, анализаторы спектра и т. д. Велики перспективы использования быстродействующих преобразователей в телеметрии и телевидении. Несомненно, серийный выпуск малогабаритных и относительно дешевых АЦП еще более усилит тенденцию проникновения метода дискретно-непрерывного преобразования в сферу науки и техники. Одним из стимулов развития цифро-аналоговых и аналого-цифровых преобразователей в интегральном исполнении в последнее время является широкое распространение микропроцессоров и методов цифровой обработки данных. В свою очередь потребность в АЦП стимулирует их разработку и производство с новыми, более совершенными характеристиками. В настоящее время широко используются АЦП на различных принципах преобразования. Использование тех или иных принципов и алгоритмов зависит от конкретной постановки задачи.
Целью
данной курсовой работы является разработка
устройства аналого-цифрового
1 Описание принципов работы объекта
Наличие встроенных аналоговых компараторов, наряду со счетчиком/таймером во многих современных микроконтроллерах, оптимально подходит для создания аналого-цифрового преобразователя. Выводы аналоговых компараторов могут соединяться с выводами одного из портов, либо генерировать прерывание при изменении уровня на выходе компаратора. В зависимости от поставленной задачи на компараторе и счетчике/таймере могут быть построены устройства аналого-цифрового преобразования с различными алгоритмами работы, имеющие различные характеристики и точность преобразований (один из вариантов – 8- и 12-битные устройства аналого-цифрового преобразования циклического режима работы, работа которых основана на подсчете времени разрядки предварительно заряженного до уровня входного сигнала конденсатора).
Аналого-цифровые
преобразователи являются устройствами,
которые принимают входные
Первая из них называется дискретизацией и состоит в преобразовании непрерывной функции времени в непрерывную последовательность, состоящую из отсчетов.
Вторая называется квантованием и заключается в преобразовании непрерывной последовательности в дискретную. Каждому отсчету присваивается уровень квантования. Эти уровни квантуются с определенным шагом. Шаги квантования могут быть равномерными и неравномерными. При равномерном квантовании динамический диапазон получается излишне большим. Использование неравномерного квантования уменьшает динамический диапазон. На практике неравномерное квантование практически не используется, вместо этого применяют компрессоры, ужимающие динамический диапазон. Для восстановления ужатого динамического диапазона используют декомпрессоры или экспандеры.
После этих двух этих операций следует операция кодирования. Чаще используется двоичное кодирование, то есть комбинации из нулей и единиц. Существует много способов кодирования, например линейное, помехоустойчивое и т.д. Все они применяются в зависимости от поставленной задачи.
В настоящее время известно большое число методов преобразования напряжение-код. Эти методы существенно отличаются друг от друга потенциальной точностью, скоростью преобразования и сложностью аппаратной реализации. На рисунке 1 представлена классификация АЦП по методам преобразования.
Рисунок
1 – Классификация АЦП
В
основу классификации АЦП положен
признак, указывающий на то, как во
времени разворачивается
- АЦП параллельного приближения
Чаще всего в качестве пороговых устройств параллельного АЦП используются интегральные компараторы. Схема типичного АЦП параллельного типа приведена на рисунке 2.
Рисунок 2 – АЦП параллельного приближения
Число компараторов DA выбирается с учетом разрядности кода. Например, для двух разрядов понадобится три компаратора, для трех - семь, для четырех - 15. Опорные напряжения задаются с помощью резистивного делителя. Входное напряжение подается на вход компараторов и сравнивается с набором опорных напряжений, снимаемых с делителя. На выходе компаратора, где входное напряжение больше соответствующего опорного, будет логическая единица, на остальных – логический нуль. Естественно, при входном напряжении равном нулю на выходах компараторов будут нули. При максимальном входном напряжении на выходах компараторов будут логические единицы. Шифратор генерирует бинарный цифровой код в зависимости от количества логических единиц, присутствующих на его входе.
Параллельный
АЦП является самым быстродействующим
из всех, поскольку компараторы работают
одновременно. Но есть весьма существенный
недостаток. Как было сказано выше,
разрядность такого АЦП определяется
числом компараторов и резисторов.
При малой разрядности это еще приемлемо,
но для 10-ти разрядного АЦП понадобится штук.
Отсюда вытекает высокая стоимость параллельных
АЦП. Подбором сопротивлений резисторов
можно выбрать закон преобразования –
линейный или логарифмический.
- АЦП последовательного приближения
Преобразователь
этого типа, называемый также АЦП
с поразрядным
В основе работы этого класса преобразователей лежит принцип дихотомии, т.е последовательного сравнения измеряемой величины с 1/2, 1/4, 1/8 и т.д. от возможного максимального ее значения. Это позволяет для -разрядного АЦП последовательного приближения выполнить весь процесс преобразования за последовательных шагов (итераций) вместо при использовании последовательного счета и получить существенный выигрыш в быстродействии. Так, уже при этот выигрыш достигает 100 раз и позволяет получить с помощью таких АЦП до 105...106 преобразований в секунду. В то же время статическая погрешность этого типа преобразователей, определяемая в основном используемым в нем ЦАП, может быть очень малой, что позволяет реализовать разрешающую способность до 18 двоичных разрядов при частоте выборок до 200 кГц.
Рисунок
3 – Структурная схема и
Рассмотрим принципы построения и работы АЦП последовательного приближения на примере классической структуры (рисунок 3а) 4-разрядного преобразователя, состоящего из трех основных узлов: компаратора (К), регистра последовательного приближения (РПП) и ЦАП.
После подачи команды "Пуск" с приходом первого тактового импульса РПП принудительно задает на вход ЦАП код, равный половине его шкалы (для 4-разрядного ЦАП это ). Благодаря этому напряжение на выходе ЦАП (рисунке 3б):
,
где - квант выходного напряжения ЦАП, соответствующий единице младшего разряда (ЕМР). Эта величина составляет половину возможного диапазона преобразуемых сигналов. Если входное напряжение больше, чем эта величина, то на выходе компаратора устанавливается 1, если меньше, то 0. В последнем случае схема управления должна переключить старший разряд обратно в состояние нуля.
Непосредственно вслед за этим остаток таким же образом сравнивается с ближайшим младшим разрядом и т.д. После четырех подобных выравнивающих шагов в регистре последовательного приближения оказывается двоичное число, из которого после цифро-аналогового преобразования получается напряжение, соответствующее с точностью до 1 ЕМР. Выходное число может быть считано с РПП в виде параллельного двоичного кода по линиям. Кроме того, в процессе преобразования на выходе компаратора, как это видно из рисунка 3б, формируется выходное число в виде последовательного кода старшими разрядами вперед.
Быстродействие АЦП данного типа определяется суммой времени установления ЦАП до установившегося значения с погрешностью, не превышающей 0,5 ЕМР, времени переключения компаратора и задержки распространения сигнала в регистре последовательного приближения . Сумма является величиной постоянной, а уменьшается с уменьшением веса разряда. Следовательно, для определения младших разрядов может быть использована более высокая тактовая частота. При поразрядной вариации возможно уменьшение времени преобразования на 40%. Для этого в состав АЦП может быть включен контроллер.
При работе без устройства выборки-хранения апертурное время равно времени между началом и фактическим окончанием преобразования, которое так же, как и у АЦП последовательного счета, по сути, зависит от входного сигнала, т.е. является переменным. Возникающие при этом апертурные погрешности носят также нелинейный характер. Поэтому для эффективного использования АЦП последовательного приближения, между его входом и источником преобразуемого сигнала следует включать УВХ. Большинство выпускаемых в настоящее время ИМС АЦП последовательного приближения, имеет встроенные устройства выборки-хранения или, чаще, устройства слежения-хранения (track-hold), управляемые сигналом запуска АЦП. Устройство слежения-хранения отличается тем, что постоянно находится в режиме выборки, переходя в режим хранения только на время преобразования сигнала.
Данный
класс АЦП занимает промежуточное
положение по быстродействию, стоимости
и разрешающей способности
1.3 АЦП последовательно-параллельного приближения
Последовательно-
На рисунке 4 представлен в качестве примера двухступенчатый АЦП. В многоступенчатых преобразователях процесс преобразования разделен в пространстве.
Рисунок 4 - Двухступенчатый АЦП
АЦП1 осуществляет "грубое" преобразование входного сигнала в старшие разряды. Сигналы с выхода первого АЦП поступают на выходной регистр и одновременно на вход быстродействующего ЦАП. Цифровой код преобразуется ЦАП в напряжение, которое сумматором вычитается из входного напряжения.
Разность напряжений преобразуется с помощью АЦП2 в коды младших разрядов. В таких схемах ЦАП чаще всего выполняется по схеме суммирования токов с помощью дифференциальных переключателей, но они могут быть построены по схеме суммирования напряжений.
Требования к точности АЦП1 выше, нежели ко второму. Оба АЦП параллельного типа. Для примера рассмотрим два 4-х разрядных АЦП, тогда в каждом используется по 16 компараторов. В итоге получается 8-ми разрядный АЦП всего на 32 компараторах, тогда как при построении по параллельной схеме понадобилось бы 28 - 1 = 255 шт. Быстродействие примерно в два раза ниже.
Помимо
этого бывают многотактные последовательно-параллельные
и конвейерные АЦП. У них несколько
иная структура. К примеру, многотактные
преобразователи работают с различным
шагом квантования, т. е. в преобразователе
процесс преобразования разделен во
времени. В один момент времени формируются
старшие разряды, в другой момент
времени шаг квантования
2. Разработка функциональной схемы АЦП
Для реализации поставленной задачи наиболее оправданно и целесообразно использование АЦП последовательного приближения. Преобразователи напряжения в код, выполненные в виде замкнутых систем со сравнением аналоговых величин имеют цепь обратной связи, в которую включен цифро-аналоговый преобразователь (ЦАП) преобразующий параллельный код в постоянное напряжение, которое сравнивается с входным напряжением АЦП. Функциональная схема такого преобразователя представлена на рисунке 5.
Рисунок 5 - Функциональная схема АЦП
2.1 Алгоритм аналого-цифрового преобразования
Для быстрого и точного преобразования работа микроконтроллера основывается на следующем алгоритме: старший бит порта вывода, к которому подключен ЦАП, установлен, приводя к максимальному напряжению на выходе ЦАП и, следовательно, на входе компаратора. Вывод компаратора проверяется. Если уровень сигнала на нем высокий, то аналоговое напряжение слишком большое (свыше максимального уровня сигнала на выходе ЦАП). В цикле преобразования последовательно устанавливаются все биты порта. Устанавливая следующий бит, вновь проверяется уровень выхода компаратора. Если он низкий, то данный бит сбрасывается. Процесс продолжается, пока все биты порта не проверены. При этом выполнение данных операций должно происходить внутри единого программного цикла, который обеспечивает непрерывность работы микроконтроллера. Результирующее значение в порте - цифровое представление аналогового ввода. С тактовой частотой 8 МГЦ, время цикла составляет приблизительно 110 нс. При такой скорости преобразования возможно проектирование устройств с большей разрешающей способностью (10 и 12 битов).
Алгоритм работы всего устройства (опрос компаратора, подача стробирующего импульса на УВХ, обработка двоичного кода и т.д.) задается микроконтроллером.
Блок-схема
алгоритма работы программы микроконтроллера
приведена в приложении В.
2.2 Описание работы программы
Основное тело программы начинается с описания переменных и инициализации аналогового компаратора и настройки порта D на вывод. Для инициализации аналогового компаратора в бит 7 – ACD регистра статуса и управления аналогового компаратора записывается 0, что соответствует разрешению аналогового компаратора. В регистр направления данных порта D – DDRD – записываются FF16 или 111111112, что соответствует настройке порта на вывод.
Преобразование одного байта начинается с присваивания начальных значений переменным: обнуляется счетчик бит, переменной – указателю текущего бита N присваивается число 8016, что соответствует установке старшего бита в 1 (100000002), обнуляется переменная D – переменная цифрового эквивалента.
Далее начинается преобразование первого бита. Промежуточной переменной A присваивается значение указателя текущего бита N, и происходит взвешивание текущего бита, т.е. логическая операция (A ИЛИ D), с дальнейшим присвоением получившегося числа переменной A.
Затем значение промежуточной переменной A выводится на внешний ЦАП через порт D. Если , то бит ACO регистра статуса и управления аналогового компаратора ACSR устанавливается в 1, и переменной цифрового эквивалента D присваивается значение промежуточной переменной A, иначе A остается прежней.
После этого переменная – указатель текущего бита N сдвигается вправо на 1 бит, счетчик бит увеличивается на 1, и начинается преобразование следующего бита. После того, как произойдет переполнение счетчика бит, программа перейдет к преобразованию следующего байта и т.д.
3 Обоснование выбора МК схем сопряжения с внешними устройствами
3.1 Обоснование выбора микроконтроллера
3.1.1 Микроконтроллеры семейства MCS51 фирмы Intel
Первые
микроконтроллеры семейства MCS51 были выпущены
на рынок фирмой Intel более 20 лет назад.
Архитектура оказалась
Классический микроконтроллер семейства MCS51 имеет следующие данные:
- целочисленный 8-разрядный CISC-процессор;
- тактовая частота до 24 МГц;
- командный цикл 12 тактов;
- раздельные адресные пространства программ и данных;
- встроенная память программ объёмом 4 кб;
- встроенное ОЗУ данных объёмом 128 б;
- 40 выводов, 32 линии ввода-вывода;
- два 8/16-разрядных таймера;
- последовательный порт RS-232;
- возможность подключения внешней памяти программ и данных, до 64 кб каждая;
- режим пониженного энергопотребления.
Процессор
содержит 4 переключаемых банка, состоящих
из 8 регистров общего назначения R0…R7,
а также оперативные регистры A и B. Кроме
этих регистров существует указатель
стека SP, регистр флагов PSW и 16-разрядный
регистр DPTR, служащий для адресации внешней
памяти.
Микроконтроллер имеет четыре 8-разрядных параллельных порта, пронумерованные цифрами от 0 до 3. В случае подключения внешней памяти порты 0 и 2 работают как внешняя шина