Разработка и изготовление комплекса усиления и оцифровки сигнала на основе микроконтроллера

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    2,1 Мб
  • Опубликовано:
    2012-11-16
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка и изготовление комплекса усиления и оцифровки сигнала на основе микроконтроллера

Содержание

Обозначения и сокращения

Введение

1. Способы оцифровки и передачи сигналов

1.1 АЦП для задач цифровой обработки сигналов

.1.1 АЦП последовательного приближения

.1.2 SIGMA-DELTA АЦП

1.1.3 Параллельные (FLASH) и конвейерные АЦП

.2 Основные компоненты микроконтроллера AT90S8535

.2.1 Цоколевка и описание выводов. Устройства управления

.2.2 Порты ввода/вывода

.2.3 Аналого-цифровой преобразователь

.2.4 Универсальный асинхронный приемо-передатчик

.3 Последовательный интерфейс - СОМ-порт

.3.1 Интерфейс RS-232C.

.3.2 Асинхронный режим передачи

. Разработка и изготовление комплекса усиления и оцифровки сигнала на основе микроконтроллера

2.1 Разработка программного обеспечения микроконтроллера AT90S8535

.1.1 Программный комплекс WinAVR

.1.2 Интегрированная отладочная среда AVR Studio фирмы Atmel

.1.3 Программная оболочка программатора PonyProg

.2 Аппаратная часть программатора PonyProg

.3 Программное обеспечение комплекса усиления и оцифровки сигнала

.4 Аппаратное обеспечение комплекса

Заключение

Список использованных источников

Приложение А

Приложение Б

Обозначения и сокращения

АПД

аппаратура передачи данных

АЦП

аналого-цифровой преобразователь

МК

микроконтроллер

ООД

оконечное оборудование данных

ПК

персональный компьютер

РПП

регистр последовательного приближения

УВХ

устройство выборки-хранения

ЦАП

цифро-аналоговый преобразователь

ЦОС

цифровая обработка сигналов

ЭВМ

электронно-вычислительная машина


Введение

Развитие микроэлектроники и широкое ее применение в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса. Микроконтроллеры представляют собой эффективное средство автоматизации разнообразных объектов и процессов. Их использование не только приводит к повышению технико-экономических показателей оборудования (стоимости, надежности, потребляемой мощности, габаритных размеров), но и позволяет сократить время его разработки, делает его модифицируемым и адаптивным. Использование микроконтроллеров в системах управления обеспечивает достижение высоких показателей эффективности при низкой стоимости.

Микроконтроллер - специализированный микрокомпьютер, предназначенный для управления принтерами, терминалами, аппаратами передачи данных и другими устройствами. Современный микроконтроллер обладает большим количеством периферийных устройств, обладающих высокими эксплуатационными параметрами: быстродействием, малыми погрешностями, низким потреблением электроэнергии, низким тепловыделением и т.д., что позволяет использовать его практически в любой области.

Микроконтроллер выгодно отличается от плат АЦП гибкостью настроек (его работа зависит от установленного программного обеспечения), малыми размерами, возможностью работать как в последовательном, так и в параллельном режиме передачи данных, обладает значительно более низкой стоимостью. Микроконтроллер позволяет производить промежуточные вычисления искомой величины, что снимает ограничения по использованию низкопроизводительного оборудования. Все это определяет необходимость изучения и развития микроконтроллеров и систем на их основе.

Объектом разработки данной дипломной работы является комплекс усиления и оцифровки сигнала на основе микроконтроллера АТ90S8535.

В представленной работе рассмотрены основные способы оцифровки сигналов, архитектура микроконтроллера AT90S8535 и способ его программирования, описано программное обеспечение для разработки и отладки программного обеспечения микроконтроллера, рассмотрен интерфейс RS-232 и основные принципы асинхронной передачи данных.

Целью работы явилась разработка универсального комплекса усиления и оцифровки сигнала, который в дальнейшем может быть использован в качестве базового устройства оцифровки и передачи оцифрованного сигнала для последующей компьютерной обработки информации при проведении лабораторных работ и автоматизации управления оборудованием.

1. Способы оцифровки и передачи сигналов

1.1 АЦП для задач цифровой обработки сигналов

Современная тенденция развития АЦП и ЦАП состоит в увеличении скоростей и разрешающих способностей обработки сигналов при уменьшении уровня потребляемой мощности и напряжения питания. Современные преобразователи данных в основном работают на напряжениях питания ±5В (двуполярный источник питания), +5В или +3В (однополярный источник питания). В действительности, число устройств с напряжением питания +3В быстро увеличивается вследствие появления для них большого числа новых рынков сбыта таких приборов, как цифровые камеры, видеокамеры и телефоны сотовой связи. Эта тенденция создала множество проектных и конструкторских проблем, которым не придавалось значения в разработках более ранних преобразователей, использовавших стандартное напряжение питания ±15В и диапазон изменения входных сигналов ±10В.

Более низкие напряжения питания подразумевают меньшие диапазоны входных напряжений и, следовательно, большую чувствительность к разного вида помехам: шумам от источников питания, некачественным опорным и цифровым сигналам, электромагнитным воздействиям и радиопомехам (EMI/RFI) и, возможно наиболее важный момент - к некачественным методам развязки, заземления и размещения компонентов на печатной плате. В АЦП с однополярным источником питания диапазон изменения входных сигналов обычно отсчитывается вне связи с «землей». При этом проблема заключается в поиске совместимых усилителей с однополярным питанием для нормализации сигнала на входе АЦП и в осуществлении необходимого сдвига входного сигнала относительно «земли» в приложениях с непосредственной связью.

Несмотря на эти проблемы, в настоящее время доступны компоненты, которые обладают чрезвычайно высокими разрешающими способностями при низких напряжениях питания и малой потребляемой мощности. Этот раздел посвящен обсуждению проблемы создания приложений на базе таких компонентов и описанию методов успешного проектирования таких систем.

Наиболее популярные АЦП для приложений цифровой обработки сигналов (ЦОС) базируются на пяти основных архитектурах: АЦП последовательного приближения, сигма-дельта АЦП, АЦП параллельной обработки (flash), АЦП конвейерной обработки (pipelined) и АЦП последовательного счета (Bit-Per-Stage).

.1.1 АЦП последовательного приближения

АЦП последовательного приближения много лет были главным инструментом преобразования сигнала. Недавние усовершенствования разработчиков расширили диапазон частот дискретизации этих АЦП до мегагерц. Использование методов внутренних коммутируемых конденсаторов вместе с методами автокалибровки расширяет разрешающую способность этих АЦП до 16 разрядов на стандартных CMOS-процессах без необходимости в дорогой тонкопленочной лазерной подстройке.

Этот АЦП выполняет преобразования в командном режиме. После подачи команды CONVERT START устройство выборки-хранения УВХ (SHA) устанавливается в режим хранения, и все разряды регистра последовательного приближения РПП (SAR) сбрасываются в "0", кроме старшего значащего разряда (MSB), который устанавливается в "1". Выходной сигнал регистра последовательного приближения (РПП) подается на внутренний ЦАП. Если выходной сигнал ЦАП больше, чем аналоговый входной сигнал, старший разряд РПП сбрасывается, в противном случае он остается установленным. Затем следующий старший значащий разряд устанавливается в "1". Если сигнал на выходе ЦАП больше, чем аналоговый входной сигнал, старший разряд РПП сбрасывается, в противном случае бит остается установленным. Описанный процесс поочередно повторяется для каждого разряда. Когда все разряды, в соответствии с входным сигналом, будут установлены в "0" или в "1", содержимое регистра последовательного приближения придет в соответствие со значением аналогового входного сигнала, и преобразование завершится. Если рассматриваемый АЦП имеет выход в виде последовательного порта, то последовательно поступаемые биты можно непосредственно передавать на выход. Основные элементы АЦП последовательного приближения представлены на Рисунокунок1.

Окончание преобразования индицируется сигналами end-of-convert (EOC), data-ready (DRDY) или BUSY (фактически, отсутствие сигнала BUSY индицирует окончание преобразования).

Рисунок 1 - Основные элементы АЦП последовательного приближения

Полярности и наименование этого сигнала могут отличаться для различных АЦП последовательного приближения, но основная концепция сохраняется. В начале интервала преобразования логический уровень сигнала высокий (или низкий) и остается в этом состоянии, пока преобразование не закончено. Затем уровень сигнала становиться низким (или высоким). Фронт сигнала индицирует наличие выходных данных. разрядное преобразование осуществляется за N шагов. На первый взгляд может показаться, что 16-разрядному преобразователю для выполнения преобразования требуется в два раза больше времени, чем 8-разрядному преобразователю, но это не так. В 8-разрядном преобразователе перед принятием решения о значении очередного бита ЦАП должен установить на своем выходе сигнал с точностью, соответствующей 8 разрядам, в то время как ЦАП 16-разрядного преобразователя должен установить сигнала на своем выходе с точностью, соответствующей 16 разрядам, что занимает значительно больше времени. На практике 8-разрядный АЦП последовательного приближения может затрачивать на преобразование несколько сотен наносекунд, в то время как 16-разрядному АЦП требуется несколько микросекунд.

Общая точность и линейность АЦП последовательного приближения определяется, прежде всего, внутренним ЦАП. До недавнего времени в большинстве прецизионных АЦП последовательного приближения для достижения желательной точности и линейности использовалась тонкопленочная лазерная подгонка. Процесс подстройки тонкопленочного резистора увеличивает стоимость системы, а значение сопротивления тонкопленочного резистора может измениться при механическом воздействии на корпус микросхемы.

