Аппаратные принципы построения устройств микропроцессорной техники и приобретение практических навыков по разработке микропроцессорных систем. Техническая характеристика микропроцессора ATmega и анализ микросхемы памяти. Схема микропроцессорной системы.
При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах. Строб ALE используется для фиксации младшего байта адреса с выводов AD0-AD7 в защелке адреса в течение первого цикла обращения.
Введение
Целью данного курсового проекта является углубление знаний по аппаратным принципам построения устройств микропроцессорной техники и приобретение практических навыков по разработке микропроцессорных систем и их программного обеспечения.
Проектирование микропроцессорной системы заключается в обеспечении управления необходимыми шинами микропроцессорного устройства с учетом требуемой нагрузочной способности. Нагрузочная способность обеспечивается буферными регистрами и шинными формирователями, при этом необходимо различать статистическую и динамическую нагрузки. микропроцессорный система микросхема
Дополнительные требования: клавиатура, индикация - индикатора JE-AN16202.
1. Структура микроконтроллера ATMEGA
1.1. Назначение выводов
На рис.1.1 изображен корпус и приведено назначениевыводов микроконтроллера. В скобках указана альтернативная функция вывода.
Микроконтроллер ATMEGA64 включает следующие функциональные блоки: - 8-разрядное арифметическо-логическое устройство ( АЛУ );
- внутреннюю флэш-память программ объемом 64 Кбайт с возможностью внутрисистемного программирования через последовательный интерфейс;
- 32 регистра общего назначения;
- внутреннюю EEPROM память данных объемом 4 Кбайт;
- внутреннее ОЗУ данных объемом 4 Кбайт;
- 6 параллельных 8-разрядных портов;
- 4 программируемых таймера-счетчика;
- 10-разрядный 8-канальный АЦП и аналоговый компаратор;
- последовательные интерфейсы UART0, UART0, TWI и SPI;
- блоки прерывания и управления (включая сторожевой таймер).
Рис.1. Вид корпуса и обозначение выводов микроконтроллера ATMEGA64.
Port A (PA7..PA). 8-разрядный двунаправленный порт. К выводам порта могут быть подключены встроенные нагрузочные резисторы (отдельно к каждому разряду). Выходные буферы обеспечивают ток 20 МА и способность прямо управлять светодиодным индикатором. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт А при наличии внешней памяти данных используется для организации мультиплексируемой шины адреса/данных.
Port B (PB7..PB0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 МА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт В используется также при реализации специальных функций.
Port C (PC7..PC0). Порт С является 8-разрядным выходным портом. Выходные буферы обеспечивают ток 20 МА. Порт C при наличии внешней памяти данных используется для организации шины адреса.
Port D (PD7..PD0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 МА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах.
Port Е (РЕ7..РЕ0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 МА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах. Порт E используется также при реализации специальных функций.
Port F (PF7..PF0). 8-разрядный входной порт. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя.
#RESET. Вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе более 50 нс.
XTAL1, XTAL2. Вход и выход инвертирующего усилителя генератора тактовой частоты.
TOSC1, TOSC2. Вход и выход инвертирующего усилителя генератора таймера/счетчика.
#WR, #RD. Стробы записи и чтения внешней памяти данных.
ALE. Строб разрешения фиксации адреса внешней памяти. Строб ALE используется для фиксации младшего байта адреса с выводов AD0-AD7 в защелке адреса в течение первого цикла обращения. В течение второго цикла обращения выводы AD0-AD7 используются для передачи данных.
AVCC. Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к VCC через низкочастотный фильтр.
AREF. Вход опорного напряжения для аналого-цифрового преобразователя. На этот вывод подается напряжение в диапазоне между AGND и AVCC. AGND. Это вывод должен быть подсоединен к отдельной аналоговой земле, если она есть на плате. В ином случае вывод подсоединяется к общей земле.
#PEN. Вывод разрешения программирования через последовательный интерфейс. При удержании сигнала на этом выводе на низком уровне после включения питания, прибор переходит в режим программирования по последовательному каналу.
VCC, GND. Напряжение питания и земля.
1.2 Организация памяти и портов ввода/вывода
Микроконтроллеры AVR имеют раздельные пространства адресов памяти программ и данных (гарвардская архитектура). Организация памяти МК ATMEGA64 показана на рис. 1.2.
Рис.2. Организация памяти микроконтроллера ATMEGA64
Высокие характеристики семейства AVR обеспечиваются следующими особенностями архитектуры: • В качестве памяти программ используется внутренняя флэш-память. Она организована в виде массива 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;
• 16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнить большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC=20 МГЦ);
• память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных объемом до 4096 ячеек. Возможно применение внешнего ОЗУ данных объемом до 60 Кбайт;
• внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода-вывода.
Как видно из рис. 1.2 и 1.3, 32 регистра общего назначения (РОН) включены в сквозное адресное пространство ОЗУ данных и занимают младшие адреса. Хотя физически регистры выделены из памяти данных, такая организация обеспечивает гибкость в работе. Регистры общего назначения прямо связаны с АЛУ. Каждый из регистров способен работать как аккумулятор. Большинство команд выполняются за один такт, при этом из регистров файла могут быть выбраны два операнда, выполнена операция и результат возвращен в регистровый файл. Старшие шесть регистров могут использоваться как три 16-разрядных регистра, и выполнять роль, например, указателей при косвенной адресации.
Рис.3. Регистры общего назначения микроконтроллера ATMEGA64
Следующие 64 адреса за регистрами общего назначения занимают регистры ввода-вывода (регистры управления/состояния и ДАННЫХПРИ использовании команд IN и OUT используются адреса ввода-вывода с $00 по $3F. Но к регистрам ввода-вывода можно обращаться и как к ячейкам внутреннего ОЗУ. При этом к непосредственному адресу ввода-вывода прибавляется $20. Адрес регистра как ячейки ОЗУ приводится далее в круглых скобках. Регистры ввода-вывода с $00 ($20) по $1F ($3F) имеют программно доступные биты. Обращение к ним осуществляется командами SBI и CBI, а проверка состояния - командами SBIS и SBIC. В таблице B1 приведен список регистров ввода-вывода.
Таблица 1. Некоторые регистры ввода-вывода микроконтроллера ATMEGA64
Название Функция
PORTG Регистр данных порта G
DDRG Регистр направления данных порта G
PING Выводы порта G
PORTF Регистр данных порта F
DDRF Регистр направления данных порта F
SREG Регистр состояния
SPH Указатель стека, старший байт
SPL Указатель стека, младший байт
TIMSK Регистр маски прерываний от таймеров/счетчиков
TIFR Регистр флагов прерываний от таймеров/счетчиков
MCUCR Регистр управления микроконтроллером
MCUCSR Регистр управления и состояния микроконтроллера
TCCR0 Регистр управления таймером/счетчиком Т0
TCNT0 Счетный регистр таймера/счетчика Т0
OCR0 Регистр совпадения таймера/счетчика Т0
ASSR Регистр состояния асинхронного режима
TCCR1A Регистр управления А таймера/счетчика Т1
PORTA Регистр данных порта А DDRA Регистр направления данных порта А PINA Выводы порта А PORTB Регистр данных порта В
DDRB Регистр направления данных порта В
PINB Выводы порта В
PORTC Регистр данных порта С
DDRC Регистр направления данных порта С
PINC Выводы порта С
PORTD Регистр данных порта D
DDRD Регистр направления данных порта D
PIND Выводы порта D
SPDR Регистр данных SPI
SPSR Регистр состояния SPI
SPCR Регистр управления SPI
ACSR Регистр управления и состояния аналогового компаратора
ADMUX Регистр управления мультиплексором АЦП
ADCSRA Регистр управления и состояния АЦП
ADCH Регистр данных АЦП, старший байт
ADCL Регистр данных АЦП, младший байт
PORTE Регистр данных порта Е
DDRE Регистр направления данных порта Е
PINE Выводы порта Е
PINF Выводы порта F
Рис.4 - Блок-схема микроконтроллера Atmega64
2. Микросхемы памяти
Микросхема ОЗУ приведена на рис. 13.
Рис. 13 УГО микросхемы КР565РУ1А Назначение выводов
ИС имеет три источника питания, первым подключают и последним отключают источник питания Uп3 = -5В, так как он подается на подложку (кристалл), в противном случае может произойти тепловой пробой под воздействием двух других источников питания Uп1 и Uп2. Режим регенерации осуществляют по циклу считывания или считывания-модификации-записи при выполнении условия CS = 1, обеспечивающего блокировку информационных входов и выходов микросхемы и возможность работать ей «на себя». Выход микросхемы в это время находится в Z-состоянии. После включения питания нормальный режим функционирования устанавливается через восемь циклов.
Микросхема ПЗУ приведена на рис. 14.
Рис. 14 УГО микросхемы КР1601РР1
A0 ? A9 - входы адреса
D0 ? D3 - входы / выходы данных
CS - выбор кристалла
RD - вход сигнала считывания
PR - вход сигнала программирования
ER - вход сигнала стирания
UPR -вход напряжения программирования
Режимы работы микросхемы представлены в таблице 1.
Таблица 1
CS ER PR RD A0?A9 UPR D1/0 Режим
0 X X X X X Roff Хранение
1 0 1 0 X -33?-31 B X Общее стирание
1 0 0 0 A -//- X Избирательное стирание
1 1 0 0 A -//- D1 Запись данных
1 1 1 1 A -33?5 B D0 Считывание
2.1 Карта распределения адресного пространства памяти
B000h ПЗУ
A000h
9FFFH ОЗУ
9BFFH
Рис. 15. Карта распределения адресного пространства
Согласно приведенной карте адресного пространства 1 Кб ОЗУ расположен c адреса 9BFFH, а 4 Кб ПЗУ с адреса A000h.
2.2 Селектор ОЗУ
Таблица. Микросхема ОЗУ, объемом 1Кбайт, будет занимать ячейки памяти с 9BFFДО 9FFF, что соответствует адресу 1001 1ххх хххх хххх.
A15A14А13А12А11А10А9А8А7А6А5А4АЗА2А1А0
0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0
0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0
0 1 0 0 1 1 Х Х Х Х Х Х Х Х Х Х Х 0
1 в остальных случаях 1
2.3 Селектор ПЗУ
ПЗУ объемом 4Кбайт занимает ячейки памяти с A000 до B000, что соответствует адресу 101x xxxx хххх хххх.
Таблица
A15A14А13А12А11А10А9А8А7А6А5А4АЗА2А1А0
0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 X X Х Х Х Х Х Х Х Х Х Х Х 0
Адресное пространство ОЗУ и ПЗУ удобно сделать на дешифраторе 3 в 8 К555ИД7.
Рис. 16. Адресный селектор памяти
Где на входы подаются сигналы PC5, PC6, PC7. Так как по ним можно точно определить какая именно микросхема будет задействована: вывод 11 - микросхема ОЗУ ; вывод 10 - микросхема ПЗУ.
3. Индикация
JE-AN 16202
Характеристики ? Режим отображения: STN / TN, прямой / обратный тип отображения ? Формат экрана: 16 символов * 2 строки ? Метод передачи: 1/16 Duty, 1/4 Bias ? Направление обзора: 6 O `clock/12 Oclock ? Заднее освещение: LED / EL блок
Таблица. Механические характеристики
Параметр Спецификация Ед. изм.
Размер модуля (Ш х В х Г) 80.0 x 36.0 x 15.0(10) Max. мм
SH 1 включить полный сдвиг 0 выключить полный сдвиг
S/C 1 Сдвиг дисплея 0 Установка курсора
R/L 1 сдвиг вправо 0 сдвиг влево
DL 1 Биты 0 Биты
N 1 Линии 0 Линии
F 1 5 х 11 Точек 0 5 х 8 точек
BF 1 Действующий внутренне 0 Может принимать инструкции
DD RAM Отображение данных оперативной памяти CG RAM: Генератор символов RAM
ACG: CG RAM Адрес ADD: CG RAM Адрес: Соответствует адресу курсора AC: Используется счетчик адреса для DD и CG RAM адреса ?: никакого эффекта.
Таблица. Символы шрифта
Рис
4. Расчет потребляемой устройством мощности
Таблица
Микросхема Ток потребления, МА Потребляемая мощность, МВТ Количество
ATMEGA64 1
К555ИД7 9,7 51 1
КР1601РР1 370 1
КР565РУ1А 450 1
JE-AN16202 1.4 500 1
КР580ИР82 160 800 2
КР580ВА86 90 450 1
К155ЛЕ1 27 64,8 2
К500ЛЕ106Е 21 34,23 1
Для определения мощности, потребляемой устройством, необходимо просуммировать мощности, потребляемые каждым элементом в отдельности: .
Максимальная мощность (клавиши нажаты), рассеиваемая на резисторах R1-R3, сопротивлением КОМ: МВТ.
Значит мощность, потребляемая устройством: МВТ.
В качестве источника питающего напряжения можно применить любые маломощные трансформаторы на напряжения 220 / 3.3 V с использованием микросхемы-стабилизатора напряжения Б5-43, обеспечивающую максимальный ток на выходе до 1,99 А и позволяющей подключить нагрузку потребляющую до 150 Вт, что покрывает необходимые потребности.
Таблица. Спецификация
Поз. обозначение Наименование
DD1 ATMEGA64 1
DD5 К555ИД7 1
DD6 КР1601РР1 1
DD7 КР565РУ1А 1
DD8 JE-AN16202 1
DD2,DD3 КР580ИР82 2
DD4 КР580ВА86 1
Элементы 2ИЛИ-НЕ К155ЛЕ1 2
Элементы ИЛИ-НЕ К500ЛЕ106Е 1
R1-R3 С2-23-0,25-1 КОМ ± 5 % А-В-В 3
5. Текст подпрограмм
Текст подпрограмм
В независимости от функционального назначения устройства алгоритм его работы содержит последовательность типовых операций: инициализация системы, чтение/запись памяти, чтение клавиатуры и портов ввода, вывод информации на индикаторы и порты вывода и др.
Рассмотрим примеры инициализации и работы с устройствами ввода-вывода разработанного устройства.
;ATMEGA64
.include "m64def.inc"
.def out_fig_code = r21 ;код выводимого символа для индикатора
.def out_seg = r22 ;номер текущего сегмента
.def d1 = r4
.def d2 = r5
.def d3 = r6 def d1 = r7
.def d2 = r8
.def d3 = r9 def d1 = r10
.def d2 = r11
.def d3 = r12 def d1 = r13
.def d2 = r14
.def d3 = r15 def d1 = r16
.def d2 = r17 def d1 = r18
.def d2 = r19
.equ out_seg16 = 7
.dseg
.org 0x100
.cseg
.org 0 rjmp reset
;-------------
; начало программы reset: clr out_fig_code clr out_seg ldi r20, out_seg16