Разработка микропроцессорной системы - Курсовая работа

бесплатно 0
4.5 70
Аппаратные принципы построения устройств микропроцессорной техники и приобретение практических навыков по разработке микропроцессорных систем. Техническая характеристика микропроцессора ATmega и анализ микросхемы памяти. Схема микропроцессорной системы.


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

Введение
Целью данного курсового проекта является углубление знаний по аппаратным принципам построения устройств микропроцессорной техники и приобретение практических навыков по разработке микропроцессорных систем и их программного обеспечения.

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

Задание на курсовой проект

Исходные данные: спроектировать микропроцессорное устройство, содержащее: МП ATMEGA64.

Дополнительные требования: клавиатура, индикация - индикатора 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А Назначение выводов

1 - напряжение питания (-Uп3);

2, 3, 4, 8, 9, 10, 13, 14, 15, 19, 20, 21 - входы адресные А0...А11;

5 - вход сигнала выбора микросхемы;

6 - вход информационный;

7 - выход информационный;

11 - напряжение питания (Uп2);

12- вход сигнала выбор режима;

16 - свободный;

17 - вход сигнала разрешения;

18 - напряжение питания (Uп1);

22 - общий.

ИС имеет три источника питания, первым подключают и последним отключают источник питания 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. мм

Видимая область (Ш х H/) 64.5 x 13.8 мм

Размер шрифта (Ш х В) 5.0 x 7.0 точка

Размер символа (Ш х В) 2.95 x 3.8 мм

Размер шага (Ш х В) 3.65 x 5.05 мм

Размер точки (Ш х В) 0.55 x 0.5 мм

Вес Около 100 г г

Таблица. Назначение контактов

Номер контакта Символ Уровень Функция

1 VSS (GND) 0 V Земля

2 VDD (VCC) 5V Напряжение питания логики

3 V0 - Напряжения питания ЖК

4 RS H / L H: Ввод данных L: Ввод инструкций

5 R / W H / L H: Чтения данных L: Запись данных

6 E H, H a L Сигнал разрешения

7 DB0 H / L Шина данных

8 DB1 H / L

9 DB2 H / L

10 DB3 H / L

11 DB4 H / L

12 DB5 H / L

13 DB6 H / L

14 DB7 H / L

15 NC -

16 NC -

Блок схема

Рис

Схема подключения питания

Рис. VDD - VO : Напряжение питания LCD

Таблица. Наборы инструкций

Инструкция Код Описание Время запуска (макс.)

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

Очистка дисплея 0 0 0 0 0 0 0 0 0 1 1.52 мс

Сброс 0 0 0 0 0 0 0 0 1 * Возвращает дисплей при переключении 1.52 мс

Режим записи 0 0 0 0 0 0 0 1 I/D SH 37 мкс

Управление дисплеем Вкл / Выкл 0 0 0 0 0 0 1 D C B 37 мкс

Отображение курсора или дисплея 0 0 0 0 0 1 S/C R/L * * 37 мкс

Начало работы 0 0 0 0 1 DL N F * * 37 мкс

Установить CG Ram адрес 0 0 0 1 ACG 37 мкс

Установить DD RAM адрес 0 0 1 ADD 37 мкс

Чтение флага «занят» и адреса 0 1 BF 0 мкс

Запись данных в CG или DD RAM 1 0 AC 43 мкс

Чтение данных из CG или DD RAM 1 1 чтение 43 мкс

Таблица

Замечания

I/D 1 увеличение 0 уменьшение

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

; программирование портов F и С на вывод ldi r20, 7 out ddrc, r20 ldi r20, $ff sts ddrf, r20 start: ldi out_seg, 1 ; на сегмент 1 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода ldi out_seg, 2 ; на сегмент 2 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода ldi out_seg, 3 ; на сегмент 3 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода rcall delay05 ldi out_seg, 4 ; на сегмент 4 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода ldi out_seg, 5 ; на сегмент 5 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода ldi out_seg, 6 ; на сегмент 6 ldi out_fig_code, LLHLHLHL ; вывод * rcall out_pp ; вызов подпрограммы вывода rcall delay05 ldi out_seg, 7 ; на сегмент7 ldi out_fig_code, LHLLHLLL ; вывод H rcall out_pp ; вызов подпрограммы вывода ldi out_seg, 8 ; на сегмент 8 ldi out_fig_code, LHLLLHLH ; вывод E rcall out_pp ; вызов подпрограммы вывода ldi out_seg, 9 ; на сегмент 9 ldi out_fig_code, LHLLHHLL ; вывод L rcall out_pp ; вызов подпрограммы вывода rcall delay05 ldi out_seg, A ; на сегмент 10 ldi out_fig_code, LHLLHHLL ; вывод L rcall out_pp ; вызов подпрограммы вывода ldi out_seg, B ; на сегмент 11 ldi out_fig_code, LHLLHHHH ; вывод O rcall out_pp ; вызов подпрограммы вывода ldi out_seg, C ; на сегмент 12 ldi out_fig_code, LLHLHLHL ; вывод * rcall out_pp ; вызов подпрограммы вывода rcall delay05 ldi out_seg, D ; на сегмент 13 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода ldi out_seg, E ; на сегмент 14 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода ldi out_seg, F ; на сегмент 15 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода rcall delay05 ldi out_seg, 10 ; на сегмент 16 ldi out_fig_code, LLHLHHHL ; вывод . rcall out_pp ; вызов подпрограммы вывода

;-------------

; подпрограмма вывода на индикатор out_pp: out PORTC, r20 sts PORTF, out_fig_code out PORTC, out_seg ret

Рис.

Размещено на
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?