По этим причинам в более новых АЦП последовательного приближения стали популярными ЦАП с коммутируемыми конденсаторами (или конденсаторами с перераспределением заряда). Преимущество ЦАП с коммутируемыми конденсаторами состоит в том, что их точность и линейность определяются, прежде всего, качеством фотолитографии, которое, в свою очередь, зависит от площади конденсаторных пластин, емкости и соотношения емкостей конденсаторов. Кроме того, для достижения высокой точности и линейности конденсаторы малой емкости могут подключаться параллельно основным конденсаторам или отключаться от них в соответствии с алгоритмом автокалибровки без необходимости применения тонкопленочной лазерной подстройки.

Согласование температурных характеристик коммутируемых конденсаторов может быть лучше, чем 1 ppm/ºC, чем и обеспечивается высокая температурная стабильность.

Переключатели (коммутаторы) показаны в режиме выборки, или дискретизации, когда напряжением аналогового входного сигнала AIN регулярно заряжается и разряжается параллельная комбинация всех конденсаторов. Режим хранения инициируется открытием SIN. При этом напряжение аналогового входного сигнала на конденсаторной матрице остается дискретным. Затем открывается переключатель SC, разрешая изменения Напряжения в точке А по мере коммутации переключателей разрядов. Простой 3-разрядный ЦАП на переключаемых конденсаторах представлен на рисунке 2.

Рисунок 2 - Простой 3-разрядный ЦАП на переключаемых конденсаторах

Если S1, S2, S3 и S4 замкнуты на «землю», в точке А появляется напряжение, равное - AIN. Замыкание S1 на VREF добавляет к -AIN напряжение, равное VREF /2. Затем компаратор принимает решение относительно значения старшего значащего разряда, и РПП либо оставляет S1 соединенным с VREF, либо подключает его к «земле», в зависимости от сигнала на выходе компаратора (нулевое или единичное значение выхода компаратора зависит от того, является ли напряжение в узле отрицательным или положительным). Аналогичный процесс проходит и в оставшихся двух разрядах. В конце интервала преобразования S1, S2, S3, S4 и SIN замыкаются на AIN, SC подключается к «земле», после чего преобразователь готов к новому циклу.

Для выполнения двоичного деления при управлении конденсаторами отдельных разрядов требуется дополнительный конденсатор младшего разряда (LSB) (емкостью C/4 в случае 3-разрядного ЦАП) для того, чтобы полное значение емкости конденсаторной матрицы равнялось 2C.

Работа "конденсаторного" ЦАП подобна работе резистивного R/2R ЦАП. Когда индивидуальный конденсатор разряда подключен к VREF, делитель напряжения, созданный конденсатором разряда и общей емкостью матрицы (2C), добавляет в точке А напряжение, равное весу этого разряда. Когда индивидуальный конденсатор разряда подключен к «земле», такое же напряжение, пропорциональное весу этого разряда, вычитается из суммарного напряжения в точке A.

Будучи весьма популярными, АЦП последовательного приближения поставляются с широкой гаммой разрешающих способностей, частот дискретизации, опций ввода/вывода, конструктивного исполнения и стоимостных показателей. Обратите внимание, что многие устройства являются полными системами сбора данных с входными мультиплексорами, которые позволяют одному "ядру" АЦП обрабатывать много аналоговых каналов.

Несмотря на некоторые различия, основные принципы синхронизации большинства АЦП последовательного приближения сходны и достаточно просты (см. рисунок 3).

Процесс преобразования инициируется сигналом CONVERT START. Сигнал CONVST представляет собой отрицательный импульс, положительный фронт которого запускает преобразование. Устройство выборки-хранения этим фронтом устанавливается в режим хранения и, используя алгоритм последовательного приближения, определяет различные разряды. Отрицательный фронт импульса CONVST устанавливает высокий уровень сигналов EOC или BUSY. По завершении преобразования устанавливается низкий уровень сигнала BUSY. В большинстве случаев задний фронт сигнала BUSY может

Рисунок 3 - Временная диаграмма работы АЦП последовательного приближения

использоваться в качестве индикатора корректности выходных данных и его можно использовать для записи выходных данных во внешний регистр. Но вследствие множества различий в терминологии и конструкции различных АЦП, при использовании определенного АЦП, следует всегда принимать во внимание конкретную спецификацию. Некоторые АЦП последовательного приближения дополнительно к команде CONVERT START требуют внешней высокочастотной синхронизации, хотя в большинстве случаев необходимости в двух синхронизаторах нет. Частота внешнего синхронизатора, если он требуется, находится в диапазоне от 1 МГц до 30 МГц в зависимости от времени преобразования и разрешающей способности АЦП. В других АЦП последовательного приближения есть внутренний генератор, который используется для выполнения преобразования и требует только команды CONVERT START. Благодаря своей архитектуре, АЦП последовательного приближения допускают любую скорость повторения однократного преобразования, от 0 до максимального быстродействия преобразователя.

В АЦП последовательного приближения выходные данные, соответствующие дискретному входному сигналу, формируются в конце соответствующего интервала преобразования. Иначе обстоит дело в АЦП, построенных с использованием другой архитектуры, таких как сигма-дельта АЦП или АЦП с двухступенчатым конвейером. Первое преобразование выполняется 6-разрядным АЦП, который управляет 6-разрядным ЦАП. На выходе 6-разрядного ЦАП получается 6-разрядное приближение аналогового входного сигнала. УВХ2 осуществляет временную задержку аналогового сигнала, пока 6-разрядный АЦП производит преобразование и 6-разрядный ЦАП устанавливает требуемый сигнал на выходе. Затем полученное с помощью ЦАП приближение вычитается из аналогового сигнала на выходе УВХ2, результат усиливается и оцифровывается 7-разрядным АЦП. Результаты этих двух преобразований объединяются, и дополнительный разряд используется для исправления ошибки, полученной при первом преобразовании. Важно, что выходные данные, представленные сразу после отсчета X, фактически соответствуют отсчету X-2, то есть существует конвейерная задержка в два такта. Конвейерная архитектура свойственна высокоскоростным АЦП и, в большинстве случаев, конвейерная задержка не является главной проблемой системы в большинстве приложений, где используется этот тип преобразователя.

.1.2 SIGMA-DELTA АЦПdelta АЦП известны почти тридцать лет, но только недавно появилась технология (цифровые микросхемы с очень высокой степенью интеграции, VLSI) для их производства в виде недорогих монолитных интегральных схем. В настоящее время они используются во многих приложениях, где требуется недорогой, узкополосный, экономичный АЦП с высоким разрешением.

Существуют многочисленные описания архитектуры и теории ΣΔ АЦП, но большинство из них переполнено сложными интегральными выражениями и с трудом доступно для понимания. В отделе по приложениям компании Analog Devices мы часто сталкиваемся с инженерами, которые не понимают теории работы ΣΔ АЦП и убеждены на опыте чтения распространенных статей, что ΣΔ АЦП слишком сложны для понимания.

ΣΔ АЦП содержит очень простую аналоговую электронику (компаратор, источник опорного напряжения, коммутатор и один или большее количество интеграторов и аналоговых сумматоров) и весьма сложную цифровую вычислительную схему. Эта схема состоит из цифрового сигнального процессора (DSP), который работает как фильтр (в общем случае, но не всегда - это низкочастотный полосовой фильтр). Для понимания того, как работает ΣΔ АЦП, важно познакомиться с концепциями избыточной дискретизации, формирования формы кривой распределения шума квантования, цифровой фильтрации и децимации.

Рассмотрим методику избыточной дискретизации с анализом в частотной области. Там, где преобразование постоянного напряжения имеет ошибку квантования до ½ младшего разряда (LSB), дискретная система, работающая с переменным напряжением или током, обладает шумом квантования. Идеальный классический N-разрядный АЦП имеет среднеквадратичное значение шума квантования, равное q/√12.

Шум квантования равномерно распределен в пределах полосы Найквиста от 0 до fs/2 (где q - значение младшего значащего бита и fs - частота дискретизации), как показано на рисунке 4. Отношение сигнал/шум для полнодиапазонного синусоидального входного сигнала будет (6,02N+1,76)дБ. Если АЦП несовершенен и его реальный шум больше, чем его теоретический минимальный шум квантования, то эффективная разрешающая способность будет меньше, чем N-разрядов. Если мы выберем более высокую частоту дискретизации K fs, то среднеквадратичное значение шума квантования остается q/√12, но шум теперь распределен по более широкой полосе от 0 до fs /2. Если мы затем используем на выходе цифровой низкочастотный фильтр, то значительно уменьшим шум квантования, но сохраним полезный сигнал, улучшая таким способом эффективное число разрядов (ENOB). Таким образом, мы выполняем аналого-цифровое преобразование с высоким разрешением, используя аналого-цифровой преобразователь с низкой разрешающей способностью.

Рисунок 4 Объяснение процесса преобразования SIGMA-DELTA АЦП.

Коэффициент K здесь упоминается как коэффициент избыточной дискретизации. При этом необходимо отметить, что избыточная дискретизация дополнительно выгодна еще и тем, что она понижает требования к аналоговому ФНЧ.

.1.3 Параллельные (FLASH) и конвейерные АЦП

Параллельные АЦП (Flash АЦП) являются самым быстрым типом АЦП, использующим большое количество компараторов, работающих параллельно. N-разрядный параллельный АЦП состоит из 2N резисторов и 2N-1 компараторов. На каждый компаратор подается опорное напряжение, значение которого для соседних точек отличается на величину, соответствующую одному младшему значащему разряду (LSB) (более старшие разряды - в верхних по схеме элементах). На Рисунке 5 показана структурная схема параллельного АЦП.

