Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СВВиПУ_РК2

.pdf
Скачиваний:
6
Добавлен:
14.04.2015
Размер:
3.7 Mб
Скачать

1.3.2.4 Двунаправленные порты и порты с альтернативной функцией

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

 

Vcc

 

 

 

 

RL

 

 

Вывод

Входные

 

 

порта

 

 

 

 

 

 

данные

 

 

 

 

 

 

 

 

Шина

данных

D SET Q

#WR

CLR Q

Регистр-защелка данных

Рис. 11. Квазидвунаправленный порт

Регистр входных данных (на схеме не показан) подключен к внешнему выводу порта. Перед считыванием входных данных необходимо предварительно записать «1» в регистр-защелку выходных данных. Это закроет транзистор и исключит влияние порта вывода на входной сигнал. Резистор RL останется подключенным к входному сигналу и будет являться для него дополнительной нагрузкой, но, так как сопротивление резистора велико (10-100кОм), даже на маломощный входной сигнал данная нагрузка не окажет заметного влияния. Схема квазидвунаправленного порта применяется в семействе MCS-51.

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

Она объединяет схемы порта ввода и порта вывода с двухтактной выходной схемой, описанные выше. Переключение порта в режим ввода осуществляется записью «1» в регистр «вход/выход». В этом случае (как было указано при описании порта вывода) оба транзистора переводятся в закрытое состояние и порт вывода не влияет на входной сигнал. В двунаправленных портах резисторы pull-up и pull-down подключаются только в режиме ввода, для чего на вход соответствующей схемы управления подключается выход регистра «вход/выход» («1» - ввод).

 

Альтернативная функция

 

 

 

Регистр

 

 

 

 

Vcc

 

 

направления

 

 

 

 

 

 

 

 

 

 

 

порта

 

 

 

 

 

 

 

D SET

Q

#OE

 

 

Вывод

 

 

 

 

 

 

 

 

 

 

Q

 

 

 

порта

 

 

CLR

 

 

 

 

 

D SET

Q

 

 

 

 

 

 

CLR

Q

 

 

 

 

 

Регистр-защелка

 

 

 

Шина

выходных данных

 

 

 

 

 

 

 

 

 

 

данных

 

 

 

 

 

 

Vcc

 

Регистр

 

 

Триггер Шмитта

 

 

 

 

 

 

 

входных

 

 

или СЗД

 

 

 

 

 

 

 

Pullup

 

 

данных

 

 

 

 

 

Q SET

D

 

 

 

 

 

#RD

Q CLR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D SET

Q

 

 

 

 

 

#WR

 

 

 

 

 

 

 

 

CLR

Q

 

 

 

 

 

 

Регистр управления

 

 

 

 

"поддерживающими

 

Pulldown

 

 

резисторами"

 

 

 

 

 

 

 

 

 

 

 

 

 

o

Рис. 12. Переключаемый двунаправленный порт с комплементарным выходным каскадом

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

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

Модуль аналого-цифрового преобразования (АЦП, Analog-to-digital converter, ADC) предназначен для ввода в процессор аналоговых сигналов с датчиков физических величин и преобразования значения напряжения этих сигналов в двоичный код с целью дальнейшей программной обработки [28, 32, 77, 91, 100]. Простейшим одноразрядным двоичным АЦП является компаратор.

Характеристики:

1.Разрядность АЦП характеризует количество дискретных значений, которые преобразователь может выдать на выходе.

2.Разрешение АЦП – минимальное изменение величины аналогового сигнала, которое может быть преобразовано данным АЦП. Обычно измеряется в вольтах, поскольку для большинства АЦП входным сигналом является электрическое напряжение.

3.Частота дискретизации.

4.Скорость преобразования.

5.Точность.

Пример:

Диапазон входных значений = от 0 до 10В (опорное напряжение) Разрядность двоичного АЦП 12 бит: 212 = 4096 уровней квантования

Разрешение двоичного АЦП по напряжению: (10-0)/4096 = 0,00244В =

2,44мВ

На практике разрешение АЦП ограничено отношением сигнал/шум входного сигнала. При большой интенсивности шумов на входе АЦП различение соседних уровней входного сигнала становится невозможным, т.е. ухудшается разрешение. При этом реально достижимое разрешение описывается эффективной разрядностью (effective number of bits – ENOB), которая меньше, чем реальная разрядность АЦП. При преобразовании сильно зашумлѐнного сигнала младшие разряды выходного кода практически бесполезны, так как содержится шум.

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

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

В большинстве применений АЦП используют для измерения медленно изменяющегося, низкочастотного сигнала (например, от датчика температуры, давления, от тензодатчика и т.п.), когда входное напряжение пропорционально относительно постоянной физической величине. Здесь основную роль играет статическая погрешность измерения. В спецификации АЦП этот тип погрешности определяют аддитивная погрешность (Offset), мультипликативная погрешность (Full-Scale), дифференциальная нелинейность (DNL), интегральная нелинейность (INL), погрешность квантования и апертурная погрешность.

Аналоговый сигнал является непрерывной функцией времени, в АЦП он преобразуется в последовательность цифровых значений. Следовательно, необходимо определить частоту выборки цифровых значений из аналогового сигнала. Частота, с которой производятся цифровые значения, получила название частоты дискретизации АЦП.

Непрерывно меняющийся сигнал с ограниченной спектральной полосой подвергается оцифровке (т.е. значения сигнала измеряются через интервал времени T – период дискретизации), и исходный сигнал может быть точно восстановлен из дискретных во времени значений путѐм интерполяции. Точность восстановления ограничена ошибкой квантования. Однако в соответствии с теоремой Котельникова-Шеннона точное восстановление возможно, только если частота дискретизации выше, чем удвоенная максимальная частота в спектре сигнала.

Поскольку реальные АЦП не могут произвести аналого-цифровое преобразование мгновенно, входное аналоговое значение должно удерживаться постоянным, по крайней мере, от начала до конца процесса преобразования (этот интервал времени называют «время преобразования»). Эта задача решается путѐм использования специальной схемы на входе АЦП – устройства выборки-хранения – УВХ. УВХ, как правило, хранит входное напряжение в конденсаторе, который соединѐн со входом через аналоговый ключ: при замыкании ключа происходит выборка входного сигнала (конденсатор заряжается до входного напряжения), при размыкании – хранение. Многие АЦП, выполненные в виде интегральных микросхем, содержат встроенное УВХ.

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

схеме последовательного приближения. Время преобразования обычно составляет несколько десятков микросекунд, в зависимости от частоты тактирования АЦП. Завершение процесса преобразования отмечается установкой флага, и если разрешено, вырабатывается запрос прерывания. В современных управляющих процессорах и микроконтроллерах наиболее распространены АЦП с разрядностью 8, 10, реже 12 и совсем редко 14 и 16 бит.

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

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

Для большего удобства использования модуля АЦП в режиме сканирования могут быть реализованы несколько регистров данных (Fujitsu MB90, Intel 8051GB) по одному на канал. Программисту будет достаточно считывать данные из регистра, соответствующего требуемому каналу. При этом код выбора канала параллельно подается на адресные входы блока регистров данных.

Источник опорного напряжения Vref и коммутатор Vref

Опорное напряжение Vref определяет диапазон значений напряжения на

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

Могут быть использованы опорные источники следующего типа:

1.Внешний, подключаемый через специальный вывод микросхемы.

2.Внутренний, фиксированный или программируемый с помощью встроенного ЦАП.

Подключение к АЦП внешнего или внутреннего источников выполняется с помощью коммутатора Vref.

Коммутатор сигнала запуска АЦП позволяет выбрать способ запуска процесса преобразования, а также определяет один из возможных режимов работы АЦП:

1.Периодического преобразования. В этом режиме АЦП запускается периодическим сигналом от основного тактового генератора или встроенного таймера.

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

3.Внешнего запуска. Запуск осуществляется внешним сигналом, что позволяет четко определить момент считывания значения аналогового напряжения со входа.

4.Программно управляемого запуска, по установке специального бита.

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

Аналоговый компаратор

Аналоговый компаратор используется для сравнения напряжения двух внешних аналоговых сигналов или для сравнения напряжения внешнего аналогового сигнала с образцовым напряжением, вырабатываемым внутри процессора. Могут быть запрограммированы различные уровни образцового напряжения. Результат сравнения кодируется битом в регистре специального назначения, например, «1» – вход A больше или равен B, «0» – вход A меньше B. В случае изменения соотношения изменяется значение бита, а также может быть установлен флаг и выработан запрос прерывания.

Структура блока аналогового компаратора приведена ниже.

 

 

От другого компаратора

 

 

 

 

Рег. данных

 

 

AIN1

 

 

 

 

AIN2

A

 

 

 

Компаратор

 

 

Ком

 

Запрос

мута

 

 

 

B

 

 

прер.

тор

Сх. фикс.

Fac

 

 

перепада

 

 

 

 

 

 

 

Выбор каналов

 

 

Установка образцового

 

ЦАП

напряжения

 

 

 

 

 

Рис. 13. Модуль аналогового компаратора

Аналоговый коммутатор входов выбирает аналоговые сигналы для сравнения. Первый сигнал берется с внешнего входа AIN1, в качестве второго

берется сигнал с внешнего входа AIN2 или эталонное внутреннее напряжение, которое вырабатывается с помощью ЦАП.

ЦАП – программируемый генератор эталонного напряжения.

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

Схема фиксации перепада определяет изменение одного из бит в регистре данных (выхода одного из компараторов) и вырабатывает по этому событию запрос прерывания.

Пример использования аналогового компаратора:

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

2.Обнаружение (формирование) фронтов внешних сигналов.

3.Встроенные схемы контроля напряжения питания системы.

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

Рис. 14. Классификация АЦП по методам преобразования

В основу классификации АЦП положен признак, указывающий на то, как во времени разворачивается процесс преобразования аналоговой величины в

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

Параллельные АЦП

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

Рис. 15. Схема параллельного АЦП

Если приложенное входное напряжение не выходит за пределы диапазона от 5/2h, до 7/2h, где h=Uоп/7 – квант входного напряжения, соответствующий единице младшего разряда АЦП, то компараторы с 1-го по 3-й устанавливаются в состояние «1», а компараторы с 4-го по 7-й – в состояние «0».

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

свое состояние раньше других разрядов, то временно на выходе возникнет

число 111, т.е. семь. Величина ошибки в этом случае составит половину измеряемого диапазона.

Так как результаты АЦ-преобразования записываются, как правило, в запоминающее устройство, существует вероятность получить полностью неверную величину. Решить эту проблему можно, например, с помощью устройства выборки-хранения (УВХ). Некоторые интегральные микросхемы (ИМС) параллельных АЦП, например, МАХ100, снабжаются сверхскоростными УВХ, имеющими время выборки порядка 0,1 нс. Другой путь состоит в использовании кода Грея, характерной особенностью которого является изменение только одной кодовой позиции при переходе от одного кодового значения к другому. Наконец, в некоторых АЦП (например, МАХ1151) для снижения вероятности сбоев при параллельном АЦ-преобразовании используется двухтактный цикл, когда сначала состояния выходов компараторов фиксируются, а затем, после установления состояния приоритетного шифратора, подачей активного фронта на синхровход выходного регистра в него записывают выходное слово АЦП.

Благодаря одновременной работе компараторов параллельный АЦП является самым быстрым. Например, восьмиразрядный преобразователь типа МАХ104 позволяет получить 1 млрд. отсчетов в секунду при времени задержки прохождения сигнала не более 1,2 нс. Недостатком этой схемы является высокая сложность. Действительно, N-разрядный параллельный АЦП сдержит 2N-1 компараторов и 2N согласованных резисторов. Следствием этого является высокая стоимость и значительная потребляемая мощность.

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

АЦП последовательного приближения (successive approximation architecture, SAR), или АЦП с поразрядным уравновешиванием содержит компаратор, вспомогательный ЦАП и регистр последовательного приближения. АЦП преобразует аналоговый сигнал в цифровой за N шагов, где N – разрядность АЦП.

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

На каждом шаге определяется по одному биту искомого цифрового значения, начиная от старшего значащего разряда (СЗР) и заканчивая младшим значащим разрядом (МЗР). Последовательность действий по определению очередного бита заключается в следующем. На вспомогательном ЦАП выставляется аналоговое значение, образованное из битов, уже определѐнных на предыдущих шагах; бит, который должен быть определѐн на этом шаге, выставляется в 1, более младшие биты установлены в 0. Полученное на вспомогательном ЦАП значение сравнивается с входным аналоговым значением. Если значение входного сигнала больше значения на вспомогательном ЦАП, то определяемый бит получает значение 1, в противном случае 0. Таким образом, определение итогового цифрового значения напоминает двоичный поиск. АЦП этого типа обладают одновременно высокой скоростью и хорошим разрешением. Однако при отсутствии устройства выборки хранения погрешность будет значительно больше (представьте, что после оцифровки самого большого разряда сигнал начал меняться).

Характеристика АЦП последовательного приближения: невысокая скорость преобразования, невысокая цена и низкое энергопотребление.

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

Цифро-аналоговый преобразователь (digital-analog converter, DAC) предназначен для преобразования числа, представленного, как правило, в виде двоичного кода, в напряжение или ток, пропорциональные этому числу. Схемотехника цифро-аналоговых преобразователей весьма разнообразна. На рисунке ниже представлена общая классификация ЦАП по способам преобразования входного кода и схемам формирования выходного сигнала [28, 32, 77, 91, 100].

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

1.По роду выходного сигнала: преобразователи с токовым выходом или с выходом по напряжению.

2.По типу цифрового интерфейса: с последовательным вводом или параллельным вводом.

3.По числу ЦАП на кристалле: одноканальные и многоканальные.

4.По быстродействию: низкого, среднего и высокого быстродействия.

5.По разрядности.