Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект лекций ІЗВ.doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
5 Мб
Скачать
☆

Подсистема ввода-вывода.

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

1. Порты ввода-вывода. Они могут быть либо однонаправленными (выполняя функ­ции входа или выхода соответственно), либо квазидвунаправленными (рисунок 1). Такие порты мо­гут вы­полнять функции, как входа, так и выхода (в каждый конкретный момент времени либо вход, либо выход).

Рисунок 1- Упрощенная структура квазидвунаправленного порта

Если порт работает как выход, то один из выходных транзисторов открыт, а другой закрыт, в соответствии с уровнем выходного сигнала. Чтобы порт работал как вход, необхо­димо записать в выходной триггер "1", тогда транзистор Q2 будет закрыт, а сигнал управле­ния блокирует открытие Q1. Таким образом, образуется высокоимпедансный вход. Микро­контроллеры, поддерживающие битовую адресацию способны управлять состоянием каж­дого вывода порта отдельно.

2. Таймеры/счетчики. Они представляют собой специализированные счетчики с комму­тируемыми источниками синхронизации (рисунок 2).

Источником счетных импульсов может быть либо системный синхросигнал с фикси­рованной частотой (возможно предварительно поделенной в заданное число раз), либо один из входов микроконтроллера. В первом случае устройство выполняет функции таймера, так как фактически считает интервалы времени постоянной длительности.

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

Рисунок.2. Обобщенная структурная схема таймера/счетчика.

3. Модули “Захват/Сравнение” (Capture/Compare). Эти модули, называемые ещё модулями быстрого ввода-вывода, предназначены для быстрой генерации события на вы­ходе микросхемы (рисунок 3), либо быстрой реакции на событие на её входе без участия процес­сора (рисунок .4). Они имеют два основных режима работы: входной и выход­ной.

Рисунок.3-. Структурная схема модуля в выходном режиме (Compare)

Рисунок .4. Структурная схема модуля во входном режиме (Capture)

Таймер модуля считает импульсы, поступающие с постоянной частотой, соответст­вующей сигналу синхронизации (возможно деленной на предделителе). В регистр времени события предварительно записывается по команде определенное число. Компаратор сравни­вает каждый момент времени содержимое таймера и содержимое регистра времени события. В момент, когда их содержимое становится равным друг другу, происходит заданное собы­тие на соответствующем выходе микросхемы и выставляется запрос на прерывание. Таким образом, можно запрограммировать определённое выходное событие в заданное время и осуществить его без участия процессора. Этот режим используется в частности для генера­ции ШИМ.

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

4. Широтно-импульсный модулятор. Встроенный ШИМ предназначен для генера­ции широтно-модулированного сигнала на выходе микросхемы без участия процессора (рисунок .5).

Рисунок 5 - Структурная схема блока ШИМ

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

При такой организации возможная разрядность ШИМ зависит от частоты сигнала.

В некоторых моделях микроконтроллеров используются специализированные много­канальные модули ШИМ, в частности для управления приводом (80C196MC Intel).

5. Модуль последовательного ввода-вывода. Модуль используется для обмена дан­ными между микроконтроллером и удаленным периферийным узлом. Данные передаются в последова­тельном коде, то есть биты передаются во временной последовательности друг за другом по одному каналу связи. Это даёт возможность использовать один канал связи вместо несколь­ких в случае параллельного кода. Однако при этом снижается быстродействие канала связи. Различают полудуплексные и дуплексные каналы последовательной связи.

В случае полуду­плексного канала данные передаются по одному и тому же каналу в обе стороны, но в каж­дый конкретный момент времени только в одну сторону.

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

По методу синхронизации различают синхронные и асинхронные каналы связи. При синхронном методе передачи каждый передаваемый бит данных синхронизируется им­пуль­сом в канале синхронизации (рисунок .6).

Рисунок 6- Синхронный метод передачи данных

При этом по каналу данных передаются только собственно данные. Такой метод пе­редачи позволяет обеспечить скорость передачи порядка 1 Mbit/сек. Однако, для его органи­зации необходим дополнительный канал синхросигнала.

При асинхронном методе передачи канал синхронизации отсутствует (рисунок 7). Это вы­зывает необходимость передавать по каналу данных дополнительную информацию для син­хрониза­ции приемной стороны.

Рисунок 7- Асинхронный метод передачи данных

Первым в посылке передается СТАРТ-бит нулевого уровня. Приняв его, приемная сторона подстраивает фазу своих синхросигналов в соответствии с моментом прихода СТАРТ-бита. После него один за другим следуют биты данных. В конце цепочки данных может следовать бит четности для проверки правильности приема. Заканчивается посылка СТОП-битом единичного уровня. Частота передачи, то есть время передачи одного бита за­ранее должны быть согласованы на передающей и приемной сторонах. Такой метод пере­дачи позволяет обеспечить скорость передачи до 100 Kbit/сек.

Микроконтроллер может содержать либо отдельные синхронные и асинхронные порты ввода-вывода, либо универсальный порт, способный работать в обоих режимах.

6. Модуль аналого-цифрового преобразователя (АЦП). Модуль предназначен для преобразования входной аналоговой информации в цифровую и передачи ее в процессор для дальнейшей обработки. Микроконтроллеры имеют, как правило, несколько каналов АЦП (рисунок .8). Преобразование информации на том или ином канале инициируется соответствую­щей командой.

Рисунок 8 -. Структурная схема блока АЦП.

Преобразования начинаются выбором требуемого канала, который осуществляется записью номера канала в специальный служебный регистр. Аналоговый мультиплексор про­пускает на выход сигнал выбранного канала. После этого подается сигнал фиксации на уст­ройство выборки-хранения. Оно фиксирует уровень выбранного аналогового сигнала на весь период преобразования. Затем подается сигнал начала преобразования. АЦП представ­ляет собой, как правило, АЦП последовательных приближений. Время преобразования со­ставляет обычно около 10 s. После окончания преобразования АЦП выдает сигнал готов­ности, по которому его выходная информация записывается в буферный регистр, с которого она затем может быть считана процессором по соответствующей команде. При этом выраба­тывается запрос на прерывание. Некоторые микроконтроллеры имеют блоки АЦП, способ­ные рабо­тать в автоматическом режиме, опрашивая несколько каналов последовательно без участи процессора(80C166, Intel).