Создание лабораторного стенда для изучения аналого-цифрового преобразователя (АЦП) на основе промышленного микроконтроллера
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
. АНАЛИЗ
ПОСТАВЛЕННОЙ ЗАДАЧИ
.1 Аналого-цифровой
преобразователь, разрешение и типы преобразования
.2 Точность
и ошибки квантования
.3 Частота
дискретизации и наложение спектров
.4 Подмешивание
псевдослучайных сигналов и передискретизация
.5 Типы
АЦП
.6 Применение
АЦП
.7 Микроконтроллеры
.8 ATMega8,основные
аппаратные характеристики микроконтроллера
.9 Аналого-цифровой
преобразователь микроконтроллера
.10 Семисегментный
индикатор
. ОПИСАНИЕ
ПРОГРАМНОЙ ЧАСТИ
.1
Программирование микроконтроллера
. ОПИСАНИЕ
ЛАБОРАТОРНОЙ РАБОТЫ
.1
Использование лабораторного стенда на практике
. ЭКОНОМИЧЕСКАЯ
ЧАСТЬ
.1 Разработка
комплексного плана по теме
.2 Определение
потребностей в материальных ресурсах
.3 Рассчитаем
цену программного продукта
.4 Общие
показатели качества
.5 Выводы
. БЕЗАПАСНОСТЬ
ЖИЗНЕДЕЯТЕЛЬНОСТИ
.1 Краткий
анализ объекта (производственного помещения)
.2 Определение
опасных и вредных производственных факторов
.3 Анализ
возможных последствий воздействия негативных факторов
.4 Разработка
мероприятий по снижению возможного воздействия вредных и устранению опасных
факторов
.5 Выводы
ЗАКЛЮЧЕНИЕ
СПИСОК
ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
Тема данной бакалаврской работы - создание лабораторного стенда для
изучения аналого-цифрового преобразователя (АЦП) на основе промышленного
микроконтроллера (МК). Разработка является актуальной так как прибор с АЦП на
основе микроконтроллера имеет намного меньшие габариты, чем прибор с АЦП на
основе различных микросхем. Быстродействие аналого-цифрового преобразователя на
основе микроконтроллера намного выше, а цена ниже по сравнению с ценой и
быстродействием других АЦП. Кроме того аналого-цифровой преобразователь
промышленного микроконтроллера можно использовать для автоматизации
производства. К примеру, для поиска бракованных деталей. Датчик проводит
контроль за параметрами детали. Как только проскакивает бракованная деталь,
датчик передает сигнал на микроконтроллер, который обработав сигнал при помощи
АЦП, подает команду исполнительному механизму для подгонки детали под нужные
параметры.
1. АНАЛИЗ ПОСТАВЛЕННОЙ ЗАДАЧИ
.1 Аналого-цифровой преобразователь
Аналого-цифровой преобразователь (АЦП, англ. Analog-to-digital converter,
ADC) - устройство, преобразующее входной аналоговый сигнал в дискретный код
(цифровой сигнал). Обратное преобразование осуществляется при помощи
цифро-аналогового преобразователя. Как правило, АЦП - электронное устройство,
преобразующее напряжение в двоичный цифровой код. Тем не менее, некоторые
неэлектронные устройства с цифровым выходом, следует также относить к АЦП,
например, некоторые типы преобразователей угол-код. Простейшим одноразрядным
двоичным АЦП является компаратор.
Разрешение
АЦП - минимальное изменение величины аналогового сигнала, которое может быть
преобразовано данным АЦП - связано с его разрядностью. В случае единичного
измерения без учёта шумов разрешение напрямую определяется разрядностью АЦП.
Разрядность АЦП характеризует количество дискретных значений, которые
преобразователь может выдать на выходе. В двоичных АЦП разрядность измеряется в
битах, в троичных разрядность измеряется в тритах. Например, двоичный АЦП,
способный выдать 256 дискретных значений (0…255), имеет разрядность 8 бит,
поскольку = 256,
троичный АЦП, имеющий разрядность 8 трит, способен выдать 6 561 дискретное
значение, поскольку 6561.
Разрешение по напряжению равно разности напряжений, соответствующих максимальному
и минимальному выходному коду, делённой на количество выходных дискретных
значений. На практике разрешение АЦП ограничено отношением сигнал/шум входного
сигнала. При большой интенсивности шумов на входе АЦП различение соседних
уровней входного сигнала становится невозможным, то есть ухудшается разрешение.
При этом реально достижимое разрешение описывается эффективной разрядностью
(effective number of bits - ENOB), которая меньше, чем реальная разрядность
АЦП. При преобразовании сильно зашумлённого сигнала младшие разряды выходного
кода практически бесполезны, так как содержат шум. Для достижения заявленной
разрядности отношение С/Ш входного сигнала должно быть примерно 6 дБ на каждый
бит разрядности. Например:
Пример
1:
Диапазон
входных значений = от 0 до 10 вольт;
Разрядность
двоичного АЦП 12 бит: 212 = 4096 уровней квантования;
Разрешение
двоичного АЦП по напряжению: (10-0)/4096 = 0,00244 вольт = 2,44мВ;
Разрядность
троичного АЦП 12 трит: 312 = 531 441 уровень квантования;
Разрешение
троичного АЦП по напряжению: (10-0)/531441 = 0,0188 мВ = 18,8мкВ.
Пример
2:
Диапазон
входных значений = от −10 до +10 вольт;
Разрядность
двоичного АЦП 14 бит: 214 = 16 384 уровней квантования;
Разрешение
двоичного АЦП по напряжению: (10-(-10))/16384 = 20/16384 = 0,00122 вольт = 1,22
мВ;
Разрядность
троичного АЦП 14 трит: 314 = 4 782 969 уровней квантования;
Разрешение
троичного АЦП по напряжению: (10-(-10))/4782969 = 0,00418 мВ = 4,18 мкВ.
Аналого-цифровые
преобразователи имеют разные типы образования: Линейные АЦП: Большинство АЦП
считаются линейными, хотя аналого-цифровое преобразование по сути является
нелинейным процессом (поскольку операция отображения непрерывного пространства
в дискретное - операция нелинейная). Термин линейный применительно к АЦП
означает, что диапазон входных значений, отображаемый на выходное цифровое
значение, связан по линейному закону с этим выходным значением, то есть
выходное значение k достигается при диапазоне входных значений от m(k + b) до
m(k + 1 + b), где m и b - некоторые константы. Константа b, как правило, имеет
значение 0 или −0.5. Если b = 0, АЦП называют квантователь с ненулевой
ступенью (mid-rise), если же b = −0,5, то АЦП называют квантователь с
нулём в центре шага квантования (mid-tread).
Нелинейные
АЦП: Если бы плотность вероятности амплитуды входного сигнала имела равномерное
распределение, то отношение сигнал/шум (применительно к шуму квантования) было
бы максимально возможным. По этой причине обычно перед квантованием по
амплитуде сигнал пропускают через безынерционный преобразователь, передаточная
функция которого повторяет функцию распределения самого сигнала. Это улучшает
достоверность передачи сигнала, так как наиболее важные области амплитуды
сигнала квантуются с лучшим разрешением. Соответственно, при цифро-аналоговом
преобразовании потребуется обработать сигнал функцией, обратной функции
распределения исходного сигнала. Это тот же принцип, что и используемый в
компандерах, применяемых в магнитофонах и различных коммуникационных системах,
он направлен на максимизацию энтропии. Например, голосовой сигнал имеет
лапласово распределение амплитуды. Это означает, что окрестность нуля по
амплитуде несёт больше информации, чем области с большей амплитудой. По этой
причине логарифмические АЦП часто применяются в системах передачи голоса для
увеличения динамического диапазона передаваемых значений без изменения качества
передачи сигнала в области малых амплитуд. Аналого-цифровые преобразователи
8-битные, логарифмические с a-законом или μ-законом, обеспечивают широкий динамический диапазон и имеют высокое
разрешение в наиболее критичном диапазоне малых амплитуд; линейный АЦП с
подобным качеством передачи должен был бы иметь разрядность около 12 бит.
1.2
Точность и ошибки квантования
Имеется
несколько источников погрешности АЦП. Ошибки квантования и (считая, что АЦП
должен быть линейным) нелинейности присущи любому аналого-цифровому
преобразованию. Кроме того, существуют так называемые апертурные ошибки,
которые являются следствием джиттера (англ. jitter) тактового генератора, они
проявляются при преобразовании сигнала в целом (а не одного отсчёта). Эти
ошибки измеряются в единицах, называемых МЗР - младший значащий разряд. В
приведённом выше примере 8-битного двоичного АЦП ошибка в 1 МЗР составляет
1/256 от полного диапазона сигнала, то есть 0,4 %, в 8-тритном троичном АЦП
ошибка в 1 МЗР составляет 1/6561, то есть 0,015 %.
Ошибки
квантования являются следствием ограниченного разрешения АЦП. Этот недостаток
не может быть устранён ни при каком типе аналого-цифрового преобразования. Абсолютная
величина ошибки квантования при каждом отсчёте находится в пределах от нуля до
половины МЗР. Как правило, амплитуда входного сигнала много больше, чем МЗР. В
этом случае ошибка квантования не коррелирована с сигналом и имеет равномерное
распределение. Её среднеквадратическое значение совпадает с среднеквадратичным
отклонением распределения, которое равно . В случае 8-битного АЦП это составит
0,113 % от полного диапазона сигнала.
Нелинейность:
Всем АЦП присущи ошибки, связанные с нелинейностью, которые являются следствием
физического несовершенства АЦП. Это приводит к тому, что передаточная
характеристика (в указанном выше смысле) отличается от линейной (точнее от
желаемой функции, так как она не обязательно линейна). Ошибки могут быть
уменьшены путём калибровки. Важным параметром, описывающим нелинейность,
является интегральная нелинейность (INL) и дифференциальная нелинейность (DNL).
Апертурная
погрешность (джиттер): Пусть мы оцифровываем синусоидальный сигнал x(t) = Asin2πf0t. В идеальном случае отсчёты берутся через равные
промежутки времени. Однако в реальности время момента взятия отсчёта подвержено
флуктуациям из-за дрожания фронта синхросигнала (clock jitter). Легко видеть,
что ошибка относительно невелика на низких частотах, однако на больших частотах
она может существенно возрасти. Эффект апертурной погрешности может быть
проигнорирован, если её величина сравнительно невелика по сравнению с ошибкой
квантования. Таким образом, можно установить следующие требования к дрожанию
фронта сигнала синхронизации.
Таблица
1 - Разрядность и частота АЦП
f q
|
44,1 кГц
|
192 кГц
|
1 МГц
|
10 МГц
|
100 МГц
|
8
|
28,2 нс
|
6,48 нс
|
1,24 нс
|
124 пс
|
12,4 пс
|
10
|
7,05 нс
|
1,62 нс
|
311 пс
|
31,1 пс
|
3,11 пс
|
12
|
1,76 нс
|
405 пс
|
77,7 пс
|
7,77 пс
|
777 фс
|
14
|
441 пс
|
101 пс
|
19,4 пс
|
1,94 пс
|
194 фс
|
16
|
110 пс
|
25,3 пс
|
4,86 пс
|
486 фс
|
48,6 фс
|
18
|
27,5 пс
|
6,32 пс
|
1,21 пс
|
121 фс
|
12,1 фс
|
24
|
430 фс
|
98,8 фс
|
19,0 фс
|
1,9 фс
|
190 ас
|
Из этой таблицы можно сделать вывод о целесообразности применения АЦП
определённой разрядности с учётом ограничений, накладываемых дрожанием фронта
синхронизации (clock jitter). Например, бессмысленно использовать прецизионный
24-битный АЦП для записи звука, если система распределения синхросигнала не в
состоянии обеспечить ультрамалой неопределённости.
.3 Частота дискретизации и наложение спектров (алиасинг)
Аналоговый сигнал является непрерывной функцией времени, в АЦП он
преобразуется в последовательность цифровых значений. Следовательно, необходимо
определить частоту выборки цифровых значений из аналогового сигнала. Частота, с
которой производятся цифровые значения, получила название частота дискретизации
АЦП. Непрерывно меняющийся сигнал с ограниченной спектральной полосой
подвергается оцифровке (то есть значения сигнала измеряются через интервал
времени T - период дискретизации) и исходный сигнал может быть точно
восстановлен из дискретных во времени значений путём интерполяции. Точность
восстановления ограничена ошибкой квантования. Однако в соответствии с теоремой
Котельникова-Шеннона точное восстановление возможно только если частота
дискретизации выше, чем удвоенная максимальная частота в спектре сигнала.
Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование
мгновенно, входное аналоговое значение должно удерживаться постоянным по
крайней мере от начала до конца процесса преобразования (этот интервал времени
называют время преобразования). Эта задача решается путём использования
специальной схемы на входе АЦП - устройства выборки-хранения - УВХ. УВХ, как
правило, хранит входное напряжение в конденсаторе, который соединён со входом
через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала
(конденсатор заряжается до входного напряжения), при размыкании - хранение.
Многие АЦП, выполненные в виде интегральных микросхем содержат встроенное УВХ.
Все АЦП работают путём выборки входных значений через фиксированные
интервалы времени. Следовательно, выходные значения являются неполной картиной
того, что подаётся на вход. Глядя на выходные значения, нет никакой возможности
установить, как вёл себя входной сигнал между выборками. Если известно, что
входной сигнал меняется достаточно медленно относительно частоты дискретизации,
то можно предположить, что промежуточные значения между выборками находятся
где-то между значениями этих выборок. Если же входной сигнал меняется быстро,
то никаких предположений о промежуточных значениях входного сигнала сделать
нельзя, а, следовательно, невозможно однозначно восстановить форму исходного
сигнала. Если последовательность цифровых значений, выдаваемая АЦП, где-либо
преобразуется обратно в аналоговую форму цифро-аналоговым преобразователем,
желательно, чтобы полученный аналоговый сигнал был максимально точной копией
исходного сигнала. Если входной сигнал меняется быстрее, чем делаются его
отсчёты, то точное восстановление сигнала невозможно, и на выходе ЦАП будет
присутствовать ложный сигнал. Ложные частотные компоненты сигнала
(отсутствующие в спектре исходного сигнала) получили название alias (ложная
частота, побочная низкочастотная составляющая). Частота ложных компонент
зависит от разницы между частотой сигнала и частотой дискретизации. Например,
синусоидальный сигнал с частотой 2 кГц, дискретизованный с частотой 1.5 кГц был
бы воспроизведён как синусоида с частотой 500 Гц. Эта проблема получила название
наложение частот (aliasing).Для предотвращения наложения спектров сигнал,
подаваемый на вход АЦП, должен быть пропущен через фильтр низких частот для
подавления спектральных компонент, частота которых превышает половину частоты
дискретизации. Этот фильтр получил название anti-aliasing (антиалиасинговый)
фильтр, его применение чрезвычайно важно при построении реальных АЦП. Хотя
наложение спектров в большинстве случаев является нежелательным эффектом, его
можно использовать во благо. Например, благодаря этому эффекту можно обойтись
без преобразования частоты вниз при оцифровке узкополосного высокочастотного
сигнала (смотри смеситель). Для этого, однако, входные аналоговые каскады АЦП
должны иметь значительно более высокие параметры, чем это требуется для стандартного
использования АЦП на основной (видео или низшей) гармонике.
1.4 Подмешивание псевдослучайного сигнала (dither) и передискретизация
Некоторые характеристики АЦП могут быть улучшены путём использования
методики подмешивания псевдослучайного сигнала (англ. dither). Она заключается
в добавлении к входному аналоговому сигналу случайного шума (белый шум)
небольшой амплитуды. Амплитуда шума, как правило, выбирается на уровне половины
МЗР. Эффект от такого добавления заключается в том, что состояние МЗР случайным
образом переходит между состояниями 0 и 1 при очень малом входном сигнале (без
добавления шума МЗР был бы в состоянии 0 или 1 долговременно). Для сигнала с
подмешанным шумом вместо простого округления сигнала до ближайшего разряда
происходит случайное округление вверх или вниз, причём среднее время, в течение
которого сигнал округлён к тому или иному уровню зависит от того, насколько
сигнал близок к этому уровню. Таким образом, оцифрованный сигнал содержит
информацию об амплитуде сигнала с разрешающей способностью лучше, чем МЗР, то
есть происходит увеличение эффективной разрядности АЦП. Негативной стороной
методики является увеличение шума в выходном сигнале. Фактически, ошибка
квантования размазывается по нескольким соседним отсчётам. Такой подход
является более желательным, чем простое округление до ближайшего дискретного
уровня. В результате использования методики подмешивания псевдослучайного
сигнала мы имеем более точное воспроизведение сигнала во времени. Малые
изменения сигнала могут быть восстановлены из псевдослучайных скачков МЗР путём
фильтрации. Кроме того, если шум детерминирован (амплитуда добавляемого шума
точно известна в любой момент времени), то его можно вычесть из оцифрованного
сигнала, предварительно увеличив его разрядность, тем самым почти полностью
избавиться от добавленного шума. Звуковые сигналы очень малых амплитуд,
оцифрованные без псевдослучайного сигнала, воспринимаются на слух очень
искажёнными и неприятными. При подмешивании псевдослучайного сигнала истинный
уровень сигнала представлен средним значением нескольких последовательных
отсчётов. Однако, в последнее время (2009 год), в связи с удешевлением
24-битных АЦП, имеющих даже без dihter’а динамический диапазон более 120 дБ,
что на несколько порядков превышает полный воспринимаемый человеком диапазон
слуха, данная технология потеряла актуальность в звукотехнике. При этом, она
используется в ВЧ и СВЧ технике, где битность АЦП обычно мала из-за высокой
частоты дискретизации. Очень похожий процесс, также называемый dither или
диффузия ошибок, применяется для представления полутонов изображений в
компьютерной графике при малом количестве бит на пиксель. При этом изображение
становится зашумленным, но визуально воспринимается реалистичнее чем то же
изображение полученное простым квантованием.
Как правило, сигналы оцифровываются с минимально необходимой частотой
дискретизации из соображений экономии, при этом шум квантования является белым,
то есть его спектральная плотность мощности равномерно распределена во всей
полосе. Если же оцифровать сигнал с частотой дискретизации, гораздо большей,
чем по теореме Котельникова-Шеннона, а затем подвергнуть цифровой фильтрации
для подавления спектра вне частотной полосы исходного сигнала, то отношение
сигнал/шум, будет лучше, чем при использовании всей полосы. Таким образом,
можно достичь эффективного разрешения большего, чем разрядность АЦП.
Передискретизация также может быть использована для смягчения требований к
крутизне перехода от полосы пропускания к полосе подавления антиалиасингового
фильтра. Для этого сигнал оцифровывают, например, на вдвое большей частоте,
затем производят цифровую фильтрацию, подавляя частотные компоненты вне полосы
исходного сигнала, и, наконец, понижают частоту дискретизации путём децимации.
1.5 Типы АЦП
АЦП прямого преобразования или параллельный АЦП - содержит по одному
компаратору на каждый дискретный уровень входного сигнала. В любой момент
времени только компараторы, соответствующие уровням ниже уровня входного
сигнала, выдадут на своём выходе сигнал превышения. Сигналы со всех
компараторов поступают на логическую схему, которая выдаёт цифровой код,
зависящий от того, сколько и какие компараторы показали превышение.
Параллельные АЦП очень быстры, но обычно имеют разрешение не более 8 бит (256
компараторов), так как имеют большую и дорогую схему. АЦП этого типа имеют
очень большой размер кристалла микросхемы, высокую входную ёмкость, и могут
выдавать кратковременные ошибки на выходе. Часто используются для видео или
других высокочастотных сигналов.
Последовательно-параллельные АЦП - сохраняя высокое быстродействие
позволяет значительно уменьшить количество компараторов, требующееся для
преобразования аналогового сигнала в цифровой. Содержат в своем составе два -
три параллельных АЦП. Второй АЦП служит для уменьшения ошибки квантования
первого АЦП путем оцифровки этой ошибки. Для увеличения скорости выходного
оцифрованного потока данных в последовательно-параллельных АЦП применяется
конвейерная работа параллельных АЦП.
АЦП последовательного приближения или АЦП с поразрядным уравновешиванием
- содержит компаратор, вспомогательный ЦАП и регистр последовательного
приближения. АЦП преобразует аналоговый сигнал в цифровой за N шагов, где N -
разрядность АЦП. На каждом шаге определяется по одному биту искомого цифрового
значения, начиная от СЗР и заканчивая МЗР. Последовательность действий по
определению очередного бита заключается в следующем. На вспомогательном ЦАП
выставляется аналоговое значение, образованное из битов, уже определённых на
предыдущих шагах; бит, который должен быть определён на этом шаге, выставляется
в 1, более младшие биты установлены в 0. Полученное на вспомогательном ЦАП
значение сравнивается с входным аналоговым значением. Если значение входного
сигнала больше значения на вспомогательном ЦАП, то определяемый бит получает
значение 1, в противном случае 0. Таким образом, определение итогового
цифрового значения напоминает двоичный поиск. АЦП этого типа обладают
одновременно высокой скоростью и хорошим разрешением. Однако при отсутствии
устройства выборки хранения погрешность будет значительно больше (представьте,
что после оцифровки самого большого разряда сигнал начал меняться).
АЦП дифференциального кодирования (англ. delta-encoded ADC) - содержат
реверсивный счётчик, код с которого поступает на вспомогательный ЦАП. Входной
сигнал и сигнал со вспомогательного ЦАП сравниваются на компараторе. Благодаря
отрицательной обратной связи с компаратора на счётчик код на счётчике постоянно
меняется так, чтобы сигнал со вспомогательного ЦАП как можно меньше отличался
от входного сигнала. По прошествии некоторого времени разница сигналов
становится меньше, чем МЗР, при этом код счётчика считывается как выходной
цифровой сигнал АЦП. АЦП этого типа имеют очень большой диапазон входного
сигнала и высокое разрешение, но время преобразования зависит от входного
сигнала, хотя и ограничено сверху. В худшем случае время преобразования равно
=(2q)/fс,
где q - разрядность АЦП, fс - частота тактового генератора счётчика. АЦП
дифференциального кодирования обычно являются хорошим выбором для оцифровки
сигналов реального мира, так как большинство сигналов в физических системах не
склонны к скачкообразным изменениям. В некоторых АЦП применяется
комбинированный подход: дифференциальное кодирование и последовательное приближение;
это особенно хорошо работает в случаях, когда известно, что высокочастотные
компоненты в сигнале относительно невелики.
АЦП сравнения с пилообразным сигналом (некоторые АЦП этого типа называют
Интегрирующие АЦП) содержат генератор пилообразного напряжения, компаратор и
счётчик времени. Пилообразный сигнал линейно нарастает до некоторого уровня,
затем быстро спадает до нуля. В момент начала нарастания запускается счётчик
времени. Когда пилообразный сигнал достигает уровня входного сигнала,
компаратор срабатывает и останавливает счётчик; значение считывается со
счётчика и подаётся на выход АЦП. Данный тип АЦП является наиболее простым по
структуре и содержит минимальное число элементов. Вместе с тем простейшие АЦП
этого типа обладают довольно низкой точностью и чувствительны к температуре и
другим внешним параметрам. Для увеличения точности генератор пилообразного
сигнала может быть построен на основе счётчика и вспомогательного ЦАП, однако
такая структура не имеет никаких преимуществ по сравнению с АЦП последовательного
приближения и АЦП дифференциального кодирования.
АЦП с уравновешиванием заряда (к ним относятся АЦП с двухстадийным
интегрированием, АЦП с многостадийным интегрированием и некоторые другие)
содержат генератор стабильного тока, компаратор, интегратор тока, тактовый
генератор и счётчик импульсов. Преобразование происходит в два этапа
(двухстадийное интегрирование). На первом этапе значение входного напряжения
преобразуется в ток (пропорциональный входному напряжению), который подаётся на
интегратор тока, заряд которого изначально равен нулю. Этот процесс длится в
течение времени TN, где T - период тактового генератора, N - константа (большое
целое число, определяет время накопления заряда). По прошествии этого времени
вход интегратора отключается от входа АЦП и подключается к генератору
стабильного тока. Полярность генератора такова, что он уменьшает заряд,
накопленный в интеграторе. Процесс разряда длится до тех пор, пока заряд в
интеграторе не уменьшится до нуля. Время разряда измеряется путём счёта
тактовых импульсов от момента начала разряда до достижения нулевого заряда на
интеграторе. Посчитанное количество тактовых импульсов и будет выходным кодом
АЦП. Можно показать, что количество импульсов n, посчитанное за время разряда,
равно:
=UвхN(RI0)−1,
где Uвх - входное напряжение АЦП, N - число импульсов этапа накопления
(определено выше), R - сопротивление резистора, преобразующего входное
напряжение в ток, I0 - значение тока от генератора стабильного тока,
разряжающего интегратор на втором этапе. Таким образом, потенциально
нестабильные параметры системы (прежде всего, ёмкость конденсатора интегратора)
не входят в итоговое выражение. Это является следствием двухстадийности
процесса: погрешности, введённые на первом и втором этапах, взаимно вычитаются.
Не предъявляются жёсткие требования даже к долговременной стабильности
тактового генератора и напряжению смещения компаратора: эти параметры должны
быть стабильны лишь кратковременно, то есть в течение каждого преобразования
(не более 2TN). Фактически, принцип двухстадийного интегрирования позволяет
напрямую преобразовывать отношение двух аналоговых величин (входного и
образцового тока) в отношение числовых кодов (n и N в терминах, определённых
выше) практически без внесения дополнительных ошибок. Типичная разрядность АЦП
этого типа составляет от 10 до 18 двоичных разрядов. Дополнительным
достоинством является возможность построения преобразователей, нечувствительных
к периодическим помехам (например, помеха от сетевого питания) благодаря
точному интегрированию входного сигнала за фиксированный временной интервал.
Недостатком данного типа АЦП является низкая скорость преобразования. АЦП с
уравновешиванием заряда используются в измерительных приборах высокой точности.
Конвейерные АЦП используют два или более шага-поддиапазона. На первом
шаге производится грубое преобразование (с низким разрешением). Далее
определяется разница между входным сигналом и аналоговым сигналом,
соответствующим результату грубого преобразования (со вспомогательного ЦАП, на который
подаётся грубый код). На втором шаге найденная разница подвергается
преобразованию, и полученный код объединяется с грубым кодом для получения
полного выгодного цифрового значения. АЦП этого типа быстры, имеют высокое
разрешение и небольшой размер корпуса.
Сигма-дельта-АЦП (называемые также дельта-сигма АЦП) производит
аналого-цифровое преобразование с частотой дискретизации, во много раз
превышающей требуемую и путём фильтрации оставляет в сигнале только нужную
спектральную полосу. Неэлектронные АЦП обычно строятся на тех же принципах.
Для большинства АЦП разрядность составляет от 6 до 24 бит, частота
дискретизации до 1 МГц. Мега- и гигагерцовые АЦП также доступны (февраль 2002).
Мегагерцовые АЦП требуются в цифровых видеокамерах, устройствах видеозахвата и
цифровых ТВ-тюнерах для оцифровки полного видеосигнала. Коммерческие АЦП обычно
имеют выходную ошибку от ±0,5 до ±1,5 МЗР. Один из факторов увеличивающих
стоимость микросхем - это количество выводов, поскольку они вынуждают делать
корпус микросхемы больше, и каждый вывод должен быть присоединён к кристаллу.
Для уменьшения количества выводов часто АЦП, работающие на низких частотах
дискретизации, имеют последовательный интерфейс. Применение АЦП с
последовательным интерфейсом зачастую позволяет увеличить плотность монтажа и
создать плату с меньшей площадью. Часто микросхемы АЦП имеют несколько
аналоговых входов, подключённых внутри микросхемы к единственному АЦП через
аналоговый мультиплексор. Различные модели АЦП могут включать в себя устройства
выборки-хранения, инструментальные усилители или высоковольтный
дифференциальный вход и другие подобные цепи.
.6 Применения АЦП
Аналого-цифровое преобразование используется везде, где требуется
обрабатывать, хранить или передавать сигнал в цифровой форме. АЦП являются
составной частью систем сбора данных. Быстрые видео АЦП используются в
ТВ-тюнерах. Медленные встроенные 8, 10, 12 или 16-битные АЦП часто входят в
состав микроконтроллеров. Очень быстрые АЦП необходимы в цифровых
осциллографах. Современные весы используют АЦП с разрядностью до 24 бит,
преобразующие сигнал непосредственно от тензометрического датчика. АЦП входят в
состав радиомодемов и других устройств радиопередачи данных, где используются
совместно с процессором ЦОС в качестве демодулятора. Сверхбыстрые АЦП
используются в антенных системах базовых станций (в так называемых
SMART-антеннах) и в антенных решётках РЛС.
АЦП встроены в большую часть современной звукозаписывающей аппаратуры,
поскольку обработка звука делается, как правило, на компьютерах; даже при
использовании аналоговой записи АЦП необходим для перевода сигнала в PCM-поток,
который будет записан на компакт-диск. Современные АЦП, используемые в
звукозаписи, могут работать на частотах дискретизации до 192 кГц. Многие люди,
занятые в этой области, считают, что данный показатель избыточен и используется
из чисто маркетинговых соображений (об этом свидетельствует теорема
Котельникова-Шеннона). Можно сказать, что звуковой аналоговый сигнал не
содержит столько информации, сколько может быть сохранено в цифровом сигнале
при такой высокой частоте дискретизации, и зачастую для Hi-Fi-аудиотехники
используется частота дискретизации 44,1 кГц (стандартная для компакт-дисков)
или 48 кГц (типична для представления звука в компьютерах). Однако широкая полоса
упрощает и удешевляет реализацию антиалиасинговых фильтров, позволяя делать их
с меньшим числом звеньев или с меньшей крутизной в полосе заграждения, что
положительно сказывается на фазовой характеристике фильтра в полосе
пропускания. АЦП для звукозаписи, используемые в компьютерах, бывают внутренние
и внешние. Также существует свободный программный комплекс PulseAudio для
Linux, позволяющий использовать вспомогательные компьютеры как внешние ЦАП/АЦП
для основного компьютера с гарантированным временем запаздывания.
.7 Микроконтроллеры
Микроконтроллер (MCU) - микросхема, предназначенная для управления
электронными устройствами. Типичный микроконтроллер сочетает в себе функции
процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный
компьютер, способный выполнять простые задачи. Использование одной микросхемы,
вместо целого набора, как в случае обычных процессоров, применяемых в
персональных компьютерах, значительно снижает размеры, энергопотребление и
стоимость устройств, построенных на базе микроконтроллеров. Микроконтроллеры
являются основой для построения встраиваемых систем, их можно встретить во
многих современных приборах, таких, как телефоны, стиральные машины и т. п.
Большая часть выпускаемых в мире процессоров - микроконтроллеры. Термин
«микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин
«однокристальная микро-ЭВМ». Первый же патент на однокристальную микро-ЭВМ был
выдан в 1971 году инженерам М. Кочрену и Г. Буну, сотрудникам Texas Instruments.
Именно они предложили на одном кристалле разместить не только микропроцессор,
но и память, устройства ввода-вывода. С появлением однокристальных микро-ЭВМ
связывают начало эры компьютерной автоматизации в области управления.
По-видимому, это обстоятельство и определило термин «микроконтроллер» (control
- управление). В 1979 году НИИ ТТ разработали однокристальную 16-разрядную ЭВМ
К1801ВЕ1, архитектура которой называлась «Электроника НЦ». В 1980 году фирма
Intel выпускает микроконтроллер i8048. Чуть позже в этом же году Intel
выпускает следующий микроконтроллер: i8051. Удачный набор периферийных
устройств, возможность гибкого выбора внешней или внутренней программной памяти
и приемлемая цена обеспечили этому микроконтроллеру успех на рынке. С точки зрения
технологии микроконтроллер i8051 являлся для своего времени очень сложным
изделием - в кристалле было использовано 128 тыс. транзисторов, что в 4 раза
превышало количество транзисторов в 16-разрядном микропроцессоре i8086.
На сегодняшний день существует более 200 модификаций микроконтроллеров,
совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество
микроконтроллеров других типов. Популярностью у разработчиков пользуются
8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel,
шестнадцатибитные MSP430 фирмы TI, а также ARM, архитектуру которых
разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства.
При проектировании микроконтроллеров приходится соблюдать баланс между
размерами и стоимостью с одной стороны и гибкостью и производительностью с
другой. Для разных приложений оптимальное соотношение этих и других параметров
может различаться очень сильно. Поэтому существует огромное количество типов
микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и
типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д.
В то время как 8-разрядные процессоры общего назначения полностью вытеснены
более производительными моделями, 8-разрядные микроконтроллеры продолжают
широко использоваться. Это объясняется тем, что существует большое количество
применений, в которых не требуется высокая производительность, но важна низкая
стоимость. В то же время, есть микроконтроллеры, обладающие большими
вычислительными возможностями, например цифровые сигнальные процессоры.
Ограничения по цене и энергопотреблению сдерживают также рост тактовой частоты
контроллеров. Хотя производители стремятся обеспечить работу своих изделий на
высоких частотах, они, в то же время, предоставляют заказчикам выбор, выпуская
модификации, рассчитанные на разные частоты и напряжения питания. Во многих
моделях микроконтроллеров используется статическая память для ОЗУ и внутренних
регистров. Это даёт контроллеру возможность работать на меньших частотах и даже
не терять данные при полной остановке тактового генератора. Часто предусмотрены
различные режимы энергосбережения, в которых отключается часть периферийных
устройств и вычислительный модуль. Большое распространение получили
микроконтроллеры с RISC-архитектурой (англ. Reduced Instruction Set Computer -
вычисления с сокращённым набором команд). Сокращенный набор команд позволяет
выполнять большинство инструкций за один такт, что обеспечивает высокое
быстродействие даже при относительно низкой тактовой частоте. Кроме ОЗУ,
микроконтроллер может иметь встроенную энергонезависимую память для хранения
программы и данных. Во многих контроллерах вообще нет шин для подключения
внешней памяти. Наиболее дешёвые типы памяти допускают лишь однократную запись.
Такие устройства подходят для массового производства в тех случаях, когда
программа контроллера не будет обновляться. Другие модификации контроллеров
обладают возможностью многократной перезаписи энергонезависимой памяти. В
отличие от процессоров общего назначения, в микроконтроллерах часто
используется гарвардская архитектура памяти, то есть раздельное хранение данных
и команд в ОЗУ и ПЗУ соответственно. Неполный список периферии, которая может
присутствовать в микроконтроллерах, включает в себя:
) универсальные цифровые порты, которые можно настраивать как на ввод,
так и на вывод
) различные интерфейсы ввода-вывода, такие как UART, I²C,
SPI, CAN, USB, IEEE 1394, Ethernet
3) аналого-цифровые и цифро-аналоговые преобразователи,
) компараторы,
) широтно-импульсные модуляторы,
) таймеры,
) контроллеры бесколлекторных двигателей,
) контроллеры дисплеев и клавиатур,
) радиочастотные приемники и передатчики,
) массивы встроенной флеш-памяти,
) встроенный тактовый генератор и сторожевой таймер.
Программирование микроконтроллеров обычно осуществляется на языке
ассемблера или Си, хотя существуют компиляторы для других языков, например,
Форта. Используются также встроенные интерпретаторы Бейсика. Для отладки
программ используются программные симуляторы (специальные программы для
персональных компьютеров, имитирующие работу микроконтроллера), внутрисхемные
эмуляторы (электронные устройства, имитирующие микроконтроллер, которые можно
подключить вместо него к разрабатываемому встроенному устройству) и интерфейс
JTAG.
.8 Микроконтроллер ATMega 8, основные аппаратные характеристики
микроконтроллера
ATMega-8 - 8-разрядный КМОП микроконтроллер, основанный на архитектуре
Atmel AVR. Контроллер выполняет большинство инструкций за 1 такт, поэтому
вычислительная мощность контроллера равна 1MIPS на 1 Мгц. Микроконтроллер имеет
RISC-архитектуру, но формат команды двухоперандный, за один такт может быть
обращение только к двум регистрам. Контроллер содержит 32 регистра, которые
могут равноправно использоваться в арифметических операциях. Основные
аппаратные характеристики микроконтроллера:
) 8 Кбт флеш-памяти команд;
) 512 байт электрически программируемой памяти;
) 1 Кбайт статической памяти;
) 23 линии ввода/вывода общего назначения;
) 32 РОНа;
) три многоцелевых таймер-счётчика с режимом сравнения;
) поддержка внутренних и внешних прерываний;
) универсальный асинхронный адаптер;
) байт-ориентированный двухпроводной последовательный интерфейс;
) 6/8 канальный АЦП с точностью 8 и 10 двоичных разрядов;
) сторожевой таймер;
) последовательный порт SPI;
) расширенные режимы управления энергопотреблением.
Рисунок 1 - Структурная схема ядра микроконтроллера
Рисунок 2 - Структурная схема микроконтроллера
Данный микроконтроллер имеет приемлемый набор периферийных устройств.
Соотношение цена-качество более чем устраивает требования. Встроенный
восьмибитный АЦП вполне подходит для решения поставленной задачи. Поэтому я
выбрал микроконтроллер ATMega8.
аналоговый цифровой преобразователь микроконтроллер
1.9 Аналого-цифровой преобразователь микроконтроллера
Модуль 8-битного аналого-цифрового преобразователя входит в состав
микроконтроллера. В качестве источника опорного напряжения для АЦП может
использоваться как напряжения питания микроконтроллера, так и внешний либо
внутренний источник опорного напряжения.
Модуль АЦП может работать в двух режимах:
)режим одиночного преобразования, когда запуск каждого преобразования
инициируется пользователем;
) режим непрерывного преобразования, когда запуск преобразования
выполняется непрерывно через определенные интервалы времени.
Регистры необходимые для управления АЦП приведены в таблице 2.
Таблица 2 - Регистры управления АЦП микроконтроллера
Названия регистр
|
Описания
|
Адрес
|
ADCSR
|
Управления и состояния
|
$06($26)
|
ADMUX
|
Управление мультиплексором
|
$07($27)
|
SFIOR
|
Специальные функции
|
$30($50)
|
Для разрешения работы АЦП необходимо записать логическую 1 в бит ADEN
регистра ADCSR, а для выключения - соответственно логический 0. Режим работы
АЦП определяется состоянием бита ADFR. Если он установлен в 1,АЦП работает в
режиме непрерывного преобразования. После завершения преобразования его
результат сохраняется в регистре данных АЦП. При выключении микроконтроллера в
регистре данных АЦП содержится значение $0000.
1.10 Семисегментный индикатор
Семисегментный индикатор это устройство отображения цифровой информации.
Семисегментный индикатор состоит из семи элементов индикации (сегментов),
включающихся и выключающихся по отдельности. Включая их в разных комбинациях,
из них можно составить упрощённые изображения арабских цифр. Часто
семисегментные индикаторы делают в курсивном начертании, что повышает
читаемость. Семисегментный индикатор показывает цифры шестнадцатеричного кода
Сегменты обозначаются буквами от A до G; восьмой сегмент - десятичная запятая,
предназначенная для отображения дробных чисел. Изредка на семисегментном
индикаторе отображают буквы. Светодиодные индикаторы имеют предельно простую
форму, так как в них применяются светодиоды, отлитые в форме сегментов, и чем
меньше разных типов светодиодов, тем дешевле устройство. В
жидкокристаллических, газорязрядных, вакуумно-люминесцентных
(катодно-люминесцентных) и других индикаторах дизайнеры находят место для
вариации формы сегментов.
Таблица 3 - Таблица истинности преобразователя семисегментного кода
Отображаемые цифры и буквы
|
Входная комбинация
(двоичный код)
|
Выходная комбинация
(семисегментный код)
|
|
X3
|
X2
|
X1
|
X0
|
g
|
f
|
e
|
d
|
c
|
b
|
a
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
2
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
3
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
4
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
1
|
0
|
5
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
6
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
0
|
1
|
7
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
8
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
9
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
A
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
B
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
C
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
1
|
D
|
1
|
1
|
0
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
F
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
G
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
1
|
Рассмотрим работу с трехзначным индикатором, коим является BC56-12xxx. У
него есть 12 выходов. Схема индикатора изображена на рисунке 1.
Рисунок 3 - Схема семисегментного индикатора
Рисунок 4 - Схемы подключения сегментов
Внутри линейной схемы находятся три семисегментных индикатора,
соединенные параллельно, и от каждого из них выходит один общий электрод (катод
или анод). Чтобы было понятнее, электрическая схема подключения семисегментных
индикаторов изображена на рисунке 5.
Рисунок 5 - Схема подключения 3 разрядов
Итак, подавая напряжение на выводы 1, 2, 3, 4, 5, 7, 10, 11, формируем
цифру (символ), мы их назовем информационными или шиной данных, а управляя
выводами 8, 9, 12, определяют позицию этой цифры. Выводы 8, 9, 12 назовем
выводами выбора устройства или шиной адреса. Понятно, что нельзя одновременно
зажечь две или три разные цифры. Придется использовать стробирование, т. е.
зажигать цифры по очереди с высокой скоростью. Они будут мерцать, но глаз этого
не успеет заметить. Значит, с выводами 1, 2, 3, 4, 5, 7, 10, 11 работа совершенно
аналогична. А выводы 8, 9, 12 нужно замыкать на землю по очереди. Казалось бы,
чего проще - присоединить их к МК и все. Не следует цеплять к МК общий электрод
- это слишком большая нагрузка для него, и его порт ввода-вывода может сгореть.
Следует использовать полевые транзисторы.
2. ОПИСАНИЕ ПРОГРАМНОЙ ЧАСТИ
.1 Программирование микроконтроллера
Программирование микроконтроллера осуществлялось при помощи специальной
платы AVR-Easy. Плата позволяет изучить работу микроконтроллеров семейства AVR фирмы
ATMEL, а также отлаживать дополнительные периферийные модули. Поддерживаются
микроконтроллеры в 8, 20, 28 и 40 выводных корпусах. Плата представляет
отладочный комплекс (ОК) который предназначен для макетирования и отладки
различных устройств на базе AVR-контроллеров. В основу ОК положен принцип
максимальной универсальности и удобства программирования и отладки программ на
базе AVR-контроллеров. ОК позволяет изучить сопряжение AVR-контроллеров с
жидкокристаллическим алфавитно-цифровым индикатором (LCD) и семисегментным
светодиодным индикатором, организовать связь с последовательным портом
персонального компьютера (COM-порт), организовать работу с интеллектуальными
датчиками температуры (на примере микросхемы DS1820 фирмы DALLAS).
В состав отладочного комплекса входят контакты или разъемы для
перечисленных выше элементов и не требует напайки внешних навесных деталей.
Вместе с тем, каждый порт AVR-контроллера имеет выход на отдельный разъем, куда
можно подключить любое внешнее устройство. Предусмотрено светодиодная индикация
сигналов на входах-выходах портов ABCD AVR-контроллера. На входах-выходах
портов ABD подключены кнопки, при нажатии на которые можно подавать логический
уровень "0" или "1" на соответствующие порты. На входы АЦП
AVR-контроллера можно подавать аналоговые напряжение с помощью подстроечных
резисторов в диапазоне 0-5 В. Таким образом, ОК можно использовать не только
как средство обучения, но и как устройство для макетирования и наладки реальных
практических разработок на базе AVR-контроллеров. ОК имеет несколько панелек
для установки AVR-контроллеров в корпусах DIP-20, DIP-28 и DIP-40, куда можно
устанавливать практически любые контроллеры, включая самые последние модели
широко используемых контроллеров семейств ATMEGA8515 и ATMEGA8535. К отладочному
комплексу может быть подключен любой контроллер, совпадающий по выводам питания
и программирования с наиболее распространенными контроллерами. ОК имеет разъем
для программирования и отладки, который позволяет заменить программу
AVR-контроллера, не вынимая его из посадочной панели ОК.
Программирование микроконтроллера осуществлялось на языке высокого уровня
С++. На рисунке 6 представлена блок-схема программы для прошивки
микроконтроллера.
Рисунок
6 - Блок-схема программной части
3.
ОПИСАНИЕ ЛАБОРАТОРНОЙ РАБОТЫ
.1
Использование лабораторного стенда на практике
Методические
рекомендации к выполнению лабораторной работе
Цель:
получить навыки по работе с аналого-цифровым преобразователем.
Теоретические
сведенья
Лабораторный
стенд состоит из трех основных частей: источника питания, микроконтроллера,
семисегментного индикатора. Блок-схема изображена на рисунке 7.
Рисунок
7 - Структурная схема лабораторного стенда
Напряжение
питания микроконтроллера составляет +5 В, и осуществляется при помощи батареек.
Сигнал на АЦП подается с блока питания. Максимальное значение напряжения, которое
может быть подано на АЦП составляет 5В.
В
нашей лабораторной установке используем микроконтроллер семейства AVR ATMega8.
Микроконтроллер (MCU) - микросхема, предназначенная для управления электронными
устройствами. Типичный микроконтроллер сочетает в себе функции процессора и
периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный
компьютер, способный выполнять простые задачи. Использование одной микросхемы,
вместо целого набора, как в случае обычных процессоров, применяемых в персональных
компьютерах, значительно снижает размеры, энергопотребление и стоимость
устройств, построенных на базе микроконтроллеров. Микроконтроллеры являются
основой для построения встраиваемых систем. ATMega8 это 8-разрядный КМОП
микроконтроллер, основанный на архитектуре Atmel AVR. Контроллер выполняет
большинство инструкций за 1 такт, поэтому вычислительная мощность контроллера
равна 1MIPS на 1 Мгц. Микроконтроллер имеет RISC-архитектуру, но формат команды
двухоперандный, за один такт может быть обращение только к двум регистрам.
Контроллер содержит 32 регистра, которые могут равноправно использоваться в
арифметических операциях.
Семисегментный
индикатор это устройство отображения цифровой информации. Семисегментный
индикатор состоит из семи элементов индикации (сегментов), включающихся и
выключающихся по отдельности. Включая их в разных комбинациях, из них можно
составить упрощённые изображения арабских цифр. Индикатор показывает цифры
шестнадцатеричного кода. Сегменты обозначаются буквами от A до G; восьмой
сегмент - десятичная запятая, предназначенная для отображения дробных чисел.
Светодиодные индикаторы имеют предельно простую форму, так как в них
применяются светодиоды, отлитые в форме сегментов, и чем меньше разных типов
светодиодов, тем дешевле устройство. Ток питания семисегментного индикатора
15мА.
Основой
лабораторного стенда является аналого-цифровой преобразователь.
Аналого-цифровой преобразователь (АЦП, англ. Analog-to-digital converter, ADC)
- устройство, преобразующее входной аналоговый сигнал в дискретный код
(цифровой сигнал). Обратное преобразование осуществляется при помощи
цифро-аналогового преобразователя. Как правило, АЦП - электронное устройство,
преобразующее входной сигнал в двоичный цифровой код. Основными
характеристиками АЦП являются:
Разрешение
АЦП - минимальное изменение величины аналогового сигнала, которое может быть
преобразовано данным АЦП - связано с его разрядностью. В случае единичного
измерения без учёта шумов разрешение напрямую определяется разрядностью АЦП.
Разрядность АЦП характеризует количество дискретных значений, которые
преобразователь может выдать на выходе. В двоичных АЦП разрядность измеряется в
битах, в троичных разрядность измеряется в тритах. Например, двоичный АЦП,
способный выдать 256 дискретных значений (0…255), имеет разрядность 8 бит, ,
троичный АЦП, имеющий разрядность 8 трит, способен выдать 6 561 дискретное
значение. Этот расчет можно провести по формуле (1):
(1)
Где
-
количество дискретных значений, -
разрядность АЦП.
Подставив
значения в формулу, получим:
=256.
Эту
же формулу можно использовать для расчета количества дискретных значений для
троичного АЦП. Тогда вместо 2 в формулу нужно подставить 3.
Модуль
8-битного аналого-цифрового преобразователя входит в состав микроконтроллера. В
качестве источника опорного напряжения для АЦП может использоваться как напряжения
питания микроконтроллера, так и внешний либо внутренний источник опорного
напряжения.
Модуль
АЦП может работать в двух режимах:
)режим
одиночного преобразования, когда запуск каждого преобразования инициируется
пользователем;
)
режим непрерывного преобразования, когда запуск преобразования выполняется
непрерывно через определенные интервалы времени.
Регистры
необходимые для управления АЦП приведены в таблице
Таблица
4 - Описание регистров АЦП
Названия регистр
|
Описания
|
Адрес
|
ADCSR
|
Управления и состояния
|
$06($26)
|
ADMUX
|
Управление мультиплексором
|
$07($27)
|
SFIOR
|
Специальные функции
|
$30($50)
|
Для разрешения работы АЦП необходимо записать логическую 1 в бит ADEN
регистра ADCSR, а для выключения - соответственно логический 0. Режим работы
АЦП определяется состоянием бита ADFR. Если он установлен в 1,АЦП работает в
режиме непрерывного преобразования.
После завершения преобразования его результат сохраняется в регистре
данных АЦП. При выключении микроконтроллера в регистре данных АЦП содержится
значение $0000;
Для расчета напряжения дискретизации воспользуемся формулой (2):
(2)
Где
-
опорное напряжение на микрокнтроллере.
Описание
лабораторной установки.
Устройство
позволяет выполнить две основные операции: первая - отображения значения
снятого с АЦП в десятичном коде (На микроконтроллер через резистор переменного
сопротивления подаётся ток. При изменении сопротивления на резисторе напряжение
на входе АЦП микроконтроллера будет изменяться. Далее АЦП преобразует входное
напряжение в двоичный код, который через порт D микроконтроллера выводится на
семисегментный индикатор), Вторая-отображение шага АЦП (Для этого нам
понадобится очень точный блок питания, который сможет изменять величину
напряжения на очень маленькое значение. Можно рассчитать напряжение дискретизации
(Ud) для нашего АЦП)
Порядок
выполнения
1. Включить батарею для питания микроконтроллера.
. Подсоединяем блок питания к контактам на вход АЦП
микроконтроллера.
. Рассчитываем значение напряжения дискретизации. Сравнить
рассчитанное напряжение с полученным экспериментально.
. Определить значение, которое будет на выходе АЦП при известном
входом напряжении. (Входное напряжение задаёт преподаватель.)
. Сравнить рассчитанные данные с полученными экспериментально.
Пример расчета
Дано опорное напряжение +3В. АЦП 8-битный, поэтому максимальное число,
которое можем получить 256. Для определения напряжения дискретизации
воспользуемся формулой (2).
Теперь
сравним рассчитанный результат с полученным эксперементально.
При
помощи блока питания выставим на вход АЦП 0,9В. Рассчитаем значение которое
будет на выходе. Для этого сложим пропорцию:
B
- 256
,9B
- X
Из
составленной пропорции находим X.
Есть
и другой способ решения данной задачи. Нам известно напряжение дискретизации . За
опорное напряжение принимаем напряжение десятичный код которого нужно узнать Для того
чтобы узнать число (N) на выходе АЦП нужно опорное напряжение разделить на
напряжение дискретизации.
Сверим
рассчитанный результат с полученным экспериментально.
4. ЭКОНОМИЧЕСКАЯ ЧАСТЬ
4.1 Разработка комплексного плана по теме
Цель анализа - получение информации о финансовом положении,
платежеспособности и доходности. В нашем случае будет приведен пример
окончательного расчета конкурентоспособности, а также непосредственный расчет
себестоимости и цены данного программного продукта по сравнению с существующими
аналогами. Разрабатываемый лабораторный стенд представляет собой
аппаратно-программный комплекс и предполагает полную информатизацию процесса
передачи информации от уровня технологического оборудования до уровня принятия
управленческих решений. Основное предназначение системы - визуализация работы
аналого-цифрового преобразователя промышленного микроконтроллера.
Анализ рынка в данной части не будет проведен, так как устройство не
предназначено для массового производства. Производство системы требует
первоначального расчета себестоимости, конкурентоспособности, и, как результат,
экономического обоснования необходимости разработки такого рода устройства. В
таблице 5 приведен перечень работ, которые необходимо проделать для реализации
устройства. Для проведения работ необходимы два специалиста:
разработчик-схемотехник, инженер-программист.
Таблица 5 - Результаты расчета трудоемкости
№
|
Наименование этапов
|
Продолжительность в днях
|
Трудоемкость, чел/дн.
|
исполнители
|
|
|
|
|
Руководитель-схемотехник
|
Программист
|
Подготовка
|
1
|
Разработка ТЗ на постановку
задачи
|
1
|
1
|
1
|
|
2
|
Организационная подготовка
к созданию устройства
|
1
|
1
|
1
|
|
Постановка задачи
|
3
|
Разработка структурной
схемы УС
|
1
|
1
|
1
|
|
|
Разработка математической
модели и алгоритмов
|
1
|
1
|
|
1
|
4
|
Разработка функциональной
схемы УС
|
2
|
2
|
2
|
|
|
Разработка информационной
базы
|
2
|
2
|
|
2
|
|
Разработка электрической
принципиальной схемы
|
4
|
4
|
4
|
|
5
|
Разработка структуры базы
данных
|
3
|
3
|
|
3
|
6
|
Разработка тестового
примера
|
3
|
3
|
|
3
|
7
|
Разработка описания задачи
и ТЗ на реализацию ПП
|
2
|
2
|
2
|
|
Разработка системы
управления
|
8
|
Расчет электрической
принципиальной схемы
|
8
|
8
|
8
|
|
|
Разработка машинных
алгоритмов
|
6
|
6
|
|
6
|
|
Разработка
электромонтажного чертежа
|
4
|
4
|
4
|
|
9
|
Разработка программ
|
9
|
9
|
|
9
|
10
|
Разработка документации на
систему
|
3
|
3
|
3
|
|
Внедрение
|
11
|
Опытная эксплуатация УС
|
4
|
4
|
4
|
|
12
|
Отладка, корректировка
программы и документации
|
4
|
4
|
|
4
|
13
|
Сдача проэкта
|
2
|
2
|
4
|
|
Итого
|
60
|
60
|
34
|
26
|
В результате получили, что на разработку системы
потребуется 60 дней. Заработная плата инженера-программиста, составляет 2100
грн/мес (22 рабочих дня в месяце).Для разработки устройства сопряжения
понадобится разработчик-схемотехник зарплата которого составляет 2300 грн/месс.
Расчет себестоимости работ начнем с расчета фонда основной заработной платы по
стадиям и теме в целом
Таблица 6 - Состав исполнителей работы
Исполнители
|
Должность оклада, грн.
|
|
Месячные
|
Дневные
|
Разработчик - схемотехник
|
2300
|
115
|
Программист
|
2100
|
105
|
Основная заработная плата определяется по формуле (3):
(3)
Дополнительная
заработная плата составляет 10% от основной заработной платы: Здоп =656
грн.
Заработной
платы составляет ОЗП+Здоп = 7216грн.
4.2 Определение потребностей в материальных ресурсах
В данном случае рассчитывается себестоимость
программного продукта и устройства сопряжения. Расходы на материалы
представлены в таблице 7 и таблице 8:
Таблица 7 - Расходы на разработку программы
Материал
|
Кол-во, шт.
|
Цена, грн
|
Сумма, грн
|
Назначение
|
CD-R диск
|
1 шт
|
3,5
|
3,5
|
Хранение ПО
|
Картридж для принтера
|
1 шт
|
80,00
|
80,00
|
Печать документации
|
Бумага формата А4, пачка
(500 л.)
|
1 шт.
|
40,00
|
40,00
|
Печать документации,
отчетов
|
Услуги сети Интернет
|
50 МБ
|
0,5
|
25,00
|
Поиск дополнительной
информации
|
Дискета 3,5”
|
1 шт.
|
5,00
|
5,00
|
Хранение резервной копии
|
Итого
|
148,5
|
|
Таблица 8 - Расчет количества и стоимости изделий для разработки
устройства сопряжения
Наименование покупных
изделий
|
Тип, техническое
обозначения
|
Количество изделий на
прибор
|
Цена за единицу изделия
(грн.)
|
Сумма (грн.)
|
Плата
|
|
1
|
10
|
10
|
Резисторы
|
МЛТ-0,125-330Ом+5%
|
14
|
0,2
|
2,8
|
|
МЛТ-0,25-330Ом+5%
|
14
|
0,3
|
4,2
|
|
МЛТ-0,125-660Ом+5%
|
14
|
0,25
|
3,5
|
Микросхемы
|
ATMega 8
|
1
|
9
|
9
|
|
RL-T526360
|
1
|
10
|
10
|
Паяльник
|
АR-60
|
1
|
50
|
50
|
Мульти метр
|
DT-830В
|
1
|
30
|
30
|
Всего:
|
123,5
|
.3 Рассчитаем цену программного продукта
Эксплуатационные расходы рассчитаем по формуле (4):
(4)
где
- время кодирования и отладки программного продукта на ЭВМ, рассчитываем по
формуле (5):
=, (5)
где
m - средние затраты машинного времени на кодирование и отладку одной условной
команды (0,5 мин); Q - общее число команд, рассчитываемое по формуле (6):
, (6)
где
q - предполагаемое число команд программы (q=1534 k=1,2 - коэффициент сложности
программы, n=5 с коррекцией 0,5, - коэффициент коррекции программы.
Рассчитываем общее число команд по формуле
(6)=1534*1,2*(1+(0,5+0,5+0,5+0,5+0,5)) =4602.
-
коэффициент квалификации исполнителя. =1,2 (т.к. стаж исполнителя меньше 5лет).
Время кодирования и отладки ПО по формуле (5):
час
-
стоимость машинного времени (1,5 грн./час). Эксплуатационные расходы составляют
Зэр = 32*1,5=48грн.
Годовая
норма амортизационных отчислений рассчитывается по формуле (7):
АМО
= , (7)
АМО=
Накладные расходы составляют 50 % от заработной платы:
Рн= 6560*0,5=3280 грн..
Командировочных расходов при проектировании ПП не
было. Сметная калькуляция на разработку программного продукта представлена в
таблице 9.
Таблица 9 - Сметная калькуляция на разработку ПО
Статья расхода
|
Сметная стоимость, грн
|
Материалы с учетом НДС
|
272
|
Основная заработная плата
|
6560
|
Дополнительная заработная
плата
|
656
|
7216
|
Отчисления на соц.нужды,
фонд страхов.(37.5%)
|
2706
|
Эксплуатационные расходы
|
48
|
Амортизационные отчисления
|
127
|
Накладные расходы Фпз*0,5
|
3608
|
Себестоимость разработки
|
21193
|
Плановая прибыль(25% от
себестоимости)
|
5298,25
|
Цена разработки (без НДС)
|
26491,25
|
Цена разработки с НДС
|
31789,5
|
Себестоимость разработки программного продукта равна
сумме всех расходов (затраты на материалы, заработную плату, отчисления, прямые
расходы)
Ср=272+6560+656+7216+2706+48+127+3608=21193грн.
Цена разработки рассчитывается по формуле (8):
, (8)
где
П - плановая прибыль (25% от себестоимости разработки).
П=
21193*0,25=5298,25грн
Цразр
без НДС =21193+5298,25=26491,25 грн;
4.4 Общие показатели качества
Поскольку, в классе лабораторных стендов с аналого-цифровым преобразователем
на основе промышленного микроконтроллера аналоги не обнаружены, то для оценки
уровня качества используем существующие разработки, выполняющие некоторые
аналогичные функции, предоставляемых разработанным устройством и не
удовлетворяющих пользователя по ряду причин (интерфейс, управление,
достоверность выдаваемых данных и др.). Можно рассмотреть гипотетический
вариант, имеющий максимальную оценку по всем выбранным показателям.
Перечень основных показателей качества:
) Требование к ресурсам
) Служба помощи
) Точность результатов
) Визуализация результатов
) Интерфейс пользователя.
Показатели делятся на минимизируемые и максимизируемые.
Минимизируемые показатели рассчитываются по формуле (9):
, (9)
максимизируемые
- по формуле (10):
, (10)
Где
- относительный показатель i-го показателя для j-го варианта, - абсолютный
показатель i -го показателя для j-го варианта i-го показателя для
гипотетического варианта. Показателя качества присваивают коэффициенты
весомости , при
этом и . После
чего рассчитывают обобщенные показатели качества по j-варианту:
, (11)
Затем
рассчитываем уровни качества нового (базового) продукта по сравнению с
изделиями-конкурентами (j-ми вариантами):
, (12)
Обобщенный
показатель качества является уровнем качества рассматриваемого j-го варианта по
гипотетическому.
Анализ
конкурентоспособности приведен в таблице 10.
Таблица
10 - Анализ конкурентоспособности.
№
|
Показатели качества
|
Коэффициент весомости
|
Абсолютное значение
показателей
|
Относительное значение
показателей
|
|
|
|
Варианты
|
Варианты
|
|
Наименование
|
|
1
|
ГИП
|
1
|
|
|
|
|
|
|
|
1
|
Интерфейс пользователя.
|
0,2
|
6
|
7
|
0,85
|
0,17
|
2
|
Требование к ресурсам
|
0,3
|
8
|
9
|
0,88
|
0,264
|
3
|
Служба помощи
|
0,15
|
7
|
8
|
0,87
|
0,135
|
4
|
Возможность редактирования
программы
|
0,2
|
6
|
6
|
1
|
0,2
|
5
|
Визуализация результатов
|
0,15
|
5
|
5
|
1
|
0,15
|
|
0,919
|
|
|
|
|
|
|
|
|
.5 Вывод
В результате разработки экономической части можно сказать, что
изготовленное устройство является конкурентоспособным, имеет абсолютное
значение показателей качества 0,919 что вполне приемлемо для нашего устройства.
Указанная цена продукта приемлема для разработки.
5. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ
5.1 Краткий анализ объекта (производственного помещения)
Работа происходит в зоне производственного помещения, в которой
находится: лабораторный стенд с аналого-цифровым преобразователем на основе
промышленного микроконтроллера, робот-манипулятор МП-9С, станок с ЧПУ (числовым
программируем устройством) для обработки изделия, рабочее место пользователя
ЭВМ, шкаф для верхней одежды. Данное устройство состоит из набора микросхем
помещенные на плату, с помощью разработанного устройства, осуществляется
наглядная демонстрация работы аналого-цифрового преобразователя. Данная комната
имеет размер: длина 6м, ширина 5м и высота 2,5м. В помещении находится два окна
размером 4м2. Комната оборудована системой централизованного
отопления.
5.2 Определение опасных и вредных производственных
факторов, действующих в рабочей зоне производственного помещения
С целью выявления всех опасных и вредных
производственных факторов в данном помещении проведем предварительный анализ
безопасности объекта. Целью механической обработки является придание
необходимой формы изделию, размеров и чистоты поверхности путём снятия припуска
режущими инструментом. Следовательно, при механической обработке металлов на
металлорежущих станках возникает ряд опасных и вредных производственных
факторов. К основным опасным производственным факторам, которые возникают в
производственного помещения, относятся:
а) движущиеся машины и механизмы, подвижные части
производственного оборудования; передвигающиеся изделия, заготовки, материалы;
б) стружка обрабатываемых материалов (при обработке
хрупких материалов, т. е. латуни, чугуна, бронзы, графита), стружка при этом
разлетается на 3-5 м;
в) осколки инструментов или резцов, шлифовальных
кругов;
г) высокая температура поверхности обрабатываемых
деталей и
инструментов;
д) повышенное значение напряжения в электрической
цепи, замыкание которой может произойти через тело человека;
е) острые кромки, заусенцы, шероховатость на
поверхностях заготовок, инструментов, оборудования.
К основным вредным производственным факторам, которые
возникают в производственного помещения, относятся:
а) повышенная запыленность и загазованность воздуха
рабочей зоны (из-за отсутствия нормальной вентиляции помещения);
б) повышенный уровень статического электричества
(электризация отдельных частей механизма);
в) недостаточная освещенность рабочей зоны
(недостаточное количество осветительных устройств);
г) повышенный уровень шума на рабочем месте
(недостаточная звукоизоляция шумопроизводящих элементов механизмов);
д) физические перегрузки (большой вес изделий,
сложность в установлении детали на станок);
е) монотонность труда (отсутствие небольших перерывов
в работе);
5.3 Анализ возможных последствий воздействия
негативных факторов, действующих в рабочей зоне производственного помещения
Наибольшую и встречающуюся чаще всего опасность из
всех опасных вышеперечисленных факторов при механической обработке металлов
представляют движущиеся механизмы, осколки инструментов или резцов и
металлическая стружка. По статистике, наиболее распространенными у станочников
являются механические травмы, а именно, травмы глаз от отлетающей стружки.
Высокая температура поверхности обрабатываемых деталей и инструментов может
стать причиной ожогов.
Повышенное значение напряжения в электрической цепи
увеличивает опасность поражения человека электрическим током. Часто причиной
травм различной степени тяжести становятся острые кромки на поверхностях
заготовок, инструментов, оборудования. В качестве смазочно-охлаждающих
жидкостей (СОЖ) в производственном помещении применяются: эмульсия,
сульфофрезол, содовая вода и другие жидкости. Аэрозоли нефтяных масел, входящие
в состав СОЖ, могут вызывать раздражение слизистых оболочек дыхательных путей.
Патогенные микроорганизмы (бактерии, появляющиеся при работе с СОЖ, и продукты
их жизнедеятельности), насекомые и животные (мыши, крысы, мухи, тараканы и
др.), повышенная запыленность и загазованность воздуха рабочей зоны могут вызвать
заболевания различных систем организма человека. Физические перегрузки,
возникающие при неправильной организации производственного процесса,
монотонность труда (при выполнении одной и той же операции в течение
продолжительного времени), перенапряжение анализаторов (перенапряжение зрения
при недостаточном освещении, влияние шума на слуховые анализаторы), повышенный
уровень статического электричества влияет на нарушение функционального
состояния нервной и сердечнососудистой систем.
5.4 Разработка мероприятий по снижению возможного
воздействия вредных и устранению опасных факторов
К основным мероприятиям, направленным на устранение
опасных факторов можно отнести:
1. Проведение инструктажей по технике безопасности.
. Установка знаков, оповещающих об опасности.
. Использование рабочими защитных средств и
приспособлений.
Мероприятия по снижению возможного воздействия вредных
факторов:
а) основными видами средств коллективной защиты от
воздействия электрического поля токов промышленной частоты являются экранирующие
устройства - составная часть электрической установки, предназначенная для
защиты персонала в открытых распределительных устройствах и на воздушных линиях
электропередачи;
б) улучшение организации производственного процесса;
в) использование средств индивидуальной защиты.
Улучшение условий труда на производстве в значительной
степени зависит от правильной, научно-обоснованной организации и проведения
мероприятий по оздоровлению воздушной среды. Оздоровление воздушной среды
достигается снижением содержания в ней вредных веществ до безопасных значений
(не превышающих величины ПДК на данное вещество), а также поддержанием
требуемых параметров микроклимата в производственном помещении. Снизить
содержание вредных веществ в воздухе рабочей зоны можно, используя
технологические процессы и оборудование, при которых вредные либо не
образуются, либо не попадают в воздух рабочей зоны. Работа производственного
оборудования и многие производственные процессы сопровождаются выделением в
окружающее воздушное пространство избытков тепла, влаги, вредных газов и паров,
твёрдых и жидких частиц. Большое значение имеет надёжная герметизация
оборудования, которая исключает попадание различных вредных веществ в воздух
рабочей зоны или значительно снижает в нём концентрацию их. Для поддержания в
воздухе безопасной концентрации вредных веществ используют различные системы
вентиляции. В ряде случаев для защиты от воздействия вредных веществ,
находящихся в воздухе рабочей зоны, рекомендуется использовать индивидуальные
средства защиты работающих (респираторы, противогазы), однако следует
учитывать, что при этом существенно снижается производительность труда
персонала.
Вентиляция может быть приточной (воздух попадает в
помещение), вытяжной (воздух удаляется из помещения). По месту действия
вентиляция подразделяется на общеобменную и местную. Выбор системы вентиляции
определяется назначением производственного помещения, характеристиками
технологического процесса и производственного оборудования, видом и количеством
вредных выделений, требованиями, предъявляемыми к системам вентиляции, объёмом
производственного помещения, числом работающих людей и видом рабочих мест. В
производственных помещениях используются следующие схемы организации
воздухообмена: снизу вверх, сверху вниз, снизу вниз, сверху вверх и смешанные.
Схема организации воздухообмена, способов подачи и забора воздуха выбирается на
основании данных о количестве выделяющихся вредных веществ с учётом нормируемых
параметров воздушной среды, а также объёмно-планировочных решений зданий и
требований СНиП. Приточный воздух, как правило, подаётся непосредственно в
помещения с постоянным пребыванием людей. В рабочую зону воздух подаётся
наклонными вниз струями, выпускаемыми на высоте 2-4 м от пола; вертикальными
струями, выпускаемыми с высоты 4-6 м; горизонтальными струями, поступающими
непосредственно в рабочую зону. При назначенных избытках теплоты воздух
подаётся в верхнюю зону струями, горизонтально направленными сверху вниз. В
помещении с выделением пыли воздух, как правило, должен подаваться в верхнюю
зону сверху вниз.
Удаление воздуха производится из зон, в которых он
наиболее загрязнён или имеет наибольшую температуру. При выделении пыли и
аэрозолей воздух удаляется из нижней зоны. В общем случае расчёт вентиляции
состоит в определении типа вентиляции и расчёте (или подборе) вентиляционных
устройств. Если в данном помещении выделение вредных веществ происходит в малых
количествах, то величину количества воздуха, необходимо для борьбы с вредными
выделениями, учитывать не будем, т.е. пренебрежём ею.
.5 Выводы
Суть данного дипломного проекта заключается в том, чтобы создать
программный продукта и устройство, лабораторный стенд с аналого-цифровым
преобразователем на основе микроконтроллера для автоматизации технологического
процесса и для уменьшения габаритов устройства. Главными условиями разработки
новых проектов является выявление источников, которые наносят вред здоровью
человека и устранение или ослабление их влияния на человека.
ЗАКЛЮЧЕНИЕ
Основной целью данной выпускной работы было создание лабораторного стенда
для изучения работы аналого-цифрового преобразователя на основе промышленного
микроконтроллера.
В пояснительной записке рассмотрены общие характеристики аналого-цифровых
преобразователей, характеристики микроконтроллера. Также в записке приведены
структурная и электрическая схемы разработанного устройства. Имеются
методические рекомендации к лабораторной работе, созданной для изучения работы
аналого-цифрового преобразователя. В приложениях описана программная часть работы.
Приведен перечень элементов.
В результате данной проекта был выполнен следующий объем работ:
разработана структурная схема устройства, разработана электрическая
принципиальная схема устройства, запрограммирован микроконтроллер, составлена
блок-схема программной части проекта, разработаны методические рекомендации к
созданной лабораторной работе: “Изучение аналого-цифрового преобразователя”.
СПИСОК ИСПОЛЬЗУЕМОЦ ЛИТЕРАТУРЫ
1. Хоровиц
П., Хилл У. Искусство схемотехники. В 3-х томах: Т. 2. Пер. с англ. - 4-е изд.,
перераб. и доп.- М.: Мир, 1993. - 371 с. ISBN 5-03-002338-0.
. Жан
М. Рабаи, Ананта Чандракасан, Боривож Николич Цифровые интегральные схемы.
Методология проектирования = Digital Integrated Circuits. - 2-е изд. - М.:
Вильямс, 2007. - ISBN 0-13-090996-3
. Ханзел
Г. Е. Справочник по расчету фильтров. США, 1969. / Пер. с англ., под ред. А. Е.
Знаменского. М.: Сов. радио, 1974. - 288 с. УДК 621.372.541.061
. Бродин
В. Б., Калинин А. В. Системы на микроконтроллерах и БИС программируемой логики.
- М.: ЭКОМ, 2002. - ISBN 5-7163-0089-8
. Микушин
А. Занимательно о микроконтроллерах. - М.: БХВ-Петербург, 2006. - ISBN
5-94157-571-8
. Фрунзе
А. В. Микроконтроллеры? Это же просто! Т. 3. - М.: ООО «ИД СКИМЕН», 2003. -
ISBN 5-94929-003-7
ПРИЛОЖЕНИЕ
Листинг программы
#include <mega8.h> // Подключение библиотек
#include <delay.h>
#include <stdio.h> //Библиотеки стандартных функций ввода/вывода
#include <delay.h> // Прерывания задержкиint adc_data; //переменная
содержащая значение АЦПadc_rezult; //переменная содержащая результат
преобразования АЦПadc_a;adc_b;adc_c;adc_d;[TIM0_OVF] void timer0_ovf_isr(void)
{ TCNT0=0x83; } // Инициализация таймера[ADC_INT] void adc_isr(void)
{adc_data=ADCH;} // Считывание результата преобразования с регистра
ADCHindic_0(void); // отображение на индикаторе
цифрindic_1(void);indic_2(void);indic_3(void);indic_4(void);indic_5(void);indic_6(void);indic_7(void);indic_8(void);indic_9(void);culc_rezult(int
a); //пересчет данных полученных от АЦП в значение типа ХХХХ для удобства
отображения.indic_out(int a,int b); // а- цифра, б-позицияinit_avr(void);
//инициализация контроллераrazb_rezult(void); //разбивает результат на
цифрыindic_vivod(void); //организовывает вывод числаmain(void) //функция
содержит локальные переменные
{init_avr();}indic_0(void) //Описание функций для отображения на
индикаторе цифр
{.0=1; //a.1=1; //b.2=1; //c.3=1; //d.4=1; //e.5=1; //f.6=0; //g.7=0; //h
}indic_1(void)
{.0=0; //a.1=1; //b.2=1; //c.3=0; //d.4=0; //e.5=0; //f.6=0; //g.7=0; //h
}indic_2(void)
{.0=1; //a.1=1; //b.2=0; //c.3=1; //d.4=1; //e.5=0; //f.6=1; //g.7=0; //h
}indic_3(void)
{.0=1; //a.1=1; //b.2=1; //c.3=1; //d.4=0; //e.5=0; //f.6=1; //g.7=0; //h
}indic_4(void)
{.0=0; //a.1=1; //b.2=1; //c.3=0; //d.4=0; //e.5=1; //f.6=1; //g.7=0; //h
}indic_5(void)
{.0=1; //a.1=0; //b.2=1; //c.3=1; //d.4=0; //e.5=1; //f.6=1; //g.7=0; //h
}indic_6(void)
{.0=1; //a.1=0; //b.2=1; //c.3=1; //d.4=1; //e.5=1; //f.6=1; //g.7=0; //h
}indic_7(void)
{.0=1; //a.1=1; //b.2=1; //c.3=0; //d.4=0; //e.5=0; //f.6=0; //g.7=0; //h
}indic_8(void)
{.0=1; //a.1=1; //b.2=1; //c.3=1; //d.4=1; //e.5=1; //f.6=1; //g.7=0; //h
}indic_9(void)
{.0=1; //a.1=1; //b.2=1; //c.3=1; //d.4=0; //e.5=1; //f.6=1; //g.7=0; //h
}culc_rezult(int a) //расчет значения с АЦП
{_rezult=(a*25-(a*25)%10)/10;
}indic_vivod(void) //организовывает вывод числа на семисегментных
{_out(adc_a,5);_out(adc_b,4);_out(adc_c,3);_out(adc_d,2);.7=1; // зажечь
точку
}razb_rezult(void) //разбить результат на цифры
{_a=adc_rezult%10;_b=(adc_rezult-adc_a)%100/10;_c=(adc_rezult-adc_a-adc_b*10)%1000/100;
}indic_out(int a,int b) // а- цифра, б-позиция
{(b) {2: { PORTB.2=1; PORTB.3=0; PORTB.4=0;};3: { PORTB.2=0; PORTB.3=1;
PORTB.4=0;};4: { PORTB.2=0; PORTB.3=0; PORTB.4=1;};
};(a) {0: indic_0();;1: indic_1();;2: indic_2();;3: indic_3();;4:
indic_4();;5: indic_5();;6: indic_6();;7: indic_7();;8: indic_8();;9:
indic_9();;
};
}init_avr(void)=0x00; // Настройка порта B=0x00;=0x00; // Настройка порта
C=0x00;=0x00; // Настройка порта D=0x00;=0x03; // Настройка
таймер-счетчика=0x83;=0x00;A=0x00; // Настройка
таймер-счетчика1B=0x00;H=0x00;L=0x00;H=0x00;L=0x00;AH=0x00;AL=0x00;BH=0x00;BL=0x00;=0x00;
// Настройка таймер-счетчика 2=0x00;=0x00;=0x00;=0x00; // Настройка
прерываний=0x00;=0x01; // Настройка прерываний таймер-счетчика=0x00; //
Настройка USART=0x08;=0x86;=0x00;=0x0C;=0x80; // Настройка аналогового
компаратора=0x00;=ADC_VREF_TYPE & 0xff;=0x8E;.0=0; //выбор ножки ввода
аналогового напряжение.1=1;.2=0;.3=0;.4=0;.7 = 1; //включить АЦП_avr();
#asm("sei")=0xFF; //открытие портов для записи=0b00011100;(1)
{.6 = 1; // ADSC(6-й бит) = 1 начать работу АЦП_data=ADCH; //чтение
результата преобразования АЦП_rezult(adc_data); // подсчет результата
преобразования_rezult(); //разбиение результата на цифры_vivod(); }; } //вывод
результата на семисегментник