Разработка программируемого генератора сигнала

Автор работы: Пользователь скрыл имя, 26 Января 2013 в 01:30, курсовая работа

Описание работы

В результате выполнения курсовой работы, с применением компьютерных технологий, а именно, программы Keil μVision2, был разработан программируемый генератор на базе однокристальной микроконтроллера 87C52 с тактовой частотой 24 МГц. Спроектированы электрическая, структурная, принципиальная и функциональная схемы генератора сигнала в соответствии с техническим заданием. Получен шестнадцатеричный код для программирования микросхемы памяти.

Содержание работы

Анализ задания…………………………………………………………..…5
Формирование кодовой таблицы аналогового сигнала…………....…….5
Общая характеристика микроконтроллера………………………….…....8
Размещение кодовой таблицы в памяти……………………………..….22
Порт вывода аналогового сигнала..…………………………...…………23
Режим и порядок работы генератора сигнала……………………..…...23
Разработка структурной схемы генератора сигнала..…………….…….25
Разработка функциональной схемы генератора сигнала...……………..28
Разработка принципиальной схемы генератора………………………...30
Разработка алгоритма работы и управляющей программы микроконтроллера……..……………………………………………………..….31
Анализ результатов проектирования…………………….………………...…...33
Список литературы………………………………………………………………40

Файлы: 1 файл

Kursach (3).doc

— 5.79 Мб (Скачать файл)

При включении питания или получении внешнего управляющего сигнала «RESET» микроконтроллер устанавливается в начальное состояние и начинает выполнение управляющей программы.

Для сброса при  включении питания целесообразно  использовать типовую схему «сброса-начального пуска», предлагаемую фирмой-изготовителем  микроконтроллера.

Для формирования сигнала «RESET» в произвольный момент времени рекомендуется использовать кнопку, подключенную к входу RST микроконтроллера.

После установки  в исходное состояние генератор  автоматически переводится в  режим «Ожидание». Индикация режима производится двумя красными светодиодами, подключенными к линиям P1.4, P1.3 микроконтроллера.

Формирование аналогового сигнала начинается по сигналу «START» с логическим уровнем 0, подаваемым на линию Р1.5 микроконтроллера. Индикация режима «Пуск» производится зеленым светодиодом, подключённым к линии P1.1 микроконтроллера.

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

Формирование выходного сигнала производится циклически до тех пор пока на линию Р1.5 не будет подан уровень логической 1. В этом случае генератор снова переводится в режим «Ожидание». Формирование сигнала прекращается и может быть повторно возобновлено с момента остановки при подаче сигнала «START».

 

 

 

 

2 РАЗРАБОТКА  СТРУКТУРНОЙ СХЕМЫ ГЕНЕРАТОРА

 

Структурная схема  программируемого генератора сигнала  приведена на рисунке 4.

 

МК – микроконтроллер 87C52

РА – регистр  адреса внешней памяти

ВПП – внешняя  память программ

ПВ – порт вывода аналогового сигнала

ДА – дешифратор адреса порта вывода аналогового сигнала

УИ – устройство индикации режимов работы генератора

Рисунок 4 - Структурная схема программируемого генератора сигнала

 

Устройство  разрабатывается на основе микроконтроллера 87C52.

При включении  питания или получении внешнего управляющего сигнала “RESET” микроконтроллер устанавливается в начальное состояние. Начинается выполнение управляющей программы и генератор переходит в режим «ОЖИДАНИЕ».

 По внешнему  сигналу «START» с логическим уровнем 0 генератор переходит в режим «Пуск», на выходах порта вывода аналогового сигнала начинается формирование сигнала   Uвых.

Отображение режимов  работы генератора производится устройством индикации, получающим от микроконтроллера управляющие сигналы “WAIT” и “WORK”.

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

В процессе работы микроконтроллер формирует следующие управляющие сигналы (символ ^ используется для указания инверсии):

ALE (Address Latch  Enable) – сигнал стробирования адреса внешней памяти,

WR^ (Write) –разрешение  записи во внешнюю память данных,

PSEN^ (Program Store Enable) – разрешение  чтения внешней памяти программ,

Шина адреса А(0-15) используется для адресации  внешней памяти и порта вывода аналогового сигнала.

 Шина адреса/данных  A/D(0-7) – используется при чтении внешней памяти и записи кодовых комбинаций в порт вывода аналогового сигнала.

Особенностью архитектуры микроконтроллера является использование мультиплексированной шины адреса/данных. Для её демультиплексирования предназначен регистр адреса внешней памяти.

В первой части  машинного цикла на линии A/D(0-7) порта Р0 микроконтролер выставляет младший байт адреса внешней памяти. Старший байт адреса внешней памяти выдается на линии А(8-15) порта Р2. По сигналу ALE младший байт адреса внешней памяти записывается в регистр, и хранится в течение всего машинного цикла. Сигналы A(0-7) с выхода регистра адреса и сигналы А(8-15) образуют общую шину адреса генератора А(0-15) .