Рисунок 5 - Принципиальная схема параллельного АЦП

При фиксированном входном напряжении все компараторы, размещенные на схеме ниже некоторой точки, имеют входное напряжение выше опорного напряжения. На их логическом выходе присутствует "1". У всех же компараторов выше этой точки опорное напряжение больше входного, и их логический выход установлен в "0". Поэтому 2N-1 выходов компаратора ведут себя аналогично ртутному термометру, и выходной код такого АЦП иногда называют «кодом термометра». В действительности, было бы непрактично выводить 2N-1 линий данных наружу, поэтому они преобразуются шифратором в N-разрядный двоичный код.

Входной сигнал подается на все компараторы сразу, поэтому "выход термометра" имеет задержку по отношению к входному сигналу, равную задержке только одного компаратора и N-разрядного кодера. Это соответствует задержке нескольких логических элементов, так что процесс преобразования осуществляется очень быстро. Но такая архитектура предполагает использование большого числа резисторов и компараторов, имеет ограничение по максимальной разрешающей способности и, чтобы обеспечить высокое быстродействие, каждый компаратор должен иметь довольно высокий уровень потребления энергии. Следовательно, к проблемам параллельных АЦП относятся ограниченная разрешающая способность, высокий уровень рассеивания энергии вследствие большого количества высокоскоростных компараторов (особенно на частотах дискретизации больших, чем 50 MSPS) и относительно большие размеры кристалла (и потому - высокая стоимость). Кроме того, для питания быстрых компараторов необходимым током смещения, цепочка опорных резисторов должна иметь низкое сопротивление, чтобы этот источник давал весьма большие токи (> 10 мА).

На практике реализуются преобразователи до 10-разрядов, но обычно параллельные АЦП имеют разрешающую способность, соответствующую 8-разрядам. Их максимальная частота дискретизации может достигать 1 ГГц при ширине полосы пропускания по уровню полной мощности более 300 МГц.

Как упоминалось ранее, полоса пропускания по уровню полной мощности не обязательно равна полосе, соответствующей полной разрешающей способности. Идеальный компаратор параллельного преобразователя имеет хорошие характеристики и по постоянному, и по переменному току. Поскольку синхронизирующий строб подается на все компараторы одновременно, параллельный преобразователь автоматически реализует схему выборки-хранения на своем входе. На практике существуют различия в задержках компараторов и другие рассогласования по переменному току, которые вызывают уменьшение эффективного числа разрядов (ENOB) на высоких входных частотах. Это происходит потому, что скорость нарастания сигналов непосредственно на входах сопоставима со временем преобразования компаратора. Вход параллельного АЦП непосредственно подключается к большому количеству компараторов. Каждый компаратор имеет изменяющуюся в зависимости от напряжения емкость перехода, и наличие этой емкости, зависящей от сигнала, приводит в большинстве параллельных АЦП к уменьшению эффективного числа разрядов (ENOB) и к большим искажениям на высоких входных частотах. Добавление одного разряда к общей разрешающей способности параллельного преобразователя требует удвоения количества компараторов! Это ограничивает практическую разрешающую способность высокоскоростных параллельных преобразователей до 8 разрядов, так как при более высоких разрешающих способностях слишком велико выделение тепла.

Хотя целесообразность построения параллельных АЦП с высоким разрешением (большим, чем 10 разрядов) вызывает сомнения, такие АЦП часто используются в качестве подсистем конвейерных (subranging) АЦП (иногда называемых полупараллельными (half-flash)АЦП), которые обладают значительно более высокой разрешающей способностью (до 16 разрядов).

Учитывая широкую распространенность 8-разрядных параллельных преобразователей с высокими частотами дискретизации, пример такого преобразователя мы используем для иллюстрации концепции. Процесс преобразования осуществляется в два этапа. Первые четыре старших разряда (MSB) оцифровываются первым параллельным АЦП (обладающим точностью выше 8 разрядов), и двоичный выходной 4-разрядный код подается на 4-разрядный ЦАП (также обладающий точностью выше 8 разрядов). Выходной сигнал с ЦАП вычитается из сохраненного аналогового входного сигнала, и результат вычитания (остаток) усиливается и подается на второй параллельный АЦП. Затем выходные сигналы двух 4-разрядных параллельных преобразователей объединяются в один 8-разрядный выходной код. Если динамический диапазон остаточного сигнала не точно заполняет динамический диапазон второго параллельного преобразователя, возникает нелинейность и, возможно, потеря кода.

Блок-схема 8-разрядного конвейерного АЦП на основе двух параллельных 4-разрядных АЦП показана на Рисунке 6.

Рисунок 6 - Блок-схема 8-разрядного конвейерного АЦП на основе двух параллельных 4-разрядных АЦП

Современные конвейерные АЦП используют методы, называемые цифровой коррекцией, для устранения проблем, связанных с архитектурой. Упрощенная блок-схема 8-разрядного конвейерного АЦП с цифровой коррекцией (DCS). Представленная архитектура подобна той, что используется в 12-разрядном АЦП AD6640 с быстродействием 65MSPS. Обратите внимание, что 6-разрядный и 7-разрядный АЦП используются для получения выходного кода в 12 разрядов. Данные АЦП не являются параллельными АЦП, но используют архитектуру усилителей модуля (magnitude-amplifier, MagAmp™), которая вскоре будет описана.

Если в преобразовании первой ступени нет ошибок, 6-разрядный остаточный сигнал, поданный на 7-разрядный АЦП с суммирующего усилителя, никогда не превысит половину диапазона 7-разрядного АЦП. Избыточный динамический диапазона второго АЦП, совместно с логикой исправления ошибки (обычно это просто полный сумматор), используются для исправления в выходных данных большинства ошибок, свойственных традиционным преобразователям с конвейерной архитектурой без коррекции. Важно обратить внимание, что 6-разрядный ЦАП должен иметь точность, соответствующую не менее чем 12-разрядам, потому что при цифровой коррекции не исправляются ошибки ЦАП. На практике вместо "двоичного" ЦАП часто используются ЦАП типа "термометр" или полностью декодирующие ЦАП, имеющие на каждый уровень один коммутатор тока (63 коммутатора в случае 6-разрядного ЦАП). Этим гарантируется высокая дифференциальная и интегральная линейность и минимизируются переходные процессы, вызванные коммутацией.

.2 Основные компоненты микроконтроллера AT90S8535

.2.1 Цоколевка и описание выводов. Устройства управления

Микроконтроллер семейства AVR фирмы Atmel представляет собой восьмиразрядную однокристальную микро-ЭВМ с упрошенной (сокращенной) системой команд - RISC (Restricted (Reduced) Instruction Set Computer).

Большинство команд, входящих в систему команд, выбираются из памяти за один такт работы микроконтроллера. При выполнении последовательности таких команд выборка из памяти очередной команды совмещается со временем исполнения ранее выбранной команды. При этом число команд выполняемых за 1 с, совпадает с тактовой частотой работы микроконтроллера.

Микроконтроллер изготавливаются, но высококачественной КМОП (CMOS) технологии, содержат энергонезависимые запоминающие устройства для хранения программы и данных, выполненные по Flash и EEPROM технологиям, и отличаются низким энергопотреблением при высокой тактовой частоте.

Состав периферийных устройств меняется от модели к модели, более того, одно и то же устройство в разных моделях использует различные ресурсы микроконтроллера (в частности, различные выводы). Также, существует ряд периферийных устройств, присутствующих во всех микроконтроллерах семейства: сторожевой таймер, 8-разрядный таймер/счетчик реального времени (таймер Т0) и, естественно, порты ввода/вывода. В микроконтроллере AT90S8535 кроме этого присутствуют АЦП (порт А используется как вход), универсальный асинхронный приемо-передатчик UART( использует порт D0 и D1)и другие периферийные устройства необходимые для стабильной работы микроконтроллера и обработки сигналов. На рисунке 7 показана цоколевка микроконтроллера фирмы Atmel AVR AT90S8535.

Рисунок 7 - Цоколевка микроконтроллера AVR AT90S8535

Микроконтроллеру для работы требуется сигнал синхронизации (тактовый сигнал). В качестве источника тактового сигнала в микроконтроллерах AVR семейства Classic может использоваться встроенный кварцевый генератор или внешний сигнал синхронизации.

Непременным атрибутом современных микроконтроллеров является наличие одного или нескольких режимов, обеспечивающих уменьшение энергии, потребляемой микроконтроллером от источника питания. Этот момент особенно актуален при разработке автономных устройств. Микроконтроллеры AVR семейства Classic поддерживают до трех различных режимов пониженного энергопотребления: Idle, Power Down и Power Save. Все эти режимы часто называют одним словом - «спящий» режим. Каждый из этих режимов позволяет значительно сократить энергопотребление в периоды бездействия микроконтроллера. В зависимости от используемого режима отключается различное количество систем микроконтроллера. Соответственно различным будет и уменьшение потребляемой энергии. Вход в этот режим осуществляется путем использования команды SLEEP. При «пробуждении» микроконтроллера (при выходе из «спящего» режима) производится его реинициализация.

Вообще реинициализация микроконтроллера (сброс) может произойти по различным причинам: подача напряжения питания, выход из «спящего» режима, уменьшение напряжения питания ниже минимально допустимого уровня (Brown Out Reset), срабатывание сторожевого таймера, появление на выводе RESET логического сигнала низкого уровня. Фактическое число возможных источников сброса из перечисленных зависит от конкретной модели.

Микроконтроллер AVR AT90S8535 может работать с внешним тактовым резонатором (керамическим либо кварцевым) или с сигналом внешней синхронизации. Выводы микроконтроллера XTAL1 и XTAL2 являются соответственно входом и выходом инвертора тактового генератора. При необходимости тактовый сигнал микроконтроллера можно использовать для управления какими-либо внешними устройствами. Этот сигнал снимается с вывода XTAL2, причем между выводом и внешней схемой обязательно должен быть буфер.

Емкости конденсаторов C1 и С2, подключаемых между выводами резонатора и общим проводом, зависят от частоты и типа резонатора. Для кварцевого резонатора на частоту 4 МГц, например, емкость каждого конденсатора составляет порядка 30 пФ. Резонатор подключается к выводам XTAL1 и XTAL2 микроконтроллеров, как показано на рисунке 8.

Рисунок 8 - Подключение кварцевого или керамического резонатора

Сброс микроконтроллера (другое название - реинициализация), переводит микроконтроллер в определенное устойчивое состояние. Сброс может быть вызван следующими событиями:

· подача напряжения питания микроконтроллера;

· падение напряжения питания ниже заданной величины;

· тайм-аут сторожевого таймера;

· подача напряжения низкого уровня на вывод RESET (рисунок 9).

Рисунок 9 - Схема формирования сигнала запуска RESET

При наступлении одного из перечисленных событий во все регистры ввода/вывода заносятся их начальные значения (см. описания конкретных регистров), а в счетчик команд загружается значение $000 (адрес вектора сброса). Если в программе используются какие-либо прерывания, то по этому адресу должна находиться команда относительного перехода RJMP на начало программы (к ее инициализационной части). Если же прерывания в программе не используются, то программа может начинаться непосредственно с адреса $000.

Разные модели микроконтроллеров семейства не только имеют различное число источников сброса, но также предоставляют различные возможности по управлению самим процессом сброса. Однако логика работы схемы сброса одинакова для всех моделей. При наступлении какого-либо из поддерживаемых событий формируется внутренний сигнал сброса высокого уровня. В ряде моделей при этом устанавливаются флаги в регистре MCUSR, соответствующие этому событию. Одновременно запускается таймер формирования задержки сброса. По истечении определенного промежутка времени (предполагается, что за это время микроконтроллер перейдет в определенное устойчивое состояние) внутренний сигнал сброса переводится в низкий уровень.

1.2.2 Порты ввода/вывода

Микроконтроллеры AVR семейства Classic имеют порты ввода/вывода. Каждый порт состоит из определенного числа выводов, через которые микроконтроллер может принимать или передавать цифровые сигналы. Конфигурирование каждой лини порта (задание направления передачи данных) может быть произведено программно в любой момент времени. Входные буферы портов построены по схеме триггера Шмитта. Для линий, сконфигурированных как входные, также имеется возможность подключения внутреннего подтягивающего резистора сопротивлением 35 кОм между входом и проводом питания VDD. Кроме того, если вывод (вход) с подключенным внутренним подтягивающим резистором подключить к общему проводу, он может служить источником тока.

Максимальная нагрузочная способность выходных буферов портов ввода/вывода при логическом «0» на выходе составляет 20 мА. Благодаря этому микроконтроллер может непосредственно управлять светодиодными индикаторами.

Количество доступных портов, или, если точнее, количество контактов ввода/вывода, является одним из основных параметров, влияющих на выбор конкретной модели микроконтроллера.

Микроконтроллер AT90S/LS8535 имеет по четыре 8-разрядных порта ввода/вывода А, В, С и D. Общее количество контактов ввода/вывода равно 32. Так же большинство контактов ввода/вывода имеет дополнительные функции, поскольку эти выводы также используются периферийными устройствами микроконтроллера.

Обращение к портам производится через регистры ввода/вывода, причем под каждый порт в адресном пространстве ввода/вывода зарезервировано по 3 адреса. По этим адресам размещаются три регистра: регистр данных порта PORTx, регистр направления данных DDRx и регистр выводов порта PINx. Разряды этих регистров имеют названия: Рх7.РхО - для регистров PORTx, DDx7.DDxO - для регистров DDRx и PINx7.PINxO - для регистров PINx. Действительные названия регистров (и их разрядов) получаются подстановкой названия порта вместо символа «х», соответственно для порта А регистры называются PORTA, DDRA, PINA, для порта В - PORTB, DDRB, PINB и т.д. При сбросе микроконтроллера регистры DDRx и PORTx очищаются, а все выводы портов после сброса устанавливаются в третье состояние.

Следует заметить, что «регистры» PINx на самом деле регистрами не являются, по этим адресам осуществляется доступ к физическим значениям сигналов на выводах порта. Соответственно, они доступны только для чтения, тогда как регистры PORTx и DDRx доступны и для чтения, и для записи. А в микроконтроллере АТ90С8534 регистр выводов порта вообще отсутствует, т.к. единственный порт этой модели является только портом вывода.

Порядковый номер вывода порта соответствует, разумеется, порядковому номеру разряда регистров этого порта. Поэтому если разрядность порта меньше восьми, в регистрах порта используется соответствующее число младших разрядов. Незадействованные старшие разряды регистров доступны только для чтения и всегда содержат «0».

Таким образом, запись в порт означает запись требуемого состояния для каждого вывода порта в соответствующий регистр данных порта PORTx. А чтение состояния порта выполняется чтением либо регистра данных порта PORTx, либо регистра выводов порта PINx. При чтении регистра выводов порта PINx происходит считывание логических уровней сигналов, присутствующих на выводах порта. А при чтении регистра данных порта PORTx происходит считывание данных, находящихся в регистре-защелке порта. Причем сказанное справедливо как для входных, так и для выходных контактов.

Порты микроконтроллера имеют всего две возможности по конфигурированию:

· задание направления передачи данных (вход или выход);

· подключение/отключение внутреннего подтягивающего резистора. Направление передачи данных определяется содержимым регистра передачи данных DDRx. Если разряд DDRx этого регистра установлен в «1», соответствующий х-й вывод порта является выходом. Если же разряд DDRx этого регистра сброшен в «0», соответствующий вывод порта является входом.

Управление подтягивающим резистором осуществляется с помощью регистра данных порта PORTx. Если разряд Рхn регистра PORTx установлен в «1» и соответствующий вывод порта является входом, между этим выводом и проводом питания подключается подтягивающий резистор. Чтобы отключить подтягивающий резистор, необходимо либо сбросить соответствующий разряд регистра PORTx, либо сделать вывод порта выходом.

1.2.3 Аналого-цифровой преобразователь

AT90S/LS8535 имеет в своем составе многоканальный 10-разрядный АЦП последовательного приближения. Число каналов равно 8. В качестве входов модуля АЦП используются выводы порта выводы порта А.

Для питания модуля АЦП в микроконтроллере предусмотрены 2 вывода: AVCC (напряжение питания) и AGND (аналоговая «земля»). Напряжение на выводе AVCC не должно отличаться от напряжения питания микроконтроллера больше чем на ±0.3 В, а аналоговая «земля» соединена с цифровой в одной точке. Микроконтроллер также имеет вывод AREF для подключения к АЦП внешнего источника опорного напряжения. Напряжение, подаваемое на этот вывод, должно находиться в диапазоне 0...VCC.

АЦП может работать в двух режимах:

· режим одиночного преобразования: в этом режиме запуск каждого преобразования инициируется пользователем;

· режим непрерывного преобразования: в этом режиме запуск преобразований выполняется непрерывно через определенные интервалы времени.

Управление модулем АЦП и контроль его состояния осуществляется с помощью регистра ADCSR, расположенного по адресу $06 ($26). Формат регистра ADCSR приведен в таблице 1. Перед началом использования АЦП требуется разрешить его работу. Для этого необходимо записать логическую «1» в разряд ADEN регистра ADCSR, а для запрета, соответственно, - логический «0». Причем если АЦП будет заблокировано во время цикла преобразования, то преобразование завершено не будет (в регистре данных АЦП останется результат предыдущего преобразования).

Таблица 1 - Описание бит регистра ADCSR

Разряд

Название

Описание

7

ADEN

Разрешение АЦП (1 - включено, 0 - выключено)

6

ADSC

Запуск преобразования (1 - начать преобразование)

5

ADFR

Выбор режима работы АЦП (0 - одиночное преобразование)

4

ADIF

Флаг прерывания от компаратора

3

ADIE

Разрешение прерывания от компаратора

2...0

ADPS2:ADPS0

Выбор частоты преобразования


Режим работы АЦП определяется состоянием разряда ADFR. Если он установлен в «1», АЦП работает в режиме непрерывного преобразования. В этом режиме запуск каждого следующего преобразования осуществляется автоматически после окончания текущего. Если же разряд ADFR сброшен в «0», АЦП работает в режиме одиночного преобразования и запуск каждого преобразования осуществляется по команде пользователя.

