8. Периферийные устройства
В группу периферийных устройств входят:
■ параллельные порты ввода-вывода;
■ последовательный порт SPI;
■ последовательный порт UART;
■ последовательный порт TWSI (I2C);
■ таймеры-счетчики общего назначения;
■ сторожевой таймер и аналого-цифровой преобразователь;
■ аналоговый компаратор;
■ программируемый аппаратный модулятор;
■ блок прерываний.
Параллельный порт ввода-вывода (Port, P) предназначен для ввода и вывода данных. Микроконтроллеры семейства AVR имеют от одного до шести портов. Порт может иметь от трех до восьми выводов. Число параллельных портов ввода-вывода и суммарное число выводов портов у микроконтроллеров разных типов, указано в табл. 1 в колонках Р и I/O соответственно.
Вывод порта может работать в режиме входа или в режиме выхода. Направление передачи бита устанавливается для каждого вывода в отдельности.
Некоторые выводы портов кроме ввода и вывода битов данных могут использоваться для выполнения альтернативных функций при работе других устройств. Суммарное число выводов параллельных портов, которые могут выполнять альтернативные функции у микроконтроллеров разных типов, указано в табл. 1 в колонке ALT. В это число не включены выводы, выполняющие альтернативные функции только при программировании микроконтроллера. Альтернативные функции выводов портов у микроконтроллеров разных типов указаны в приложении ПЗ.
Последовательный порт ввода-вывода SPI (Serial Peripheral Interface) предназначен для ввода и вывода байтов при обмене данными с другими устройствами, имеющими порт SPI. Обмен выполняется под управлением тактового сигнала порта. Устройство, инициализирующее обмен и вырабатывающее тактовый сигнал, является ведущим (master). Устройство, выполняющее обмен при поступлении тактового сигнала, является ведомым (slave). В процессе обмена оба устройства последовательно бит за битом одновременно выдают и принимают байт. Обмен выполняется с использованием трех шин.
Максимальная скорость приема/передачи (в битах в секунду) равна 1/4 частоты тактового сигнала микроконтроллера (у МК типа m163 — 1/2 тактовой частоты).
К одному ведущему устройству могут быть подключены несколько ведомых. Функции ведущего и ведомого могут меняться в процессе работы системы.
Порт SPI, который может работать в режиме ведущего и ведомого и использоваться для обмена данными в процессе работы, имеется у микроконтроллеров типа 4433, 8515, 8535, ml63 и m10З (табл. 1, колонка SPI). Микроконтроллеры других типов, кроме til и t28, имеют порт SPI, который может работать только в режиме ведомого и ис-пользуется при последовательном программировании микроконтроллера без дополнительного источника напряжения (Downloading).
Последовательный порт ввода-вывода UART (Universal Asynchronous Receiver-Transmitter) предназначен для передачи и приема байтов данных по двухпроводным линиям связи (например, по интерфейсу RS-232C или "токовая петля"). Прием и передача могут вестись одновременно. При передаче байта формируется последовательность из десяти или одиннадцати битов (кадр), содержащая стартовый бит, имеющий нулевое значение, восемь битов байта (DO, D1, ..., D7) и столовый бит, имеющий единичное значение. Между старшим битом байта (D7) и стоповым битом может помещаться дополнительный бит.
Порт UART входит в состав периферийных устройств микроконтроллеров типа 2313, 4433, 8515, 8535, т163 и ml03 (табл. 1, колонка UART).
Последовательный порт ввода-вывода TWSI (Two-Wire Serial Interface) предназначен для обмена байтами данных с другими устройствами по двухпроводной шине IС (Integrated Circuit). К шине могут подключаться до 127 устройств.
Устройство, подключенное к шине IС, может работать в качестве ведущего (master) или ведомого (slave). Ведущее устройство при освобождении шины от обмена между другими устройствами посылает в шину сигнал начала обмена и занимает шину, затем посылает адресный байт для выбора одного из ведущих устройств и задания направления обмена, передает или принимает байты данных и посылает сигнал окончания обмена.
Ведомое устройство, опознав свой адрес, в зависимости от указанного направления обмена принимает или передает данные.
Устройство, принимающее байты данных, после приема каждого байта посылает в шину сигнал подтверждения приема. Адресный байт может содержать общий адрес для передачи данных одновременно во все ведомые устройства.
Скорость обмена задается ведущим устройством, обмен может вестись со скоростью до 400000 бит/с.
Последовательный порт TWSI имеется у микроконтроллера типа ml63.
Таймер-счетчик общего назначения (General Purpose Timer/Counter) предназначен для формирования запроса прерывания при истечении заданного интервала времени (режим таймера) или свершении заданного числа событий (режим счетчика). Микроконтроллеры семейства AVR могут иметь от одного до трех таймеров-счетчиков общего назначения Т/СХ (X — номер таймера-счетчика, X = 0, 1, 2).
Основным элементом таймера-счетчика является базовый счетчик, который ведет счет на сложение. При его переполнении формируется запрос прерывания Т/СХ OVF.
Таймер-счетчик общего назначения может выполнять дополнительные функции:
■ функцию захвата;
■ функцию сравнения;
■ функцию широтно-импульсного модулятора;
■ функцию счета реального времени.
Функция захвата (capture) заключается в запоминании кода, сформированного в базовом счетчике, в специальном регистре захвата при изменении значения определенного внешнего или внутреннего сигнала. При этом формируется запрос прерывания Т/СХ САРТ.
Функция сравнения (compare) заключается в изменении значения сигнала на определенном выходе микроконтроллера при совпадении кода, формируемого в базовом счетчике, с кодом в специальном регистре сравнения. При этом формируется запрос прерывания Т/СХ СОМР.
Функция широтно-импульсного модулятора (PWM) заключается в формировании на определенном выходе микроконтроллера импульсной последовательности с заданными периодом повторения и длительностью импульсов.
Функции сравнения и PWM реализуются с использованием одного и тою же оборудования. Выбор нужной функции выполняется программными средствами.
Функция счета реального времени (Real Time Clock) реализуется в таймере-счетчике при использовании дополнительного внутреннего генератора с внешним кварцевым резонатором с частотой 32768 Гц ("часовой" кварц). При этом параметры процессов в таймере-счетчике с высокой точностью привязаны к единице измерения реального времени — секунде.
В зависимости от разрядности счетчика и выполняемых дополнительных функций могут быть выделены пять типов таймеров-счетчиков общего назначения, входящих в группу периферийных устройств микроконтроллеров семейства AVR.
Тип А. Восьмиразрядный таймер-счетчик без дополнительных функций.
Тип В. Восьмиразрядный таймер-счетчик с функцией сравнения/PWM.
Тип С. Восьмиразрядный таймер-счетчик с функцией сравнения/PWM и функцией счета реального времени.
Тип D. Шестнадцатиразрядный таймер-счетчик с функциями захвата и сравнения/PWM.
Тип Е. Шестнадцатиразрядный таймер-счетчик с функцией захвата и двумя каналами для выполнения функций сравнения/PWM.
В табл. 1, в колонках Т/СО, Т/С1 и Т/С2 указаны типы таймеров-счетчиков, входящих в группу периферийных устройств под этими именами у микроконтроллеров разных типов. Таймер-счетчик одного типа в микроконтроллерах разных типов может иметь разные имена.
Сторожевой таймер (Watchdog Timer, WDT) предназначен для ликвидации последствий сбоя в ходе программы путем перезапуска микроконтроллера при обнаружении сбоя. Сторожевой таймер имеется у микроконтроллеров всех типов.
Аналого-цифровой преобразователь (Analog-to-Digital Converter) формирует десятиразрядный двоичный код числа, пропорционального величине напряжения аналогового сигнала па входе микроконтроллера. В микроконтроллерах AVR к преобразователю могут подключаться от четырех до восьми входов микроконтроллера.
Аналого-цифровой преобразователь входит в состав периферийных устройств микроконтроллеров типа t15, 4433, 8535, ml63 и ml03. Число подключаемых входов у микроконтроллеров названных типов указано в табл. 1, в колонке ADC.
Аналого-цифровой компаратор (Analog Comparator, AC) сравнивает по величине аналоговые сигналы, поступающие на два входа микроконтроллера, и формирует запрос прерывания ANA COMP, когда разность их значений меняет знак. При этом также может быть выдан сигнал для выполнения функции захвата в таймере-счетчике общего назначения.
Аналоговый компаратор входит в состав периферийных устройств микроконтроллеров всех типов, кроме 2323 и 2343 (табл. 1, колонка АС).
Программируемый аппаратный модулятор (Programmable Hardware Modulator, РИМ) предназначен для формирования импульсного сигнала на выводе РА2 для питания светодиодных индикаторов. Длительность импульса и скважность сигнала задаются программными средствами. Ток нагрузки может иметь величину до 25 мА при напряжении питания 1,8 В. Программируемый аппаратный модулятор имеется у микроконтроллеров типа t28.
Блок прерываний (Interrupt Unit, IU) организует переход к выполнению прерывающей программы при поступлении запроса прерывания, если прерывание по данному запросу разрешено и он имеет более высокий приоритет, чем другие запросы, поступившие одновременно с ним.
Прерывание разрешено, если разряд 1 регистра SREG находится в единичном состоянии и в единичном состоянии находится разряд, разрешающий/запрещающий прерывание по данному запросу, расположенный в одном из регистров ввода-вывода. Приоритетность запросов задана аппаратно.
При переходе к выполнению прерывающей программы разряд I регистра SREG сбрасывается в нулевое состояние и сохраняется в этом состоянии до завершения прерывающей программы. Разряд 1 может быть переведен в единичное состояние по команде в прерывающей программе.
Запросы в блок прерываний поступают из внешних источников и источников, расположенных во внутренних устройствах микроконтроллера. Общее число запросов прерывания у микроконтроллеров разных типов указано в табл. 1, в колонке IU
Литература
1 Тавернье К. PIC-микроконтроллеры. Практика применения: Пер. с фр. -М: ДМКПресс, 2008. - 272 с.: ил. (Серия «Справочник»).
2 Борзенко А.Е. IBM PC: устройство, ремонт, модернизация. – 2-е изд. перераб. и доп. – М.: ТОО фирма «Компьютер Пресс», 2006. – 344с.: ил.
3 Цифровые интегральные микросхемы: Справ./М. И. Богданович, И.Н. Грель, В.А. Прохоренко, В.В. Шалимо.–Мн.: Беларусь, 2001. – 493 с.: ил.
4 ДСТУ 3008-95. Документация. Отчеты в сфере науки и техники. Структура и правила оформления.
5 Охрана труда в вычислительных центрах. Ю.Г. Собаров и др. – М.: Машиностроение, 2000. – 192с.
... (АЦП) и другие. Каждый модуль проектируется для работы в составе МК с учетом протокола ВКМ. Данный подход позволяет создавать разнообразные по структуре МК в пределах одного семейства. 1.2 Структура процессорного ядра микроконтроллера Основными характеристиками, определяющими производительность процессорного ядра МК, являются: - набор регистров для хранения промежуточных данных; - ...
... ; -ADEN – флаг разрешения использования АЦП. Таблица 8.1. Выбор коэффициента деления частоты системной синхронизации для тактирования АЦП микроконтроллеров AVR ADPS2 ADPS1 ADPS0 Коэффициент деления 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 Таким образом, в общем случае процесс аналого-цифрового преобразования в микроконтроллерах ...
... является использование ядра ARM7, встроенного единого кэш команд и данных емкостью 8 Кбайт (ARM7100) и 4 Кбайт (ARM7500 и ARM7500FE), MMU, буфера записи, наличие режимов энергосбережения. 3. Архитектура микроконтроллера AVR Микроконтроллер AVR содержит: быстрый RISK-процессор, два типа энергонезависимой памяти (Flash-память программ и память данных EEPROM), оперативную память RAM, порты ввода ...
... напряжения. У ЦАП с токовым выходом этот параметр в большой степени зависит от типа выходного ОУ. Виды ЦАП Существуют последовательные и параллельные ЦАП. Последовательные –- используются в микропроцессорных системах, если не требуется высокое быстродействие. Среди параллельных - наиболее просты ЦАП с суммированием весовых токов Большинство схем параллельных ЦАП основано на суммировании ...
0 комментариев