Структура микроконтроллера
На рис. 2, в качестве примера, показано распределение адресов в адресном пространстве SRAM между регистрами общего назначения (GPR), регистрами ввода-вывода (IOR), ячейками памяти в SRAM и ячейками памяти в ERAM у микроконтроллера типа 8515.
Рис. 2
Запись в стек выполняется в порядке убывания адресов. В качестве исхо
дного адреса для обращений к стеку, который заносится в регистр-указатель стека в начале программы, целесообразно использовать старший адрес SRAM. В рассмотренном на рис. 2 примере таким адресом является адрес $025Е
6. Запоминающее устройство EEPROM
Постоянное запоминающее устройство EEPROM предназначено для хранения данных, записанных при программировании микроконтроллера и получаемых в процессе выполнения программы. При выключении напряжения питания данные сохраняются. Ячейка памяти содержит 8 разрядов. Емкость EEPROM (в числе бантов) у микроконтроллеров разных типов указана в табл. 1 в колонке EEPROM.
EEPROM имеет обособленное адресное пространство. При обращении к EEPROM адрес записывается в регистр адреса EEAR (№ $1Е). В микроконтроллерах типа 8515, 8535, ml63 и ml03 регистр адреса содержит два восьмизарядных регистра — EEARL и EEARH (№№ $1Е и $1F). Байт, предназначенный для записи, заносится в регистр данных EEDR (№ $Ш). Байт, получаемый при чтении, поступает в этот же регистр. Для управления процедурами записи и чтения используется регистр управления EECR (№ $1С).
Для записи байта в EEPROM необходимо:
1) записать адрес в регистр адреса;
2) записать байт в регистр данных;
3) установить в единичное состояние разряд EEMWE регистра EECR,
4) при EEMWE = 1 установить в единичное состояние разряд EEWE регистра EECR.
Процедура записи выполняется в зависимости от величины напряжения питания за 2,5—4 мс. При завершении записи разряд EEWE регистра EECR аппаратно сбрасывается в нулевое состояние.
Разряд EEMWE сохраняет единичное состояние в течение 4-х тактов после установки и аппаратпо сбрасывается в пулевое состояние.
В микроконтроллерах типа t12, tl5, 4433. 8535, ml63 и ml03 при нулевом состоянии разряда EEWE формируется запрос прерывания ЕЕ RDY. Прерывание по данному запросу разрешено при единичном состоянии разряда EERIE регистра EECR.
Для чтения байта из EEPROM необходимо:
1) записать адрес в регистр адреса;
2) установить в единичное состояние разряд EERE регистра EECR. Считанный байт поступает в регистр данных. Разряд EERE регистра EECR аппаратно сбрасывается в нулевое состояние.
7. Внешнее запоминающее устройство ERAM
Внешнее запоминающее устройство предназначено для хранения байтов данных. Оно может быть подключено к микроконтроллерам типа 8515 и m10З. Схема подключения ERAM к микроконтроллеру изображена на рис. 3.
Структура микроконтроллера
Рис 3
Для подключения используются:
■ 8 выводов порта А (РА), через которое выдается младший байт кода адреса и байт данных для записи и принимается байт данных при чтении;
■ 8 выводов порта С (PC), через которые выдается старший байт кода адреса;
■ вывод ALE, через который выдается импульс для записи младшего байта кода адреса во внешний регистр RG;
■ вывод WR, через который в ERAM выдается импульс управления записью;
■ вывод RD, через который в ERAM выдается импульс управления чтением.
В микроконтроллере типа 8515 для выдачи сигнала ALE используется отдельный вывод, а сигналы WR и RD выдаются через выводы PD6 и PD7 соответственно. В микроконтроллере типа тЮЗ сигналы управления выдаются через отдельные выводы.
Обращение к внешней памяти по командам обращения к SRAM возможно после установки в единичное состояние разряда SRE регистра MCUCR (№ $35). Обращение выполняется за 3 такта.
Если требуется, в цикл обращения может быть введен дополнительный такт (такт ожидания). Дополнительный такт вводится при единичном состоянии разряда SRW в регистре MCUCR.
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) и стоповым битом может помещаться дополнительный бит.
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем