Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel (1044208), страница 4
Текст из файла (страница 4)
В рассмотренном на рис. 1.2 примере таким адресом является адрес $025Е Глава 1 1.6. Запоминающее устройство ЕЕРЯОМ Постоянное запоминающее устройство ЕЕРКОМ предназначено для хранения данных, записанных при программировании микроконтроллера и получаемых в процессе выполнения программы. При выключении напряжения питания данные сохраняются. Ячейка памяти содержит 8 разрядов. Емкость ЕЕРКОМ (в числе байтов) у микроконтроллеров разных типов указана в табл. 1.1 в колонке ЕЕРКОМ. ЕЕРКОМ имеет обособленное адресное пространство.
При обращении к ЕЕРКОМ адрес записывается в регистр адреса ЕЕАК (№ $1Е). В микроконтроллерах типа 8515, 8535, 1п163 и т103 регистр адреса содержит два восьмизарядных регистра — ЕЕАИ. и ЕЕАКН (№№ $1Е и $1Е). Байт, предназначенный для записи, заносится в регистр данных ЕЕВК (№ $1Р). Байт, получаемый прп чтении, поступает в этот жс регистр.
Для управления процедурами записи и чтения используется регистр управления ЕЕСК (№ $1С). Для записи байта в ЕЕРКОМ необходимо: 1) записать адрес в регистр адреса; 2) записать байт в регистр данных; 3) установить в единичное состояние разряд ЕЕМЪЪ'Е регистра ЕЕСК, 4) при ЕЕМЖЕ = 1 установить в единичное состояние разряд ЕЕ~ЧЕ регистра ЕЕСК. Процедура записи выполняется в зависимости от величины напряжения питания за 2,5 — 4 мс. Прп завершении записи разряд ЕЕЧ'Е регистра ЕЕСК аппаратно сорасывастся в нулевое состояние. Разряд ЕЕМЪ'Е сохраняет единичное состояние в течение 4-х тактов после установки и аппаратно горасывается в пулевое состояние. В микроконтроллерах типа ~12, г15, 4433, 8535, т163 и т103 при нулевом состоянии разряда ЕЕ%'Е формируется запрос прерывания ЕЕ ИЖ Прерывание по данному запросу разрешено при единичном состоянии разряда ЕЕИЕ регистра ЕЕСК.
Для чтения байта из ЕЕРКОМ необходимо: 1) записать адрес в регистр адреса; 2) установить в единичное состояние разряд ЕЕКЕ регистра ЕЕСК. Считанный байт поступает в регистр данных. Разряд ЕЕКЕ регистра ЕЕСК аппаратно сбрасывается в нулевое состояние. 1.7. Внешнее запоминающее устройство ЕВАМ Внешнее запоминающее устройство предназначено для хранения байтов данных. Оно может быть подключено к микроконтроллерам типа 8515 и гп103.
Схема подключения ЕКАМ к микроконтроллеру изображена на рис. 1.3. Структура микроконтроллера 19 Рис. 1.3. Для подключения используются: ° 8 выводов порта А (РА), через которое выдается младший байт кода адреса и байт данных для записи и принимается байт данных при чтении; ° 8 выводов порта С (РС), через которые выдается старший байт кода адреса; ° вывод А1.Е, через который выдается импульс для записи младшего байта кода адреса во внешний регистр КС; и вывод %'К, через который в ЕВАМ выдается импульс управления записью; ° вывод ИЭ, через который в ЕВАМ выдается импульс управления чтением. В микроконтроллере типа 8515 для выдачи сигнала А1 Е используется отдельный вывод, а сигналы Я~К и К1) выдаются через выводы РР6 и РВ7 соответственно.
В микроконтроллере типа т103 сигналы управления выдаются через отдельные выводы. Обращение к внешней памяти цо командам обрашения к ЖАМ возможно после установки в единичное состояние разряда ЯКЕ регистра МСУСЙ (Мо 335). Обращение выполняется за 3 такта. Если требуется, в цикл обращения может быть введен дополнительный такт (такт ожидания). Дополнительный такт вводится при единичном состоянии разряда ЖЪ' в регистре МС11СК. 1.8. Периферийные устройства В группу периферийных устройств входят: ° параллельные порты ввода-вывода; ° последовательньш порт ЯР1; ° последовательный порт УАЙТ; ° последовательный порт Т%81 (12С); ° таймеры-счетчики общего назначения; ° сторожевой таймер; го Глава 1 ° аналого-цифровой преобразователь; ° аналоговый компаратор; ° программируемый аппаратный модулятор; ° блок прерываний. Параллельный порт ввода-вывода (РогС, Р) предназначен для ввода и вывода данных. Микроконтроллеры семейства АЧК имеют от одного до шести портов.
Порт может иметь от трех до восьми выводов. Число параллельных портов ввода-вывода и суммарное число выводов портов у микроконтроллеров разных типов, указано в табл. 1.1 в колонках Р и 1/О соответственно. Вывод порта может работать в режиме входа или в режиме выхода. Направление передачи бита устанавливается для каждого вывода в отдельности.
Некоторые выводы портов кроме ввода и вывода битов данных могут использоваться для выполнения альтернативных функций при работе других устройств. Суммарное число выводов параллельных портов, которые могут выполнять альтернативные функции у микроконтроллеров разных типов, указано в табл. 1.1 в колонке А1Т. В это число не включены выводы, выполняющие альтернативные функции только при программировании микроконтроллера.
Альтернативные функции выводов портов у микроконтроллеров разных типов указаны в приложении ПЗ. Последовательный порт ввода-вывода ЯР1 (5епа1 РепрЬега! 1пгет~асе) предназначен для ввода и вывода байтов при обмене данными с другими устройствами, имеющими порт ЯР1. Обмен выполняется под управлением тактового сигнала порта. Устройство, инициализирующее обмен и вырабатывающее тактовый сигнал, является ведущим (тазгег).
Устройство, выполняющее обмен при поступлении тактового сигнала, является ведомым (зуаве). В процессе обмена оба устройства последовательно бит за битом одновременно выдают и принимают байт. Обмен выполняется с использованием трех шин. Максимальная скорость приема/передачи (в битах в секунду) равна 1/4 частоты тактового сигнала микроконтроллера (у МК типа т163— 1/2 тактовой частоты). К одному ведущему устройству могут быть подключены несколько ведомых.
Функции ведущего и ведомого могут меняться в процессе работы системы. Порт ЯР1, который может работать в режиме ведущего и ведомого и использоваться для обмена данными в процессе работы, имеется у микроконтроллеров типа 4433, 8515, 8535, т163 и т103 (табл. 1,1, колонка БР1). Микроконтроллеры других типов, кроме 111 и Г28, имеют порт БР1, который может работать только в режиме ведомого и используется при последовательном программировании микроконтроллера без дополнительного источника напряжения (йоыЫоайпд). Структура микроконтроллера Последовательный порт ввода-вывода 1.1АКТ (УпЫетза1 А5упсЬтопоив Яесетоет-Ттапзт1ггет) предназначен для передачи и приема байтов данных по двухпроводным линиям связи (например, по интерфейсу Ю-232С или "токовая петля").
Прием и передача могут вестись одновременно. При передаче байта формируется последовательность из десяти или одиннадцати битов (кадр), содержащая стартовый бит, имеющий нулевое значение, восемь битов байта (00, 01, ..., Р7) и стоповый бит, имеющий единичное значение. Между старшим битом байта (07) и стоповым битом может помещаться дополнительный бит, Порт ПАКТ входит в состав периферийных устройств микроконтроллеров типа 2313, 4433, 8515, 8535, ш163 и ш103 (табл.
1.1, колонка 11АКТ). Последовательный порт ввода-вывода ТЖБ1 (Ттео-Ите 5епа1 1пгет~асе) предназначен для обмена байтами данных с другими устройствами по двухпроводной шине 1С (1пгерагей Сгсигг). К шине могут подключаться до 127 устройств. Устройство, подключенное к шине 1С, может работать в качестве ведущего (таргет) или ведомого фаге). Ведущее устройство при освооождении шины от обмена между другими устройствами посылает в шину сигнал начала обмена и занимает шину, затем посылает адресный байт для выбора одного из ведущих устройств и задания направления обмена, передает или принимает байты данных и посылает сигнал окончания обмена.
Ведомое устройство, опознав свой адрес, в зависимости от указанного направления обмена принимает или передает данные. Устройство, принимающее байты данных, после приема каждого байта посылает в шину сигнал подтверждения приема. Адресный байт может содержать общий адрес для передачи данных одновременно во все ведомые устройства. Скорость обмена задается ведущим устройством, обмен может вестись со скоростью до 400000 бит/с. Последовательный порт Т%81 имеется у микроконтроллера типа т163. Таймер-счетчик общего назначения (лепета! Ритуюле Типет/Соипгет) предназначен для формирования запроса прерывания при истечении заданного интервала времени (режим таймера) или свершении заданного числа событий (режим счетчика). Микроконтроллеры семейства АЧК могут иметь от одного до трех таймеров-счетчиков общего назначения Т/СХ (Х вЂ” номер таймера-счетчика, Х = О, 1, 2).
Основным элементом таймера-счетчика является базовый счетчик, который ведет счет на сложение. При его переполнении формируется запрос прерывания Т/СХ ОЪ'Е Таймер-счетчик общего назначения может выполнять дополнительные функции: 22 Глава 1 ° функцию захвата; ° функцию сравнения; ° функцию широтно-импульсного модулятора; ° функцию счета реального времени. Функция захвата (саргиге) заключается в запоминании кода, сформированного в базовом счетчике, в специальном регистре захвата при изменении значения определенного внешнего или внутреннего сигнала, При этом формируется запрос прерывания Т/СХ САРТ.
Функция сравнения (сотраге) заключается в изменении значения сигнала на определенном выходе микроконтроллера при совпадении кода, формируемого в базовом счетчике, с кодом в специальном регистре сравнения. При этом формируется запрос прерывания Т/СХ СОМР. Функция широтно-импульсного модулятора (РЖМ) заключается в формировании на определенном выходе микроконтроллера импульсной последовательности с заданными периодом повторения и длительностью импульсов. Функции сравнения и РОМ реализуются с использованием одного и того же оборудования. Выбор нужной функции выполняется програмлшыми средствами.