Программно-управляемый генератор прямоугольных импульсов инфранизких частот
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
Харьковский национальный университет
радиоэлектроники
Кафедра радиоэлектронных устройств
КУРСОВАЯ РАБОТА
Программно-управляемый генератор прямоугольных импульсов инфранизких частот
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Выполнил
студент гр. РТу-99-3
Крючков А.Н.
Руководитель Васецкий В.Л.
Харьков 2002
РЕФЕРАТ
Пояснительная записка: 29 листов, 5 рисунков.
Цель работы – построение программно-управляемого генератора пачек прямоугольных импульсов инфранизких частот на микропроцессоре PIC16C84.
В работе рассмотрены другие варианты построения таких генераторов, приведены рисунки схем, представлены схема электрическая принципиальная разрабатываемого устройства, блок-схема алгоритма работы генератора, рабочая программа для прошивки микроконтроллера.
Результаты работы могут использоваться при разработке подобных устройств на микропроцессорах.
ГЕНЕРАТОР, ПАЧКИ ИМПУЛЬСОВ, ИМПУЛЬСЫ ПРЯМОУГОЛЬНОЙ ФОРМЫ, МИКРОКОНТРОЛЛЕР…
СОДЕРЖАНИЕ
Введение
1 Обзор аналогичных устройств
2 Обоснование выбранного варианта технического решения
3 Разработка алгоритма работы устройства и составление программы
4 Разработка схемы электрической принципиальной устройства
5 Анализ временных соотношений и расчёт погрешностей
Список использованной литературы
ВВЕДЕНИЕ
В течение последних 20 лет методам проектирования цифровых устройств уделялось возрастающее внимание, и в настоящее время они входят в учебные программы большинства университетов и политехнических институтов. Сначала при проектировании использовались дискретные компоненты, но в последние 20 лет стали широко применяться схемы с малым и средним уровнями интеграции. Это позволило упростить процесс проектирования и свести его к задаче сборки устройств из интегральных схем. С появлением больших интегральных схем появилась возможность разрабатывать микропроцессоры. Можно выделить два альтернативных метода проектирования цифровых устройств, основанных на использовании схем «жесткой» логики и на применении микропроцессоров. Первый подход требует знания методов проектирования, изложенных в учебной литературе, в то время как второй подход является программным способом решения той же проблемы. На завершающей стадии анализа проектного задания необходимо выбрать один из этих двух подходов, используя экономический критерий.
Однако на практике при решении многих задач обычно сочетают оба подхода. Поэтому следует добиваться, что бы проектировщики обладали хорошими знаниями по булевой алгебре и умели применять её методы для решения задач проектирования цифровых устройств. Кроме того, проектировщик должен обладать глубокими знаниями методов программирования.
Развитие микроэлектроники и освоение производства интегральных микросхем в последнее двадцатилетие обусловило появление новых методов построения и конструирования электронной аппаратуры различного назначения, отличающейся малыми массой и габаритными размерами, а так же высокой надёжностью.
Одновременно происходит интенсивное внедрение цифровой техники, так как цифровая обработка сигналов обладает большими преимуществами по сравнению с аналоговой. Противоречие, существующее между повышенной сложностью цифровых устройств и требованиями к их надёжности, объёмно-весовым и другим эксплуатационным характеристикам, может удовлетворительно разрешить лишь интегральная технология.
Одними из широко применяемых элементов не только аналоговой, но и цифровой техники являются генераторы импульсов и пачек импульсов различной формы. Они используются в АВР, в блоках управления, ввода и вывода ЦВМ, в приборах телеметрических систем и централизованного контроля, в аппаратуре связи, радионавигационной и радиолокационной аппаратуре, для устройств автоматики, дискретного управления или проверки работы отдельных узлов схемы, в цифровых и цифроаналоговых измерительных приборах и т.д.
В подавляющем большинстве случаев от такого генератора не требуются рекордные параметры. Современная элементная база позволяет создать очень простой и недорогой генератор, обладающий в то же время достаточно неплохими параметрами.
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.а. Если ни одна из кнопок не нажата, то на выходе (DD1\11) будут появляться одинарные импульсы, с периодом, определяемым частотой задающего генератора на элементах 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 и приведена в приложении Б.
4 РАЗРАБОТКА СХЕМЫ ЭЛЕКТРИЧЕСКОЙ ПРИНЦИПИАЛЬНОЙ УСТРОЙСТВА
Схема электрическая принципиальная генератора приведена на чертеже (формат А3).
Схема состоит из микропроцессора DA1, блока питания и выходного каскада. Перед включением микросхемы в устройство, она предварительно программируется – прошивается рабочей программой.
К ножкам 17, 18 и 1 микросхемы, которые являются выводами порта A(данный порт сконфигурирован на ввод), подключены выключатели S2, S3 и S1 соответственно. Данные выводы через резисторы R1,R2 и R3 подключены к шине питания, это позволяет установить на соответствующих выводах логическую единицу. При нажатии кнопки происходит замыкание вывода не общий провод, что вызывает сброс единицы в логический нуль. На это изменение состояния, на каком либо выводе, микроконтроллер реагирует, выполняя те или иные операции. Нажатию кнопки S2 соответствует установка на выходе генератора пачек с длительностью импульсов 9мс, S3 – 10мс, S1-11мс. Выводы 6, 7, 8 и 9 микросхемы DA1 являются выводами порта B, которые сконфигурированы на вывод. К ножкам 7,8 и 9 подключены светодиоды HL1, HL2 и HL3 соответственно. Светодиоды служат для индикации режимов работы генератора. При нажатии кнопки S2(длительность импульса 9мс) микроконтроллер выдает на вывод 7 логическую единицу, что вызывает свечение светодиода HL1. При нажатии кнопки S3(10мс) загорается светодиод HL2, S2(11мс) – светодиод HL3. Ножка 6 является выходом микроконтроллера, на который он выводит последовательность пачек импульсов.
К ножкам 10 и 15 подключён кварц QZ1, который задает тактовую частоту процессора, в данном случае частота кварца составляет 100кГц, соответственно процессор выполняет 100000 операций в секунду. Конденсаторы C1 и C2 применены для повышения стабильности генератора. Увеличение ёмкости конденсаторов C1,C2 будет увеличивать стабильность генератора, но также будет увеличиваться время запуска. Поэтому ёмкости конденсаторов выбраны набольшими значениями, в виду повышения быстродействия устройства.
Для преобразования выходного сигнала микроконтроллера из уровня TTL в более мощный сигнал, а также для согласования устройства с нагрузкой (генератор работает на низкоомную нагрузку), используется выходной каскад. В качестве выходного каскада применён транзистор VT1. При появлении на выводе 6 импульса, он поступает через резистор R4 на базу VT1. В связи с тем, что величина импульса значительно меньше напряжения на эмиттере, т.е. база имеет менее положительный потенциал, транзистор открывается на время, равное длительности импульса. Резистор R4 ограничивает выходной сигнал микроконтроллера до значения, необходимого для нормальной работы транзистора VT1. В то время, когда открыт транзистор, в нагрузке протекает ток источника питания, т.ё. на нагрузке появляется импульс с амплитудой, равной амплитуде напряжения питания. Таким образом, осуществляется усиление последовательности импульсов. Так как выходом является коллектор, а такая схема включения имеет низкое выходное и достаточно высокое входное сопротивление, то этот каскад успешно выполняет функцию согласования выхода микроконтроллера с нагрузкой, так как по ТЗ генератор должен работать на низкоомную нагрузку.
Генератор питается от сети 220 B переменного тока, встроенный блок питания обеспечивает напряжение 5 B для питания микроконтроллера и 8 B для усилительного каскада. В блоке питания применёны интегральные стабилизаторы DA2 (стабилизация напряжения питания микроконтроллера) и DA3 (стабилизация напряжения питания выходного транзистора). Электролитический конденсатор C3 выполняет фильтрацию переменной составляющей напряжения питания. Так как электролитические конденсаторы большой ёмкости имеют большие индуктивности, это приводит к появлению колебательных процессов, что очень нежелательно в цепях питания. Для компенсации паразитной индуктивности конденсатора C3 применён неполярный конденсатор небольшой ёмкости C4.
Выбор элементной базы производился по критериям надёжности, стабильности параметров экономической эффективности.
Применены непроволочные тонкослойные металлодиэлектрические резисторы марки C2-23 постоянного сопротивления. У данных резисторов в качестве резистивного элемента используется тонкая плёнка слоя проводящего металла, поэтому они характеризуются повышенной теплостойкостью. Резисторы имеют невысокую стоимость.
В качестве электролитического конденсатора C3 использован конденсатор марки K50-35. Это электролитический фольговый алюминиевый конденсатор, который отличается малой удельной емкостью, малыми токами утечки, небольшими потерями и относительной дешевизной. Конденсаторы C1, C2 – керамические марки КМ-6, обладают хорошими параметрами и малыми габаритами. C3 – керамический конденсатор марки К10-17.
Интегральные стабилизаторы марки KP142EH5Б и KP142EH8Б.
В качестве выпрямительного моста используется диодная сборка КЦ402Е, что упрощает схему устройства.
5 АНАЛИЗ ВРЕМЕННЫХ СООТНОШЕНИЙ И РАСЧЁТ ПОГРЕШНОСТЕЙ
В связи с тем, что генерация пачек прямоугольных импульсов осуществляется по принципу формирования задержек логической единице и нуля на выходе микроконтроллера, а временные задержки определяются количеством тактов, выполняемых микроконтроллером, и значениями констант, загружаемых в регистры, то имеют место временные задержки, которые не на сто процентов соответствуют требуемым значениям – появляется погрешность. Погрешность частоты импульсов в пачке и погрешность временной задержки, соответствующей паузе между пачками импульсов, определяют погрешность частоты следования пачек прямоугольных импульсов.
Для выявления соответствия реальной погрешности частоты следования пачек, которую имеет проектируемый генератор, допустимой погрешности (заданной по техническому заданию) проанализируем, какие реальные параметры выдаёт генератор при трёх значениях длительности импульсов.
Частоту следования пачек можно определить, подсчитав период следования пачек, т.е. длительность пачки и паузы между пачками импульсов, а затем перевести в частоту, разделив единицу на период:
Длительность пачки определяется по формуле:
,
где - длительность импульса в пачке;
- длительность паузы между импульсами.
Период следования пачек равен:
,
где - длительность паузы между пачками.
В длительность паузы между пачками импульсов входит собственно формируемая контроллером временная задержка, время опроса клавиатуры, время загрузки необходимых констант, т.е.:
Таким образом, частота следования пачек импульсов определяется по формуле:
При расчёте частоты пачек для каждой нажатой кнопки длительность импульсов, время формируемой задержки и время опроса клавиатуры будут иметь свои соответствующие значения. Время загрузки констант в трёх различных случаях одинаковое.
Временные задержки определяются умножением количества тактов, выполняемых контроллером, на значение тактовой частоты (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