Периферийные устройства


Порты ввода/вывода имеются в любом МК. В МК AVR каждый разряд порта с помощью внутренних регистров может быть запрограммирован на ввод или на вывод следующей информации:

- регистр «DDR» используется для контроля направления передачи данных и привязки вывода к шине питания (VCC);

- регистр «PORT» используется (при работе порта на вывод данных) как регистр выходных данных и (при работе порта на ввод данных) для привязки вывода к VCC через внутренний резистор 10 кОм;

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

Также порты МК используются для выполнения некоторых альтернативных функций в периферийных устройствах.

Модуль прерываний

Гибкий модуль прерываний содержит свои управляющие регистры в пространстве ввода-вывода и имеет дополнительный бит общего разрешения работы системы прерываний в регистре статуса. У всех прерываний имеется свой вектор прерывания в соответствии с таблицей векторов прерываний. Прерывания имеют приоритет в соответствии с позицией их вектора. Прерывания с меньшим адресом прерывания имеют более высокий приоритет. Для каждого прерывания имеется собственный бит разрешения.

Некоторые выводы микроконтроллера могут использоваться в качестве внешних прерываний. Внешние прерывания определяют переход МК на процедуру обработки при возникновении заданного изменения конкретной линии ввода / вывода (INT).

Выбор изменения линии задается в регистре конфигурации внешних прерываний:

по нарастающему фронту;

по спаду;

по нулевому уровню.

Все микроконтроллеры имеют в своем составе таймеры / счетчики количеством до десятка штук и с различной разрядностью (в основном 8 или 16 бит), которые могут работать и как таймеры от внутреннего источника опорной частоты, и как счетчики внешних событий с внешним тактированием.

Общие черты всех таймеров / счетчиков следующие:

наличие программируемого предварительного делителя входной частоты с различными градациями деления;

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

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

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

наличие различных векторов прерываний для нескольких различных событий (переполнение, захват, сравнение).

Таймеры / счетчики микроконтроллера могут быть использованы для: точного формирования временных интервалов и для подсчета импульсов на выводах МК.

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

по нарастающему фронту;

по спаду;

по нулевому уровню.

Таймеры микроконтроллера могут быть использованы для:

формирования последовательности импульсов ШИМ – режима (на основе ШИМ можно легко реализовать ЦАП);

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

реализации часов реального времени (RTC) в котором таймер / счетчик RTC имеет свой собственный предварительный делитель, который может быть программным способом подключен или к основному внутреннему источнику тактовой частоты микроконтроллера, или дополнительному асинхронному источнику опорной частоты как например кварцевый резонатор или внешний синхросигнал);

Аналоговый компаратор входит в состав большинства микроконтроллеров. Типовое напряжение смещения равно 10 мВ, время задержки распространения составляет 500 нс и зависит от напряжения питания микроконтроллера. Так, например, при напряжении питания 2,7 вольт оно равно 750 нс.

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

Логический выход компаратора может быть программным образом подключен ко входу одного из таймеров/счетчиков. Это дает возможность измерять длительность аналоговых сигналов, а также максимально просто реализовывать АЦП двухтактного интегрирования. Структурная схема аналогового компаратора микропроцессора представлена на рис. 4.2.

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

Аналого-цифровой преобразователь (АЦП) в микроконтроллерах построен по классической схеме последовательных приближений с устройством выборки / хранения (УВХ). Каждый из аналоговых входов может быть соединен со входом УВХ через аналоговый мультиплексор.

УВХ имеет свой собственный усилитель, гарантирующий, что измеряемый аналоговый сигнал будет стабильным в течение всего времени преобразования. Разрядность большинства интегрированных АЦП составляет 10 бит при нормируемой погрешности + / - 2 разряда.

Рис. 4.2 – Структурная схема аналогового компаратора

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

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

Порты контроллера

Параллельный порт в микроконтроллерах используется в основном для взаимодействия с внешней памятью данных. Обычно параллельный порт представлен 8-разрядной шиной данных и 16-разрядной шиной адреса. Для реализации обмена используется стандартная схема с сигналами управления RW и WR (архитектура «общая шина»).

Микроконтроллер и внешние устройства соединены при помощи трех шин: шины адреса, шины данных и шины управления. Подобная архитектура микропроцессорной системы называется «общая шина». Общей шиной называется совокупность линий, которая является общей для всех подключенных к ней устройств и служит для передачи информации.

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

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

Процесс передачи информации между процессором и периферийными устройствами происходит следующим образом:

- вначале процессор устанавливает на шине адреса адрес того периферийного устройства или ячейки памяти, с которой происходит информационный обмен;

- если на параллельной шине несколько устройств, то необходимо выбирать требуемое устройство ввода-вывода или микросхему памяти, формируя сигнал «CHIP SELECT»;

- на следующем такте процессор выставляет на шину данных информацию;

- далее формирует сигналы, соответствующие требуемому типу информационного обмена на шине управления (WR, RD, IOREQ, MREQ).

Таким образом, операции передачи адреса и данных оказываются разнесенными по времени, что позволяет в некоторых системах использовать для их передачи одну и ту же группу соединительных линий (мультиплексированная шина адреса данных). Так, для реализации параллельного порта в МК используются два порта ввода / вывода: один для выдачи старшего байта адреса, второй для выдачи младшего байта адреса и байта данных. Младший байт адреса защелкивается во внешнем регистре сигналом с выхода микроконтроллера (ALE).

Последовательный порт это канал информационного обмена МК с внешним миром. Такие каналы связи занимают минимальное число выводов кристалла, обеспечивая связь на значительные расстояния с минимальными аппаратными затратами. В большинстве МК реализованы два типа последовательных портов синхронные и асинхронные.

Синхронные последовательные порты в МК наиболее распространены два основных типа синхронных портов:

- I2C это двухпроводная двунаправленная шина;

- SPI это последовательный периферийный трехпроводный интерфейс.

Компания Philips разработала двунаправленную шину из двух проводов для эффективного контроля над интегральными схемами (ИС). Эта шина получила название Inter - IC или I2C. В настоящее время ИС компании Philips используются в более чем 150 видах CMOS и совместимых с шиной I2C двухполюсниках при производстве все трех вышеперечисленных видах продукции. Устройства совместимые с I2C имеют интерфейс прямо на микросхеме, который позволяет им соединяться при помощи шины I2C. Такой способ производства позволяет решить множество проблем, возникающих при проектировании интерфейсов между цифровыми схемами.

Основные характеристики шины I2C, достоинства и недостатки выглядят следующим образом:

- требуются только две линии: Serial Data Line (SDA) и Serial Clock Line (SCL);

- -Каждое устройство, подключенное к шине, имеет свой уникальный адрес. На протяжении всего времени работы шины имеет место простая связь вида master / slave (мастер может работать и как приемник, и как передатчик).

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

- двунаправленная передача данных (8bit) производится на скоростях до 100 Кб/c в стандартном режиме или до 400 Кб/с в ускоренном режиме;

- имеющийся на микросхеме фильтр, предотвращает скачки напряжения, предохраняя целостность данных;

- максимальное число ИС, одновременно подключенных к шине, ограничивается только максимальной емкостью шины в 400 пФ.

Основные характеристики SPI интерфейса достоинства и недостатки выглядят следующим образом:

- полнодуплексный трехпроводной синхронный обмен данными;

- два режима работы: ведущий (управляет процессом обмена данными и выдает импульсы синхронизации обмена) или ведомый (синхронизируется от ведущего);

- два режима передачи: старшим или младшим битом вперед;

- программируемые скорости обмена;

- прерывание по завершении передачи байта;

- буфер приемника составляет 1 байт;

- -обнаружение ошибки искажения данных при передаче;

- -линия выборки для реализации шинного обмена.

Реализация режимов обмена данными между Master и Slave устройствами по SPI представлена на рис. 4.4.

Рис. 4.4 – Обмен между Master и Slave по SPI

UART это универсальный асинхронный последовательный приемо-передатчик совместим с UART в персональном компьютере и имеет стандартный формат передачи данных(рассмотренный нами в первой главе). На UART реализуются все популярные протоколы в мире встраиваемых систем: Bitbus (последовательная магистраль управления), CAN и Modbus (межконтроллерные сетевые интерфейсы) и многие другие.

Основные характеристики UART:

- скорость передачи до 155 200 кбод;

- формат данных;

- обнаружение ошибок формирования кадра и переполнения;

- фильтрация шума;

- буфер приемника и передатчика;

- три отдельных прерывания: по завершении передачи, по завершении приема и по пустому буферу передатчика.



Дата добавления: 2020-10-14; просмотров: 335;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.015 сек.