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

20682
знака
3
таблицы
7
изображений

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

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

При подаче питания, схема сброса формирует импульсы сброса, который обнуляет счетчик команд МП и инициирует формирование импульса сброса RESET для установки МП - системы в исходное состояние. Запускается программа инициализации МП – системы, которая должна начинаться с нулевого адреса. При инициализации:

q  в указатель стека SP записывается начальный адрес, с которого начинается стек;

q  порт PA (РФ55) настраивается на ввод данных ; в регистр направления передачи записывается управляющее слово;

q  таймер настраивается на период переполнения, равным  в режиме 3;

q  порт PA (РУ55) настраивается на ввод ;

q  пуск таймера;

q  настройка режима прерывания.

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

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

Основой аппаратной части устройства является набор К1821, в состав которого входят три микросхемы:

q  К1821ВМ85 – микропроцессор;

q  КР1821РФ55 – ПЗУ с двумя портами ввода/вывода, работающими в режиме простого обмена;

q  КР1821РУ55 – ОЗУ, таймер и два направленных порта ввода/вывода. Выходной сигнал должен иметь аналоговый вид, для преобразования цифрового кода в аналоговый сигнал, используется ЦАП типа К572ПА1.

Микросхема ЦАП К572ПА1 преобразует 10 – разрядный входной параллельный двоичный код в ток на аналоговом выходе, пропорциональный значениям кода и опорного напряжения.

Для преобразования кода в ток используют внешний источник опорного напряжения и матрица резисторов R – 2R.

К выводу ЦАП подключается операционный усилитель (К140УД8).

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

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

Для настройки таймера на период переполнения  в третьем режиме работы необходимо в младший байт таймера записать 21h, а в старший байт таймера записать C2h.

Порт PA РУ 55 настраивается на ввод данных в режиме обмена, а также запускается таймер. Для этого управляющее слово записывается в регистр управляющего слова.

Формат управляющего слова:

TM2 TM1 IE B IE A PC 2 PC 1 PB PA

 
D7 D6 D5 D4 D3 D2 D1 D0

PA и PB – задают направление передачи данных через порты PA и PB соответственно.

“0” - ввод, “1” – вывод ; следовательно записываем “0” в D1 и D1.Биты PC2 и PC1 - варианты использования порта С, т.к. порт С нами не используется, то записываем в D4 и D3 - “0”. Биты IEA и IEB разрешают (IE=1) или запрещают выработку сигналов прерывания INTR портов А и В, данный тип прерывания нам нет нужен, поэтому записываем в D5 и D4 - “0”. TM2, TM1 - биты которые содержат команды управления таймером, для запуска таймера в эти биты записываем единицы.

Управляющее слово будет иметь вид:

11000000(2)=С0h

При настройке режимов прерываний необходимо разрешить прерывание МП типа RST 5.5. Используется команда SIM устанавливающая маску прерываний.

Формат маски:

SOD SDEN - R 7.5 MSEN M 7.5 M 6.5 M 5.5

 
A7 A6 A5 A4 A3 A2 A1 A0

M 7.5, M 6.5, M 5.5 - маски запрещающие соответствующие прерывания.

R 7.5 - бит сбрасывающий триггер, где фиксируется запрос внешнего прерывания по входу RST 5.5.

MSEN - разрешение установки маски прерываний.

SDEN -разрешение вывода данных находящихся в разряде A7.

SOD - данные предназначенные для вывода через линию SOD.

Маска прерываний будет иметь вид:

00011110(2)=1Dh

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

0000h…001Dh – программа инициализации;

002Ch…0096h – программа реакции на прерывание типа RST 5.5;

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

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

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

5006h, 5007h,5008h– хранение произведений ,,;

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

Текст программы:

* Курсовой проект *

* на тему : Цифровой полосовой фильтр *

* выполнил: ст.гр.215 *

* Агарков Дмитрий Николаевич *

* Дата :18.04.05 г. *

* Задание на курсовой проект: *

* линейное разностное уравнение : Y(n)=X(n)-0,091X(n-1)-0.13Х(n-2)- *

*-0,98Y(n-2) *

* частота дискретизации : Fд=5.5кГц *

* входной код - дополнительный *

* выходной сигнал - аналоговый, диапазон измерения (-1..+1) *

* ЦАП-К572ПА1 *

* микропроцессор-КР1821ВМ85 *

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 21h ;младшее слово для загрузки в таймер

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

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

;РА(РФ55)

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

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

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

;прерываний

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

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

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

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

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

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

AP1.EQU 5006h ;адрес произведения

AP2.EQU 5007h ;адрес произведения

AP3.EQU 5008h ;адрес произведения

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

.ORG 0000 ;начальный адрес программного

;модуля инициализации

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

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

MVI A,SRF ;настройка порта РА(Рф55) на вывод

STA RGA RF ;

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

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

MVI A,STH ;

STA TH ;

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

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

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

SIM ;

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

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

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

;процессора по окончании подпрог-

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

.ORG 2Сh ;начальный адрес программной

;реакции на прерывание типа RST 5.5

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

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

;вычисления произведения

;xn:=0.0111010*xn=(2-2+2-3+2-4+2-6)*xn

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

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

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

MOV H,A ;Xnà A

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

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

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

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

ADD H ;

ARHL ;

ADD H ;

ARHL ;

ARHL ;

ADD H ;

STA AX ;запоминание отсчёта  в памяти

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

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

;p1n:=0.091*xn-1≈0.0001011*xn-1=(2-4+2-6+2-7)*xn-1

;xn-1 хранится в ячейке ОЗУ с адресом AX1

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

LDA AX1 ;Xn-1 à A

MOV H,A ;A à H

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

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

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

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

