Программно управляемый генератор линейно нарастающего напряжения сверхнизкой частоты на микроконтроллере

Введение

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

ллеры практически во всех устройствах, где используется обработка цифровых сигналов. В качестве иллюстрации возможностей применения микроконтроллеров при проектировании радиотехнических устройств, в данном курсовом проекте приводится пример проектирования линейно нарастающего генератора с изменяемой частотой от 5 до 20 Гц с шагом 5 Гц, а также с дискретно меняющейся амплитудой от 0.5 до 5 Вольт, подстройка которой осуществляется двумя кнопками. Индикация амплитуды генерируемых сигналов осуществляется с помощью ЖКИ.

1. Обзор аналогичных устройств

Прежде, чем приступить к рассмотрению проектирования генератора на основе МК, приведем краткий обзор аналогичных вариантов реализации генератора линейно нарастающего напряжения. Кроме МК, генератор импульсов можно реализовать на базе обычного двухтранзисторного симметричного мультивибратора. Достоинства такого варианта заключаются в отсутствии необходимости писать программу для МК, недостатки же заключаются в том, что в аналоговых генераторах труднее добиться идеальной формы фронтов импульса, а также обеспечить наиболее точную подстройку частоты вследствие разброса номиналов элементов схемы генератора. Индикация амплитуды с помощью ЖКИ несет усложнение такой схемы и неизбежность применения микроконтроллера с АЦП. Еще один вариант заключается в использовании логических элементов, соединенных последовательно в неинвертирующий усилитель и применении RC-цепочки для создания положительной обратной связи. Недостаток такой схемы заключается в ее усложнении по сравнению с мультивибратором, а вопрос с индикацией решается путем еще большего усложнения устройства. Наконец, схема генератора на базе МК обладает неоспоримыми преимуществами: простотой (генерирование и управление индикацией осуществляется с помощью одной микросхемы), хорошей формой генерируемого сигнала, а также широкими возможностями по точной подстройке частоты и амплитуды сигнала.

2. Обоснование выбранного варианта технического решения

В данной работе для реализации генератора на базе МК будут использованы такие элементы, как микроконтроллер, ЦАП, ЖКИ и управляющие кнопки. Необходимость использования ЦАП вызвана тем, что амплитуду сигналов проектируемого генератора можно будет изменять. ЦАП же позволяет формировать сигналы произвольной формы путем подачи цифрового кода мгновенного значения напряжения сигнала на его вход. В качестве ЖКИ используется индикатор на базе контроллера HD44780, который является фактически промышленным стандартом и на базе которого производятся большинство ЖКИ. В качестве МК выбрана модель AT90S8515 (AVR-микроконтроллер семейства Classic фирмы Atmel). Будучи выпущенным несколько лет назад, такой МК имеет небольшую стоимость, но в его составе есть все необходимые для разработки генератора компоненты (4 8-разрядных ПВВ, 8-разрядный таймер-счетчик, ядро с рабочими частотами до 16 МГц).

3. Разработка принципиальной схемы устройства

Как уже было сказано выше, основными компонентами схемы генератора являются микроконтроллер, ЦАП, ЖКИ и управляющие кнопки. ЦАП имеет 8 входов, на которые подается цифровой код сигнала, и выход, с которого снимается аналоговый сигнал. В данном случае было решено подключить входы ЦАП к 8-разрядному порту С микроконтроллера. Управляющие кнопки делятся на 2 кнопки регулировки амплитуды и 4 кнопки установки частоты. Кнопки регулировки амплитуды были подключены к выходам 2 и 3 порта D, которые являются входами внешних прерываний INT0 и INT1. Кнопки установки частоты подключены к выводам 4, 5, 6 и 7 порта D.

ЖКИ подключается к микроконтроллеру 11-ю выводами. 8 из них являются шиной данных и подключаются к порту А. Оставшиеся 3 вывода являются управляющими: вывод RS определяет, что передается по 8-разрядной шине: команды или данные (коды отображаемых символов) и подключен он к нулевому выходу порта В, вывод R/W определяет режим чтения / записи шины данных, и подключается к первому выходу порта В, по выводу Е подаются стробирующие импульсы, сопровождающие процессы чтения или записи, подключен выход Е к выводу 2 порта В. Также у МК есть выводы XTAL1 и XTAL2, к которым подключается кварцевый резонатор. Схема генератора электрическая принципиальная приведена на чертеже, прилагающемся к пояснительной записке. Проектный файл программы VMLAB, описывающий схему устройства электрическую принципиальную, приведен в приложении А.

4. Разработка алгоритма и программы функционирования устройства

Алгоритм главной программы можно условно разделить на 3 части: блок инициализации МК и ЖКИ, блок опроса кнопок и блок генерирования сигнала. Кроме того, в данной программе будут использоваться вспомогательные подпрограммы, алгоритмы которых будут рассмотрены чуть позже.

В блоке инициализации можно выделить такие основные части, как присвоение значений объявленным константам, настройка портов ввода-вывода, инициализацию прерываний, а также команды инициализации ЖКИ и индикации амплитуды по умолчанию. Настройка ПВВ осуществляется путем присвоения определенных значений регистрам ввода-вывода – DDRX (отвечает за тип порта – вход, или выход) и PORTX (позволяет программным путем подключать подтягивающие резисторы).

Разрешение прерываний происходит на двух уровнях: общем уровне (установкой в 1 флага I регистра SREG) и местном уровне. В данной программе используются два вида прерываний: внешние INT0 и INT1, и прерывания по сравнению от первого таймер-счетчика. Внешние прерывания разрешаются путем установки в 1 6-го и 7-го битов регистра GIMSK, а прерывание по переполнению нулевого таймер-счетчика разрешается установкой в 2-го бита регистра TIMSK (регистра маскирования прерываний). Команды инициализации ЖКИ выполняют включение ЖКИ и очистку экрана, настройку вида курсора, указание кол-ва строк, равного двум и установку разрядности шины данных (8-разрядная шина, в нашем случае).

В блоке опроса кнопок опрашиваются 4, 5, 6 и 7 выводы порта D, к которым подключены кнопки управления частотой. (Кнопки регулировки амплитуды подключены к выводам внешних прерываний, обработка которых будет рассмотрена позднее.) Опрос кнопок производится путем проверки соответствующего вывода порта на нулевое состояние (когда кнопка не нажата, на ее выводе стоит «1», вследствие наличия подтягивающих резисторов). Если кнопка нажата, происходит переход на соответствующую метку, в которой устанавливаются значения констант, которые будут записаны в регистр счетчик TCNT0 таймер-счетчика. Если же не нажата ни одна из кнопок, то в регистры сравнения загружаются значения по умолчанию, соответствующие частоте 10 Гц. После блока опроса кнопок следует блок генерирования сигнала.

Страница:  1  2  3  4 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы