Харьковский национальный университет
радиоэлектроники
Кафедра радиоэлектронных устройств
Выполнил
студент гр. РТу-99-3
Крючков А.Н.
Руководитель Васецкий В.Л.
Харьков 2002
1 КРАТКИЙ ОБЗОР АНАЛОГИЧНЫХ УСТРОЙСТВ
Существует большое число вариантов построения генераторов, которые удовлетворяют различным требованиям и имеют те или иные достоинства и недостатки, что и определяет область их применения (простота схемы, удобство управления, экономическая эффективность и т.д.).
Схема генератора, изображённая на рисунке 1.1, обеспечивает при нажатии кнопки однократное формирование пачки до 15 импульсов (на схеме показаны только 10 кнопок). Для повторной генерации необходимо повторно нажать соответствующую кнопку. При этом происходит запись соответствующего двоичного числа в регистр предварительной установки счётчика DD2, и он начинает считать на вычитание до момента времени, пока на всех выводах не установится логический “0”. Логический “0” установится и на выходе DD1.4. Собственно генерация осуществляется элементами DD1.1 и DD1.2, синхронизацию осуществляет счетчик DD2 сигналом с вывода 15.
Рисунок 1.1 - Формирователь пачки импульсов
Номиналы элементов частотозадающей цепочки R2,C1 на схеме указаны для частоты генератора 10Гц (частота набора номера в телефонной линии). На схеме показан также пример дешифратора десятичных чисел в двоичный код на диодах типа Д9 (Д2), однако для уменьшения габаритов устройства вместо них целесообразно использовать две диодные матрицы типа КДС627А.
Для увеличения количества импульсов в пачке можно последовательно со счётчиком DD2 включить ещё такие же счётчики, а вместо диодов VD1…VD13 применить тумблеры для начальной установки необходимого числа импульсов (в двоичном коде). Для запуска работы формирователя необходимо подать положительный кратковременный импульс на входы DD2/1…DDn/1 - при этом происходит запись установленного кода.
Рисунок 1.2.а) Формирователь кодовой последовательности; б) форма импульсов
Иногда требуется иметь пачки импульсов, состоящие из произвольной комбинации положения импульсов относительно начального, - кодовую последовательность. Такой режим обеспечивает схема, рисунок 1.2.а. Если ни одна из кнопок не нажата, то на выходе (DD111) будут появляться одинарные импульсы, с периодом, определяемым частотой задающего генератора на элементах DD1.1, DD1.2.
В зависимости от того, какая кнопка нажата, на выходе появится пачка из комбинации импульсов. Причём каждой нажатой кнопке будет соответствовать определённое положение импульса относительно начального. Эпюры выходного напряжения, изображённые на рис.1.2.б, поясняют работу схемы.
Развитие микросхематехники дало возможность построения программно-управляемых генераторов пачек импульсов прямоугольной формы.
Примером такого устройства является генератор пачек прямоугольных импульсов, построенный на микроконтроллере, и управляемый через последовательный порт с компьютера. Максимальная частота импульсов в пачке, выдаваемая генератором немного больше 13 кГц, минимальная меньше 0,01 Гц (для частоты кварцевого генератора 4 МГц). Схема электрическая принципиальная данного устройства приведена на рисунке 1.3.
Схема достаточно простая. Она собрана на основе микроконтроллера PIC16C63A, сигнал снимается с двух его выводов, их состояние всегда разное. Без нагрузки уровень единицы отличается от напряжения питания меньше чем на 0,1 вольт, уровень нуля тоже очень низкий. Выводы рассчитаны на ток до 30 мА. Через разъём DB9 осуществляется подключение генератора к последовательному порту персонального компьютера. Микросхема МАХ232 используется для преобразования уровней интерфейса RS232 в уровни TTL, то есть управляющие сигналы, поступающие с порта компьютера, преобразует в понятные для микроконтроллера сигналы. Для установки параметров сигнала выдаваемого микроконтроллером необходимо использовать специальную программу, написанную для ОС Windows (в примере не приводится).
Рисунок 1.3 - Программно-управляемый генератора пачек прямоугольных импульсов
Другая схема программно-управляемого генератора пачек импульсов, приведённая на рисунке 1.4, собрана на основе микроконтроллера АТ90S2313, выпускаемого фирмой “ATMEL” (рисунок 1.4).
Генератор является многофункциональным устройством и имеет несколько режимов работы: генерация пачек импульсов, генерация меандра, положительного импульса, отрицательного импульса, режим удержания на выходе логического нуля или единицы. Управление генератором осуществляется с помощью 4-х кнопок. Его основой является микроконтроллер U1, для питания которого применён интегральный стабилизатор U2 со встроенным монитором питания. Через разъём XP2 к микроконтроллеру подключается ЖКИ - модуль для индикации режимов работы и значений временных интервалов, в состав которого входят 4 кнопки управления.
Рисунок 1.4 - Принципиальная схема основной части генератора
Посредством кнопок осуществляется перестройка количества импульсов, их длительность и т.д. Нажатие кнопок сопровождается звуковым сигналом, для этого используется динамический излучатель. Частота сигнала различна для разных кнопок. Звуковой сигнал также используется в некоторых специальных случаях: при включении питания и при возникновении ошибки. Микросхема U4, питающаяся от стабилизатора U5, служит для уменьшения высокочастотных помех в выходном сигнале.
Для получения необходимых электрических параметров выходного сигнала используется специальный выходной каскад (на схеме не показан).
2 ОБОСНОВАНИЕ ВЫБРАННОГО ВАРИАНТА ТЕХНИЧЕСКОГО РЕШЕНИЯ
Рассмотренный на рисунке 1.1 генератор имеет ряд недостатков. Интервал между пачками импульсов не фиксированный, т.е. определяется интервалом времени между нажатиями кнопок оператором, когда в ряде случаев необходимо иметь на выходе генератора сигнал с заданной частотой следования пачек импульсов. Для увеличения количества импульсов в пачке необходимо включать дополнительные счетчики, что влечёт усложнение схемы и увеличение габаритов устройства. Также данный генератор не обеспечивает изменения длительности импульса в пачке. Все эти недостатки ограничивают область применения такого генератора.
Генератор, показанный на рисунке 1.2, предназначен для формирования последовательности пачек прямоугольных импульсов (кодовых последова - тельностей). Частота следования пачек постоянна, однако такая схема не обеспечивает изменения длительности импульсов в пачке, а также перестройку частоты следования пачек, изменяется лишь количество импульсов в пачке, что не всегда удовлетворяет предъявляемым к устройству требованиям.
Недостатком генератора, показанного на рисунке 1.3, является то, что он управляется посредством компьютера и для установки параметров сигнала, выдаваемого микроконтроллером необходимо использовать специальную программу для операционной системы компьютера. Это сужает область применения генератора из-за необходимости ПК.
Изображённый на рисунке 1.4 генератор обладает хорошими показателями и имеет большое число функций. Это дает большое преимущество такому генератору перед подобными устройствами, однако вызывает усложнение схемы и соответственно увеличение стоимости устройства. Микроконтроллеры фирмы «ATMEL» имеют довольно не маленькую стоимость по сравнению с теми же микроконтроллерами фирмы «Microchip technology».
Можно построить генератор, который удовлетворяет заданным требованиям, управляется посредством клавиатуры без применения компьютера, имеет простую схему и невысокую стоимость, и при этом обладает достаточно хорошими параметрами. Такой генератор можно выполнить на основе микроконтроллера PIC16С84. Он имеет невысокую стоимость по сравнению с АТ90S2313, и при этом не уступает ему по быстродействию.
PIC16CXX - это 8-pазpядные микроконтроллеры с RISC архитектурой, производимые фиpмой Microchip Technology. Это семейство микроконтроллеров отличается низкой ценой, низким энергопотреблением и высокой скоростью. Микроконтроллеры имеют встроенное ЭППЗУ программы, ОЗУ данных и выпускаются в 18 и 28 выводных корпусах.
PIC16C84 относится к семейству КМОП микроконтроллеров. Отличается тем, что имеет внутреннее 1K x 14 бит EEPROM для программ, 8-битовые данные и 64байт EEPROM памяти данных. При этом отличаются низкой стоимостью и высокой производительностью. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГц), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16C84 имеет прерывание, срабатывающее от четырех источников, и восьмиуровневый аппаратный стек. Периферия включает в себя 8-битный таймер/счетчик с 8-битным программируемым предварительным делителем (фактически 16 - битный таймер) и 13 линий двунаправленного ввода/вывода. Высокая нагрузочная способность (25 мА - максимальный втекающий ток, 20 мА - максимальный вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшается общая стоимость системы. Разработки на базе контроллеров PIC16C84 поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором (только фирмы Microchip) и программатором.
Серия PIC16C84 подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.).
Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16C84 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.
Cледует добавить, что встроенный автомат программирования EEPROM кристалла PIC16C84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования.
Обзор характеристик:
- только 35 простых команд;
- все команды выполняются за один машинный цикл, кроме команд перехода -2 цикла;
- рабочая частота 0 Гц ... 10 МГц (min 400 нс цикл команды)
- 14 - битовые команды;
- 8 - битовые данные;
- 1024 х 14 электрически перепрограммируемой программной памяти на кристалле (EEPROM);
- 36 х 8 регистров общего использования;
- 15 специальных аппаратных регистров SFR;
- 64 x 8 электрически перепрограммируемой EEPROM памяти для данных;
- восьмиуровневый аппаратный стек;
- прямая, косвенная и относительная адресация данных и команд;
- четыре источника прерывания:
· внешний вход INT
· переполнение таймера RTCC
· прерывание при изменении сигналов на линиях порта B
· по завершению записи данных в память EEPROM
Структурная схема PIC16C84 приведена на рисунке 2.1
Высокая скорость выполнения команд в микроконтроллерах PIC достигается за счет использования двухшинной Гарвардской архитектуры вместо традиционной одношинной Фон-Неймановской. В Гарвардской архитектуре разделена память программ и память данных. Обращение к памяти по отдельным шинам адреса и данных, значительно повышает производительность процессора по сравнению с традиционной архитектурой. Набор регистров означает, что все программные объекты, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры.
Рисунок 2.1 - Структурная схема микроконтроллера PIC16C84
Микроконтроллеры семейства PIC имеют очень эффективную систему команд, состоящую всего из 35 инструкций. Все инструкции выполняются за один цикл, за исключением условных переходов и команд, изменяющих программный счетчик, которые выполняются за 2 цикла. Один цикл выполнения инструкции состоит из 4 периодов тактовой частоты. Таким образом, при частоте 4 МГц, время выполнения инструкции составляет 1 мксек. Каждая инструкция состоит из 14 бит, делящихся на код операции и операнд (возможна манипуляция с регистрами, ячейками памяти и непосредственными данными).
Генератор пачек прямоугольных импульсов на микроконтроллере позволяет получать пачки импульсов любой длительности с большой точностью, при этом частота следования пачек может иметь любые значения. Такой генератор позволяет получать частоты инфранизкого диапазона, что трудно обеспечить в любом другом генераторе. Программное управление даёт возможность перестройки частоты пачек и длительности импульсов в больших пределах, что не всегда возможно в обычных генераторах на RC -элементах или КМОП - микросхемах. Устройства, построенные на базе микроконтроллеров PIC16C84, характеризуются простотой схемы и дешевизной в изготовлении.
3 РАЗРАБОТКА АЛГОРИТМА РАБОТЫ УСТРОЙСТВА И СОСТАВЛЕНИЕ ПРОГРАММЫ
В основе работы генератора пачек прямоугольных импульсов лежит формирование временных задержек. Задержка логической единицы на выходе микроконтроллера соответствует положительному импульсу необходимой длительности, задержка логического нуля - паузе между импульсами. Пачка импульсов получается в результате формирования циклов, то есть однократное появление на выходе контроллера единицы-нуля является периодом импульсов, необходимое количество импульсов в пачке можно получить, формируя определённое число периодов. Пауза между пачками импульсов формируется по такому же принципу, что и пауза между импульсами, только большей длительности. Всё это легко выполняется посредством программируемого микроконтроллера PIC16C84. Блок-схема алгоритма работы устройства представлена в приложении A на формате A4 (ГЮИК 485.007).
Работа микропроцессора начинается с загрузки начального адреса программы (блок 1). По которому осуществляется вызов программы из ПЗУ.
Затем выполняется конфигурация портов контроллера на вводвывод (блок 2), для этого переходят на первую страницу памяти, установив бит RP0 в единицу. Загружая в регистры портов TRIS A и TRIS B двоичные числа 00111 и 1110000 соответственно, получаем, что первые 3 вывода порта A сконфигурированы на ввод, а первые 4 вывода порта B - на вывод. К выводам RA0, RA1, RA2 порта A подключаются кнопки выбора длительности импульсов в пачке 9мс, 10мс и 11мс соответственно. Вывод RB0 порта B является выходным, с него снимается последовательность пачек. К выводам RB1, RB2, RB3 подсоединены индикаторные светодиоды, которые зажигаются при нажатой кнопке для 9мс, 10 мс и 11мс соответственно. По окончанию выполняется возврат на нулевую страницу памяти.
Для изменения длительности импульсов контроллер должен реагировать на изменения состояния кнопок, для этого используется программа опроса клавиатуры (блок3). Если какая-то кнопка нажата (блок 4), т.е. состояние порта RA0 (RA1, RA2) сменилось на нуль, происходит переход программы на участок загрузки соответствующих констант для формирования нужных временных задержек (блок 5).
В начале порт RB1 устанавливается в единицу, светодиод загорается - так осуществляется индикация нажатой кнопки, соответствующей 9мс (для двух других режимов индикация осуществляется аналогично, управляя портами RB2, RB3). Затем в регистры общего назначения A, B, C и D загружаются константы в десятичной форме для формирования импульса, паузы между импульсами, и паузы между пачками соответственно, для длительности импульса 9мс. В регистр E загружается константа, определяющая количество импульсов в пачке (периодов следования импульсов), в данном случае это число 5 для любой длительности импульсов. Для получения на выходе контроллера импульса на порт RB0 выводится логическая единица (блок 6). Задержка единицы получается в результате декремента содержимого регистра A (блок 7). После каждого раза вычитания результат проверяется на нуль (блок 8): если результат не равен нулю, декрементирование повторяется , равен - программа выполняется далее. Вывод на порт RB0 логического нуля (блок 9) соответствует паузе между импульсами, для получения необходимой длительности выполняется задержка, декрементируя содержимое регистра B (блок 10) до получения нулевого результата (блок 11), при неравенстве нулю снова происходит вычитание. Декрементируя содержимое регистра E (блок 13), формируется последовательность из пяти импульсов: если результат вычитания не равен нулю, формирование задержки единицы-нуля повторяются снова.
После получения необходимого числа импульсов выполняется формирование паузы между пачками импульсов.
Длительность интервала между пачками импульсов имеет большую длительность по сравнению с интервалом между импульсами, то есть необходимо организовать большую временную задержку, поэтому в этом случае используются два регистра. Для этого содержимое регистра D пересылается в регистр F (блок 14), который является вспомогательным. Его содержимое декрементируется (блок 15) до нулевого результата (блок 16), после чего выполняется декремент содержимого регистра C (блок 17) и при равенстве результата нулю (блок 18) происходит переход программы на участок опроса клавиатуры. Для каждой длительности программа выполняет те же операции, разница состоит в том, что при трёх случаях в регистры разгружаются различные константы, что обеспечивается переходом программы на соответствующие участки программы при изменении состояния кнопок.
При формировании импульсов и пауз между ними перед декрементированием содержимого регистров A и B используется так называемая «пустая» операция (команда NOP). Это позволяет получить более точные временные задержки, которые определяются количеством тактов, выполняемых микроконтроллером и его тактовой частотой. Это является одним из достоинств программно-управляемого генератора пачек прямоугольных импульсов на микроконтроллере: изменяя константы, загружаемые в регистры и подбирая тактовую частоту контроллера можно получить последовательности импульсов любой длительности.
Рабочая программа для микроконтроллера PIC16C84 написана на языке ASSEMBLER и приведена в приложении Б.
При расчёте частоты пачек для каждой нажатой кнопки длительность импульсов, время формируемой задержки и время опроса клавиатуры будут иметь свои соответствующие значения. Время загрузки констант в трёх различных случаях одинаковое.
Временные задержки определяются умножением количества тактов, выполняемых контроллером, на значение тактовой частоты (100 кГц) и в формулу для частоты подставляются уже в единицах отсчёта времени.
Погрешность определяется по формуле:
,
где - фактическая частота генератора;
- заданная в ТЗ частота генератора.
При нажатии кнопки 1 имеем реальные значения времени:
=8,96мс
=13,72мс
=899,44мс
=0,12мс
=0,54мс
Тогда частота следования пачек прямоугольных импульсов в этом случае будет:
Погрешность будет составлять:
При нажатии кнопки 2 имеем реальные значения времени:
=9,92мс
=12,44мс
=899,28мс
=0,16мс
=0,54мс
Тогда частота следования пачек прямоугольных импульсов в этом случае будет:
Погрешность будет составлять:
При нажатии кнопки 3 имеем реальные значения времени:
=10,88мс
=11,32мс
=899,12мс
=0,36мс
=0,54мс
Тогда частота следования пачек прямоугольных импульсов в этом случае будет:
Погрешность будет составлять:
По результатам расчётов погрешности частоты следования пачек импульсов можно сделать вывод, что максимальная погрешность появляется в режиме генерации пачек с длительностью импульсов 10мс. Эта погрешность составляет 0.06% , что значительно меньше той допустимой погрешности, которая задана в техническом задании.
Можно сделать вывод, что данная схема генератора обеспечивает очень маленькую погрешность частоты следования пачек импульсов прямоугольной формы.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Ю.П. Гришин, Ю.М. Казаринов, В.М. Катиков. Микропроцессоры в радиотехнических системах - Москва «Радио и связь» 1982
2. Б.П. Балашов, Д.В. Пузанков. Микропроцессоры и микропроцессорные системы - Москва «Радио и связь» 1981
3. Л.И. Ридико. Микроэлектронные проекты. Генератор пачек импульсов на основе AVR. «Телесистемы» - www.Telesys.ru
4. В.Н. Яковлев. Микроэлектронные генераторы импульсов - Киев «Техника» 1982
! | Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ. |
! | Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу. |
! | Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться. |
! | План курсовой работы Нумерованным списком описывается порядок и структура будующей работы. |
! | Введение курсовой работы Что пишется в введении, какой объем вводной части? |
! | Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать. |
! | Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа. |
! | Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема. |
! | Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом. |
! | Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ. |
→ | Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия. |
→ | Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта. |
→ | Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты. |
→ | Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести. |
→ | Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя. |
→ | Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика. |
Курсовая работа | Деятельность Движения Харе Кришна в свете трансформационных процессов современности |
Курсовая работа | Маркетинговая деятельность предприятия (на примере ООО СФ "Контакт Плюс") |
Курсовая работа | Политический маркетинг |
Курсовая работа | Создание и внедрение мембранного аппарата |
Курсовая работа | Социальные услуги |
Курсовая работа | Педагогические условия нравственного воспитания младших школьников |
Курсовая работа | Деятельность социального педагога по решению проблемы злоупотребления алкоголем среди школьников |
Курсовая работа | Карибский кризис |
Курсовая работа | Сахарный диабет |
Курсовая работа | Разработка оптимизированных систем аспирации процессов переработки и дробления руд в цехе среднего и мелкого дробления Стойленского ГОКа |