Во второй части  машинного цикла микроконтроллер  производит чтение внешней памяти или  запись в порт вывода аналогового сигнала, что сопровождается соответствующими управляющими сигналами.

Дешифратор  адреса порта вывода аналогового сигнала (ДА) осуществляет считывание адресного пространства генератора и выделение адреса порта вывода, соответствующего диапазону A400h-A4FFh.

Кроме того, ДА производит передачу управляющего сигнала WR^ от микроконтроллера в порт. Запись кодовых комбинаций, соответствующих отсчетам выходного сигнала, производится по сигналу WR^, при наличии любого адреса из указанного.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 разработкА функциональной схемы  генератора 

 

Схема электрическая  функциональная программируемого генератора сигнала приведена на чертеже ОМТ 12.  .01 Э2.

Программируемый генератор сигнала разрабатывается  на основе микроконтроллера 87C52 (элемент DD1 функциональной схемы). Для индикации и управления режимами работы устройства используются внешние управляющие сигналы.

Перевод генератора в исходное состояние производится сигналом «RESET», поступающим на вход RST микроконтроллера.

Для индикации  режима «Ожидание» микроконтроллер  формирует на линиях P1.4, P1.3 сигнал «WAIT».

По сигналу «START» с логическим уровнем 0, подаваемому на линию P1.5 микроконтроллера, начинается выдача аналогового сигнала Uвых. Для индикации режима «Пуск» микроконтроллер формирует на линии P1.1 сигнал «WORK».

Восьмиразрядный параллельный регистр (элемент DD2) используется для демультиплексирования шины адреса/данных. Входы D0-D7 регистра подключены к выводам параллельного порта Р0. Запись в регистр младшего байта адреса внешней памяти AD0-ad7 производится по срезу сигнала ALE. Выходные линии А0-А7 регистра совместно с линиями А8-А15 параллельного порта Р2 образуют общую шестнадцатиразрядную шину адреса А0-А15.

В качестве внешней  памяти используется параллельное ПЗУ  объемом 16 Кбайт (элемент DD3). Для разрешения обращения к внешней памяти программ на вывод EA^ микроконтроллера подается напряжение логического нуля.

Адреса с 3000h по 301Fh используются как внешняя память программ и предназначены для хранения кодовой таблицы сигнала. Чтение таблицы сопровождается сигналом PSEN^, который поступает на стробирующий вход OE^ элемента DD3.

Дешифрация  адреса порта вывода аналогового  сигнала производится при помощи устройства сравнения (элемент DD4). Поскольку любой адрес от A400h до A4FFh является истинным, используется принцип частичной дешифрации по семи старшим разрядам.

Дешифратор  производит сравнение сигналов на входах А и В по условию равенства. Восемь старших разрядов А8-А15 шины адреса подаются на входы А0-А7. На входах В0-В7 фиксируется число 10100100b. При совпадении сигналов на входах А и В и наличии на входе дешифратора сигнала WR^, схема сравнения формирует сигнал, разрешающий запись в порт вывода аналогового сигнала.

Порт вывода аналогового сигнала реализован на основе восьмиразрядного параллельного  цифро-аналогового преобразователя (элемент DA1). Запись кодовых комбинаций, соответствующих отсчетам выходного сигнала, производится по сигналу WR^.

Выходное напряжение Uвых формируется в зависимости от значения сигналов D0-D7 на входах цифро-аналогового преобразователя и величины опорного напряжения Uref.

 

 

 

 

 

 

 

 

 

 

 

4 РАЗРАБОТКА  ПРИНЦИПИАЛЬНОЙ СХЕМЫ ГЕНЕРАТОРА

 

Схема электрическая  принципиальная генератора сигнала изображена на чертеже ОМТ 12.  .02 Э3.

Элемент DD1 на принципиальной схеме – микроконтроллер 87C52. Тактовая частота обеспечивается кварцевым резонатором ZQ1 с частотой 24МГц, подключённым к выводам XTAL1, XTAL2. В соответствии с типовой схемой включения в цепь резонатора подключается два конденсатора С2 и С3. Типовая схема начального пуска реализована на конденсаторе С1 и кнопке без фикасации SB1. При включении напряжения питания на входе RST микроконтроллера формируется уровень логической единицы, в течение времени достаточного для сброса микроконтроллера.

Для формирования сигнала START используются резисторы R2 и кнопка с фиксацией SВ2. При нажатии кнопки SВ2 на входе порта P1.5  микроконтроллера устанавливается уровень логического нуля.

Индикация режима «ОЖИДАНИЕ» обеспечивается двумя светодиодами GNL-3014SRD красного цвета (элементы VD1, VD2). Индикация режима «Пуск» производится зеленым светодиодом GNL-3014GC (элемент VD3). Для согласования электрических параметров по току используется микросхема КР1533ЛП16 (элемент DD5). Для обеспечения рабочего режима светодиодов необходимо использовать резисторы (R3-R5). Рассчитаем сопротивление резисторов:

