Проектирование низкочастотного генератора

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 05.05.2014
Размер файла 62,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru

Содержание

1. Техническое задание

2. Анализ технического задания

3. Алгоритм работы системы

4. Инициализация адресного пространства

5. Описание принципиальной схемы

6. Программа

7. Расчёт частоты дискретизации

Список литературы

микропроцессорный генератор программный дискретизация

1. Техническое задание

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

Форма сигнала - синусоида. Частота сигнала - 50 Гц. Сигнал выводится на одно внешнее устройство - ЦАП.

2. Анализ технического задания

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

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

Очевидно, что при табличном способе получения отсчёта возникает задача определения оптимальной частоты дискретизации сигнала fд, т.к. увеличение fд влечёт за собой увеличение объёма памяти, необходимого для хранения отсчётов. С другой стороны, при маленькой частоте дискретизации возрастает погрешность восстановления (преобразования) сигнала из цифровой формы в аналоговую.

Поэтому необходимо будет произвести расчет оптимальной частоты дискретизации сигнала.

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

Ограничим разрядность выходного цифрового кода 8-ю битами, тогда для построения микропроцессорной системы можно использовать ЦПУ КР1810ВМ88, имеющее 8-разрядную шину данных, выполненное по n-МОП-технологии и электрически совместимое с микросхемами ТТЛ и ТТЛШ.

Базовая МПС включает в себя модуль МП, тактовый генератор и ПЗУ.

Исходя, из требований технического задания можно заключить, что проектируемое устройство не нуждается в специальных микросхемах оперативной памяти, т.к. количество используемых переменных (текущий отсчет сигнала, счетчик отсчетов и т.д.) невелико и вполне может уместиться в блоке РОНов микропроцессора.

ПЗУ необходимо для хранения программы, таблицы прерываний и отсчётов генерируемого сигнала.

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

Счёт временного интервала между двумя последовательными отсчётами можно осуществить с помощью программируемого таймера, который будет формировать сигнал «запрос прерывания» на микропроцессор с требуемой периодичностью.

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

Для преобразования сигнала в аналоговую форму можно применить стандартную схему, состоящую из буферного регистра, ЦАП и операционного усилителя.

3. Алгоритм работы системы

Рис.1 Блок-схема алгоритма работы системы

Примечания: ХТ - текущий отсчет сигнала; переменная BX содержит информацию о номере текущего отсчета.

4. Инициализация адресного пространства

Проектируемое устройство содержит 3 периферийных устройства, управление которыми осуществляется по адресным линиям: ПЗУ, таймер и регистр-защёлка перед ЦАП.

Сигналы управления указанными устройствами формируются на основе сигналов на адресных линиях и состояния вывода M/IO с помощью обычных комбинационных логических схем следующим образом:

Таблица 1. Распределение периферийных устройств по адресным линиям

M/IO

A3

A2

Адресуемая микросхема

Диапазон адресов

1

-

-

ПЗУ

0000hч03FFh

0

0

1

Таймер

04hч07h

0

1

0

Регистр перед ЦАП

08h

Таким образом, адресное пространство системы организовано по принципу раздельной адресации, т.е. адресное пространство ввода-вывода отделено от памяти и обращение к памяти или ВУ зависит от состояния вывода M/IO.

В цикле обращения к памяти (M/IO=«1») младшие 10 разрядов ША служат для адресации одного из байтов в ПЗУ.

Следует отметить, что начальный исполняемый адрес системы по сбросу - FFF0h, при выставлении микропроцессором при включении на шину начального исполняемого адреса FFF0h, система отреагирует только на младшие биты 11.1111.0000b, т.е. включит ПЗУ и произведёт чтение по адресу 3F0h, т.е. обеспечит запуск программы.

5. Описание принципиальной схемы

Поскольку проектируемая система имеет небольшое число ИС, микропроцессор работает в минимальном режиме, т.е. все необходимые сигналы управления вырабатываются на основе управляющих сигналов микропроцессора с помощью комбинационных логических схем типа И, НЕ и т.д.

К1810ВМ88 имеет 8-разрядную шину данных, мультиплексированную с 8-ю младшими разрядами шины адреса. Задача демультиплексирования (разделения) шины данных и шины адреса решается с помощью: буферного регистра КР580ИР82, на котором защёлкивается 8 младших бит адреса и двунаправленного 8-разрядного шинного формирователя с высокой нагрузочной способностью КР580ВА86, подключенных к ЦПУ стандартным образом.

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

