Проектирование цифрового фазового звена (работа 2)
Министерство образования и науки РФ
РГРТА
Пояснительная записка
к курсовому проекту по дисциплине
"Цифровые устройства и микропроцессоры"
Студент Доронин М. О.
Группа 215 специальность 2015
2005
Содержание
Введение
Формализация задачи
Разработка и описание общего алгоритма и функционирования фильтра
Листинг программного модуля вычисления выходного отсчета
Составление и описание электрической принципиальной схемы устройства
Расчёт быстродействия устройства
Расчет АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства
Заключение
Список использованных источников
Введение
С внедрением в промышленность цифровых технологий появилась возможность строить устройства обработки оцифрованных сигналов вычислительным методом. Такой способ обладает рядом важных преимуществ, таких как повышенная точность обработки, меньшая зависимость параметров от внешних условий, а также возможность реализации таких обрабатывающих устройств, которые невозможно или трудно было реализовать в аналоговом виде. К таким устройствам относятся и цифровые фильтры, для которых стало возможным построение разнообразных частотных характеристик путем их аналитической задачи. При этом реализуемы и фильтры традиционных типов: нижних частот, верхних частот, полосовые и режекторные.
По заданию требуется спроектировать цифровое фазовое звено, используя набор К1821, включающий микропроцессор ВМ85, ПЗУ и порты на микросхеме РФ55, ОЗУ, таймер счетчик и порты на микросхеме РУ55. Входной сигнал аналоговый, оцифровывается с помощью 8 - разрядного АЦП КР572ПВ3, после чего имеет вид отсчетов, следующих через интервал дискретизации. После обработки сигнал в дополнительном цифровом коде должен передаваться в порт ввода-вывода по алгоритму с квитированием. Частота дискретизации F>Д >= 8 кГц, разрядность выходного сигнала 8. Обработка должна происходить в реальном масштабе времени. При проектировании следует придерживаться двух критериев: минимальная аппаратная конфигурация устройства и минимальное время операций обработки сигнала (вычисления). При определенных условиях эти критерии противоречат друг другу.
Формализация задачи
Минимальная конфигурация МП-системы на основе набора К1821, характеристики АЦП (572ПВ3) и технические требования по обеспечению их работы определяют функциональную схему разрабатываемого устройства, приведенную на рис.1.
Рис.1. Функциональная схема устройства.
Входное напряжение U>ВХ >через согласующий усилитель подается на вход AI1 АЦП. Согласующий усилитель включен с целью увеличения размаха входного напряжения до требуемого для работы АЦП. Сдвиг входного напряжения в рабочую область АЦП осуществляет напряжение U>C>>М>, поступающее на вход AI2. Опорное напряжение U>ОП1 >требуется для работы ЦАП, входящего в состав БИС 572ПВ3.
Коэффициент усиления усилителя: К>СОГЛ> = U>АЦП>/U>ВХ> = 5.
Напряжение смещения: U>СМ> = U>АЦП>/2 = +5 В.
Опорное напряжение: U>ОП1> = - 10 В.
Сброс и запуск АЦП осуществляется по входу /RD (при постоянном значении /CS = 0) импульсом низкого уровня с выхода TOUT таймера, настроенного на формирование импульсов с частотой дискретизации F>Д.>
Тактирование регистра последовательных приближений АЦП осуществляется тактовыми импульсами CLK МП-системы, поступающими через логическую схему И на тактовый вход СLK АЦП. Высокий уровень сигнала /BUSY, устанавливающийся при окончании преобразования, прекращает поступление импульсов CLK на тактовый вход АЦП.
Тактовая частота преобразования АЦП не должна превышать 1,5 МГц, поэтому примем F>CLK>> АЦП> = F>CLK>> МП> = 1,5 МГц. Если при такой тактовой частоте не обеспечивается требуемое быстродействие фильтра, тактовую частоту МП необходимо повысить, а для тактирования АЦП использовать делитель частоты F>CLK>> МП> или внутренний асинхронный генератор тактовых импульсов, настроенный на частоту F>CLK>>АЦП> выбором постоянной времени времязадающей RC-цепи.
Время преобразования текущего отсчета входного напряжения в код составляет 8 периодов тактовой частоты: t>ПР >= 8T>CLK>> АЦП> = 5,3 мкс.
Схема выборки и хранения (СВХ) необходима, если за время t>ПР> = 5,3 мкс самый быстроизменяющийся сигнал (синусоида с частотой f>В> = 0,5F>Д> и с максимальной амплитудой) изменяется на относительную величину, превышающую половину шага квантования h: 0,5h = 0,5/28 = 0,00195. Максимальное изменение синусоиды на интервале t>ПР> равно x = sin 2f>В>t>ПР> = 0,13281. x > 0,5h, поэтому нужна СВХ для хранения текущего отсчета сигнала на время преобразования АЦП.
Частота дискретизации F>Д> = 8 кГц формируется аппаратным таймером РУ55, в котором частота переполнения F>П >в режиме 3 равна F>Д>. При использовании в качестве входных импульсов таймера тактовых импульсов CLK МП-системы (F>CLK>> МП> = 1,5 МГц) исходное состояние таймера равно
>.>
При дополнении 14-разрядного двоичного кода N>таймера> двумя битами 11, задающими режим 3, получаем биты,
которые загружаются в таймер при инициализации фильтра.
Согласование кода АЦП и МП необходимо, так как числовые значения на выходе АЦП не отображают значения знакопеременного входного сигнала вследствие подачи на вход AI2 напряжения смещения U>СМ>. Согласование можно выполнить смещением диапазона изменения чисел на выходе АЦП в отрицательную область путем вычитания из каждого значения выходного кода константы 1000 0000> (2) - >половины от максимального значения выходного кода АЦП (прибавление дает тот же результат).
Форма представления чисел (числовых значений отсчетов входного сигнала) - правильная дробь с фиксированной запятой: старший разряд - знаковый, запятая, остальные двоичные разряды - числовые. Таким образом, числовые значения входного сигнала изменяются в диапазоне от - 1 до + 1.
Ввод данных в МП целесообразно осуществлять по сигналу готовности АЦП, используя для этого прерывание МП оповещающим сигналом /BUSY. Выберем аппаратное прерывание динамического типа - RST 7.5, которое разрешается при установке маски прерывания командой SIM. Для ввода данных определим порт РA (РУ55) в режиме простого ввода без квитирования.
Необходимость хранения данных вытекает из вида заданного разностного уравнения. Уравнение использует входную выборку отсчетов (x>n>, x>n>>-1>, x>n>>-2>) и выходную (y>n>, y>n>>-1>, y>n>>-2>). Все выборки должны быть доступны для вычислений, следовательно, должны храниться в памяти МП-системы. Требуется также вычислять два текущих произведения:
p>1>>n> = 0.85 x>n>; p>2>>n> = 0.85 y>n>>-2,> которые также должны храниться в памяти. Следовательно, 8 ячеек ОЗУ (РУ55) при составлении программы необходимо определить для хранения данных в текущем цикле обработки входного сигнала (в текущем интервале дискретизации). После вычисления выходного отсчета y>n>, и записи его в ОЗУ, перед приемом нового входного отсчета необходимо сдвинуть отсчеты всех выборок в памяти: n-1-й отсчет на место n-2-го, n-й отсчет на место n-1-го. Это требуется для подготовки следующего цикла вычислений.
Переполнение разрядной сетки имеет место, если при вычислении разностного уравнения получен числовой результат, выходящий за пределы - 1, + 1 при принятом 8-разрядном формате представления данных. Для исключения переполнения разрядной сетки введем масштабирование (ослабление) входных отсчетов путем их умножения на коэффициент масштабирования k>М> 1, при котором вычисление разностного уравнения никогда не дает недопустимого результата.
Коэффициент k>М> получим, предположив, что отсчеты в разностном уравнении принимают максимальные значения ( - 1, + 1) и такие знаки, при которых слагаемые разностного уравнения складываются по модулю, то есть складываются по модулю коэффициенты.
Подставив отсчеты в уравнение для вычисления y>n> и просуммировав по модулю коэффициенты, получим y>n>> мах> = 2,7, что является недопустимым результатом. Отсюда заданный коэффициент масштабирования
k>М> = 1/ y>n>> мах> = 0,37.
Реальные значения коэффициентов разностного уравнения и коэффициента k>М> отличаются от заданных вследствие ограничения длины разрядной сетки:
a = 0,85> (10) > 0,11011001> (2) >= 0,84765625> (10);>
k>М> = 0,37> (10) > 0,01011110> (2) >= 0,3671875> (10).>
По этой причине форма и параметры реальных частотных характеристик фильтра (АЧХ, ФЧХ) отличаются от расчетных. Могут также нарушаться условия устойчивости фильтра.
Алгоритм умножения на коэффициент (на константу без знака) целесообразно реализовать программным способом на основе алгоритма умножения вручную: арифметические сдвиги множимого вправо, соответствующие позициям единиц множителя, и накопление суммы частичных произведений. Разряды множимого, выходящие в результате сдвига за границу разрядной сетки, теряются.
Если затраты времени на вычисление произведений программным способом не допускают обработку сигнала в реальном времени, для вычисления произведений следует использовать БИС аппаратных перемножителей, которые вычисляют произведение за один машинный такт.
Исходное состояние аппаратной части и программы фильтра устанавливается при включении питания по сигналу аппаратного узла сброса (схемы сброса). При этом:
программный счетчик (ВМ85) принимает нулевое значение;
сбрасывается флаг разрешения прерываний (ВМ85);
порты ОЗУ (РУ55) настраиваются так:
РА на ввод;
РВ на вывод по сигналу готовности и квитирования;
таймер (РУ55) останавливается;
содержимое ячеек ОЗУ и буферных регистров портов (РУ55) сохраняется.
Из этого следует, что переходу фильтра в рабочий режим должна предшествовать его настройка (инициализация) на обеспечение принятого принципа функционирования, выбранных режимов работы узлов, заданных рабочих характеристик.
Для настройки портов ОЗУ (РУ55) нужно задать значение управляющего слова.
Формат управляющего слова:
D7 D6 D5 D4 D3 D2 D1 D0
TМ2 |
ТМ1 |
IE B |
IE A |
PC2 |
PC1 |
PB |
PA |
Биты РА и РВ управляющего слова задают направление передачи данных через порты РА и РВ (0 - ввод, 1 - вывод).
Биты РС2 и РС1 определяют вариант использования порта С в соответствии с таблицей:
РС2 |
РС1 |
Линии порта С |
Назначение |
0 |
0 |
РС0 - РС5 |
Ввод |
0 |
1 |
РС0 - РС5 |
Вывод |
1 |
0 |
РС0 |
INTR A |
РС1 |
BF A |
||
РС2 |
STB A |
||
РС3 - РС5 |
Вывод |
||
1 |
1 |
РС0 |
INTR A |
РС1 |
BF A |
||
РС2 |
STB A |
||
РС3 |
INTR B |
||
РС4 |
BF B |
||
РС5 |
STB B |
Здесь и ранее использованы следующие обозначения:
INTR A (B) - запрос прерывания по порту РА (РВ);
BF A (B) - буфер порта РА (РВ) полон (занят);
STB A (B) - управляющий сигнал записи, соответствующий порту РА (РВ).
Биты IEA, IEB управляющего слова разрешают (IE = 1) или запрещают выработку сигналов прерывания INTR.
Биты ТМ2, ТМ1 содержат код (ТМ2 ТМ1) команды управления таймером. Описание команд приведено в таблице.
ТМ2 |
ТМ1 |
Описание команды таймера |
0 |
0 |
Холостая команда, не влияющая на работу таймера |
0 |
1 |
Немедленный останов таймера, если он находится в состоянии счета. Холостая команда, если таймер не запущен. |
1 |
0 |
Останов таймера после окончания текущего цикла счета. Холостая команда, если таймер не запущен. |
1 |
1 |
Пуск таймера. Если таймер не был запущен, то производятся установление режима работы, загрузка N и пуск таймера немедленно после загрузки. Если таймер находится в режиме счета, то установление нового режима, загрузка N и пуск производятся немедленно после окончания текущего цикла счета |
Я выбрал следующее значение управляющего слова:
D7 D6 D5 D4 D3 D2 D1 D0
-
1
1
0
0
0
0
1
0
Таким образом я настроил ОЗУ (РУ55) следующим образом:
Таймер настроен на третий режим работы (ТМ1 = 1; ТМ2 = 1);
Линии порта С используются в соответствии с выше приведённой таблицей при РС2 = 0 и РС1 = 0;
Порт А настроен на ввод данных (РА = 0).
Порт В настроен на вывод данных по сигналу готовности и квитирования (РВ = 1);
Как уже говорилось выше ввод данных в МП осуществляется по сигналу готовности АЦП, используя для этого прерывание МП оповещающим сигналом /BUSY. Мы выбрали аппаратное прерывание динамического типа - RST 7.5, которое разрешается при установке маски прерывания командой SIM.
По команде SIM обеспечивается установка нового состояния маски в соответствии с содержимым аккумулятора:
А0 - А2 - соответственно маски RST 5.5, RST 6.5, RST 7.5;
А3 - разрешение установки маски;
А4 - сброс триггера приема запроса RST 7.5;
А5 - не используется;
А6 - разрешение вывода данных;
А7 - бит данных для вывода через SOD.
Установка маски запрещает соответствующее прерывание. Смена маски в соответствии с А0 - А2 выполняется только при разрешении ее установки (А3 = 1). В противном случае функция установки маски подавляется.
Для маски прерывания RST 7.5 содержимое аккумулятора будет следующим (1Вh):
A0 = 1; A1 = 1; A2 = 0; A3 = 1; A4 = 1; A5 = 0; A6 = 0; A7 = 0.
Разработка и описание общего алгоритма и функционирования фильтра
Общий алгоритм функционирования фильтра строится на основе выводов и определений, сделанных при анализе задачи, и включает в себя все функции устройства, реализуемые аппаратно и реализуемые программно. Он содержит также все сигналы и сообщения, необходимые для взаимосвязи аппаратно-реализуемых и программно-реализуемых операций (сигналы и сообщения, которые обеспечивают взаимодействие аппаратной части фильтра и программы).
Общий алгоритм функционирования фильтра приведен ниже.
Работа фильтра начинается с подачи питания на схему сброса. Импульс, сформированный схемой сброса (аппаратный узел), обнуляет счетчик команд МП и инициирует формирование импульса сброса RESET для установки МП-системы в исходное состояние.
Таким образом, запускается программа инициализации МП-системы, которая должна начинаться с нулевого адреса. При инициализации: разрешаются прерывания МП типа RST 7.5; в указатель стека SP записывается начальный адрес, с которого начинается стек; порт РA (РУ55) настраивается на ввод, а порт РB (РУ55) - на вывод по сигналу готовности и квитирования; таймер (аппаратный узел) настраивается на период переполнения, равный Т>Д> в режиме 3; таймер запускается для формирования непрерывной последовательности импульсов с частотой дискретизации F>Д>, которые используются далее для взятия отсчетов входного сигнала и запуска АЦП (аппаратного узла). Программа инициализации завершается операцией останова МП.
Из состояния останова МП выводится сигналом /BUSY (код АЦП готов), поступающим на вход RST 7.5 МП.
Последующие операции (ввод, вывод, преобразование кодов, оперативные обращения к памяти, арифметические преобразования) в каждом цикле работы фильтра выполняются под управлением рабочей программы фильтра. Каждый рабочий цикл МП есть реакция на прерывание (выполнение подпрограммы обслуживания прерывания), поэтому после обслуживания прерывания по команде возврата из подпрограммы в каждом рабочем цикле МП возвращается в состояние останова (в состояние ожидания очередного прерывания).
Обоснование аппаратной части устройства.
По заданию необходимо спроектировать цифровое устройство, работающее как фазовое звено. Это устройство надо выполнить на наборе К1821 и АЦП КР572ПВ3, имеющем разрядность 8. Набор К1821 состоит из микропроцессора К1821ВМ85, ПЗУ ёмкостью 2К x 8 бит и двух 8 - разрядных портов ввода-вывода КР1821РФ55, статического ОЗУ ёмкостью 258 x 8 (2048) бит, двух 8 - разрядных и одного 6 - разрядного портов ввода-вывода и 14-разрядного программируемого счётчика - таймера КР1821РУ55.
Полная структурная схема фильтра должна содержать и дополнительные аппаратные узлы.
АЦП КР572ПВ3 предназначен для преобразования аналогового сигнала, поступающего на вход фильтра, в цифровой код, который поступает в порт ввода РA РУ55.
Тактирование АЦП осуществляется от генератора тактовых импульсов, входящего в состав МП. Чтобы обеспечить тактовую частоту в пределах 0,4…1,5 МГц применен двоичный реверсивный счётчик К555ИЕ7.
Тактирование АЦП осуществляется тактовыми импульсами CLK МП-системы, поступающими через логическую схему И (микросхема К155ЛИ5) на тактовый вход СLK АЦП. Высокий уровень сигнала /BUSY, устанавливающийся при окончании преобразования в АЦП, подаётся через инвертор (микросхема К155ЛН1) на логическую схему И, прекращая поступление импульсов CLK на тактовый вход
Операционный усилитель К154УД3 используется как согласующий усилитель, на который подается входное напряжение.
К1100СК2В - схема выборки и хранения. Используется для предотвращения потери данных на входе АЦП.
Разработка и отладка программы на языке команд микропроцессора.
Рабочая программа разработана на основе спроектированного алгоритма функционирования устройства и результатов анализа и формализации задачи. Программа привязана к минимальной конфигурации аппаратной части фильтра.
Распределение памяти ПЗУ:
0000h….003Bh - программа инициализации;
003Ch….07FFh - программа реакции на прерывание RST 7.5.
Распределение памяти ОЗУ:
5000h, 5001h, 5002h - хранение отсчетов x> >>n>>,> x >n>> - 1>, x >n>> - 2>;
5003h, 5004h, 5005h - хранение отсчетов y> >>n>>,> y >n>> - 1>, y >n>> - 2>;
5006h, 5007h - хранение произведений p> 1>>n>>,> p >2>>n>;
50FFh - начальный адрес стека.
; Программа “Фазовое звено”
; Автор: студент гр.215 Доронин Максим Олегович
; Дата: 25 марта 2005 г.
; Разностное уравнение: y>n>> >= 0,85 x>n> + x>n>> - 2> - 0,85 y>n>> - 2>;
; Определение символических имен
PA RU.EQU 7001h; порт РА (РУ55)
PB RU.EQU 7002h; порт РB (РУ55)
RG RU.EQU 7000h; регистр управляющего слова (РУ55)
TL.EQU 7004h; младший байт таймера
TH.EQU 7005h; старший байт таймера
STL.EQU BBh; младшее слово для загрузки в тай-
; мер
STH.EQU C0h; старшее слово для загрузки в таймер
SRU.EQU C2h; управляющее слово для настройки
; портов и пуска таймера (РУ55)
SPR.EQU 1Bh; управляющее слово для настройки
; прерываний
АХ.EQU 5000h; адрес отсчета x>n>
АХ1.EQU 5001h; адрес отсчета x>n>>-1>
АХ2.EQU 5002h; адрес отсчета x>n>>-2>
АY.EQU 5003h; адрес отсчета y>n>
АY1.EQU 5004h; адрес отсчета y>n>>-1>
АY2.EQU 5005h; адрес отсчета y>n>>-2>
АP1.EQU 5006h; адрес произведения p>1>>n>
АP2.EQU 5007h; адрес произведения p>2>>n>
; Инициализация по сигналу “Сброс”
.ORG 0; начальный адрес программного
; модуля инициализации
DI; запрет прерываний
LXI SP, 50FFh; организация стека
MVI A, STL; настройка таймера на частоту пере-
STA TL; полнения Т = Т>Д >в режиме 3
MVI A, STH;
STA TH;
MVI A, SRU; настройка порта PA (РУ55) на ввод,
STA RG RU; порта РB (РУ55) на вывод по сигналу
; готовности и квитирования
; и пуск таймера
MVI A, SPR; настройка режима прерываний
SIM;
EI; разрешение прерываний
M1: HLT; останов, ожидание прерывания
JMP M1; переход на команду останова
; процессора по окончании подпро-
; граммы обслуживания прерывания
.ORG 3Ch; начальный адрес программной
; реакции на прерывание типа RST 7.5
LDA PA RU; ввод текущего кода АЦП в акку-
; мулятор
ADI 80h; получение дополнительного кода
; для текущего отсчета
; программный модуль масштабирования:
; вычисления произведения
; x>n>>: >= 0,01011110x>n> = (2-2 + 2-4 + 2-5 + 2-6+ 2-7) x>n>;
; входной отсчет хранится в аккумуляторе,
; масштабированный отсчет записать в ячейку ОЗУ
; с адресом АХ
MOV H, A; x>n> H
ARHL; арифметические сдвиги входного
ARHL; отсчета и накопление
MOV A, H; суммы частичных произведений
ARHL; в аккумуляторе: (2-2 x>n> + 2-4 x>n> +
ARHL; + 2-5 x>n> + 2-6 x>n>+ 2-7 x>n>) А
ADD H;
ARHL;
ADD H;
ARHL;
ADD H;
ARHL;
ADD H;
STA AX; запоминание отсчета x>n> в памяти
; программный модуль вычисления произведе-
; ния: p>1>>n> = 0,85 x>n> 0,11011001x>n> =
; = (2-1 + 2-2 + 2-4 + 2-5 + 2 - 8) x>n>;
; x>n> хранится в ячейке ОЗУ с адресом AX;
; p>1>>n> записать в ячейку ОЗУ с адресом AP1
LDA AX; x>n> A
MOV H, A;
ARHL; арифметические сдвиги отсчета x>n>
MOV A, H; и накопление суммы частичных
ARHL; произведений в аккумуляторе:
ADD H; (2-1 + 2-2 + 2-4 + 2-5 + 2 - 8) x>n> А
ARHL;
ARHL;
ADD H;
ARHL;
ADD H;
ARHL;
ARHL;
ARHL;
ADD H;
STA AP1; запоминание p>1>>n> в памяти
; программный модуль вычисления произведе-
; ния: p>2>>n> = 0,85 y>n>>-2> 0,11011001y>n>>-2> =
; = (2-1 + 2-2 + 2-4 + 2-5 + 2 - 8) y>n>>-2>;
; y>n>>-2> хранится в ячейке ОЗУ с адресом АY2;
; p>2>>n> записать в ячейку ОЗУ с адресом AP2
LDA AY2; y>n-2> A
MOV H, A;
ARHL; арифметические сдвиги отсчета y>n>>-2>
MOV A, H; и накопление суммы частичных
ARHL; произведений в аккумуляторе:
ADD H; (2-1 + 2-2 + 2-4 + 2-5 + 2 - 8) y>n>> - 2> А
ARHL;
ARHL;
ADD H;
ARHL;
ADD H;
ARHL;
ARHL;
ARHL;
ADD H;
STA AP2; запоминание p>2>>n> в памяти
; программный модуль вычисления выходного отсчета:
; y>n> = p>1>>n> + x >n>> - 2 - >p >2>>n>
; слагаемые хранятся в ячейках ОЗУ, результат
; вычисления записать в ячейки ОЗУ с адресом AY
LDA AX2; x >n>> - 2 > A
LXI H,AP1; загрузка адреса p>1>>n>
ADD M; p>1>>n> + x>n>> - 2> A
INX H; получение адреса p>2>>n>
sub> M; p>1n> + x >n - 2 - >p >2n > A
STA AY; запись y>n>> >в память
STA PB RU; вывод кода через
; порт РB (РУ55)
; программный модуль сдвига отсчетов
; в памяти
LHLD AX;
SHLD AX1;
LHLD AY;
SHLD AY1;
RET; возврат из подпрограммы
; обслуживания прерывания
Листинг программного модуля вычисления выходного отсчета
Sun Apr 3 2005 15: 02
2500 A.D.8085 Macro Assembler - Version 4.02a
------------------------------------------
Input Filename: program.asm
Output Filename: program.obj
1; программный модуль вычисления выходного отсчета:
2; yn = p1n + x n - 2 - p 2n
3; слагаемые хранятся в ячейках ОЗУ, результат
4; вычисления записать в ячейки ОЗУ
5 7002 PBRU EQU 7002h;
6 5002 AX2 EQU 5002h;
7 5003 AY EQU 5003h;
8 5006 AP1 EQU 5006h;
9 0000 3A 02 50 LDA AX2;
10 0003 21 06 50 LXI H,AP1;
11 0006 86 ADD M;
12 0007 23 INX H;
13 0008 96 sub> M;
14 0009 32 03 50 STA AY;
15 000C 32 02 70 STA PBRU;
Defined Symbol Name Value References
8 AP1 = 5006 10
6 AX2 = 5002 9
7 AY = 5003 14
Pre CODE 0000
Pre DATA 0000
5 PBRU = 7002 15
Lines Assembled: 15 Assembly Errors: 0
С целью проверки на переполнение осуществлен ручной и машинный просчет программы. В качестве исходного случая взят случай, когда все отсчеты имеют максимальное значение.
X>n>> >= 1> (10) >= 0,1111111> (2) >= 7F> (16); >X>n>>-2 >= 1> (10) >= 0,1111111> (2) >= 7F> (16);>
Y>n>>-2 >= - 1> (10) >= 1,0000000> (2) >= 80> (16); >k>М >= 0,37> (10) > 0,0101111> (2) >= 0,3671875;
x>n>=X>n>k>М>=0,9921875*0,3671875= 0,3643188> (10) >0, 0101110 (>2) >= 2E> (16);>
x>n>>-2>=X>n>>-2>k>М>=0,9921875*0,3671875=0,3643188> (10) >0, 0101110 (>2) >= 2E> (16);>
y>n>>-2>=Y>n>>-2>k>М>= - 1*0,3671875= - 0,3671875> (10) >=1,1010001> (2) >= D1> (16);>
Разностное уравнение имеет вид: y>n>> >= p>n>>1 >+ x>n>>-2> + p>n>>2, >где с учётом погрешности p>n>>1>=0,84375*x>n>, p>n>>2>=0,84375*y>n>>-2>.
p>n1>=0,84375*0,3643188=0,3073939> (10) > 0, 0100111> (2) >= 27> (16);>
p>n2>=0,84375* (-0,3671875) = - 0,3098144> (10) > 1,1011001> (2) >= D9> (16);>
p>n2>= p>n2>=0,3098144> (10) > 0,0100111> (2) >= 27> (16);>
y>n >=27> (16) >+ 2E> (16) >+ 27> (16) >=7C> (16).>
Таким образом при ручном просчёте переполнения не произошло.
Машинный просчёт программного модуля вычисления выходного отсчета представлен на рисунке, где по адресу 5002h записан отчёт x>n>>-2>, по адресу 5006h - произведение p>n>>1>, по адресу 5007h - произведение p>n>>2>, по адресу 5003h сохраняется выходной отсчёт y>n>, 7002h - порт РB РУ55:
Результат машинного просчёта совпадает с результатом ручного просчёта. Таким образом в процессе выполнения программы переполнения не происходит.
Составление и описание электрической принципиальной схемы устройства
Электрическая принципиальная схема цифрового фазового звена содержит следующие микросхемы:
DD1 - МП К1821ВМ85
DD2 - ПЗУ КР1821РФ55
DD3 - ОЗУ КР1821РУ55
DD4 - двоичный реверсивный счётчик К555ИЕ7
DA1 - ОУ К154УД3
DA2 - СВХ К1100СК2
DA3 - АЦП КР572ПВ3
D1.1 - инвертор К155ЛН1
D2.1 - логический элемент 2И К155ЛИ5.
Микросхема К155ЛН1 содержит 6 инверторов, микросхема К155ЛИ5 содержит 2 логических элемента 2И.
Опишем назначение выводов микросхем.
К1821ВМ85:
1 - вход линии подключения кварцевого генератора;
2 - выход линии подключения кварцевого генератора;
3 - выход сброса системы;
4 - выход линии последовательной передачи данных;
5 - вход линии последовательной передачи данных;
6 - вход немаскируемого прерывания с фиксированным вектором типа RST n (n = 4.5) высшего приоритета;
7 - 9 - входы запроса маскируемого прерывания с фиксированным вектором типа RST n (n = 5.5, 6.5, 7.5);
10 - вход запроса векторного маскируемого прерывания;
11 - выход подтверждения прерывания;
12 - 19 - мультиплексная шина адреса / данных;
20 - общий;
21 - 28 - выходы адресной шины;
29, 33, 34 - выходы типа машинного цикла;
30 - выход разрешения фиксации адреса: сигнал появляется в течение такта каждого машинного цикла и разрешает запись адреса во внешний регистр адреса;
31 - выход управления записью;
32 - выход управления чтением;
35 - вход готовности пересылать или получать информацию;
36 - вход приёма сигнала сброса МП в начальное положение;
37 - выход импульсов синхронизации;
38 - выход подтверждения захвата шин адреса и данных;
39 - вход запроса захвата адресной шины и шины данных внешним модулем;
40 - питание (5В).
КР1821РФ55:
1, 2 - вход выбора кристалла;
3 - вход синхронизации;
4 - вход сброса (все линии обоих портов настраиваются на ввод);
6 - выход запроса состояния ожидания МП;
7 - вход выбора портов или памяти;
8 - вход управления чтением из портов (А или В);
9 - вход управления чтением из ПЗУ;
10 - вход управления записью в порты (А или В);
11 - вход разрешения фиксации адреса, поступающего по шине AD0 - AD7 (выводы 12 - 19) во внутренний регистр адреса.
12 - 19 - мультиплексная шина адреса / данных;
20 - общий;
21 - 23 - вход адреса (три старших разряда);
24 - 31 - двунаправленная шина данных порта А;
32 - 39 - двунаправленная шина данных порта В;
40 - питание (5В).
КР1821РУ55:
1, 2, 5, 37 - 39 - двунаправленная шина данных порта С;
6 - выход счётчика таймера;
7 - вход выбора порта или памяти;
8 - вход выбора кристалла;
9 - вход управления чтением данных из БИС;
10 - вход управления чтением данных из БИС;
11 - вход разрешения фиксации адреса, поступающего по шине AD0 - AD7 (выводы 12 - 19) во внутренний регистр адреса.
12 - 19 - мультиплексная шина адреса / данных;
20 - общий;
21 - 28 - двунаправленная шина данных порта А;
29 - 36 - двунаправленная шина данных порта В;
40 - питание (5В).
КР572ПВ3:
1 - 4, 15 - 18 - бит данных;
5 - выход состояния;
6, 7 - входы управления;
8 - вход тактирования;
9 - цифровая земля;
10 - питание (5В);
11 - опорное напряжение;
12 - смещение характеристики преобразования;
13 - аналоговый вход;
14 - аналоговая земля
К1100СК2:
1 - вход логический;
2 - питание (+);
3 - баланс;
4 - вход;
5 - питание (-);
6 - выход;
7 - конденсатор хранения;
8 - логическое опорное напряжение.
Расчёт быстродействия устройства
Быстродействие фильтра в рабочем режиме оценим как время, необходимое для обработки каждого прерывания процессора. Рабочая программа фильтра линейная (не содержит разветвлений), поэтому общее число машинных тактов, требуемых для выполнения программы, получим как сумму машинных тактов всех последовательно выполняемых команд, составляющих рабочий цикл процессора.
Сумма машинных тактов рабочего цикла программы равна 570. При частоте процессора
и процессор не успевает выполнить подпрограмму обслуживания прерывания, так как , то есть интервал дискретизации равен 187 машинным тактам. Необходимо увеличить тактовую частоту микропроцессора до и скорректировать слово загрузки в таймер:
получим управляющее слово таймера:
Необходимо провести коррекцию в программе, заменив эти константы.
Принятые ранее решения по аппаратной части и программе изменятся в минимальной степени, если при F>CLK МП> = 4,8 МГц тактовые импульсы для АЦП и таймера с частотой F>CLK>> АЦП> = F>CLK Т >= 1,2 МГц получить путем деления на четыре в счетном триггере.
Расчет АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства
Разностное уравнение проектируемого фильтра в общем виде можно представить следующим образом:
y>n> = b> 20 >x> n> + b> 21>x >n - 1> + b> 22>x >n - 2> - a> 21> y >n - 1> - a> 22 >y >n - 2>
Коэффициенты b>2>>i>, a>2>>i> определяют характеристики фильтра.
При значениях коэффициентов
b> 20> = 0.85; b> 21> = 0; b> 22> = 1; a> 21> = 0; a> 22> = 0.85
фильтр имеет АЧХ фазового звена.
Разностное уравнение задает во временной области порядок получения выходной последовательности отсчетов из входной. Приведенное уравнение соответствует однокаскадному цифровому фильтру: каскад вычисляет выходную последовательность y>n>.
В z-плоскости свойства цифрового фильтра описывает передаточная функция H (z), которая при однокаскадной структуре и для приведенного выше разностного уравнения имеет вид:
При z = e jT = e j2fT, где Т = Т>Д >= 1/F>Д> (F>Д >= 8 кГц) сигнал на входе фильтра - синусоида с частотой f и с единичной амплитудой, а функция H (e j2fT) равна частотной характеристике фильтра, из которой можно получить АЧХ и ФЧХ.
Значения коэффициентов разностного уравнения определяют форму и параметры частотных характеристик, поэтому для выявления влияния их приближенного представления следует рассчитать АЧХ и ФЧХ при заданных (точных) и реальных (приближенных) значениях коэффициентов:
H>T> (2f) = H>Т> (e j2fT) и H>P> (2f) = H>Р> (e j2fT) .
Расчёт заданной и реальной ФЧХ по формулам:
= arg (H>Т> (e j2fT) и = arg (H>Р> (e j2fT))
,
Для проектируемого фазового звена:
Результаты расчета заданной H>T> (f) (на графике сплошная красная линия) и реальной H>P> (f) (на графике пунктирная синяя линия) АЧХ приведены на следующих графиках:
Для сравнения заданной и реальной АЧХ рассмотрим небольшой участок графиков этих характеристик:
Результаты расчета заданной (на графике сплошная красная линия) и реальной (на графике пунктирная синяя линия) ФЧХ приведены на следующих графиках.
Для сравнения заданной и реальной ФЧХ рассмотрим небольшой участок графиков этих характеристик:
Если все полюсы системной функции , т.е. корни уравнения , по модулю не превосходят единицы и лежат, таким образом, внутри единичного круга с центром в точке , то фильтр будет устойчив.
Для проектируемого фильтра есть только один полюс. При заданных коэффициентах он равен , а при реальных (приближенных) коэффициентах . Т.е. и, следовательно, данный фильтр будет устойчив.
Устройство является устойчивым, потому что полюс z = - 0.9219544 передаточной функции H (z) входит в единичную окружность на z - плоскости.
Заключение
В данном курсовом проекте было разработано МП-устройство. Также была составлена программа, которая обеспечивает работу этого устройства как фазовое звено. Аппаратная часть по возможности была минимизирована, а программа оптимизирована, что обеспечивает работу устройства в реальном масштабе времени. Основой данного устройства являются набор К1821 и АЦП КР572ПВ3, что соответствует заданию.
Список использованных источников
Цифровые устройства и микропроцессоры: Методические указания к курсовой работе. /Сост.Н.И. Сальников, - Рязань: РРТИ, 1990 г. N 1767.
Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х кн. Пер. С англ. - М.: Мир, 1988 г.
Щелкунов Н.Н., Дианов А.П. Микропроцессорные средства и системы. - М.: Радио и связь, 1989 г.
Микропроцессорные комплекты интегральных схем: состав и структура. Справочник / Под ред. А.А. Васенкова, В.А. Шахнова. - М.: Радио и связь, 1982 г.
Программирование микропроцессорных систем: Учебн. пособие для вузов. /Под ред. В.Ф. Шаньгина. - М.: Высшая школа, 1990 г.
Федорков Б.Г., Телец В.А. Микросхемы ЦАП и АЦП:
функционирование, параметры, применение. - М.: Энергоатомиздат,
1990 г.
Балашов Е.П., Григорьев В.Л., Петров Г.А. Микро - и мини-ЭВМ: Учебн. пособие для вузов. - Л.: Энергоатомиздат, 1984 г.
Перельман Б.Л., Шевелев В.И. Отечественные микросхемы и зарубежные аналоги: Справочник, "НТЦ Микротех", 1998 г.
Микросхемы для аналого-цифрового преобразования и средств мультимедиа. Выпуск 1 - М. ДОДЭКА, 1996 г.
Электронный справочник логических микросхем.