,

где - напряжение питания     

=0,4В-максимальное напряжение логического нуля на выходе микросхемы DD5  

-рабочее напряжение диода:   красного цвета =2,2 В,

                                      зеленого цвета =2,2 В,

-рабочий ток диодов: ID=25мА

,

Ом.

Выберем из ряда Е24 сопротивление: R3-5= 150 Ом.

Произведем  расчет мощности:

,

Вт

Выберем сопротивления из справочника: R3-5:  С1-4-150 Ом-0,125 Вт±5%

В качестве регистра адреса внешней памяти используется восьмиразрядный параллельный регистр  с трехстабильными выходами  KP1533ИР22 (элемент DD3). По срезу сигнала ALE подаваемого на стробирующий вход регистра производится запись младшего байта адреса внешней памяти.

Внешняя память генератора реализована микросхемой  ПЗУ AT27C128 (элемент DD4) объёмом 16 Кбайт. На вход подаётся сигнал .

Функции дешифратора адреса порта вывода аналогового сигнала, выполняет восьмиразрядный цифровой компаратор 74ACT520 (элемент DD2). Особенностью микросхемы является наличие встроенных подтягивающих резисторов, подключенных к входам B. При помощи разъема JP1 на входах B0-B7 фиксируется адрес порта вывода 10100100b, а на входы А подаются сигналы А8-А15 из шины адреса. При наличии сигнала и совпадении сигналов на входах А и В на выходе дешифратора формируется сигнал разрешения записи в порт EWR.

Функция порта  вывода аналогового сигнала реализована  восьмиразрядным параллельным цифро-аналоговым преобразователем AD5330 (DA1). Информационные входы ЦАП подключены к шине адреса/данных. ЦАП имеет дополнительные управляющие входы. Сигналы, поступающие на входы порта DA0-DA7, записываются под контролем управляющих сигналов LDAC^, WR^. Внешний вывод GAIN служит для увеличения диапазона выходного сигнала до 2Vref. Вход данных ЦАП имеет двойную буферизацию BUF, что позволяет, используя вывод LDAC^, осуществлять одновременное изменение выходного сигнала в системах из нескольких ЦАП. Вход CS^ позволяет активировать устройство, а положительный фронт на входе WR^ загружает данные во входной регистр. Предусмотрен так же асинхронный вход CLR^, который служит для сброса содержимого входного регистра и регистра ЦАП. На выводы BUF, CLR, PD, Vdd подается напряжение +5В. На выводы NC, LDAC, CS, GND, GAIN подается сигнал низкого уровня.

Для защиты от низкочастотных помех применяется  электролитический конденсатор  С4. Для защиты от  высокочастотных  помех в цепи питания применяются  высокочастотные керамические конденсаторы С5-С10. Разъём X1 предназначен для подачи напряжения питания +5В, а разъём X2 - для выдачи выходного аналогового сигнала.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ И УПРАВЛЯЮЩЕЙ ПРОГРАММЫ ГЕНЕРАТОРА

 

Согласно заданию  программируемый генератор формирует  аналоговый сигнал, соответствующий  заданию. Предусмотрено несколько режимов работы устройства, сопровождающихся соответствующей индикацией. Блок-схема алгоритма работы генератора приведена на рисунке 5.

 

 

Рисунок 5 - Блок-схема алгоритма работы генератора сигнала

Микроконтроллер выполняет управляющую программу, размещенную во внешней памяти программ. Так как область младших адресов памяти программ отведена под обработку прерываний, основная программа размещается по адресу 40h.

Блок-схема алгоритма  работы управляющей программы генератора приведен на рисунке 6.

Рисунок 6 - Блок-схема алгоритма работы управляющей программы генератора

При включении  питания производится инициализация  микроконтроллера: загрузка начальных  значений регистров-указателей и счетчиков, настройка системы прерываний и  таймеров. Генератор переводится в режим «Ожидание». Индикация режима производится двумя светодиодами, подключенными к линиям  Р1.4, P1.3.

В режиме «Ожидание» периодически производится опрос сигнала  «Start», подаваемого на линию Р1.5 микроконтроллера. Если на линию Р1.5 подается уровень логического нуля генератор переводится в режим «Пуск», включается таймер  Т0 и начинается формирование аналогового сигнала Uвых. Индикация режима производится светодиодом, подключенным к линии Р1.1.

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

Кодовые комбинации на входах порта вывода обновляются каждые 25 мкс. Для обеспечения заданной длительности сигнала используется таймер/счетчик Т0, работающий в режиме восьмиразрядного таймера с автоперезагрузкой.

Перед первым пуском в регистры таймера записывается число CEh, которое автоматически перезагружается в регистр TL0 при переполнении таймера. Для выбора режима работы таймера в регистре TMOD устанавливаются соответствующие значения битов C/T, М0 и М1. Для включения таймера в регистре TCON устанавливается бит TR0.

Информация о работе Разработка программируемого генератора сигнала