Проектирование цифрового режекторного фильтра

Содержание.

1. Постановка задачи (введение)

2. Формализация задачи

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

4. Обоснование аппаратной части устройства

5. Разработка и отладка программы на языке команд микропроцессора

6. Составление и описание электрической принципиальной схемы устройства

7. Расчёт быстродействия устройства

8. Расчёт АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства

9. Заключение

10. Список использованных источников

1. Постановка задачи (введение):

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

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

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

3. Свойства цифровых устройств в меньшей степени зависят от нестабильности параметров используемых элементов. Это объясняется меньшим тепловыделением, т.к. транзисторы работают в режиме ключа.

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

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

Когда возникает потребность в цифровой обработке информации, возникает проблема преобразования аналогового сигнала в цифровой и обратно, цифрового в аналоговый. Эту задачу решают специальные устройства, которые носят название АЦП( аналого-цифровой преобразователь ) и ЦАП( цифро-аналоговый преобразователь). После того как сигнал представлен в цифровой форме, он подвергается обработке, в соответствии с некоторым алгоритмом, в программно управляемом устройстве - Микропроцессоре ( МП ).

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

В данном курсовом проекте построен цифровой режекторный фильтр, на основе набора К1821.

2.Анализ и формализация задачи

Согласно заданию на курсовой проект входные данные поступают на МП с периферийного устройства в виде дополнительного двоичного кода. В состав проектируемого цифрового фильтра входят МП-система, на основе набора К1821(К1821ВМ85, К1821РФ55, К1821РУ55), и ЦАП К572ПА1, которые вместе техническими требованиями по обеспечению их работы определяют функциональную схему фильтра приведенную на рис. 2.

Частота дискретизации F> = 4,25 кГц формируется аппаратным таймером РУ55, в котором частота переполнения F>в режиме 3 равна F>. При использовании в качестве входных импульсов таймера тактовых импульсов CLK МП-системы (F>CLK>> МП> = 1,5 МГц) исходное состояние таймера равно N>ТАЙМЕРА> = F>CLK>> МП>/F> = 353>(10)> = 00 0001 0110 0001> (2) .>При дополнении 14-разрядного двоичного кода N>ТАЙМЕРА> двумя битами 11, задающими режим 3, получаем байты N>СТ> = 1100 0001>(2)> = C1>(16)>, N>МЛ> =0110 0001>(2)> = 61>(16)>, которые загружаются в таймер при инициализации фильтра.

Форма представления чисел (числовых значений отсчетов входного сигнала) – правильная дробь с фиксированной запятой: старший разряд – знаковый, запятая, остальные двоичные разряды – числовые. Таким образом, числовые значения входного сигнала изменяются в диапазоне от – 1 до + 1.

Ввод данных в МП целесообразно осуществлять по сигналу готовности АЦП, используя для этого прерывание МП оповещающим сигналом /BUSY. Согласно заданию на курсовой проект выбирается программное прерывание- RST 7. Для ввода данных определим порт РВ (РУ55) в режиме простого ввода без квитирования.

Необходимость хранения данных вытекает из вида заданного разностного уравнения. Уравнение использует входную выборку отсчетов (x>n>,x>n>>-2>) и выходную (y>n>, y>n>>-2>). Все выборки должны быть доступны для вычислений, следовательно, должны храниться в памяти МП-системы. Требуется также вычислять три текущих произведения: p>1>>n> = 0,117 x>n>>-2>; p>2>>n> = 1 x>n>>-2>; p>3>>n> = 0,0144 y>n>>-2>, которые также должны храниться в памяти. Следовательно, 12 ячеек ОЗУ (РУ55) при составлении программы необходимо определить для хранения данных в текущем цикле обработки входного сигнала (в текущем интервале дискретизации). После вычисления выходного отсчета y>n>, и записи его в ОЗУ, перед приемом нового входного отсчета необходимо сдвинуть отсчеты всех выборок в памяти: n-1-й отсчет на место n-2-го, n-й отсчет на место n-1-го. Это требуется для подготовки следующего цикла вычислений.

