Содержание
Введение
1. Структурная схема системы
1.1 Анализ технического задания
1.2 Структурная схема устройства
1.3 Описание микроконтроллера ATmega161
2. Разработка и описание схемы
2.1 Процессорный блок
2.2 Расчет ОЗУ
2.3 Описание адаптера параллельного интерфейса
2.4 Программирование адаптера параллельного интерфейса
Вывод
Список использованной литературы
Приложение А
Введение
В настоящее время происходит очень быстрое развитие компьютерных технологий. Большинство цифровых систем строится на микропроцессорах или на микроконтроллерах. Управление различными технологическими процессами происходит при помощи микропроцессорных систем или при помощи технологических операций. Данные системы практически универсальны, так как они имеют очень высокое быстродействие и достаточную разрядность для обработки информации на производстве.
Микропроцессор представляет собой функционально законченное устройство, состоящее из одной или нескольких программно-управляемых БИС и служит для выполнения операций по обработке информации и управления вычислительным процессом. Центральное место в структуре микропроцессорного устройства занимает микропроцессор, который выполняет арифметические и логические операции над данными, программное управление процессором обработки информации, а также организует взаимодействие всех устройств, входящих в систему.
Для реализации устройств обработки информации (УОИ) используют аппаратные, программные, программные и аппаратно-программные средства. При аппаратных получают устройство обработки информации с "жесткой" логикой, что обеспечивает наибольшее быстродействие, но требует большие аппаратные затраты. При программных УОИ реализуется в виде программы для типовой универсальной микро-ЭВМ, предназначенной для встраивания непосредственно в разрабатываемые блоки. При аппаратно-программных предполагается разработка как программных, так и аппаратных средств на базе микропроцессоров (МП).
В данной расчетно-графической работе будет рассмотрен микроконтроллер ATmega161. Для этого необходимо знать архитектуру БИС и микропроцессорного комплекта, представлять взаимодействие БИС в системе и овладеть программированием, прежде всего на языке ассемблера.
1. СТРУКТУРНАЯ СХЕМА СИСТЕМЫ
1.1 Анализ технического задания
Необходимо разработать микропроцессорную систему обработки данных на базе микроконтроллера ATmega161. Система кроме процессорного блока включает блок памяти, информационная емкость ОЗУ которого составляет 1К´16 бит.
Блок периферийных устройств представлен регистрами защелками и дешифратором.
Регистр-защёлка D2 служит для выделения младшего байта адреса по сигналу ALE.
Селектор адреса СА служит для адресации адаптера параллельного интерфейса i8255.
1.2 Структурная схема устройства
Система состоит из микроконтроллера ATmega162, порты которого используются для вывода адреса ОЗУ, подключен адаптер параллельного интерфейса i8255. Взаимодействие микроконтроллера с внешней памятью и периферийными устройствами осуществляется по шине адреса. Данные передаются и принимаются микроконтроллером по шине данных. Управляющие сигналы передаются по шине управления.
ОЗУ подключены своими адресными входами к шине адреса и передают и принимают данные по шине данных. Адрес формируется на контактах портов РА – 8 младших разрядов и РС – старшие разряды. Обмен данными с ОЗУ микроконтроллер осуществляет через порт РА. Поэтому младшие разряды адреса на время обмена сохраняются на время обмена в регистре-защелке. Структурная схема устройства приведена ниже на рис.1.
Рис.1 Структурная схема системы
1.3 Описание микроконтроллера ATmega162
Схема цоколевки микроконтроллера ATmega162 приведена на рис.2
Рис. 2 Условное графическое обозначение микроконтроллера ATmega162
ATmega162/162V – микропотребляющий 8-разрядный КМОП-микроконтроллер, построенный с использованием расширенной RISC – архитектуры AVR. Эта микросхема является прямой заменой микросхемы ATmega161, обладая при этом расширенными характеристиками. Выполняя команду за один период тактовой частоты, ATmega162 имеет производительность около 16 миллионов операций в секунду, что позволяет разработчикам создавать оптимальные по скорости и потребляемой мощности системы. Структурная схема микроконтроллера ATmega162 приведена в приложении А.
Наименование выводов ATmega162:
RESET – вход системного сброса.
XTAL1, XTAL2 – выводы для подключения кварцевого резонатора.
РА0 ÷ РА7 – 8-разрядный двунаправленный порт А ввода/вывода с третьим состоянием, при роботе с внешней памятью является совмещенной шиной адресе данных (адрес необходимо по сигналу ALE занести в регистр).
PB0 ÷ PB7 – 8-разрядный двунаправленный порт В ввода/вывода с третьим состоянием, который имеет альтернативные функции:
OC0/ТО(РВО) – вход внешнего сигнала таймера/счетчика ТО либо выход таймера/счетчика ТО в режимах Compare, PWM.
OC2/Т1(РВ1) – вход внешнего сигнала таймера/счетчика Т1.
AIN0(PB2) – положительный вход компаратора.
AIN1(PB3) – отрицательный вход компаратора.
SS(PB4) – выбор подчиненного устройства (slave) на шине SPI (последовательный интерфейс).
MOS1(PB5) – выход главного (master) или вход подчиненного (slave) устройства данных модуля SPI.
MІS0(PB6) – вход главного (master) или выход подчиненного (slave) устройства данных модуля SPI.
SCK(РВ7) – выход главного (master) или вход подчиненного (slave) устройства тактового сигнала модуля SPI.
PC0 ÷ PC7 – 8-разрядный двунаправленный порт С ввода/вывода с третьим состоянием, имеет альтернативную функцию – передает старший байт адреса (А8÷А15) при работе с внешней памятью.
PD0÷PD7 – 8-разрядный двунаправленный порт D ввода/вывода с третьим состоянием, имеет альтернативные функции:
RxD0(PD0) – вход приемника универсального асинхронного последовательного порта (USART).
TxD0(PD1) – выход передатчика универсального асинхронного последовательного порта (USART).
INT0(PD2) – вход внешнего прерывания.
INT1(PD3) – вход внешнего прерывания.
XCK0(PD4) – вход/выход внешнего сигнала синхронизации (тактового сигнала USART).
OC1A(PD5) – выход А таймера/счетчика Т1 в режиме сравнения (Compare) и в режиме шин сигнала (PWM).
WR(PD6) – строб записи во внешнее ОЗУ.
RD(PD7) – строб чтения из внешнего ОЗУ.
РЕ0÷РЕ2 – 3-разрядный двунаправленный порт Е ввода/вывода с третьим состоянием, имеет альтернативные функции:
РЕ0(INT2) – вход внешнего прерывания 2.
ICP1 – вход захвата таймера/счетчика Т1 (режим Compare).
РЕ1(ALE) – строб адреса внешнего ОЗУ, записывается адрес в регистр-защелку.
PE2(OC1B) – выход В таймера/счетчика Т1 в режиме Compare и PWM.
GND – общий вывод.
Vcc – вывод источника питания.
Основные технические характеристики:
· Тактовая частота 0…16 МГц (0…8 МГц для версии V)
· Встроенный RC-генератор 1/2/4/8 МГц с возможностью калибровки
· 4 внешних источника тактирования
· 131 команда (большинство команд выполняется за 62,5 наносекунды)
· Аппаратный умножитель (время выполнения команды умножения 8х8 – 125 наносекунд)
· 16 Кбайт загружаемой в системе Flash-памяти (не менее 10000 циклов перезаписи)
· 512 байт ЭСПЗУ (не менее 100000 циклов перезаписи)
· 1 Кб ОЗУ
· 32 рабочих регистра
· 35 программируемых линий ввода/вывода
· SPI-интерфейс для внутрисхемного программирования
· Два 8-битных таймера/счетчика с раздельными делителями и режимами сравнения
· Два 16-битных таймера/счетчика с режимами сравнения и захвата
· Таймер часов реального времени с отдельным внешним тактовым генератором
· Шесть каналов ШИМ
· Программируемый сторожевой таймер со встроенным генератором
· Два полнодуплексных последовательных порта UART/USART с двойной буферизацией
· Интерфейс SPI с режимом Master/Slave
· Встроенная схема сброса при подаче напряжения питания и схема слежения за питанием
· Аналоговый компаратор
· JTAG-порт для подключения внутрисхемного эмулятора ATJTAGICE
· Типовой потребляемый ток в активном режиме:
- 1 МГц, 1,8 В – 600 мкА
- 1 МГц, 3,3 В – 1,2 мА
- 32 кГц, 1,8 В – 90 мкА
- 32 кГц, 3,3 В – 120 мкА
· Пять программируемых режимов пониженного энергопотребления
- потребляемый ток в режиме Power-down – 0,5 мкА (при 1,8 В)
· Диапазон напряжения питания:
- от 1,8 до 5,5 В (для ATmega162V)
- от 2,7 до 5,5 В (для ATmega162)
· Высоконадежная защита от несанкционированного копирования содержимого ПЗУ
· 40-выводной корпус DIP и 44-выводной корпус TQFP/MLF
2. РАЗРАБОТКА И ОПИСАНИЕ СХЕМЫ
2.1 Процессорный блок
Процессорный блок состоит из микроконтроллера ATmega162, регистра защелки младшей части адреса RG. Адрес формируется на выходе портов РА – младшая часть adr(0..7) на внутренней шине AdrDat, которая попадает на системную шину адреса после регистра защелки Adr, и РС – старшая часть, которая непосредственно подается на системную Adr - разряды adr(8..15). Обмен данными с памятью и внешними устройствами, осуществляется как по внутренней шине Dat, которая совмещена с шиной младшей части адреса и подключена к порту РА dat(0..7)=adr(0..7), так и по порту РС.
Сигнал ALE является сигналом защелкивания младшей части адреса в регистр RG.
РD2, РD3 – линии приема запроса на прерывание по вводу данных от внешнего устройства, РD6 и РD7 – линии сигналов записи и чтения.
2.2 Расчет ОЗУ
Исходные данные:
Количество ячеек внешнего ОЗУ NОЗУ – 21 Кбайт
Количество входов параллельного интерфейса:
режим 0 – 10
режим 1 – 8
Входные токи:
при логическом 0, IIL – 3,2 мА
при логической 1, IIH – 2 мА
Входная емкость логических схем нагрузки, СI – 5 пФ
Монтажные емкости всех цепей (См = 20 пФ).
Согласно заданию количество ячеек памяти ОЗУ составляет NОЗУ.
Разрядность ОЗУ nОЗУ должна соответствовать разрядности обработки данных ЦП.