MOV A,H ;

ARHL ;

ARHL ;

ADD H ;

ARHL ;

ADD H ;

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

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

;p2n:=0.13*xn-2≈0.0010000*xn-2=(2-3)*xn-2

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

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

LDA AX2 ;Xn-2 à A

MOV H,A ;A à H

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

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

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

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

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

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

;p3n:=0.98*yn-2≈0.1111101*yn-2=(2-1+2-2+2-3+2-4+

; +2-5+2-7)*yn-2

;yn-2 хранится в ячейке ОЗУ с адресом AY2

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

LDA AY2 ;Yn-2 à A

MOV H,A ;A à H

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

MOV A,H ;отсчета и накопление суммы

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

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

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

ADD H ;

ARHL ;

ADD H ;

ARHL ;

ADD H ;

ARHL ;

ARHL ;

ADD H

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

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

;отсчета

;Yn=Xn-P1n-P2n-P3n

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

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

LDA AX ;Xnà A

LXI H,AP1 ;загрузка адреса произведения  в регистровую

;пару HL

SUB М ;(A)-([HL])à A

LXI H,AP2 ;загрузка адреса произведения  в регистровую

;пару HL

SUB М ;(A)-([HL])à A

LXI H,AP3 ;загрузка адреса произведения  в регистровую

;пару HL

SUB М ;(A)-([HL])à A

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

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

;кода ЦАП

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

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

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

;в памяти

LHLD AX ;

SHLD AX1 ;

LHLD AY ;

SHLD AY1 ;

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

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

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

Fri Apr 23 2004 15:52 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 5005 AP1.EQU 5005H

3 5006 AP2.EQU 5006H

4 5007 AP3.EQU 5007H

5 5000 AX.EQU 5000H

6 5003 AY.EQU 5003H

7 0000 .ORG 0000

8 0000 3A 00 50  LDA AX

9 0003 21 05 50  LXI H,AP1

10 0006 96  SUB M

11 0007 21 06 50  LXI H,AP2

12 000A 96 SUB M

13 000B 21 07 50 LXI H,AP3

14 000E 96  SUB M

15 000F 32 03 50 STA AY

16 0012 C6 80 ADI 80H

17 0014 32 00 08  STA PARF

18 0017 .END

Fri Apr 23 2004 15:52 Page 2

Defined Symbol Name Value References

2 AP1 = 5005 9

3 AP2 = 5006 11

4 AP3 = 5007 13

5 AX = 5000 8

6 AY = 5003 15

Pre CODE 0000 7

Pre DATA 0000

1 PARF = 0800 17

Lines Assembled : 18 Assembly Errors : 0

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

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

Сумма машинных тактов для рабочего цикла приведенной выше программы равна 524.

Длительность одного машинного такта равна

TCLKМП=1/FCLKМП=1/(3*106)=0.333 мкс.

Общее время выполнения всей программы

TВЫП.=524*0,333 *10-6=0.175 мс

Длительность периода дискретизации

TД=1/FД=1/(5.5*103)=0,182 мс

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

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

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

Yn=Xn-0.091*Xn-1-0.13*Xn-2-0.98*Yn-2

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

,

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

,

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

 - АЧХ ;

в этом выражение - период дискретизации.

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

a=0.091(10) ≈ 0.0001011(2)=0.086(10)

b=0.130(10) ≈ 0.0010000(2)=0.125(10)

c=0.980(10) ≈ 0.1111100(2)=0.977(10)

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

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

Рис.1

Рис.2


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

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


Заключение

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


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

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

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

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

4.  Федорков Б.Г., Телец В.А. Микросхемы ЦАП и АЦП: функционирование, параметры, применение.- М.: Энергоатомиздат, 1990.

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

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

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

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


Информация о работе «Разработка цифрового фильтра»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 20682
Количество таблиц: 3
Количество изображений: 7

Похожие работы

Скачать
25073
5
6

... ; MOV X1, X ; MOV Y1, Y ; RETI ;возврат из подпрограммы обслуживания прерывания по входу END Исходные определения и ручной расчёт результатов работы программы: "Цифровой фильтр (нижних частот)". Разностное уравнение имеет вид: Представим уравнение в виде:  , где  , 1)Реализуемый коэффициент масштабирования (число без знака) при 8-разрядном формате беззнаковых коэффициентов:  ;, ...

Скачать
23335
1
13

... совпадает с результатом ручного просчёта. Таким образом в процессе выполнения программы переполнения не происходит. 6. Составление и описание электрической принципиальной схемы устройства Электрическая принципиальная схема цифрового фазового корректора содержит следующие микросхемы: DD1 – МП К1821ВМ85 DD2 – ПЗУ КР1821РФ55 DD3 – ОЗУ КР1821РУ55 DA1 – ЦАП К572ПА1 DA2 – ОУ К154УД3 DA3 – ОУ ...

Скачать
39407
3
0

... для каждого звена составим разностные уравнения: 1)   первое звено: ; 2)   второе звено: ; 3)   третье звено: . Результирующее разностное уравнение для цифрового фильтра будет иметь вид: .4 РАЗРАБОТКА АЛГОРИТМА ПРОГРАММЫ  ПРОЕКТИРУЕМОГО УСТРОЙСТВА Прежде чем приступить к программированию устройства необходимо основательно изучить его внутреннюю структуру и возможности ресурсов. ...

Скачать
33021
5
9

... возвращение в основную программу. Текст программы ********************************************************************************* * Цифровой фильтр высокой частоты * * Курсовой проект по дисциплине "Цифровые устройства и микропроцессоры" * * Код F0b12_70 * * Выполнил ...

0 комментариев


Наверх