Запуск преобразования осуществляется установкой в «1» разряда ADSC регистра ADCSR, а сам цикл преобразования начинается по первому нарастающему фронту тактового сигнала после установки этого разряда. Длительность цикла составляет 13 тактов; выборка и запоминание входного сигнала осуществляется в течение первых 1.5 такта. Через 13 тактов преобразование завершается, разряд ADSC аппаратно сбрасывается в «0» (в режиме одиночного преобразования), и результат преобразования сохраняется в регистре данных АЦП. Одновременно устанавливается флаг прерывания ADIF регистра ADCSR и генерируется запрос на прерывание. Как и флаги остальных прерываний, флаг ADIF сбрасывается аппаратно при запуске подпрограммы обработки прерывания от АЦП или программно - записью в него логической «1». Разрешение прерывания осуществляется установкой в «1» разряда ADIE регистра ADCSR (разумеется, флаг I регистра SREG также должен быть установлен в «1»).

Если АЦП работает в режиме непрерывного преобразования, новый цикл начнется сразу же после записи результата. В режиме одиночного преобразования новое преобразование может быть запущено сразу же после сброса разряда ADSC (до сохранения результата текущего преобразования). Однако реально цикл преобразования начнется не ранее чем через один такт после окончания текущего преобразования.

При написании программ необходимо учитывать одну особенность: для первого после включения АЦП преобразования требуется на 12 тактов больше, чем для всех последующих. Это связано с тем, что при запуске первого преобразования сначала выполняется одно «холостое» преобразование, инициализирующее АЦП. Разряд ADSC в этом случае сбрасывается только после окончания рабочего преобразования. Таким образом, длительность преобразования зависит от режима работы АЦП и от порядкового номера преобразования.

Тактовым сигналом модуля АЦП является сигнал с предделителя, на вход которого, в свою очередь, поступает тактовый сигнал микроконтроллера. Коэффициент деления предделителя и, соответственно, длительность преобразования определяется состоянием разрядов ADPS2...ADPS0 регистра ADCSR.

Наибольшая точность преобразования достигается, если тактовая частота модуля АЦП находится в определенном диапазоне: 80... 170 кГц для АТ90С8534 и 50...200 кГц для остальных моделей. Соответственно коэффициент деления предделителя рекомендуется выбирать таким, чтобы тактовая частота модуля АЦП находилась в указанном диапазоне. Параметры АЦП микроконтроллера AT90S8535 приведены в таблице 2.

Таблица 2 - Параметры АЦП микроконтроллера AT90S8535

Обозначение

Параметр

Условия

min

typ

max

Единицы измерения


Разрешение



10


бит

Абсолютная  погрешность

FREF = 4B /АВС = 200кГц


1

2

МЗР


FREF = 4B /adc = 1 МГц


4


МЗР


FREF = 4B /adc = 2 МГц


16


МЗР

INL

Интегральная нелинейность

FREF>2B


0.5


МЗР

DNL

Дифференциальная нелинейность

FREF>2B


0.5


МЗР

Ошибка смещения



1


МЗР

Время преобразования


65


260

мкс


Результат преобразования сохраняется в регистре данных АЦП. Поскольку АЦП - 10-разрядный, этот регистр физически размещен в двух регистрах ввода/вывода ADCH: ADCL, доступных только для чтения. Эти регистры расположены по адресам $05: $04 (адреса в адресном пространстве ОЗУ соответственно $25:$24) и при включении питания содержат значение «$0000». Обращение к этим регистрам (для получения результата преобразования) должно выполняться в определенной последовательности: сначала необходимо прочитать регистр ADCL, a затем ADCH. Это требование связано с тем, что после обращения к регистру ADCL процессор блокирует доступ к регистрам данных со стороны АЦП до тех пор, пока не будет прочитан регистр ADCH. Благодаря этому можно быть уверенным, что при чтении регистров в них будут находиться составляющие одного и того же результата. Соответственно, если очередное преобразование завершится до обращения к регистру ADCH, результат преобразования будет потерян.

Управление входным мультиплексором модуля АЦП осуществляется с помощью регистра ADMUX, расположенного по адресу $07 ($27). Разряды MUX2...MUX0 этого регистра определяют номер активного канала (номер аналогового входа, подключенного к входу АЦП). Состояние этих разрядов можно изменить в любой момент, однако, если это будет сделано во время цикла преобразования, смена канала произойдет только после завершения преобразования. Благодаря этому в режиме непрерывного преобразования можно легко реализовать сканирование каналов. Под этим термином в данном случае понимается последовательное преобразование сигналов нескольких каналов.

1.2.4 Универсальный асинхронный приемо-передатчик

Микроконтроллер AT90S8535 имеет в своем составе модуль полнодуплексного универсального асинхронного приемопередатчика (UART). Через него осуществляется прием и передача информации, представленной последовательным кодом, поэтому модуль UART часто называют также последовательным портом. С помощью этого модуля микроконтроллер может обмениваться данными с различными внешними устройствами. Скорость передачи данных может варьироваться в широких пределах, причем высокие скорости передачи могут быть достигнуты даже при относительно низкой тактовой частоте микроконтроллера.

Известно, что при передаче данных могут происходить различные сбои. Модуль UART, реализованный в данном микроконтроллере, может обнаруживать и сигнализировать о следующих внештатных ситуациях: переполнение, ошибка кадрирования и неверный старт-бит. Для уменьшения вероятности сбоев в модуле реализована такая полезная функция, как фильтрация помех.

Для взаимодействия с программой в модуле предусмотрены 3 раздельных прерывания, запрос на которые генерируется при наступлении следующих событий: «передача завершена», «регистр данных передатчика пуст» и «прием завершен». Выводы микроконтроллера, используемые модулем UART, являются линиями порта D. В качестве входа приемника (RXD) используется вывод PD0, а в качестве выхода передатчика (TXD) - вывод PD1.Управление работой приемопередатчика осуществляется с помощью регистра управления UCR, расположенного по адресу $0А ($2А) (таблица 3).

Таблица 3 - Формат регистра UCR

Номера битов

7

6

5

4

3

2

1

0

Обозначения битов

RXCIE

TXCIE

UDRIE

RXEN

TXEN

CHR9

RXB8

ТХВ8

Чтение (R)/ Запись(W)

R/W

R/W

R/W

R/W

R/W

R/W

R

R/W

Начальное  значение 

0

0

0

0

0

0

1

0


Текущее состояние приемопередатчика определяется с помощью регистра состояния USR, расположенного по адресу $0А ($2А). Формат регистра UCR приведен в таблице 3, а регистра USR - в таблице 4. Неиспользуемые разряды регистров доступны только для чтения.

Принимаемые и передаваемые данные (младшие 8 разрядов) хранятся в регистре данных UDR, который расположен по адресу $0С ($2С). Физически регистр UDR состоит из двух отдельных регистров, один из которых используется для передачи данных, другой - для приема.

Таблица 4 - Формат регистра USR

Номера битов

7

6

5

4

3

2

1

0

Обозначения битов

RXC

ТХС

UDRE

FE

OR

-

-

-

Чтение (R)/ Запись(W)

R

R/W

R

R

R

R

R

R

Начальное  значение 

0

0

1

0

0

0

0

0


При чтении регистра UDR выполняется обращение к регистру приемника, при записи - к регистру передатчика. Структурная схема передатчика модуля UART приведена на рисунке 10.

Рисунок 10 - Структурная схема приемо-передатчика UART

Работа передатчика разрешается установкой в «1» разряда TXEN регистра UCR (UCSRB). Если этот разряд сброшен (передатчик выключен), вывод PD1 (TXD) может использоваться как контакт ввода/вывода общего назначения. При установке разряда TXEN этот вывод подключается к передатчику UART и начинает функционировать как выход независимо от состояния разряда DDD1 регистра DDRD.

Передача инициируется записью передаваемых данных в регистр данных UART - UDR. После этого данные пересылаются из регистра UDR в сдвиговый регистр передатчика. При этом возможны два варианта:

· новое значение записывается в регистр UDR после того, как был передан стоп-бит предыдущего слова. В этом случае данные пересылаются в сдвиговый регистр сразу же после записи в регистр UDR;

· новое значение записывается в регистр UDR во время передачи. В этом случае данные пересылаются в сдвиговый регистр после передачи стоп-бита текущего слова.

После пересылки содержимого регистра UDR в сдвиговый регистр флаг UDRE регистра USR (UCSRA) устанавливается в «1», что означает готовность передатчика к получению нового значения. В этом состоянии флаг остается до новой записи в регистр UDR. Одновременно с пересылкой формируется служебная информация: 0-й разряд сдвигового регистра сбрасывается в «0» (старт-бит), а 9-й (10-й) разряд устанавливается в «1» (стоп-бит). Если включен режим передачи 9-разрядных данных (разряд CHR9 регистра UCR (UCSRB) установлен в «1»), то значение разряда ТХВ8 регистра UCR (UCSRB) копируется в 9-й разряд сдвигового регистра.

После загрузки сдвигового регистра его содержимое начинает сдвигаться вправо и поступать на вывод TXD в следующем порядке: старт-бит, данные (начиная с младшего разряда), стоп-бит. Сдвиг осуществляется по тактовому сигналу, вырабатываемому контроллером скорости передачи. Если во время передачи в регистр UDR было записано новое значение, то после передачи стоп-бита оно пересылается в сдвиговый регистр. Если же к моменту окончания передачи стоп-бита такой записи выполнено не было, устанавливается флаг завершения передачи ТХС регистра USR (UCSRA).

.3 Последовательный интерфейс - СОМ-порт