Проектируемое устройство содержит одно постоянное запоминающие устройство с электрическим программированием (PROM).

ПЗУ КР556РТ18 содержит исполняемую программу, таблицу прерываний и отсчёты, подключено к 10 младшим разрядам системной шины адреса.

Таблица прерываний находится по адресу 0040h и содержит четыре байта (04.00.00.04)h, содержащие адрес подпрограммы обработки прерывания 0044h.

Для тактирования микропроцессора и периферийных устройств используется генератор тактовых импульсов КР1810ГФ84.Частота опорного генератора задается с помощью внешнего кварцевого резонатора ZQ1 частотой 12МГц, который подключается к выводам Х1 и Х2. Тактовый сигнал МОП-уровня CLK, подаваемый на вход CLK МП, в три раза меньше частоты опорного генератора и составляет FCLK=4МГц.

КР1810ГФ84 также позволяет формировать сигнал RESET («сброс»), инициализирующий систему при включении питания. Выходной сигнал RESET вырабатывается при поступлении входного сигнала RES и используется для установки микропроцессора и внешних устройств в исходное состояние. Входной сигнал RES формируется RC - цепью автоматически при включении питания.

Назначение программируемого таймера К1810ВИ54 - генерировать сигналы запроса прерывания на микропроцессор с заданной периодичностью. Таймер тактируется также от микросхемы КР1810ГФ84 импульсами PCLK вдвое меньшей частоты, чем СLK.

По сигналу «запрос прерывания», поступающего с таймера микропроцессор формирует сигнал INTA («подтверждение прерывания»), выполняющий функции сигнала «чтение» в цикле подтверждения прерывания и стробирующий считывание номера вектора прерывания (10h) с буферного регистра 1533ИР33. Далее, в соответствии с номером вектора микропроцессор считывает адрес подпрограммы обработки прерывания с ПЗУ и переходит к выполнению указанной подпрограммы.

Цифро-аналоговый преобразователь К1108ПА1 выполняет функции линейного преобразования 8-ми разрядного параллельного кода в выходной униполярный ток. На выходе микросхемы включен быстродействующий операционный усилитель типа К574УД1, преобразующий выходной ток в напряжение и умощняющий выходной сигнал.

ИС К574УД1 обладает коэффициентом усиления по напряжению KU=5104, выходным напряжением 10В и скоростью его нарастания 50-100В/мкс. Емкость С3 позволяет минимизировать время установления выходного тока.

Данные для ЦАП защёлкиваются на специальном регистре типа K555ИР27.

6. Программа

Инициализация системы:

0000h CLI; запрещение прерывания

MOV AX, 3Dh; инициализация стека

MOV SS, AX;

MOV AX, 00; инициализация указателя стека

MOV SP, AX;

MOV AX, 9h; инициализация сегмента данных

MOV DS, AX;

MOV AL, 24h; инициализация таймера

OUT 07h;

MOV AL, 18h; загрузка константы пересчёта

OUT 04h; в таймер

STI; разрешение прерывания

Start: MOV BX, 0000; BX=0

HLT; ожидание прерывания

0040h 04,00,00,04.

Начало подпрограммы обработки прерывания:

0044h DEC SP; уменьшение содержания

DEC SP; стека

DEC SP; чтобы не было

DEC SP; переполнения

DEC SP

INC BX; BX=BX+1

MOV AL, [BX]; загрузка очередного отсчёта в аккумулятор

OUT 08h; вывод текущего отсчёта на ЦАП

CMP BX, 0800; BX>800 ?

JA Start; переход на Start, если BX>800

HLT

03F0h JMP 0000h,00000h; и переход на основную программу

При переходе на подпрограмму (по прерыванию) МП автоматически записывает в стек адрес возврата и регистр флагов. Вместе с тем, т.к. в системе предусмотрено только одно прерывание, указанная информация не имеет смысла, т.к. адресом возврата из подпрограммы обработки прерывания является адрес начала той же подпрограммы, поэтому стек инициализируется на адрес 2000h, при выставлении которого на ША все микросхемы закрываются и выводимая информация никаких изменений в системе не произведет.

