Содержание
Введение
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).--PAGE_BREAK--
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ОЗУ должна соответствовать разрядности обработки данных ЦП.
Информационная емкость СОЗУ определяется по формуле:
/>
Необходимое быстродействие ОЗУ определяется по временным диаграммам ЦП. Для МК ATmega162 время цикла записи (чтения) tС равно 3ТМТ, где ТМТ — длительность машинного такта.
При частоте кварцевого резонатора fтг = (8-16) МГц время Тмт = 345нс.
Время цикла микросхемы памяти tcy должно удовлетворять неравенству:
/>
В качестве микросхемы ОЗУ выберем К537РУ17, поскольку она будет (прогнозируемо) наименее избыточна для данного случая. Для данной микросхемы памяти/>. продолжение
--PAGE_BREAK--
Рассчитаем число БИС ОЗУ в ряду матрицы:
/>
где nБИС — разрядность выбранной микросхемы памяти. Квадратные скобки здесь и в дальнейшем показывают, что результат необходимо округлить до большего значения.
Определим число разрядов матрицы:
/>
где NБИС — количество ячеек памяти выбранной микросхемы памяти.
Общее число БИС ОЗУ равно
/>
Таким образом, число корпусов ОЗУ = 3.
Определяем токовую IDL и IDH и емкостную СD нагрузки для схем ввода информации в ОЗУ по формулам:
IDL = mc* IIDL = 3 * 3,2 = 9,6 мА
IDH = mc* IIDH = 3 * 2 = 6 мА
CD = mc* CID + Cm = 3 * 5 + 20 = 35 пФ
где IIDL, IIDH — входные токи логического 0 и логической 1 по информационным цепям выбранной БИС ОЗУ. CID — входная емкость по информационному входу БИС ОЗУ.
Определяем токи нагрузки и емкостную нагрузку для схем ввода адреса по адресным цепям БИС ОЗУ по формулам:
IAL= m *IIAL= 3 * 3,2 = 9,6 мА
IAH= m *IIAH= 3 * 2 = 6 мА
CA= m *CIA+ Cm= 3 * 5 + 20 = 35 пФ
где IIАL, IIAH — входные токи логического 0 и логической 1 по адресным цепям выбранной БИС ОЗУ. CIА — входная емкость по адресному входу БИС ОЗУ.
Определяем токи нагрузки ICSL и ICSH и величину емкостной нагрузки СCS по цепям выбора микросхем (CS) по формулам:
ICSL = mp* IICSL = 1 * 3,2 = 3,2 мА
ICSH = mp* IICSH = 1 * 2 = 2 мА
CCS = mp* CICS + Cm = 1 * 5 + 20 = 25 пФ
где IICSL, IICSH— входные токи логического 0 и логической 1 по цепям выбора (CS) БИС ОЗУ. CСS— входная емкость по цепям выбора (CS) БИС ОЗУ.
/>
Рис. 3 Условное графическое обозначение ОЗУ К537РУ17
Наименование выводов:
A0 ÷A12 – адресные входы.
W/R– запись/чтение.
CS1, CS2 – chip select, чипвыбора.
CEO– разрешающий выход.
D0 ÷D7 – шина данных ввода/вывода.
ОЗУ представляет собой статическое асинхронное оперативное запоминающее устройство.
Режимы работы:
W/R
CS1
CS2
OE
A0..12
D0..7
Режим
Х
Н
X
X
Адрес
Данные
Хранение
Х
Х
L
Х
Хранение
Н
L
Н
H
Запрет выхода
Н
L
H
L
Чтение
L
L
Н
Н
Запись
L
L
Н продолжение
--PAGE_BREAK----PAGE_BREAK--
1
1
1
ICW1=10110011=В3h
D7D0
1
1
1
1
1
В первом случае:
— в режиме 0 задействовано всего 10 входов – 8 входов порта А и 2 входа порта С, которые работают на ввод;
— в режиме 1 задействовано всего 8 входов – 8 входов порта В, которые работают на ввод.
Во втором случае:
— в режиме 0 задействовано всего 10 входов – 8 входов порта В и 2 входа порта С, которые работают на ввод;
— в режиме 1 задействовано всего 8 входов – 8 входов порта А, которые работают на ввод.
Напишем программу для инициализации АПИ в первом случае:
AddrPPI equ 6000h
ICW1equ 9Еh
movA,#ICW1
movx@dptr,A
Выводы
В ходе выполнения работы была разработана система обработки данных с заданными параметрами ОЗУ и адаптера параллельного интерфейса. Были изучены основные способы разработки устройств обработки информации, базовые методы расчета количества микросхем ОЗУ для обеспечения необходимого количества ячеек памяти микроконтроллеру, способы планирования и синтеза схем на основе микроконтроллеров.
Список использованной литературы
1. Микропроцессорный комплект К1810: Структура, программирование, применение / Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, В.Ф. Филиппов; Под ред. Ю.М. Казаринова. – М.: Высш. шк., 1990. – 269с
3. Проектирование микропроцессорной электронно-вычислительной аппаратуры: Справочник / В.Г. Артюхов, А.А. Будняк, В.Ю. Лапий и др. – К.: Техника, 1998. – 263 с
4. Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. – М.: Энергоатомиздат, 1990. – 224 с
5. Боборыкин А.В. и др. Однокристальные микро-ЭВМ. М.: МИКАП, 1994, — 400 с.: ил.
6. Лебедев О.Н. Применение микросхем памяти в электронных устройствах: Справ. пособие. — М.: Радио и связь, 1994. — 216 с.
7. Евстифеев А.В. Микроконтроллеры AVR семейство Classic фирмы «ATMEL» — 2-е изд., стер. — М.: Издательский дом «Додека XXI», 2004. — 288 с.: ил.
8. Евстифеев А.В. Микроконтроллеры Tiny и Mega фирмы «ATMEL» — М.: Издательский дом «Додека XXI», 2004. — 560 с.
ПРИЛОЖЕНИЕ А
Структурная схема микроконтроллера ATmega162
/>