Смекни!
smekni.com

Цифровой полосовой фильтр (стр. 2 из 3)

Аппаратный состав фильтра в целом уже определен, незатронутым остается преобразователь ток-напряжение. Также следует произвести согласование адресов ОЗУ, ПЗУ, портов ввода-вывода с адресами МП.

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

Необходимо также обеспечить соответствие адресных пространств ВМ85, РФ55 и РУ55. Так как для адресации ПЗУ необходимо 11 адресных линий, а для адресации ОЗУ – 8, то у МП остается еще 5 свободных адресных линий, которые можно использовать для выбора микросхем в процессе работы фильтра. Кроме того, необходимо учесть адресацию внутренних объектов РФ55 и РУ55.

Адресация портов и регистров направления передачи данных РФ55 осуществляется в соответствии с таблицей:

AD1 AD0 Адресуемый объект
0 0 Порт А
0 1 Порт В
1 0 Регистр направления передачи данных порта А
1 1 Регистр направления передачи данных порта В

Адресация внутренних узлов РУ55:

А2 А1 А0 Адресуемый объект
0 0 0 Регистру РУС и РСС
0 0 1 Порт А
0 1 0 Порт В
0 1 1 Порт С
1 0 0 Таймер (младший байт)
1 0 1 Таймер (старший байт)

В микросхемах РФ55 и РУ55 предусмотрены изолированные адресные пространства памяти и ввода-вывода. Для включения РФ55 в работу существует еще два входа – CS1 и CS2 (РУ55 – CS).

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

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

, которое необходимо записать в регистр направления передачи порта.

Для настройки таймера на период переполнения

в третьем режиме работы необходимо в младший байт таймера записать
, а в старший байт таймера записать
.

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

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

“0” - ввод , “1” – вывод. PC2 и PC1 - варианты использования порта С , для режима работы порта РА условного с квитированием в РС2 записываем “1” , В РС1 записываем “0”, в этом случае линии порта С:

PC0 – INTR A PC2 – STB A

PC1 – BFA PC3..PC5 – вывод

IEA и IEB разрешают (IE=1) или запрещают выработку сигналов прерывания INTR портов А и В. TM2 , TM1 - биты которые содержат команды управления таймером , для запуска таймера в эти биты записываются единицы.

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

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

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

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

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

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

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

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

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

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

003Ch…00A4 – программа реакции на прерывание типа RST 7.5;

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

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

;

5002h, 5003h – хранение произведений

;

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

;

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

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

****************************************************************

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

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

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

* Величко Андрей Викторович *

* Дата :09.04.04 г. *

****************************************************************

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

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

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

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

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

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

* ЦАП-К572ПА1 *

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

****************************************************************

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

PBRU .EQU 7002h ; порт РВ(РУ 55)

PARU.EQU 7001h ;порт PA (РУ 55)

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

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

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

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

;в таймер

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

;в таймер

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

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

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

;прерываний

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

AX1 .EQU 5001h ;адрес отсчета X(n-1)

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

AY .EQU 5003h ;адрес отсчета Y(n-1)

AY1 .EQU 5004h ;адрес произведения P1n

AY2 .EQU 5005h ;адрес произведения P2n

AP1.EQU 5006h ;адрес отсчета Y(n-1)

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

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

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

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

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

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

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

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

MVI A,STH ;

STA TH ;

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

STA RGRU ;на ввод, РВ (РУ 55) на вывод и пуск таймера

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

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

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

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

;прерывания

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

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

;TRAP

LDA PARU ;ввод текущего кода

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

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

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

;Xn:=0,0101101*Xn=

;

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

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

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

MOV H,A ;Xn ® H

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

ARHL ;входного отсчета

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

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

ARHL аккумуляторе : (2^-2*Xn+2^-3*Xn+2^-4*Xn+ +2^-6*Xn+2^-8*Xn) ® A

ARHL;

ADD H

ARHL;

ADD H ;

ARHL ;

ARHL ;

ADD H ;

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

;Xn в памяти

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

;P1n:=0,04*X(n-1)@0,0000101*X(n-1)=

;=(2^0+2^-6+2^-7+2^-8)*X(n-1)

LDA AX1 ;X(n-1) ® A

MOV H,A ;X(n-1) ® H

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

;отсчета X(n-1) и

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

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

ARHL ;(2^0+2^-6+2^-7+

ARHL ;+2^-8)*X(n-1) ® A

ARHL ;

ARHL ;

MOV A,H ;

ARHL;

ARHL ;

ADD H;

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

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

;P2n:=0,96*X(n-2)@0,1111010*Y(n-1)=

;=(2^-3+2^-4+2^-5+2^-8)*Y(n-1)

LDA AX2 ;Y(n-1) ® A

MOV H,A ;Y(n-1) ® H

ARHL

MOV A,H ;арифметические сдвиги

ARHL

ADD H;отсчета Y(n-1) и

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

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

ARHL ;(2^-3+2^-4+2^-5+

ADD H ;+2^-8)*Y(n-1) ® A

ARHL

ARHL ;

ADD H;

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

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

;P3n:=0,81*Y(n-2)@0,1100111*Y(n-1)=

LDA AY2 ;Y(n-1) ® A

MOV H,A ;Y(n-1) ® H

ARHL

MOV A,H ;арифметические сдвиги

ARHL

ADD H ;отсчета Y(n-1) и

ARHL

ARHL

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

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

ARHL;(2^-3+2^-4+2^-5+

ADD H;+2^-8)*Y(n-1) ® A

ARHL ;

ADD H ;

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

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

;отсчета Yn=Xn+P1n-P2n-P3N

LDA AX ;Xn ® A

LXI H,AP1 ;загрузка адреса P1n

ADD M ;Xn-P1n ® A

INX H ;получение адреса P2n

SUB M ;Xn-P1n-P2n ® A

INX H ;получение адреса P2n

SUB M

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

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

;входного кода ЦАП

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

;порт PВ (РУ 55)

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

;в памяти

LHLD AX1 ;

SHLD AX2

LHLD AX ;

SHLD AX1 ;

LHLD AY1 ;

SHLD AY2

LHLD AY ;

SHLD AY1 ;

RET ;возврат из подпрограммы обслуживания прерывания

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

- ассемблер, преобразующий написанную программу в машинный код ;

- отладчик – эмулятор, который эмитирует работу процессора ;

Произведем отладку фрагмента программы ( программный модуль вычисления Yn)

LDA AX ; Xn ® A

LXI H, AP1 ; AP1 ® H

SUB M; (A) - ([HL]) ®A

INX H ; (HL) + 1 ® HL

SUB M ; (A) - ([HL]) ®A

STA AY ; (A) ® AY

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

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

DD1 – МП К1821ВМ85

DD2 – ПЗУ КР1821РФ55

DD3 – ОЗУ КР1821РУ55

DD4 – ЦАП К572ПА

DD5 - ОУ К574УД1

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

, выходным напряжением 10В и скоростью его нарастания 50-100 В/мкс. В цепи стабилизации
включен стабилитрон КС 191Ф который задаёт опорное напряжение . В результате на выходе схемы формируется напряжение от -Uref до Uref. ЦАП К572ПА допускает изменение опорного напряжения от –22,5В до +22.5В.

В данном курсовом проекте использована типовая схема подключения ОУ к ЦАП, где коэффициент передачи регулируется резистором R6. Т. е. для обеспечения заданного напряжения на выходе (-1 …+1)В необходимо подстроить R6 и подать на ЦАП опорное напряжение 1 В.