Программируемый таймер К1810ВИ54 относится к классу функционально ориентированных программных управляемых интерфейсных БИС, поэтому перед началом работы в него необходимо загрузить управляющее слово (УС) и константу пересчета.

УС задает режим работы, тип счета (двоичный или двоично-десятичный), порядок загрузки и размерность (один или два байта) константы пересчёта.

Управляющее слово нулевого канала (24h), загружаемое по адресу 07h, содержит в себе следующую информацию:

Рис. 2. Содержание регистра управляющего слова нулевого канала таймера

В режиме 2 - импульсного генератора частоты - канал работает как делитель входной частоты PCLK на N, где N- константа пересчета. Режим 2 является режимом с автозагрузкой, т.е. после окончания цикла счета счетчик автоматически перезагружается и счет повторяется.

7. Расчёт частоты дискретизации

Значение выходного 8-разрядного цифрового кода, преобразуемого в аналоговый сигнал, может меняться в диапазоне от 0 до 255 (8 разрядов). Т.к. выходной сигнал является двуполярным, амплитуда синусоиды может составить только половину от этого числа, т.е. 128.

Исходя из этих соображений, значения отсчётов генерируемого сигнала рассчитываются следующим образом, табулируется функция с заданным шагом:

y(x)=[128·sin(x)]+128

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

Произведя исследования с помощью программы «MathCAD 2000», получаем общее число отсчётов для этого случая К=800.

Частота дискретизации в этом случае составит

fд=800·Fc=40 кГц.

Все 800 отсчетов находятся в основном ПЗУ по адресам с 0090h по 0A8Fh.

Период сигнала равен Т=0.02 сек =80000 тактов CLK.

Время обработки сигнала «запрос прерывания» с момента поступления запроса до момента начала работы подпрограммы обработки прерывания составляет 52 такта. Т.е. суммарная задержка за период сигнала, связанная с обработкой запросов прерывания, составит 52·800=41600 тактов CLK.

Оставшееся время 80000-41600=38400 тактов предназначено для вычисления адреса ячейки памяти с текущим отчётом, считывания отсчёта и передачи его на ЦАП, т.е. на обработку одного отсчёта приходится 48 тактов.

Исходя из вышеизложенного, значение периодичности сигналов «запрос прерывания» установим равным 48 тактов CLK (24 такта PCLK для таймера).

Список литературы

А.С. Глинченко, М.М. Мичурина - «Микропроцессоры и вычислительные устройства. Прогр. и метод. указания», КрПИ, Красноярск, 1990.

Ю.М. Казаринов - «Микропроцессорный комплект К1810», «Высшая школа», Москва, 1990.

Ю.М. Казаринов - «Применение микропроцессоров и микро ЭВМ в радиотехнических системах», «Высшая школа», Москва, 1988.

Майко Г.В. - «Ассемблер для IBM PC», Москва, 1999.

М.М. Мичурина, И.Н. Сушкин - «Использование АЦП и ЦАП в цифровых системах. Метод. указания», КГТУ, Красноярск, 1996.

С.В. Якубовский и др. - Cправочник: «Цифровые и аналоговые интегральные микросхемы», «Радио и связь», Москва, 1990.

Г.Р. Аванесян, В.Л. Левшин - «Интегральные микросхемы ТТЛ, ТТЛШ», «Машиностроение», Москва, 1993.

Размещено на Allbest.ru

...