Переполнение разрядной сетки имеет место, если при вычислении разностного уравнения получен числовой результат, выходящий за пределы - 1, + 1 при принятом 8-разрядном формате представления данных. Для исключения переполнения разрядной сетки введем масштабирование (ослабление) входных отсчетов путем их умножения на коэффициент масштабирования k>  1, при котором вычисление разностного уравнения никогда не дает недопустимого результата.

Коэффициент k> получим, предположив, что отсчеты в разностном уравнении принимают максимальные значения (- 1, + 1) и такие знаки, при которых слагаемые разностного уравнения складываются по модулю, то есть складываются по модулю коэффициенты.

Просуммировав по модулю коэффициенты в уравнении для вычисления y>n>, получим y>n>> мах> = 2,1314, что является недопустимым результатом. Отсюда заданный коэффициент масштабирования

k> = 1/ y>n>> мах> =1/ 2,1314 = 0,469.

Реальные значения коэффициентов разностного уравнения и коэффициента k> отличаются от заданных вследствие ограничения длины разрядной сетки: А>2> = 1,117>(10)>  1,00011101>(2)> = 1,113>(10)>;

В>2> = 0,0144>(10)>  0,00000011>(2)> = 0,012>(10)>;

k> = 0,469>(10)>  0, 01111000 >(2)> = 0,4687>(10)>.

По этой причине форма и параметры реальных частотных характеристик фильтра (АЧХ, ФЧХ) отличаются от расчетных. Могут также нарушаться условия устойчивости фильтра.

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

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

Согласование кода МП и кода ЦАП необходимо, так как АЦП преобразует в ток смещенный входной код (положительные числа). Для согласования вычисленный отсчет y>n> перед выводом на ЦАП суммируется с константой 1000 0000>(2)>.

Вывод данных на ЦАП целесообразно осуществлять через порт РА (РФ55), так как этот порт имеет выходной буферный регистр, в котором отсчет y>n> хранится в течение всего интервала дискретизации (ЦАП не имеет входного буфера). Напряжение на выходе ЦАП на интервале дискретизации остается постоянным.

Опорное напряжение для ЦАП U>ОП> в схеме четырехквадрантного умножения определяет диапазон изменения напряжения на выходе фильтра U>ВЫХ>. Задание на КП требует обеспечить изменение выходного напряжения в диапазоне – 1… + 1 В. Поэтому примем U>ОП> = - 1 В.

Исходное состояние аппаратной части и программы фильтра устанавливается при включении питания по сигналу аппаратного узла сброса (схемы сброса). При этом:

    программный счетчик (ВМ85) принимает нулевое значение;

    сбрасывается флаг разрешения прерываний (ВМ85);

    все линии портов РА и РВ (РФ55) настраиваются на ввод;

    порты РА, РВ, РС (РУ55) настраиваются на ввод в режиме простого обмена данными;

    таймер (РУ55) останавливается;

    содержимое ячеек ОЗУ и буферных регистров портов (РУ55) сохраняется.

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

3. Разработка общего алгоритма функционирования фильтра:

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

Работа фильтра начинается с подачи питания на схему сброса. Импульс, сформированный схемой сброса (аппаратный узел), обнуляет счетчик команд МП и инициирует формирование импульса сброса RESET для установки МП-системы в исходное состояние.

Таким образом запускается программа инициализации МП-системы, которая должна начинаться с нулевого адреса. В указатель стека SP записывается начальный адрес, с которого начинается стек; порт РВ (РУ55) настраивается на ввод; порт РА (РУ55) – на вывод в режиме обмена с квитированием; таймер настраивается на период переполнения, равный Т> в режиме 3; таймер запускается для формирования непрерывной последо–вательности импульсов с частотой дискретизации F>, которые используются далее для взятия отсчетов входного сигнала . Программа инициализации завершается операцией останова МП.

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

Каждый рабочий цикл МП есть реакция на прерывание (выполнение подпрограммы обслуживания прерывания), поэтому после обслуживания прерывания по команде возврата из подпрограммы в каждом рабочем цикле МП возвращается в состояние останова (в состояние ожидания очередного прерывания).

4.Обоснование аппаратной части устройства:

Минимальная конфигурация МП–системы, на которой реализуется устройство, полностью определяется заданным набором К1821, в состав которого входят следующие микросхемы: К1821ВМ85 - микропроцессор; КР1821РФ55 - ПЗУ ёмкостью 2К x 8 бит и два 8 – разрядных порта ввода–вывода; КР1821РУ55 - ОЗУ ёмкостью 258 x 8 (2048) бит, два 8 – разрядных и один 6 – разрядный порты ввода–вывода и 14–разрядный программируемый счётчик – таймер.

Полная схема фильтра получается при объединении минимальной конфигурации МП–системы и дополнительных аппаратных узлов. Такими дополнительными аппаратными узлами в данном случае являются- АЦП и преобразователь ток/напряжение

АЦП используется для преобразования выходного двоичного кода микропроцессора в аналоговый сигнал, в виде тока. Для преобразования токового сигнала в сигнал в виде напряжения используется преобразователь ток/напряжение, который реализован на двух ОУ К157УД3 и дополнительных стабилизирующих элементах. Опорное напряжение на ЦАП подается от внешнего источника.

5.Разработка и отладка программы на языке команд микропроцессора:

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

Распределение памяти ПЗУ:

0000h....003Bh-программа инициализации;

003Ch....07FFh-программа реакции на прерывание RST 7

Распределение памяти OЗУ:

5000h,5001h,5002h-хранение отсчетов ,,

5003h,5004h,5005h-хранение отсчетов ,,

5006h,5007h,5008h-хранение отсчетов ,,

50FFh-начальный адрес стека.

;Программа «Цифровой режекторный фильтр»

;Автор:Прусс Александр Владимирович ст.гр.111

;Дата:10 апреля 2004г.

;Разностное уравнение

;Определение символических переменных

PA RF .EQU 0800h порт РА(РФ55)

RGA RF .EQU 0802h регистр направления передачи

порта РА(РФ55)

PA RU .EQU 7001h порт РА(РУ55)

RG RU .EQU 7000h регистр управляющего слова (РУ55)

TL .EQU 7004h младший байт таймера

TH .EQU 7005h старший байт таймера

STL .EQU 61h младшее слово для загрузки в таймер

STH .EQU 0C1h старшее слово для загрузки в таймер

SRF .EQU 0FFh управляющее слово для настройки порта

РА(РФ55)

SRU .EQU 0C0h управляющее слово для настройки

портов и пуска таймера (РУ55)

SPR .EQU 1Bh управляющее слово для настройки

прерываний

AX .EQU 5000h адрес отсчета

AX1 .EQU 5001h адрес отсчета

AX2 .EQU 5002h адрес отсчета

AY .EQU 5003h адрес отсчета

AY1 .EQU 5004h адрес отсчета

AY2 .EQU 5005h адрес отсчета

AP1 .EQU 5006h адрес отсчета

AP2 .EQU 5007h адрес отсчета

AP2 .EQU 5007h адрес отсчета

AP3 .EQU 5008h адрес отсчета

;Инициализация по сигналу «Сброс»

.ORG 0 начальный адрес программного модуля инициализации

DI запрет прерываний

LXI SP,50FFh организация стека

MVI A,SRF настройка таймера на частоту

переполнения Т=Тд в режиме 3

MVI A,STH

STA TH

MVI A,SRU настройка порта РА(РУ55) на ввод

STA RG RU и пуск таймера

MVI A,SPR настройка режима прерываний

SIM

EI разрешение прерываний

M1: HLT останов, ожидание прерывания

JMP M1 переход на команду останова

процессора по окончании подпрограммы обслуживания прерывания

.ORG 3Сh начальный адрес программной реакции на прерывание типа RST 7

LDA PA RU ввод текущего кода АЦП в аккумулятор

ADI 80h получение дополнительного кода для текущего отсчета

программный модуль масштабирования вычисления произведения

входной отсчет хранится в аккумуляторе

масштабированный отсчет записать в ячейку

ОЗУ с адресом AX

MOV H,A

ARHL арифметические сдвиги в право

ARHL отсчета и накопление суммы

MOV A,H частичных произведений

ARHL в аккумуляторе

ADD H

ARHL

ADD H

ARHL

ADD H

STA AX запоминание в памяти

программный модуль вычисления

произведения

хранится в ячейке ОЗУ с адресом X2

записать в ячейку ОЗУ с адресом P1

LDA X2

MOV H,A

ARHL арифметические сдвиги в право

ARHL отсчета и накопление суммы

ARHL частичных произведений

MOV A,H в аккумуляторе

ARHL

ADD H

ARHL

ADD H

ARHL

ARHL

ADD H

STA AP1 запоминание в памяти

программный модуль вычисления произведения

хранится в ячейке ОЗУ с адресом Y2

записать в ячейку ОЗУ с адресом P2

LDA X2

STA AP2 запоминание в памяти

программный модуль вычисления произведения

хранится в ячейке ОЗУ с адресом Y2

записать в ячейку ОЗУ с адресом P3

LDA Y2

MOV H,A

ARHL арифметические сдвиги в право

ARHL отсчета и накопление суммы

ARHL частичных произведений

ARHL в аккумуляторе

ARHL

ARHL

MOV A,H

ARHL

ADD H

STA AP3 запоминание в памяти

программный модуль вычисления выходного

отсчета

слагаемые хранятся в ячейке ОЗУ, результат

вычисления записать в ячейки ОЗУ

LDA AX

LXI H,P2 загрузка адреса в регистр H

ADD М

LXI H,AP1

ADD М

LXI H,AP3

sub> М

STA AY запоминание в памяти

ADI 80h получение смещенного входного

кода ЦАП

STA PА RF вывод кода на ЦАП через

порт РА(РФ55)

программный модуль сдвига отсчетов

в памяти

LHLD AX

SHLD AX1

LHLD AY

SHLD AY1

RET возврат из подпрограммы

обслуживания прерывания

Листинг программного модуля вычисления выходного отсчета

Sat Apr 15 2004 23:36 Page 1

2500 A.D. 8085 Macro Assembler - Version 4.02a

------------------------------------------------

Input Filename : sh.asm

Output Filename : sh.obj

1 0800 PARF .EQU 0800h;

2 5006 AP1 .EQU 5006h;

3 5007 AP2 .EQU 5007h;

4 5008 AP3 .EQU 5008h;

5 5000 AX .EQU 5000h;

6 5003 AY .EQU 5003h;

7 0000 3A 00 50 LDA AX

8 0003 21 07 50 LXI H,AP2

9 0006 86 ADD M

10 0007 21 06 50 LXI H,AP1

11 000A 86 ADD M

12 000B 21 08 50 LXI H,AP3

13 000E 96 sub> M

14 000F 32 03 50 STA AY

15 0012 32 00 08 STA PARF

16

Sat Apr 15 2004 23:36 Page 2

Defined Symbol Name Value References

2 AP1 = 5006 10

3 AP2 = 5007 8

4 AP3 = 5008 12

5 AX = 5000 7

6 AY = 5003 14

Pre CODE 0000

Pre DATA 0000

1 PARF = 0800 15

Lines Assembled : 16 Assembly Errors : 0

Для проверки на переполнение можно осуществить ручной просчет и машинный просчет программы. Приведенный ниже просчет сделан, для случая когда все отсчеты имеют максимально возможное значение:

выходной отсчет будет иметь максимальное значение, если:

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

6.Составление и описание электрической принципиальной схемы устройства:

Принципиальная электрическая схема цифрового режекторного фильтра содержит следующие элементы:

1) Микросхемы:

DD1 – МП К1821ВМ85

DD2 – ПЗУ К1821РФ55

DD3 – ОЗУ К1821РУ55

DA1 – ЦАП К572ПА1

DA2 - ОУ К157УД3

DA3 – ОУ К157УД3

2) Диоды:

VD1 – КД520

VD2-VD5 – КД514А

3) Конденсаторы

C1,C4,C5 – КМ-56-П33

С2,С3 - К50-24

4) Резисторы

R1,R2,R3,R4

5) Кварцевый резонатор

ZQ1 – 3МГц

Микросхемы DD1 – МП К1821ВМ85;DD2 – ПЗУ К1821РФ55;

DD3 – ОЗУ К1821РУ55 образуют микропроцессорную систему,

DA1 – ЦАП К572ПА1 преобразует выходной двоичный код процессора в аналоговый сигнал в виде тока, VD2-VD5; C2,C3,С4,С5; R3,R4; DA2, DA3 образует схему преобразования ток/напряжение, VD1;R1,R2; C1 образуют схему сброса, кварцевый резонатор задает тактовую частоту процессора.

На выходе схемы преобразователя ток/напряжения формируется напряжение от -1 до +1 В, это обеспечивается подачей опорного напряжения на ЦАП Uref=-1В.

Устройство использует питающие напряжения +5, -15 и +15 В, а также напряжение, для подачи опорного напряжения -1В.

7.Расчёт быстродействия устройства:

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

Сумма машинных тактов для рабочего цикла приведенной выше программы равна 445. Из этого следует вывод, что процессор не успеет выполнить подпрограмму обслуживания прерывания за интервал дискретизации T>. При частоте F>CLK>> МП> = 1,5 МГц T> = 353Т>CLK>> МП >(353 машинных тактов процессора). Поэтому тактовая частота процессора должна быть увеличена. Примем F>CLK>> МП> = 3 МГц, что для заданной БИС МП допустимо, тогда T> = 706Т>CLK>> МП >.

    Расчет АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства:

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

- разностное уравнение, отсюда выражение для передаточной функции будет иметь вид:

, где. Подставляя значение и заменяя получим выражение для комплексного коэффициента передачи фильтра:

, модуль от этого выражения даст АЧХ, а аргумент- ФЧХ:

- АЧХ; - ФЧХ, в обоих этих

выражениях - период дискретизации. Полученные формулы для АЧХ и ФЧХ справедливы для заданных значений коэффициентов, в реальной ситуации, из-за погрешности в представлении коэффициентов в форме двоичного кода, в виду конечности размерности разрядной сетки МП, значения коэффициентов в выражениях для АЧХ и ФЧХ будут другими.

, перевод этих чисел обратно в десятичную систему счисления даст следующий результат:

,, подставив эти значения коэффициентов в разностное уравнение, можно получить выражения для реальных АЧХ и ФЧХ фильтра

; . Графики нормированной

АЧХ и ФЧХ для заданных и реальных коэффициентов изображены на рис.2 и рис.3 соответственно (пунктиром показаны реальные зависимости). По графикам видно, что реальные и заданные характеристики практически не отличаются.

рис.2

рис.3

Для того чтобы было видно различие между заданными и реальными зависимостями можно рассмотреть небольшие участки графиков АЧХ и ФЧХ

(рис.4 и рис.5)

рис.4

рис.5

Для того чтобы оценить устойчивость фильтра, нужно найти полюс передаточной функции

, , .

Полюс передаточной функции фильтра расположен внутри единичной окружности на комплексной z плоскости, следовательно фильтр устойчив.

9.Заключение:

В данном курсовом проекте спроектирован цифровой режекторный фильтр на основе МП-системы. Разработана программа на языке команд микропроцессора, которая обеспечивает выполнение МП-системой заданного алгоритма фильтрации. МП-система построена, согласно заданию на курсовой проект, на основе набора К1821 с минимальной конфигурацией. Аппаратная часть фильтра также включает в себя ЦАП и аналоговое устройство – преобразователь ток/напряжение.

10.Список использованных источников:

    Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х кн. Пер. С англ.-М.: Мир, 1988.

    Токхайм Р. Микропроцессоры: Курс и упражнения / Пер. с англ., под ред. В. Н. Герасевича. М.: Энергоатомиздат, 1998.

3. Щелкунов Н. Н., Дианов А. П. Микропроцессорные средства и системы.- М.: Радио и связь, 1989.

    Федорков Б.Г., Телец В.А. Микросхемы ЦАП и АЦП:

функционирование, параметры, применение.- М.: Энергоатомиздат, 1990.

5. Перельман Б. Л. Шевалов В. В. Отечественные микросхемы и их зарубежные аналоги: справочник. М: НТЦ: Микротех 1998.

6. Микропроцессорный комплект К1810: Структура, программирование, применение: Справочная книга. Под ред. Ю.М.Казаринова.- М.: Высш. шк., 1990.

    Шило В. Л. Популярные цифровые микросхемы: Справочник.–М.: Радио и связь, 1989.

    Методические указания к курсовому проекту по дисциплине “Цифровые устройства и микропроцессоры” / Рязан. гос. радиотехн. акад.; Сост. Н.И.Сальников. Рязань, 2002.