Универсальный внешний последовательный интерфейс - СОМ-порт (Communications Port - коммуникационный порт) присутствует в PC начиная с первых моделей. Этот порт обеспечивает асинхронный обмен по стандарту RS-232C. СОМ-порты реализуются на микросхемах универсальных асинхронных приемопередатчиков (UART), совместимых с семейством 18250/16450/16550. Они занимают в пространстве ввода/вывода по 8 смежных 8-битных регистров и могут располагаться по стандартным базовым адресам 3F8h (COM1), 2F8h (COM2), 3E8h (COM3), 2E8h (COM4). Порты могут вырабатывать аппаратные прерывания IRQ4 (обычно используются для СОМ1 и COM3) и IRQ3 (для COM2 и COM4). С внешней стороны порты имеют линии последовательных данных передачи и приема, а также набор сигналов управления и состояния, соответствующий стандарту RS-232C. СОМ-порты имеют внешние разъемы (male - «папа») DB25P или DB9P, выведенные на заднюю панель компьютера. Характерной особенностью интерфейса является применение «не ТТЛ» сигналов - все внешние сигналы порта двуполярные. Гальваническая развязка отсутствует - схемная земля подключаемого устройства соединяется со схемной землей компьютера. Скорость передачи данных может достигать 115 200 бит/с.

Компьютер может иметь до четырех последовательных портов СОМ 1-COM4 (для машин класса AT типично наличие двух портов) с поддержкой на уровне BIOS. Сервис BIOS Int 14h обеспечивает инициализацию порта, ввод и вывод символа (не используя прерываний) и опрос состояния. Через Int 14h скорость передачи программируется в диапазоне 110-9600 бит/с (меньше, чем реальные возможности порта). Для повышения производительности широко используется взаимодействие программ с портом на уровне регистров, для чего требуется совместимость аппаратных средств СОМ-порта с программной моделью 18250/16450/16550.

Название порта указывает на его основное назначение - подключение коммуникационного оборудования (например, модема) для связи с другими компьютерами, сетями и периферийными устройствами. К порту могут непосредственно подключаться и периферийные устройств с последовательным интерфейсом: принтеры, плоттеры, терминалы и другие. СОМ-порт широко используется для подключения мыши, а также организации непосредственной связи двух компьютеров. К СОМ-порту подключают и электронные ключи.

Практически все современные системные платы (еще начиная с PCI-плат для процессоров 486) имеют встроенные адаптеры двух СОМ-портов. Один из портов может использоваться и для беспроводной инфракрасной связи с периферийными устройствами (IrDA). Существуют карты ISA с парой СОМ-портов, где они чаще всего соседствуют с LPT-портом, а также с контроллерами дисковых интерфейсов (FDC+IDE). Если возникает потребность в большом количестве последовательных интерфейсов, то в ПК можно установить специальные адаптеры-мультиплексоры. Это весьма дорогие карты, они выпускаются обычно на 4,8,12 и даже 16 портов. Такое большое число разъемов на заднюю стенку ПК вывести проблематично, и у мультиплексоров обычно имеется внешний блок с разъемами (и электроникой), соединяемый с адаптером кабелем с многоконтактными разъемами. BIOS мультиплексоры не поддерживает.

«Классический» СОМ-порт позволял осуществлять обмен данными только программно-управляемым способом, при этом для пересылки каждого байта процессору приходится выполнять несколько инструкций. Современные порты имеют FIFO-буферы данных и позволяют выполнять обмен по каналу DMA, существенно разгружая центральный процессор, что особенно важно на больших скоростях обмена.

1.3.1 Интерфейс RS-232C

Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные (ООД - оконечное оборудование данных, или АПД - аппаратура передачи данных; DTE - Data Terminal Equipment), к оконечной аппаратуре каналов данных (АКД; DCE - Data Communication Equipment). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. В роли АКД обычно выступает модем. Конечной целью подключения является соединение двух устройств АПД. Интерфейс позволяет исключить канал удаленной связи вместе с парой устройств АКД, соединив устройства непосредственно с помощью нуль-модемного кабеля (рисунок 11).

Рисунок 11 - Соединение по RS-232C нуль-модемным кабелем

Стандарт описывает управляющие сигналы интерфейса, пересылку данных, электрический интерфейс и типы разъемов. В стандарте предусмотрены асинхронный и синхронный режимы обмена, но СОМ-порты поддерживают только асинхронный режим. Функционально RS-232C эквивалентен стандарту МККТТ V.24/V.28 и стыку С2, но они имеют различные названия сигналов. Стандарт RS-232C описывает несимметричные передатчики и приемники - сигнал передается относительно общего провода - схемной земли (симметричные дифференциальные сигналы используются в других интерфейсах - например, RS-422). Интерфейс не обеспечивает гальванической развязки устройств. Логической единице соответствует напряжение на входе приемника в диапазоне от -12 до -3 В. Для линий управляющих сигналов это состояние называется ON («включено»), для линий последовательных данных - MARK. Логическому нулю соответствует диапазон от +3 до +12 В. Для линий управляющих сигналов состояние называется OFF («выключено»), а для линий последовательных данных - SPACE. Диапазон от -3 до +3 В - зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения порога (рисунок 12).

Рисунок 12 - Прием сигналов RS-232C

Уровни сигналов на выходах передатчиков должны быть в диапазонах от -12 до -5В и от +5 до +12В для представления единицы и нуля соответственно. Разность потенциалов между схемными землями (SG) соединяемых устройств должна быть менее 2В, при более высокой разности потенциалов возможно неверное восприятие сигналов.

Интерфейс предполагает наличие защитного заземления для соединяемых устройств, если они оба питаются от сети переменного тока и имеют сетевые фильтры.

Стандарт RS-232C регламентирует типы применяемых разъемов. На аппаратуре АПД (в том числе на СОМ-портах) принято устанавливать вилки ПВ-25Р или более компактный вариант - DB-9P. Девятиштырьковые разъемы не имеют контактов для дополнительных сигналов, необходимых для синхронного режима (в большинстве 25-штырьковых разъемах эти контакты не используются). На аппаратуре АКД (модемах) устанавливают розетки DB-25S или DB-9. Это правило предполагает, что разъемы АКД могут подключаться к разъемам АПД непосредственно или через переходные «прямые» кабели с розеткой и вилкой, у которых контакты соединены «один в один». Переходные кабели могут являться и переходниками с 9 на 25-штырьковые разъемы (рисунок 13).

Рисунок 13 - Кабели подключения модемов

Если аппаратура АПД соединяется без модемов, то разъемы устройств (вилки) соединяются между собой нуль-модемным кабелем (Zero-modem, или Z-modem), имеющим на обоих концах розетки, контакты которых соединяются перекрестно по одной из схем, приведенных на рисунке 14.

                               а                                                              б

Рисунок 14 - Нуль-модемный кабель: а - минимальный, б - полный

Если на каком-либо устройстве АПД установлена розетка - это почти 100 % того, что к другому устройству оно должно подключаться прямым кабелем, аналогичным кабелю подключения модема. Розетка устанавливается обычно на тех устройствах, у которых удаленное подключение через модем не предусмотрено.

В таблице 5 приведено назначение контактов разъемов СОМ-портов (и любой другой аппаратуры передачи данных АПД). Контакты разъема DB-25S определены стандартом EIA/TIA-232-E, разъем DB-9S описан стандартом EIA/TIA-574. У модемов (АКД) название цепей и контактов такое же, но роли сигналов (вход-выход) меняются на противоположные.

Таблица 5 - Разъемы и сигналы интерфейса RS-232C

Обозначение цепи

Контакт разъема

№ провода кабеля выносного разъема PC

Направление

СОМ- порт

RS- 232

V.24

DB- 25Р

DB- 9Р

11

22

З3

Л4

PG

АА

101

1

5

(10)

(10)

(10)

1

-

SG

АВ

102

7

5

5

9

1

13

-

TD

ВА

103

2

3

3

5

3

3

О

RD

ВВ

104

3

2

2

3

4

5

I

RTS

СА

105.

4

7

7

4

8

7

О

CTS

СВ

106

5

8

8

6

7

9

I

DSR

СС

107

6

6

6

2

9

11

I

DTR

CD

108/2

20

4

4

7

2

14

О

DCD

CF

109

8

1

1

1

5

15

I

RI

СЕ

125

22

9

9

8

6

18

I

Примечание: 1 - ленточный кабель 8-битных мультикарт; 2 - ленточный кабель 16-битных мультикарт и портов на системных платах; 3 - вариант ленточного кабеля портов на системных платах; 4- широкий ленточный кабель к 25-контактному разъему.

Подмножество сигналов RS-232C, относящихся к асинхронному режиму, рассмотрим с точки зрения СОМ-порта PC. Нормальную последовательность управляющих сигналов для случая подключения модема к СОМ-порту иллюстрирует рисунок 15.

Рисунок 15 - Последовательность управляющих сигналов интерфейса

Для удобства будем пользоваться мнемоникой названий, принятой в описаниях СОМ-портов и большинства устройств (она отличается от безликих обозначений RS-232 и V.24). Активному состоянию сигнала («включено») и логической единице передаваемых данных соответствует отрицательный потенциал (ниже -3 В) сигнала интерфейса, а состоянию «выключено» и логическому нулю - положительный (выше +3 В). Назначение сигналов интерфейса приведено в таблице 6.

Таблица 6 - Назначение сигналов интерфейса RS-232C

Сигнал

Назначение

PG

-

Protected Ground - защитная земля, соединяется с корпусом устройства и экраном кабеля

SG

-

Signal Ground - сигнальная (схемная) земля, относительно которой действуют уровни сигналов

TD

-

Transmit Data - последовательные данные - выход передатчика

RD

-

Receive Data - последовательные данные - вход приемника

RTS

-

Request To Send - выход запроса передачи данных: состояние «включено» уведомляет модем о наличии у терминала данных для передачи. В полудуплексном режиме используется для управления направлением - состояние «включено» служит сигналом модему на переключение в режим передачи