Подобные документы

  • Описание алгоритма работы и разработка структурной схемы МКС. Схема вывода аналогового управляющего сигнала, подключения ЖК-дисплея, клавиатуры и аварийного датчика. Разработка блок-схемы алгоритма главной программы работы МКС. Функция инициализации.

    курсовая работа [5,7 M], добавлен 26.06.2016

  • Разработка управляющего микропроцессорного устройства, реализующего заданное взаимодействие с объектом управления, особенности аппаратного и программного обеспечения. Программные средства системы, обеспечивающие выполнение заданного алгоритма управления.

    курсовая работа [95,4 K], добавлен 25.10.2009

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

    дипломная работа [3,2 M], добавлен 26.12.2011

  • Проектирование микропроцессорного устройства, которое преобразует интерфейс RS-232 (COM-порт) в IEEE 1284 (LPT-порт). Структурная схема устройства. Преобразование последовательного интерфейса в параллельный интерфейс на микроконтроллере ATMega 8.

    курсовая работа [1,1 M], добавлен 07.04.2013

  • Структура и функции генератора случайных чисел. Методы предельного уменьшения ошибки второго рода. Усиление шумового сигнала. Его дискретизация по времени и аналого-цифровое преобразование. Формирование случайной последовательности и ее корреляция.

    курсовая работа [299,4 K], добавлен 11.12.2014

  • Разработка программного обеспечения на языке C. Определение сигнала на выходе цепи, формирование его передаточной характеристики. Расчет длительности переднего фронта входного и выходного сигнала. Выбор структуры, отладка и тестирование программы.

    курсовая работа [83,0 K], добавлен 26.09.2014

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

    контрольная работа [537,8 K], добавлен 07.07.2012

  • Проектирование элементов микросхем ПЗУ и ОЗУ с помощью приложения MS Visio 2010. Деление и расширение адресного пространства. Расчет дополнительного оперативного запоминающего устройства и проверка компонентов системы на электрическое взаимодействие.

    курсовая работа [174,9 K], добавлен 08.11.2014

  • Теоретические основы нейминга. Методология создания имени. Алгоритм работы генератора названий и разбиения слова на слоги. Разработка функции деления слова на слоги. Осуществление группировки слогов в слова. Рождение имен. Анализ полученного генератора.

    курсовая работа [35,5 K], добавлен 26.05.2009

  • Разработка программного комплекса и описание алгоритма. Разработка пользовательского интерфейса. Анализ тестовых испытаний программного блока. Защита пользователей от воздействия на них опасных и вредных факторов. Режимы работы программного комплекса.

    дипломная работа [1,7 M], добавлен 14.03.2013

  • Разработка принципиальной электрической схемы микропроцессорного устройства управления двигателем постоянного тока на базе контроллера ATmega 128. Разработка пакета подпрограмм на языке Assembler в целях регулирования и корректной работы устройства.

    курсовая работа [271,5 K], добавлен 14.01.2011

  • Разработка программного обеспечения, предназначенного для изменения характеристик исходного звукового сигнала с целью изменения характеристик его звучания. Алгоритмы обработки и фильтрации звукового сигнала, редактирование его, изменение темпа и уровня.

    дипломная работа [1,8 M], добавлен 08.07.2008

  • Разработка вычислительного ядра для программного комплекса ModelBuilder. Общая архитектура взаимодействия с моделью. Подход для работы с двухмерной графикой. Визуализация модели в 3D. Алгоритм вставки цилиндра в модель. Матрица физических параметров.

    курсовая работа [2,2 M], добавлен 14.03.2012

  • Разработка структуры корпоративной информационной системы. Проектирование адресного пространства. Обоснование выбора аппаратной конфигурации клиентских станций и серверного оборудования. Расчет стоимости оборудования и программного обеспечения системы.

    курсовая работа [1,0 M], добавлен 15.02.2016

  • Разработка структурной схемы и алгоритма функционирования микропроцессорного модуля программного обеспечения автоматизированной информатизационно-измерительной системы. Характеристика принципиальной схемы модуля, распределения памяти и задание портов.

    курсовая работа [1,2 M], добавлен 28.08.2012

  • Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.

    курсовая работа [2,8 M], добавлен 15.05.2014

  • Создание электрической схемы проектируемого устройства с помощью графического интерфейса. Улучшение кодовой базы с помощью рефакторинга. Разработка алгоритма работы программы. Использование методики Test driven development, написание тестового покрытия.

    курсовая работа [1,3 M], добавлен 15.02.2016

  • Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.

    контрольная работа [18,4 K], добавлен 24.12.2010

  • Проект цифрового устройства для передачи сообщения через канал связи. Разработка задающего генератора, делителя частоты, преобразователя кода, согласующего устройства с каналом связи, схемы синхронизации и сброса, блока питания; оптимизация автомата.

    курсовая работа [3,4 M], добавлен 05.02.2013

  • Описание и назначение устройства специализированного вычислительного телеметрического. Главные требования к информационному составу кадра при КРП, ОПС и ОР. Разработка программного обеспечения первого процессора (прием информации и ее передача).

    курсовая работа [50,4 K], добавлен 30.11.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.