CIS

-

Clear To Send - вход разрешения терминалу передавать данные. Состояние «выключено» запрещает передачу данных. Сигнал используется для аппаратного управления потоками данных

DSR

-

Data Set Ready - вход сигнала готовности от аппаратуры передачи данных (модем в рабочем режиме подключен к каналу и закончил действия по согласованию с аппаратурой на противоположном конце канала)

DTR

-

Data Terminal Ready - выход сигнала готовности терминала к обмену данными. Состояние «включено» поддерживает коммутируемый канал в состоянии соединения

DCD

-

Data Carrier Detected - вход сигнала обнаружения несущей удаленного модема

RI

-

Ring Indicator - вход индикатора вызова (звонка). В коммутируемом канале этим сигналом модем сигнализирует о принятии вызова


Работа ЭВМ с внешними устройствами по интерфейсу RS-232 осуществляется по следующему алгоритму. Рассмотрим его на примере модема:

1.       Установкой DTR компьютер указывает на потребность использования модема.

2.       Установкой DSR модем сигнализирует о своей готовности и установлении соединения.

3.       Сигналом RTS компьютер запрашивает разрешение на передачу и заявляет о своей готовности принимать данные от модема.

.        Сигналом CTS модем уведомляет о своей готовности к приему данных от компьютера и передаче их в линию.

.        Снятием CTS модем сигнализирует о невозможности дальнейшего приема (например, буфер заполнен) - компьютер должен приостановить передачу данных.

.        Сигналом CTS модем разрешает компьютеру продолжить передачу (в буфере появилось место).

7.       Снятие RTS может означать как заполнение буфера компьютера (модем должен приостановить передачу данных в компьютер), так и отсутствие данных для передачи в модем. Обычно в этом случае модем прекращает пересылку данных в компьютер.

8.       Модем подтверждает снятие RTS сбросом CTS.

.        Компьютер повторно устанавливает RTS для возобновления передачи.

.        Модем подтверждает готовность к этим действиям.

.        Компьютер указывает на завершение обмена.

.        Модем отвечает подтверждением.

.        Компьютер снимает DTR, что обычно является сигналом на разрыв соединения («повесить трубку»).

.        Модем сбросом DSR сигнализирует о разрыве соединения.

Из рассмотрения этой последовательности становятся понятными соединения DTR-DSR и RTS-CTS в нуль-модемных кабелях.

1.3.2 Асинхронный режим передачи

Асинхронный режим передачи является байт-ориентированным (символьно-ориентированным): минимальная пересылаемая единица информации - один байт (один символ). Передача каждого байта начинается со старт-бита, сигнализирующего приемнику о начале посылки, за которым следуют биты данных и, возможно, бит паритета (четности). Завершает посылку стоп-бит, гарантирующий паузу между посылками. Старт-бит следующего байта посылается в любой момент после стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. В идеале стробы располагаются в середине битовых интервалов, что позволяет принимать данные и при незначительном рассогласовании скоростей приемника и передатчика. Очевидно, что при передаче 8 бит данных, одного контрольного и одного стоп-бита предельно допустимое рассогласование скоростей, при котором данные будут распознаны верно, не может превышать 5%. С учетом фазовых искажений и дискретности работы внутреннего счетчика синхронизации реально допустимо меньшее отклонение частот. Чем меньше коэффициент деления опорной частоты внутреннего генератора (чем выше частота передачи), тем больше погрешность привязки стробов к середине битового интервала, и требования к согласованности частот становятся более строгие. Чем выше частота передачи, тем больше влияние искажений фронтов на фазу принимаемого сигнала. Взаимодействие этих факторов приводит к повышению требований к согласованности частот приемника и передатчика с ростом частоты обмена. Формат посылки байта иллюстрирует рисунок 16.








Рисунок 16 - Формат асинхронной передачи RS-232C

Формат асинхронной посылки позволяет выявлять возможные ошибки передачи:

1.       Если принят перепад, сигнализирующий о начале посылки, а по стробу старт-бита зафиксирован уровень логической единицы, старт-бит считается ложным и приемник снова переходит в состояние ожидания. Об этой ошибке приемник может не сообщать.

2.       Если во время, отведенное под стоп-бит, обнаружен уровень логического нуля, фиксируется ошибка стоп-бита.

.        Если применяется контроль четности, то после посылки бит данных передается контрольный бит. Этот бит дополняет количество единичных бит данных до четного или нечетного в зависимости от принятого соглашения. Прием байта с неверным значением контрольного бита приводит к фиксации ошибки.

.        Контроль формата позволяет обнаруживать обрыв линии: как правило, при обрыве приемник «видит» логический нуль, который сначала трактуется как старт-бит и нулевые биты данных, но потом срабатывает контроль стоп-бита.

Для асинхронного режима принят ряд стандартных скоростей обмена: 50,75,110, 150, 300,600,1200,2400,4800,9600,19200,38400, 57600 и 115200 бит/с. Иногда вместо единицы измерения «бит/с» используют «бод» (baud), но при рассмотрении двоичных передаваемых сигналов это некорректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования в канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.

Количество бит данных может составлять 5, 6, 7 или 8 (5- и 6-битные форматы распространены незначительно). Количество стоп-бит может быть 1, 1,5 или 2 («полтора бита» означает только длительность стопового интервала).

2. Разработка и изготовление комплекса усилениея и оцифровки сигнала на основе микроконтроллера

.1 Разработка программного обеспечения микроконтроллера AT90S8535

.1.1 Программный комплексWinAVR

Данная программа была выбрана в связи с тем, что она имеет хорошее описание возможностей, максимально адаптирована для работы с микроконтроллерами фирмы ATMEL, средой отладки AVR Studio и свободно распространяется фирмой ATMEL в Интернете (сайт #"580974.files/image019.gif">

Рисунок 17 - Рабочая область Programmers Notepad

2.1.2 Интегрированная отладочная среда AVR Studio фирмы Atmel

AVR Studio 4 - новая профессиональная интегрированная среда разработки (Integrated Development Environment - IDE), предназначенная для написания и отладки прикладных программ для AVR микропроцессоров в среде Windows 9x/NT/2000. AVR Studio ver.4 содержит ассемблер и симулятор. Также IDE поддерживает такие средства разработки для AVR как: ICE50, ICE40, JTAGICE,

ICE200, STK500/501/502 и AVRISP. На рисунке 18 представлена рабочая область интегрированной отладочной среды AVR Studio фирмы Atmel.

AVR Studio поддерживает COFF как формат выходных данных для символьной отладки. Другие программные средства третьих фирм также могут быть сконфигурированы для работы с AVR Studio.

Список доступных окон AVR Studio:

-       окно Watch window показывает значения определенных символов (в этом

Рисунок 18 - Рабочая область AVR Studio ver.4

окне пользователь может просматривать значения и адреса переменных);

-       окно Trace window показывает хронологию программы, выполняемой в настоящее время;

-       окно Register window показывает содержимое регистров (регистры можно изменять во время остановки программы);

-       окна Memory windows показывают содержимое памяти программ, данных, портов ввода/вывода и энергонезависимого ПЗУ (память можно просматривать в HEX, двоичном или десятичном форматах; содержимое памяти можно изменять во время остановки программы);

-       окно I/O window показывает содержимое различных регистров ввода/вывода: EEPROM, I/O порты, таймеры;

-       окно Message window показывает сообщения от AVR Studio;

-       в окне Processor window отображается важная информация о ресурсах микроконтроллера, включая программный счетчик, указатель стека, регистр статуса и счетчик цикла (эти параметры могут модифицироваться во время остановки программы).

Интегрированная отладочная среда применялась нами в разработке и отладке программного обеспечения для микроконтроллера AT90S8535.

2.1.3 Программная оболочка программатора PonyProg

PonyProg (доступна на сайте #"580974.files/image021.gif">

Рисунок 19 - Внешний вид программной оболочка программатора PonyProg

2.2 Аппаратная часть программатора PonyProg

Любая программа, написанная для микроконтроллера, должна быть “зашита” в микроконтроллер с помощью программатора. Данная схема была выбрана в связи с тем, что она относительно просто устроена и поддерживается программой Pony Prog.

Программатор подключали к компьютеру посредством параллельного порта. В схеме программатора использовали микросхему 74HC244, которая может быть заменена на аналоги - такие как 74LS244 либо 74ALS244, К1564АП5, К555АП5, К1533АП5 может использоваться любой другой неинвертирующий шинный формирователь с тремя состояниями (в этом случае может потребоваться соответствующее изменение схемы).

Схема была реализована на печатной плате с использованием микросхемы 74HC244 и элементной базы рекомендованной разработчиком. На рисунке 20 изображена принципиальная схема программатора.


Рисунок 20 - Принципиальная схема программатора Pony Prog

2.3 Разработка печатной платы комплекса усиления и оцифровки сигнала

Разработанный комплекс усиления и оцифровки сигнала базируется на микроконтроллере AT90S8535, который выступает в качестве аналого-цифрового преобразователя и универсального асинхронного приемо-передатчика UART. Программа прошивки микроконтроллера с описаниями приведена в приложении А.

При работе программы устанавливается скорость, равная 2400 бит/сек, поддерживаемая последовательным интерфейсом ЭВМ RS-232. На вход АЦП микроконтроллера поступает аналоговый сигнал, который оцифровывается встроенным 10-и битным АЦП и старший бит из регистра ADCH помещается в переменную q2, а младший из регистра ADCL - в переменную q1. Результат суммируется со смещением влево на 8 бит и записывается в переменную q3. Далее значение преобразования передается в функцию usmer переменной F, которая считывает 3000 значений из АЦП, суммирует их и делит на 3000, тем самым вычисляя среднее. Далее в главной функции среднее значение присваивается переменной temp и далее производится вычисление напряжения по формуле:

U=(temp*Uaref)/1024,

где Uaref - напряжение на 32 контакте микроконтроллера относительно земли.

Полученная величина умножается на 1000 для получения конкретного значения напряжения, затем полученное значение передается в ЭВМ за 2 этапа, т.к. интерфейс RS-232 позволяет передавать только 8 бит, а число 10-и битное. Число разбивается на старший и младший бит и передается поочередно, начиная со старшего.

2.4 Аппаратное обеспечение комплекса

Печатная плата состоит из микроконтроллера AT90S8535, который был выбран в связи с тем, имеет необходимый набор периферийных устройств, относительно прост в программировании. Также аппаратная часть комплекса состоит из 4-х танталовых конденсаторов C5, С6, С7, С8 (емкостью 10μF и напряжением 16 вольт), необходимых для поддержания соответствующего напряжения на микросхеме MAX232(танталовые конденсаторы выбраны из-за их малого тока утечки). Конденсаторы С3, С4 емкостью 22рF необходимы для нормальной работы кварцевого резонатора. Конденсаторы С1 и С2 устанавливают положительный потенциал на контактах микроконтроллера AVcc и RESET соответственно. Резисторы R1 и R2 (100 Om) устанавливают напряжение на питания АЦП микроконтроллера и верхнего порога измеряемого напряжения ниже общего напряжения питания, что предотвращает некорректную работу АЦП. Резистор R3 сопротивлением 10кОм поддерживает положительный потенциал на 9-м пине микроконтроллера и предотвращает самопроизвольный сброс микроконтроллера. Резистор R4 при нажатии ключа К1 подает отрицательный потенциал на Reset микроконтроллера, что приводит к сбросу микроконтроллера.

Усиление сигнала производится посредствам операционного усилителя OP07DP и резисторов R5 и R6 удельным сопротивлением 1МОм. Даная схема применяется для преобразования тока в напряжение, в которой потенциал входа поддерживается строго равным потенциалу земли. Инвертирующий вход имеет квазинуль потенциала. Фотодиод может создавать потенциал, равный всего нескольким десятым долям вольта, но данная схема позволяет преобразовать ток в напряжение. Принципиальная схема изображена на рисунке 21.

Микросхема MAX232 необходима для увеличения амплитуды сигнала, так как микроконтроллер имеет амплитуду сигнала на выходе от -5 до +5 вольт, а у СОМ порта от -15 до -3 вольт - логический «0», а от +3 до +15 - логическая «1». Напряжение от -3 до +3 попадает в “мертвую” зону, в которой интерфейс имеет неопределенность предаваемой информации.

Рисунок 21 - Принципиальная схема усилителя сигнала

Кварцевый резонатор Y1 задает тактовую частоту микроконтроллера и составляет 7,3728 МГц, хотя могут быть применены любые резонаторы в диапазоне от 1 до 8 МГц, но для этого необходимо внести соответствующие изменения в программу. Принципиальная схема установки изображена в приложении Б.

Интерфейс RS-232 был выбран в связи с относительной простотой программирования в среде Windows, достаточной скоростью передачи и приема информации от периферийных устройств, а также возможностью применения провода длиной до 20 метров. Передаваемый сигнал может регистрироваться любой программой, предназначенной для приема данных через интерфейс RS-232. Данные передаются в два этапа: сначала передается старшие биты, потом младшие.

Питание схемы может осуществляться любым стабилизированным блоком питания. Для лучшей стабилизации внутри предусмотрена схема основанная на микросхеме КР142ЕН5А и двух танталовых конденсаторов емкостью 16мкФ и напряжением 5В. Микросхема КР142ЕН5А может быть заменена на любую другую аналогичную при условии совпадения соответствующих выводов микросхемы. Танталовые конденсаторы могут быть заменены на любые другие, но емкостью не меньше 10 мкФ и напряжением не менее 5В.

Заключение

Основные результаты дипломной работы состоят в следующем:

1.       Проанализированы все известные принципиальные схемы устройств программирования микроконтроллеров и была выбрана самая лучшая с точки зрения надежности и возможностей. Собран программатор микроконтроллеров AVR по найденной схеме на основе микросхемы 74LS244, работающий по параллельному порту.

2.       Разработано программное обеспечение для микроконтроллера AT90S8535, позволяющее полученный аналоговый сигнал преобразовывать в цифровую форму. Полученный сигнал считывается из регистра АЦП 3000 раз и высчитывается среднее, затем полученный результат преобразуется в числовое значение действующего напряжения и передается по последовательному интерфейсу RS-232.

.        Разработана печатная плата комплекса, базирующаяся на микроконтроллере AT90S8535, микросхеме MAX232 и операционном усилителе OP07DP. Данное оборудование может быть использовано в лабораторных работах как устройство усиления, оцифровки и передачи сигнала по последовательному интерфейсу RS-232 (Com-порту) в любое устройство поддерживающее соответствующий стандарт.

.        Произведен пробный запуск комплекса и осуществлено выведение полученного оцифрованного сигнала на экран монитора персонального компьютера Pentium III-533МГц.

Список использованных источников

1. Гук М. Аппаратные интерфейсы ПК. Энциклопедия. - СПб.: Питер, 2002. - 528 с.

. Несвижский В. Программирование аппаратных средств в Windows - СПб.: БХВ-Петербург, 2004.- 880с.

. Смит Дж. Сопряжение компьютеров с внешними устройствами. Уроки реализации. / пер.с англ.- М.: Мир 2000.-266с.

. Новиков Ю.В., Калашников О.А., Гуляев С.Э. Разработка устройств сопряжения для персонального компьютера типа IBM PC. Практ. пособие - М.: Эком, 2000. - 244с.

. Евстифеев А.В. Микроконтроллеры AVR семейства Classic фирмы Atmel - М.: Издательский дом «Додэка-XXI», 2006. - 288с.

. Гребнев В.В. Микроконтроллеры семейства AVR фирмы ATMEL - М.:ИП РадиоСофт, 2002. - 176с.

. Мортон Д. Микроконтроллеры AVR. Вводный курс /пер.с англ. - М.: Издательский дом «Додэка-XXI», 2004. - 272с.

. Баранов В.Н. Применение микроконтроллеров AVR. Схемы, алгоритмы, программы - М.: Издательский дом «Додэка-XXI», 2004. - 288с.

. Трамперт В. Измерение, управление и регулирование с помощью AVR микроконтроллеров / пер с нем.- К.: Мк-Пресс,2006. - 208с.

. Голубцов М.С. Микроконтроллеры AVR: от простого к сложному - М.: СОЛОН-Пресс, 2003. - 288 с.

. Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров - К.: Мк-Пресс, 2006.- 400с.

Приложение А

Программное обеспечение микроконтроллера AVR ATMEL AT90S8535

#include <avr/io.h>

#include <util/delay.h>

#include <stdio.h>

#include <avr/interrupt.h>

//#include <avr/signal.h>int q;int Read_ADC (void)

{int q1;//int q2;//

unsigned int q3;//|= 0x40; // бит начала преобразования((ADCSR & 0x40)==1){}; // |=0x10; // разрешения использования АЦП

//регистр ADIF -прерывание устанавливается аппаратно

//по окончанию цикла преобразования= ADCL; // младший бит в q1= ADCH; // старший бит в q2= q1+(q2<<8); // суммирование со смещением

return q3;

}int usmer(unsigned char q3)

{int j, F; //value, temp; //= 0; //= 0; //=0; //(j=1; j<3001; j++)

{= Read_ADC();= value+F;=0;

}= (value/3000);= (unsigned int) temp;F;

}Init_uart(void)

{= 0x08; // 0000 1000 TXCIE запрещены прерывания по завершению  //передачи

// TXEN разблокировка передатчика= 0xBF; //скорость передачи 2400 бод UBR=191

}Init_ADC(void) //Инициализация АЦП

{= 3; //Выбор входа АЦП - PIN 3= 0xA6; // 1010 0110 - флаг разрешения использования АЦП

// разрешение прерывания по завершению преобразования

// коэффициент деления тактовой частоты = 64

}main (void)

{int temp; //char temp1, temp2;U;

Init_ADC(); //_uart();=3;  //номер канала АЦП(1) //

{= usmer(q); //=(temp*4.85)/1024; // вычисляем напряжение

temp=(unsigned int)(1000*U); // переводим в мВ

temp1= (temp & 0x0F); // помещаем в переменную temp1 старший

//байт передаваемого числа

temp2= ((temp & 0xF0)>>8); // помещаем в переменную temp2 младший

//байт передаваемого числа

_delay_loop_2(1); // пауза 2mс

UDR = temp1; // передаем старший байт

while((UCR & 0x20) ==0){}; // ожидание установки бита успешной

// передачи

UDR = temp2; // передаем младший байт

while((UCR & 0x20) ==0){};

_delay_loop_2(2); //пауза 4 mс

}

}

оцифровка сигнал микроконтроллер

Приложение Б

Принципиальная схема комплекса усиления и оцифровки сигнала на основе микроконтроллера АТ90S8535

Похожие работы на - Разработка и изготовление комплекса усиления и оцифровки сигнала на основе микроконтроллера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!